Maison >Opération et maintenance >exploitation et maintenance Linux >Quelle est la différence entre Linux et RTOS
La différence entre Linux et RTOS : RTOS est un système d'exploitation en temps réel, un système avec multitâche, priorité de thread et plusieurs niveaux d'interruption, qui peut répondre rapidement dans un délai spécifié tandis que Linux est un système d'exploitation en temps partagé ; Système, qui peut Systèmes d'exploitation avec plusieurs utilisateurs, Linux peut également être modifié en système temps réel en configurant le noyau.
L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.
RTOS est un système d'exploitation en temps réel ; Linux est un système en temps partagé, mais il peut être transformé en système en temps réel en configurant le noyau
Temps réel système d'exploitation
Le nom anglais est Real Time Operating System, ou RTOS en abrégé.
1. Définition du système d'exploitation en temps réel
Le système d'exploitation en temps réel (RTOS) signifie que lorsque des événements ou des données externes sont générés, il peut les accepter et les traiter à une vitesse suffisamment rapide, et les résultats du traitement peuvent être traité dans le délai spécifié. Un système d'exploitation qui contrôle les processus de production ou répond rapidement aux systèmes de traitement et contrôle toutes les tâches en temps réel pour s'exécuter de manière coordonnée. Par conséquent, fournir une réponse rapide et une fiabilité élevée sont ses principales caractéristiques. Les systèmes d'exploitation en temps réel sont divisés en temps réel dur et temps réel logiciel. Le temps réel dur nécessite que l'opération soit terminée dans un délai spécifié, ce qui est garanti lors de la conception du système d'exploitation en temps réel logiciel uniquement ; doit terminer l’opération le plus rapidement possible en fonction de la priorité de la tâche. Le système d'exploitation que nous utilisons habituellement peut devenir un système d'exploitation en temps réel après certaines modifications.
Un système d'exploitation en temps réel est un système d'exploitation qui garantit l'exécution de fonctions spécifiques dans un certain délai. Par exemple, un système d’exploitation peut être conçu pour garantir qu’un robot sur une ligne de production puisse accéder à un objet. Dans un système d'exploitation temps réel « dur », si les calculs pour rendre l'objet accessible ne peuvent pas être terminés dans le temps imparti, le système d'exploitation se terminera avec une erreur. Dans un système d'exploitation temps réel « soft », la ligne de production peut toujours continuer à fonctionner, mais la sortie du produit sera ralentie car le produit ne peut pas arriver dans le délai imparti, ce qui entraîne une courte période de temps pour le robot. non-production. Certains systèmes d'exploitation en temps réel sont conçus pour des applications spécifiques, d'autres sont à usage général. Certains systèmes d'exploitation à usage général s'appellent eux-mêmes des systèmes d'exploitation en temps réel. Mais dans une certaine mesure, la plupart des systèmes d'exploitation à usage général, tels que Windows NT de Microsoft ou OS/390 d'IBM, possèdent des caractéristiques de système temps réel. Autrement dit, même si un système d’exploitation n’est pas strictement un système temps réel, il peut néanmoins résoudre certains problèmes d’application en temps réel.
2. Caractéristiques des systèmes d'exploitation en temps réel
1) Multitâche ;
2) Priorité des threads
3) Plusieurs niveaux d'interruption
Les petits systèmes d'exploitation embarqués nécessitent souvent des systèmes d'exploitation en temps réel, et le Le noyau doit répondre aux exigences des systèmes d'exploitation en temps réel.
3. Concepts associés au système d'exploitation en temps réel
(1) Concepts de base
Section critique du code : fait référence au code qui est indivisible pendant le traitement. Une fois que cette partie du code commence à s'exécuter, aucune interruption n'est autorisée ;
Ressource : toute entité occupée par la tâche ;
Ressource partagée : une ressource qui peut être utilisée par plus d'une tâche ;
Tâche : également appelée thread ; , est un programme simple. Chaque tâche reçoit une certaine priorité, possède son propre ensemble de registres CPU et son propre espace de pile. Généralement, chaque tâche est une boucle infinie et chaque tâche est dans les cinq états suivants : état de veille, état prêt, état d'exécution, état suspendu, état interrompu
Changement de tâche : sera en cours d'exécution L'état actuel de la tâche (toutes) ; le contenu des registres du CPU) est enregistré dans la propre zone de pile de la tâche, puis l'état actuel de la prochaine tâche à exécuter est rechargé de la pile de la tâche dans les registres du CPU, et la tâche suivante est démarrée
; Noyau : responsable de la gestion de diverses tâches, de l'allocation du temps CPU à chaque tâche et responsable de la communication entre les tâches. Divisé en cœurs non préemptifs et cœurs préemptifs ;
Planification : l'une des principales responsabilités du noyau est de décider quelle tâche doit être exécutée. Généralement basé sur la méthode de planification des priorités ;
(2) Problèmes de priorité
Priorité des tâches : divisée en priorité statique avec priorité immuable et priorité dynamique avec priorité modifiable
Inversion de priorité : le problème d'inversion de priorité est le problème le plus courant ; systèmes en temps réel. L'allocation de ressources partagées peut entraîner l'exécution en premier des tâches de faible priorité et l'exécution ultérieure des tâches de haute priorité. La solution consiste à utiliser un algorithme « d'héritage des priorités » pour modifier temporairement les priorités des tâches afin de freiner l'inversion des priorités.
(3) Exclusion mutuelle
Bien que la zone de données partagées simplifie l'échange d'informations entre les tâches, l'exclusivité de chaque tâche lors du traitement des données partagées doit être garantie. Les méthodes générales permettant de satisfaire aux conditions d'exclusion mutuelle comprennent : la désactivation des interruptions, l'utilisation d'instructions de test et de configuration (TAS), l'interdiction du changement de tâche et l'utilisation de sémaphores.
Étant donné que l'importance de l'utilisation d'un système d'exploitation en temps réel est d'être capable de gérer divers événements inattendus en temps opportun, c'est-à-dire de gérer diverses interruptions, le paramètre d'indice de performance le plus important et le plus représentatif pour mesurer le temps réel intégré Le système d'exploitation devrait sans aucun doute être des interruptions. Le temps de réponse est augmenté. Le temps de réponse aux interruptions est généralement défini comme :
Temps de réponse à l'interruption = temps de retard d'interruption + temps de sauvegarde de l'état du CPU + temps d'exécution de la fonction d'entrée ISR du noyau [2].
Temps de retard d'interruption = MAX (temps maximum pour désactiver les interruptions, temps d'instruction maximum) + temps pour commencer à exécuter la première instruction de l'ISR [2].
Système d'exploitation à partage de temps
Anglais : Système d'exploitation à partage de temps
Définition : Un système d'exploitation qui permet à un ordinateur de servir plusieurs, des dizaines voire des centaines d'utilisateurs en même temps. En connectant l'ordinateur à de nombreux utilisateurs finaux, le système d'exploitation en temps partagé transfère tour à tour le temps du processeur système et l'espace mémoire vers les programmes de chaque utilisateur final à certains intervalles. Les intervalles de temps étant courts, chaque utilisateur a l'impression d'avoir l'ordinateur pour lui tout seul. La caractéristique du système d'exploitation à temps partagé est qu'il peut augmenter efficacement l'utilisation des ressources. Par exemple, les systèmes UNIX utilisent une planification CPU à priorité dynamique privée pour prendre en charge efficacement les opérations de partage de temps.
Le système de partage de temps est un nouveau type de système d'exploitation créé pour répondre aux besoins des utilisateurs. Il existe une différence de performances complètement différente entre celui-ci et le système de traitement par lots multicanal. Les besoins des utilisateurs se reflètent spécifiquement dans les aspects suivants : L'hébergement mutualisé d'interaction homme-machine facilite l'accès des utilisateurs à l'ordinateur
L'idée de base du système de partage de temps
Tranche de temps : C'est le utilisation des ressources du système informatique (notamment le temps CPU) pour chronométrer Chaque période de temps est appelée tranche de temps, et chaque utilisateur utilise à tour de rôle la tranche de temps.
Technologie de partage de temps : divisez le temps d'exécution du processeur en tranches de temps très courtes et allouez le processeur à chaque tâche en ligne tour à tour en fonction de la tranche de temps.
Système d'exploitation en temps partagé : Il s'agit d'un système d'exploitation interactif multi-utilisateurs en ligne. Généralement, la rotation des tranches de temps est utilisée pour permettre à un ordinateur de desservir plusieurs terminaux. Garantissez un temps de réponse suffisamment rapide pour chaque utilisateur et fournissez des fonctionnalités de session interactive.
Objectifs de conception : répondre aux demandes des utilisateurs en temps opportun et maximiser l'utilisation des ressources système lorsque cela est possible.
Méthode de travail :
Un hôte est connecté à plusieurs terminaux ; chaque terminal est utilisé par un utilisateur ; effectue des demandes de commande de manière interactive au système ; le système accepte les commandes de chaque utilisateur ; utilise la rotation des tranches de temps pour traiter les demandes de service et les afficher ; les résultats à l'utilisateur sur le terminal de manière interactive ; l'utilisateur émet la commande suivante en fonction du résultat de l'étape précédente
Le problème clé dans la mise en œuvre du système de partage de temps : la réception en temps opportun. Traitez-le rapidement.
Caractéristiques :
Interactivité : Les utilisateurs engagent un dialogue homme-machine avec le système.
Multi-pathing : plusieurs utilisateurs peuvent utiliser le même processeur sur leurs terminaux respectifs en même temps.
Indépendance : les utilisateurs peuvent fonctionner indépendamment les uns des autres sans interférer ni se confondre.
Rapidité : les utilisateurs peuvent obtenir des réponses rapides du système dans un court laps de temps.
Facteurs qui affectent le temps de réponse : le nombre de terminaux, la taille de la tranche horaire, la quantité d'informations échangées et la vitesse d'échange d'informations.
Recommandations associées : "Tutoriel vidéo Linux"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!