Maison  >  Article  >  Opération et maintenance  >  Linux est-il un système d'exploitation en temps réel ?

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

WBOY
WBOYoriginal
2022-03-11 14:53:176658parcourir

Linux n'est pas un système d'exploitation en temps réel. Linux est un système d'exploitation à temps partagé. C'est un système d'exploitation qui permet à un ordinateur de servir plusieurs, des dizaines, voire des centaines d'utilisateurs en même temps. Le système d'exploitation à temps partagé divise le temps du processeur système et l'espace mémoire à certains intervalles. . Basculez tour à tour vers le programme de chaque utilisateur final.

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

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

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

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

RTOS, le nom anglais complet est Real Time Operating System, c'est-à-dire système d'exploitation en temps réel.

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 grande fiabilité 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 doux. Le temps réel dur exige 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.

En temps réel doux, il vous suffit de 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 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. 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 du système 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 aux systèmes d'exploitation en temps réel

(1) Concepts de base

Section critique du code : fait référence au code qui est indivisible lors du traitement. Une fois que cette partie du code commence à s'exécuter, aucune interruption n'est autorisée ;

Ressource : toute entité occupée par une 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 dans 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.

Parce que l'importance de l'utilisation d'un système d'exploitation en temps réel est de pouvoir gérer diverses urgences 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 les systèmes d'exploitation en temps réel embarqués. devrait sans aucun doute être des interruptions. Le temps de réponse est écoulé. Le temps de réponse à l'interruption 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 processeur + 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 à temps partagé (TSOS)

TSOS, le nom anglais complet est Time-sharing Operating System, qui est le 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.

L'intervalle de temps étant court, chaque utilisateur a l'impression de posséder exclusivement l'ordinateur. 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 L'idée de base du système de partage de temps

Tranche de temps : Il s'agit de. utiliser les ressources système de l'ordinateur (en particulier le temps CPU) Divisez le temps, et 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.

Objectif 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 en utilisant la rotation des tranches de temps ; ; et affiche les résultats à l'utilisateur sur le terminal par interaction ; 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.

3. Fonctionnalités

Interactivité : les utilisateurs engagent un dialogue homme-machine avec le système.

Multiplexité : plusieurs utilisateurs utilisent le même CPU 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 en peu de temps.

Facteurs qui affectent le temps de réponse : nombre de terminaux, taille de la tranche de temps, quantité d'informations échangées et 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 nous. -des réponses au niveau sont requises.

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, où des actions telles que la pression sur un bouton nécessitent un traitement en temps réel.

Enfin

Grâce à l'analyse ci-dessus, il peut être clair que Linux est un système en temps partagé, mais il peut être modifié en temps réel. Par exemple : UCOS est un système en temps réel modifié à partir de Linux. différences, vous pouvez 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 !

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn