Maison  >  Article  >  Tutoriel système  >  Linux est-il un système temps réel ou un système d'exploitation en temps partagé ?

Linux est-il un système temps réel ou un système d'exploitation en temps partagé ?

WBOY
WBOYavant
2024-02-05 12:40:22892parcourir

Les µC/OS, FreeRTOS, RT-Thread et ThreadX que nous partageons souvent sont tous des systèmes d'exploitation en temps réel (RTOS). Certains lecteurs peuvent donc se demander : qu'est-ce qu'un système d'exploitation en temps partagé ? Linux est-il considéré comme un système d’exploitation temps réel ?

Système d'exploitation en temps réel (RTOS)

RTOS, le nom complet est Real Time Operating System, c'est ce que nous appelons le système d'exploitation en temps réel.

1. Définition du système d'exploitation en temps réel Un système d'exploitation en temps réel (RTOS) est un système qui peut accepter et traiter rapidement des événements ou des données externes lorsqu'ils sont générés. Les résultats du traitement peuvent contrôler le processus de production ou le système de traitement. dans un délai spécifié. Répondez rapidement et coordonnez l’exécution de toutes les tâches en temps réel.

Par conséquent, les principales caractéristiques d'un système d'exploitation en temps réel sont de fournir une réponse rapide et une grande fiabilité.

Les systèmes d'exploitation en temps réel sont divisés en deux types : le temps réel dur et le temps réel logiciel Les systèmes en temps réel dur exigent que les opérations soient terminées dans un délai spécifié, qui est garanti lors de la conception du système d'exploitation. .

Les systèmes logiciels en temps réel doivent uniquement 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 temps réel après certaines modifications.

Linux est-il un système temps réel ou un système dexploitation en temps partagé ?

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 pourrait être conçu pour garantir qu’un robot sur une chaîne 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 rend le robot temporairement hors 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. Cela dit, Même si un système d'exploitation n'est pas strictement un système temps réel, il peut résoudre certains problèmes d'applications temps réel.

2. Caractéristiques du système d'exploitation en temps réel
1) Multitâche ;
2) Il y a une priorité de fil
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 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

 ;

Ressources : Toute entité occupée par une tâche

Ressources partagées : Ressources pouvant être utilisées par plusieurs tâches ;

Tâche : également appelée fil de discussion, 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. En règle générale, chaque tâche est une boucle infinie et chaque tâche se trouve dans les cinq états suivants : état de veille, état prêt, état en cours d'exécution, état suspendu et état interrompu  ;

Changement de tâche : Enregistrez l'état actuel de la tâche en cours d'exécution (tout le contenu du registre CPU) dans la propre zone de pile de la tâche, puis rechargez l'état actuel de la tâche suivante à exécuter depuis la pile de la tâche dans la Enregistrez le processeur et commencez à exécuter la tâche suivante ;

Kernel :

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 noyaux inaliénables et noyaux privables  ;

Planification : 

L’une des principales responsabilités du noyau est de décider quelle tâche c’est à exécuter. Généralement basé sur la méthode de planification prioritaire ;

(2) Questions sur la priorité

Priorité de la tâche :
Elle est divisée en priorité statique dont la priorité ne peut pas être modifiée et en priorité dynamique dont la priorité peut être modifiée ; Inversion de priorité :

Le problème d'inversion de priorité est le problème le plus courant dans les systèmes 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) Mutuellement exclusifs

Bien que la zone de données partagées simplifie l'échange d'informations entre tâches, il faut garantir que chaque tâche est exclusive dans le traitement des données partagées. 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 définition (TAS), l'interdiction du changement de tâche et l'utilisation de sémaphores.

Parce 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 fonctionnement en temps réel intégré Le système devrait sans aucun doute être la réponse d'interruption. Il est temps. 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.

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.

Système d'exploitation de partage de temps (TSOS)

TSOS, le nom anglais complet est Time-sharing Operating System, c'est-à-dire système d'exploitation à temps partagé.

Un système d'exploitation qui permet à un ordinateur de servir plusieurs, des dizaines, voire des centaines d'utilisateurs en même temps est appelé système d'exploitation à temps partagé. 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 : Interaction homme-machine Hébergement partagé Pratique pour les utilisateurs d'accéder à l'ordinateur

1. Idée de base du système de partage de temps

Tranche de temps : Il divise les ressources du système informatique (en particulier le temps CPU) en temps. Chaque période de temps est appelée une 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 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.

Convient pour la bureautique, l'enseignement et le traitement des transactions et d'autres occasions nécessitant une communication homme-machine.

2. 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 interagit avec le terminal ; affiché à l'utilisateur ; l'utilisateur émet la commande suivante en fonction des résultats de l'étape précédente

L'enjeu clé dans la mise en place du système de temps partagé : l'accueil dans les délais. Traitez-le rapidement.

3.Caractéristiques
Interactivité : les utilisateurs engagent un dialogue homme-machine avec le système.
Multiplexage : plusieurs utilisateurs utilisent 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 de temps, la quantité d'informations échangées et la vitesse d'échange d'informations.

Différence

RTOS et TSOS ont chacun leurs propres caractéristiques. RTOS est généralement utilisé pour les MCU à vitesse relativement faible, tels que le contrôle de mouvement, la saisie par clé et d'autres systèmes qui nécessitent généralement un traitement en temps réel, au niveau ms ou même au niveau américain. des réponses sont nécessaires.

Partage de temps : De nos jours, les PC et serveurs populaires adoptent ce mode de fonctionnement, qui divise le fonctionnement du CPU en plusieurs tranches de temps pour traiter différentes requêtes informatiques.

Temps réel : généralement utilisé sur les microcontrôleurs, tels que le contrôle de haut en bas des ascenseurs, qui nécessitent un traitement en temps réel des pressions sur les boutons et d'autres actions.

Enfin

Grâce à l'analyse ci-dessus, il est clair que linux est un système en temps partagé, mais il peut être modifié en temps réel. Par exemple : ucLinux est un système en temps réel modifié à partir de Linux. Quant à leurs différences, vous. peut citer des réponses similaires dans Baidu :

Le système de partage de temps est un système qui peut servir deux comptes ou plus en même temps !

Un système temps réel est un système d'exploitation qui répond immédiatement aux instructions ! Les systèmes courants de Microsoft ne le peuvent pas ! Et c'est toujours mort ! Le système d'exploitation d'un avion de combat est un système en temps réel. Pensez-y : si l'ordinateur de l'avion de combat répond à la dernière commande du pilote ou s'écrase pendant que quelqu'un d'autre se bat, qui oserait piloter l'avion ?

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer