Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
1. Définition :
Un système d’exploitation (noté SE ou OS, abréviation du terme anglais Operating System) est l'ensemble de
programmes central d'un ordinateur qui sert d'interface entre le matériel et les logiciels applicatifs (traitement
de texte, jeu vidéo, ...).C'est donc une couche logicielle (software) qui permet et coordonne l'utilisation du
matériel (hardware) entre les différents programmes d'application. Un système d’exploitation est typiquement
composé : d’un noyau, de bibliothèques, d’un ensemble d’outils système et de programmes applicatifs de base.
2. Naissance et Historique:
Les ordinateurs des années 1940 à 1960, très coûteux, étaient la propriété des entreprises et des institutions.
Chaque utilisateur avait le droit d'utiliser l'ordinateur pendant un temps limité et l'utilisateur avait alors à
disposition la totalité du matériel de l'ordinateur. Il apportait avec lui une pile de cartes perforées qui contenait
les instructions du ou des programmes à exécuter.
Les ordinateurs de cette époque effectuaient une seule tâche à la fois, au service d'un seul utilisateur. Les
programmes pour ces ordinateurs contenaient toutes les instructions nécessaires pour manipuler le matériel
de l'ordinateur. Si la logithèque pour cet ordinateur comportait cinquante programmes, les instructions
nécessaires pour manipuler le matériel se retrouvaient dans chacun de ces cinquante programmes. Avec
l'agrandissement de la logithèque, l'idée est venue d'isoler les instructions routinières dans un programme
séparé. Un programme qui résiderait continuellement dans la mémoire, quel que soit le programme en cours
d'exécution. Ce programme était un système d'exploitation, sous sa forme la plus rudimentaire.
La 1ère génération (1945 - 1955) : les tubes à vide et les cartes enfichables.
Dans les années 40, les premiers « ordinateur » apparaissent, les programmes et les données sont codés
directement en binaire sur des tableaux d'interrupteurs, puis plus tard (1950) sur des cartes perforées (la
présence ou l'absence de trous correspondent à 0 ou 1), ils sont chargés en mémoire, exécutés et mis au point
à partir d'un pupitre de commande. A cette époque Il n'existait pas de système d'exploitation C'est la même
équipe qui conçoit, construit, programme, administre et maintient la machine.
L'arrivée de l'assembleur facilite l'écriture des programmes, mais l'utilisation des machines est toujours la
même. L'ordinateur ne traite qu'un programme à la fois. Les utilisateurs travaillaient chacun leur tour sur
l'ordinateur qui remplissait une salle entière. Ils étaient d'une très grande lenteur.
GUESSOUM D. 1/6
Université de Blida 1 Système d’exploitation Département
d’informatique 2ème année LMD
Le calculateur principal ne fonctionne pas tout le temps : beaucoup de temps est encore perdu lors des
déplacements des opérateurs qui sont chargés d'alimenter les machines en cartes, papier, bandes.
On procède au traitement par lots (batch) : plusieurs travaux sont transcrits sur une même bande d'entrée. Le
calculateur principal lit le 1er job, puis lorsque celui-ci est terminé, lit le 2nd, etc... Jusqu’à la fin de la bande. Un
interprète de commande permet le chargement du programme et des données puis l'exécution du programme,
le moniteur est le programme charger du séquencement des travaux des utilisateurs et de la continuité des
opérations. Le moniteur des années 60 est le précurseur du système d'exploitation appelé : FMS (Fortran
MonitorSystem) et IBSYS.
GUESSOUM D. 2/6
Université de Blida 1 Système d’exploitation Département
d’informatique 2ème année LMD
Les systèmes d'exploitation de type « micro-noyau » sont modulaires (un module par fonction) ; ils peuvent être
réalisés avec plus ou moins de modules et donc adaptables à des très petites machines.
GUESSOUM D. 3/6
Université de Blida 1 Système d’exploitation Département
d’informatique 2ème année LMD
simultanément sur une même machine des applications différentes ou bien similaires : le système est alors dit
«système transactionnel». Pour ce faire, le système alloue à chaque utilisateur une tranche de temps.
Le système est dit embarqué lorsque il est prévu pour fonctionner sur des machines de petite taille, telles que
des PDA ou des appareils électroniques autonomes (sondes spatiales, robot, ordinateur de bord de véhicule,
etc.), possédant une autonomie réduite. Ainsi, une caractéristique essentielle des systèmes embarqués est leur
gestion avancée de l’;énergie et leur capacité à fonctionner avec des ressources limitées.
Un système d'exploitation est composé d'une large palette de programmes. Sa compostions exacte dépend de
l'usage cible et du type d'équipement informatique (ordinateur personnel, serveur, superordinateur ou
encore système embarqué) auquel le système est destiné.
Par exemple, si le système d'exploitation est destiné à être utilisé :
-sur un ordinateur personnel ou une console de jeu vidéo, il nécessitera une interface graphique
ergonomique.
- sur un serveur, il comprendra une large palette de protocoles et de pilotes pour du matériel réseau, sera
multitâches et muni de contrôles d'accès
- sur un assistant personnel ou un téléphone portable, le nombre de pilotes sera restreint au minimum et le
système d'exploitation sera prévu pour être enregistré sur une mémoire morte.
-sur des superordinateurs, il sera alors massivement multiprocesseur.
Mac OS : Premier à proposer le concept des fenêtres, du glisser-déposer, la corbeille, le plug-and- play;
aujourd’hui possède le noyau Linux, avec une interface graphique élégante et ergonomique, et optimisation
particulière des traitements multimédia.
MS-DOS (Microsoft disque operating system) : est apparue en 1980 comme système d’exploitation des
premiers PC, mono-utilisateur, mono-tâche, avec une interface ligne de commande.
MS-Windows : Inspiré par l’interface Macintosh; tout d’abord, il propose une coquille graphique pour DOS.
GUESSOUM D. 4/6
Université de Blida 1 Système d’exploitation Département
d’informatique 2ème année LMD
Le noyau (en anglais kernel) représentant les fonctions fondamentales du système d’exploitation telles que la
gestion de la mémoire, des processus, des fichiers, des entrées-sorties principales, et des fonctionnalités de
communication.
L’interpréteur de commande (en anglais shell, «coquille» par opposition au noyau) est la partie la plus externe
du système d'exploitation permettant la communication avec le système d’exploitation par l’intermédiaire d’un
langage de commandes, afin de permettre à l’’utilisateur de piloter les périphériques en ignorant tous les
caractéristiques du matériel qu’il utilise, de la gestion des adresses physiques, etc.
Le système de fichiers (en anglais «file system», noté FS), permettant d’enregistrer les fichiers dans une
arborescence.
Un système d'exploitation est typiquement organisé en couches distinctes. La couche supérieure est l'interface
de programmation avec les logiciels applicatifs (dont font partie les logiciels utilitaires et les bibliothèques
fournis avec le système d'exploitation).
Au centre, on trouve une ou plusieurs couches qui contiennent les composants principaux du système
d'exploitation tels que : la gestion des systèmes de fichiers et du réseau, la gestion de mémoire, les pilotes,
l'ordonnanceur, le gestionnaire d'interruption. La couche inférieure, appelée couche d'abstraction matérielle
HAL (Hardware Abstraction Layer), est chargée de masquer les particularités matérielles.
Le système d’exploitation est placé entre la machine matérielle et les applications. Il s’interface avec la couche
matérielle, notamment par le biais de mécanisme d’interruptions (voir section 9) . Il s’interface avec les
applications par le biais des primitives qu’il offre : appels système (voir chapitre section 8) et commandes.
7. Modes d’exécution du système d’exploitation :
Le code du noyau est très sensible. Tout usage incorrect de ce noyau peut détériorer le matériel ou planter le
système, ce code est donc protégé, on peut est y accéder que par un appel système. En général les processus
ont deux modes de fonctionnement :
Mode superviseur (système privilégié, mode moniteur, mode superviseur, mode system, mode noyau): est
réservé à l'exécution des primitives du système d'exploitation, c’est des Instructions privilégiées (instructions
GUESSOUM D. 5/6
Université de Blida 1 Système d’exploitation Département
d’informatique 2ème année LMD
machine risquant de nuire) . Dans ce mode le processeur peut exécuter toutes les instructions.Les appels
système s’exécutent dans ce mode.
Mode utilisateur (User Mode, mode esclave): dans lequel les programmes utilisateurs sont exécutés.
Dans ce mode certaines instructions sont interdites. S’il se produit une tentative d’exécuter une instruction
privilégiée, le matériel ne la réalise pas mais traite l’instruction comme illégale et bloque le SE.
Au moment d’initialiser le système, le matériel démarre en mode superviseur. Ensuite le SE est chargé et
démarre les processus utilisateurs en mode utilisateur. Chaque fois qu’un déroutement (trap) ou une
interruption se produit, le matériel commute du mode utilisateur au mode superviseur
-Le système commute toujours au mode utilisateur avant de donner la main à un programme utilisateur
8. Appel système :
Il constitue une interface entre le SE et les programmes d’application (ou leur bibliothèque). Un appel a pour
rôle d’activer le système d’exploitation. C’est un point d'entrée dans le code du noyau. Quelques appels
systèmes classiques : open, read, write et close qui permettent les manipulations sur les systèmes de fichiers,
alloc, free pour allouer et désallouer de la mémoire. Sur la majorité des SE, les appels système peuvent être
utilisés comme de simples fonctions écrites en C. Sur la plupart des noyaux (notamment les noyaux
monolithiques comme le Noyau Linux) les appels systèmes sont implémentés par une instruction machine
(interupt, supervisor call, ...) qui fait basculer le processeur dans le noyau en mode superviseur.
Une Interruption est événement qui modifie le flux d’exécution d’un programme. Le mécanisme
d’interruption (IT) suspend l’exécution de tout programme en cours d’exécution sur un point interruptible,
afin d’exécuter le code l’interruption appelé routine d’interruption. On distingue deux types d’interruptions :
1. Interruptions matérielles : Permettent la prise en compte d’une requête de service système (mémoire,
contrôleur de périphérique, clavier, lecteur, ...). À tout moment le matériel peut activer une interruption.
2. Interruptions logicielle : Activée par l’exécution d’un appel système (system call ou monitor call)
Un déroutement (trap) est une condition anormale détectée par l’UC qui indique généralement une erreur
(ex : division par zéro, accès à un emplacement mémoire inexistant ou auquel on ne peut pas y accéder …).
Lorsqu’une interruption est captée par le système, le programme en cours est arrêté. Le système d’exploitation
sauvegarde le contexte : Le système d’exploitation préserve l’état de la CPU (sauvegarde des registres et du
compteur ordinal). Le SE détermine ensuite le type d’interruption. Pour chaque type d’interruption une partie
de code du SE détermine l’action qui doit être prise (routine IT). Dès que cette procédure est terminée, le
programme interrompu reprend son exécution. Lors de la reprise, la machine doit se trouver exactement dans
l’état où elle était au moment de la prise en compte de l’interruption.
GUESSOUM D. 6/6