Bases des ordinateurs - Fonctions du système d'exploitation
Comme vous le savez, le système d'exploitation est responsable du fonctionnement du système informatique. Pour ce faire, il mène ces trois grandes catégories d'activités -
Essential functions - Assure une utilisation optimale et efficace des ressources
Monitoring functions - Surveille et recueille des informations relatives aux performances du système
Service functions - Fournit des services aux utilisateurs
Examinons certaines des fonctions les plus importantes associées à ces activités.
Gestion des processeurs
La gestion du processeur d'un ordinateur pour garantir son utilisation optimale est appelée processor management. La gestion du processeur consiste essentiellement à allouer du temps processeur aux tâches à accomplir. C'est appeléjob scheduling. Les travaux doivent être planifiés de telle manière que -
- Il y a une utilisation maximale du processeur
- Le délai d'exécution, c'est-à-dire le temps nécessaire pour terminer chaque travail, est minimum
- Le temps d'attente est minimum
- Chaque tâche obtient le temps de réponse le plus rapide possible
- Le débit maximal est atteint, le débit étant le temps moyen nécessaire pour terminer chaque tâche
Il existe deux méthodes de planification des tâches effectuées par les systèmes d'exploitation -
- Planification préventive
- Planification non préventive
Planification préventive
Dans ce type de planification, la prochaine tâche à effectuer par le processeur peut être planifiée avant la fin de la tâche en cours. Si un travail de priorité plus élevée arrive, le processeur peut être forcé de libérer le travail en cours et de reprendre le travail suivant. Il existe deux techniques de planification qui utilisent la planification préemptive -
Round robin scheduling - Une petite unité de temps appelée time sliceest défini et chaque programme reçoit une seule tranche de temps à la fois. S'il n'est pas terminé pendant ce temps, il doit rejoindre la file d'attente des travaux à la fin et attendre que tous les programmes aient une tranche de temps. L'avantage ici est que tous les programmes bénéficient de l'égalité des chances. L'inconvénient est que si un programme termine l'exécution avant la fin de la tranche de temps, le processeur est inactif pour le reste de la durée.
Response ratio scheduling - Le rapport de réponse est défini comme
$$ \ frac {Elapsed \: Time} {Execution \: time \: recu} $$
Un travail avec un temps de réponse plus court obtient une priorité plus élevée. Ainsi, un programme plus volumineux peut devoir attendre même s'il a été demandé plus tôt que le programme plus court. Cela améliore le débit du processeur.
Planification non préventive
Dans ce type d'ordonnancement, les décisions d'ordonnancement des travaux ne sont prises qu'une fois la tâche en cours terminée. Un travail n'est jamais interrompu pour donner la priorité aux travaux de priorité plus élevée. Les techniques de planification qui utilisent la planification non préemptive sont -
First come first serve scheduling - C'est la technique la plus simple où le premier programme à lancer une requête est terminé en premier.
Shortest job next scheduling - Ici, le travail qui nécessite le moins de temps pour l'exécution est programmé ensuite.
Deadline scheduling - La tâche dont la date limite est la plus proche est prévue pour la prochaine exécution.
Gestion de la mémoire
Le processus de régulation de la mémoire de l'ordinateur et d'utilisation de techniques d'optimisation pour améliorer les performances globales du système est appelé memory management. L'espace mémoire est très important dans l'environnement informatique moderne, la gestion de la mémoire est donc un rôle important des systèmes d'exploitation.
Comme vous le savez, les ordinateurs ont deux types de mémoire - primary et secondary. La mémoire primaire estfast but expensive et la mémoire secondaire est cheap but slower. Le système d'exploitation doit trouver un équilibre entre les deux pour s'assurer que les performances du système ne sont pas affectées en raison de la très faible quantité de mémoire principale ou que les coûts du système ne augmentent pas en raison d'une trop grande quantité de mémoire principale.
Les données d'entrée et de sortie, les instructions utilisateur et les données intermédiaires à l'exécution du programme doivent être stockées, consultées et récupérées efficacement pour des performances système élevées. Une fois qu'une demande de programme est acceptée, le système d'exploitation lui alloue des zones de stockage primaire et secondaire selon les besoins. Une fois l'exécution terminée, l'espace mémoire qui lui est alloué est libéré. Le système d'exploitation utilise de nombreuses techniques de gestion du stockage pour garder une trace de tous les espaces de stockage alloués ou libres.
Allocation de stockage contigu
Il s'agit de la technique d'allocation d'espace de stockage la plus simple dans laquelle des emplacements de mémoire contigus sont attribués à chaque programme. Le système d'exploitation doit estimer la quantité de mémoire requise pour le processus complet avant l'allocation.
Allocation de stockage non contiguë
Comme son nom l'indique, le programme et les données associées n'ont pas besoin d'être stockés dans des emplacements contigus. Le programme est divisé en composants plus petits et chaque composant est stocké dans un emplacement séparé. Une table conserve un enregistrement de l'emplacement de stockage de chaque composant du programme. Lorsque le processeur a besoin d'accéder à un composant, le système d'exploitation fournit l'accès à l'aide de cette table d'allocation.
Dans un scénario réel, l'espace mémoire principal peut ne pas être suffisant pour stocker l'ensemble du programme. Dans ce cas, OS prend l'aide deVirtual Storagetechnique, où le programme est physiquement stocké dans la mémoire secondaire mais semble être stocké dans la mémoire primaire. Cela introduit un délai minime pour accéder aux composants du programme. Il existe deux approches pour les stockages virtuels -
Program paging - Un programme est décomposé en taille fixe pageet stocké dans la mémoire secondaire. Les pages sont donnéeslogical address or virtual addressde 0 à n. UNEpage table mappe les adresses logiques aux adresses physiques, qui sont utilisées pour récupérer les pages si nécessaire.
Program segmentation - Un programme est décomposé en unités logiques appelées segments, adresse logique attribuée de 0 à n et stockée dans la mémoire secondaire. UNEsegment table est utilisé pour charger des segments de la mémoire secondaire vers la mémoire principale.
Les systèmes d'exploitation utilisent généralement une combinaison de segmentation de page et de programme pour optimiser l'utilisation de la mémoire. Un grand segment de programme peut être divisé en pages ou plusieurs petits segments peuvent être stockés en une seule page.
Gestion de fichiers
Les données et informations sont stockées sur des ordinateurs sous forme de fichiers. La gestion du système de fichiers pour permettre aux utilisateurs de conserver leurs données en toute sécurité et correctement est une fonction importante des systèmes d'exploitation. La gestion des systèmes de fichiers par OS s'appellefile management. La gestion des fichiers est nécessaire pour fournir des outils pour ces activités liées aux fichiers -
- Création de nouveaux fichiers pour stocker des données
- Updating
- Sharing
- Sécurisation des données par mots de passe et cryptage
- Récupération en cas de panne du système
Gestion d'appareils
Le processus de mise en œuvre, d'exploitation et de maintenance d'un appareil par système d'exploitation est appelé device management. Le système d'exploitation utilise un logiciel utilitaire appelédevice driver comme interface avec l'appareil.
Lorsque de nombreux processus accèdent aux périphériques ou demandent l'accès aux périphériques, le système d'exploitation gère les périphériques de manière à partager efficacement les périphériques entre tous les processus. Traite les appareils d'accès viasystem call interface, une interface de programmation fournie par l'OS.