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

Linux est-il un système d’exploitation en temps partagé ?

藏色散人
藏色散人original
2023-03-25 10:07:162647parcourir

Linux est un système d'exploitation à temps partagé. Le système d'exploitation à temps partagé est appelé TSOS. Le nom anglais complet est « système d'exploitation à temps partagé » ; des centaines d'utilisateurs en même temps. C'est ce qu'on appelle un système d'exploitation à temps partagé, et Linux est un système d'exploitation multi-utilisateurs et multitâche basé sur POSIX qui prend en charge le multithreading et le multi-CPU.

Linux est-il un système d’exploitation en temps partagé ?

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

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

Les µC/OS, FreeRTOS, RT-Thread et ThreadX que nous partageons habituellement sont tous des systèmes d'exploitation en temps réel (RTOS). Certains lecteurs ont donc demandé : Qu'est-ce qu'un système d'exploitation en temps partagé ? Linux est-il un vrai système d'exploitation ? -système d'exploitation à temps ?

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 dans le délai spécifié. Pour contrôler le processus de production ou répondre rapidement au système de traitement, et contrôler le système d'exploitation pour que toutes les tâches en temps réel s'exécutent 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. 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 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 noyau doit répondre aux exigences du système 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 ;

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

Ressources partagées : Ressources pouvant être utilisées par plus d'une tâche ;
Tâche :

Aussi appelé fil de discussion, c'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 est dans les cinq états suivants : état de veille, état prêt, état d'exécution, état suspendu et état interrompu :

changement de tâche :

will L'état actuel de la tâche en cours d'exécution ; (tout 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 suivante est lancée. tâches ;


Noyau :

est responsable de la gestion de chaque tâche, de l'allocation du temps CPU à chaque tâche et de la communication entre les tâches. Divisé en cœurs non privables 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) Questions sur la priorité

Priorité de la tâche : Elle est divisée en priorité statique avec priorité inchangée et priorité dynamique avec priorité modifiable ;

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) 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 doit être garantie lors du 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 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 le fonctionnement en temps réel intégré le système devrait sans aucun doute être des interruptions. Le temps de réponse est augmenté. 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 à 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.

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 : L'hébergement partagé d'interaction homme-machine facilite l'accès des utilisateurs à l'ordinateur

1. L'idée de base du système de partage de temps
Tranche de temps :est de. utiliser les ressources système de l'ordinateur (en particulier le CPU) (le temps) est divisé en temps. Chaque période de temps est appelée une tranche de temps, et chaque utilisateur utilise la tranche de temps à tour de rôle.

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 à 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 au système de manière interactive ; le système accepte les commandes de chaque utilisateur en utilisant la rotation des tranches de temps. et afficher les résultats aux utilisateurs sur le terminal par interaction ; les utilisateurs émettent les commandes suivantes en fonction des résultats de l'étape précédente

Le problème clé dans la mise en œuvre des systèmes à temps partagé : 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 un traitement en temps réel, nécessitant généralement un niveau de ms. ou même notre niveau de réponse.

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 montée et de descente 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 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 :

Points Le système 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 capable de répondre 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 ?

Apprentissage recommandé : "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