Système d'exploitation

L'OS (Operating System, ou système d'exploitation) est probablement un des logiciels les plus importants et un des plus complexes de notre ordinateur. Il est constitué d'une multitude de programmes qui simplifient la vie de l'utilisateur.
L'OS peut donc être considéré comme une interface entre la machine et l'utilisateur ou les programmes de l'utilisateur.

Comme les machines sont toutes différentes, le système d'exploitation devra assurer la gestion des échanges entre l'unité centrale, les mémoires, les périphériques, etc.
La gestion des périphériques est établie par des programmes spécifiques, les pilotes (drivers) ajoutés au système d'exploitation.

Le système d'exploitation offre une grande souplesse aux programmeurs, les soulageant des disparités existantes entre les langages machine.
Il permet un partage des possibilités de l'ordinateur entre plusieurs utilisateurs de manière simultanée (multiprogramming & multiusers).
De plus, il augmente le rendement par une gestion des entrées/sorties (I/O) basée sur des interruptions, indiquant un besoin d'utilisation du processeur (CPU) ou en signalant à ce dernier la fin d'une opération, le tout visant à utiliser un maximum des ressources du CPU.

Définition du système d'exploitation ?

Définir précisément le système d'exploitation n'est pas aisé car les tàches qui lui sont dévolues sont de plus en plus nombreuses, mais nous pouvons dégager deux aspects de base : la machine étendue et la gestion des ressources.

  • Machine étendue : un système d'exploitation est un ensemble d'algorithmes qui permettent d'offrir à l'utilisateur une vision simple, détachée des mécanismes complexes de bas niveau (interruptions, horloges, gestion de la mémoire, etc.). Le système d'exploitation présente à l'utilisateur l'équivalant d'une machine étendue, ou machine virtuelle plus facile à programmer que le matériel. L'expression anglophone "beautification principle" est souvent utilisée pour décrire le fait qu'un système d'exploitation rend l'environement de travail plus convivial en masquant tous ces détails.
  • Gestionnaire de ressources : un système d'exploitation est un ensemble d'algorithmes qui contrôlent l'allocation des ressources aux processus, les mémoires, les entrées/sorties.

Modules d'un système d'exploitation

Au stade actuel de développement des systèmes d'exploitation, les ressources du processeur sont partagées entre les différentes applications.
Nous allons essayer de comprendre comment ce partage peut être géré.

Processus

Un programme est statique. Il s'agit d'une série d'instructions, une sorte de recette.

Le processus est actif, c'est le programme en cours d'exécution, avec les données dont il a besoin :

  • son compteur ordinal (program counter)
  • son pointeur de pile (stack pointer)
  • ses registres

Les informations sont le plus souvent conservées dans une table du système d'exploitation : la table des processus. Il s'agit d'un tableau, ou d'une liste chaînée, de structures nommées PCB (Process Control Bloc). Chaque processus ayant une structure (PCB) qui lui est propre.

Nous retrouvons dans cette table tout processus suspendu, caractérisé par son adresse mémoire (image du noyau - core image).

Comme un processus peut créer un ou plusieurs processus fils qui peuvent à leur tour faire de même, nous avons une structure en arbre des processus.

Le distributeur (Dispatcher)

Nous ne devons pas perdre de vue que le processeur n'est capable de traiter qu'un et un seul processus en un temps donné.
Le dispatcher (dispatch = expédition) assure la commutation des différents processus au sein du processeur en suivant l'activité du processeur.
Il choisit le processus en file d'attente à traiter. Il gère donc l'allocation du processeur et peut le réquisitionner en fonction d'une priorité des processus en attente et de la portion de temps utilisée par celui qui est en cours d'exécution.

Nous pouvons déterminer trois états pour un processus :

  • Nous dirons d'un processus actif en cours d'exécution (running) qu'il est élu.
  • S'il présente toutes les qualités pour être exécuté, mais que le processeur est indisponible, nous l'appellerons processus éligible (Ready).
  • Dans le cas où le processus est en attente d'un évènement externe (entrées-sorties...) ou volontairement arrêté nous le déclarerons bloqué (blocked).

Un processus éligible est exécuté au moment où le processeur devient disponible.
Si le processeur est requis par un processus d'une priorité plus haute ou s'il a consommé la tranche de temps qui lui est allouée (quantum), le processus actuellement en cours d'exécution peut retourner à un état éligible.
Des files d'attentes nous seront donc nécessaires pour le stockage des processus éligibles et des processus bloqués.

Nous nous pencherons de manière plus approfondie sur ces différents états dans la partie consacrée aux modèles à 2, 3, 5 et 7 états.

L'ordonnanceur (Scheduler)

Nous avons vu que les processus sont placés dans une file d'attente avant que le service demandé leur soit fourni tour à tour, selon la gestion spécifiques du planificateur, ou ordonnanceur (scheduler).
Il gère la file d'attente des processus, l'arrivée des demandes et les place dans la file.

Gestion de la mémoire

Voir la partie consacrée aux mémoires.

Planification et allocation des ressources

Deux aspects sont à envisager : l'allocation de ressources, et la protection de ces dernières.

Système de fichier

Le système d'exploitation est aussi responsable de la gestion des fichiers.
Nous devons pouvoir localiser les fichier pour les atteindre. Un nom est donc nécessaire, mais d'autres informations peuvent êtres contrôlées : nom du créateur, date de création, date de modification, etc.

Le système d'exploitation doit aussi gérer les accès aux fichiers.
Ce point est généralement considéré du point de vue des utilisateurs, et il est vrai que de nombreux systèmes gèrent les droits d'accès des visiteurs aux ressources, mais ce n'est pas le seul aspect de la gestion des droits.
Le système d'exploitation est chargé de veiller à assurer une bonne protection contre les accès (non autorisés) de certains processus.
Les fichiers doivent aussi être protégés contre la perte ou la corruption.

Enfin, les systèmes actuels gèrent l'espace de stockage disponible.

Voir la partie consacrée aux systèmes de fichiers.

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

18 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-344
Document créé le 15/02/04 04:12, dernière modification le Vendredi 17 Juin 2011, 11:12
Source du document imprimé : http://www.gaudry.be/systeme-exploitation-introduction.html Document affiché 4 fois ce mois de Février.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Apparence (afficher)
Stats (afficher)
15831 documents
451 astuces.
549 niouzes.
3099 definitions.
447 membres.
8114 messages.

Document genere en :
0,27 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
La distinction entre le vrai et le faux s'applique aux idées, non aux sentiments. Un sentiment peut être superficiel, il ne sera jamais menteur.

Arthur Koestler [Extrait de La corde raide]
 
l'infobrol
Nous sommes le Lundi 13 Février 2012, 23:41, toutes les heures sont au format GMT+1.00 Heure, heure d'hiver