Vous êtes sur la page 1sur 20

Systmes dexploitation

(Operating Systems)

Introduction
SITE : http://www.sir.blois.univ-tours.fr/mirian/

Systemes dexploitation - Mrian Halfeld-Ferrari p. 1/2


Quest-ce quun SE ?
Ensemble de logiciels qui tournent en permanence sur un ordinateur et le
contrlent partir de son dmarrage (boot) et tant que celui-ci est allum.
Exemples :
Unix : Cr en 1969, rapidement multi-utilisateur, crit en langage C.
Linux : Clone gratuit dUNIX pour les PC, open source.
Mac OS : Premier proposer le concept des fentres, du glisser-dposer,
la corbeille, le plug-and-play; aujourdhui possde le noyau Linux, avec une
interface graphique lgante et ergonomique, et optimisation particulire
des traitement multimdia.
MS-DOS (Microsoft disque operating system) : SE des premiers PC,
mono-utilisateur, mono-tche, interface ligne de commande.
MS-Windows : Inspir par linterface Macintosh; tout dabord, une coquille
graphique pour DOS. Seulement partir de Windows 95 nous
commenons assister un transfert de nombreuses fonctionnalits de
DOS vers Windows.
Windows NT : Systme dexploitation indpendent de DOS. Techniquement
nettement suprieur Windows.
Systemes dexploitation - Mrian Halfeld-Ferrari p. 2/2
Systmes
dexploitation
Ordinateur: Sans le logiciel (software), machine sans utilit
Deux types de logiciels:
1. Programmes systmes (system programs): gre le fonctionnement de
lordinateur
2. Programmes dapplication: excute le travail demand par les utilisateurs
Systmes dexploitation: programme systme fondamental
Contrle toutes les ressources de lordinateur
Base sur laquelle les programmes dapplication sont crits

Systemes dexploitation - Mrian Halfeld-Ferrari p. 3/2


Systme
informatique (1)
Banking Airline Web
system reservation browser

Compilers Editors Command


interpreter

Operating system

Machine language

Microprogramming

Physical devices
Hardware, Programmes systme et Programmes dapplication

Systemes dexploitation - Mrian Halfeld-Ferrari p. 4/2


Systme
informatique (2)
1. Matriel (hardware) : Ressources informatique de base: CPU (UC: unit
centrale), mmoire, dispositifs E/S
2. Systme dexploitation: Programme intermdiaire entre lutilisateur et le matriel
3. Programmes dapplication: Comment utiliser le matriel pour rsoudre les
problmes informatiques des utilisateurs
4. Utilisateurs: Personnes, machines, autres ordinateurs

Systemes dexploitation - Mrian Halfeld-Ferrari p. 5/2


Rles du SE
Le systme dexploitation joue deux rles :
1. dune machine virtuelle (abstraite)
Le SE prsente au programmeur une interface daccs aux ressources
de lordinateur (sous forme dappels systme). Ainsi le programmeur peut
faire abstraction des dtails de fonctionnement des ressources.

Cette interface est fonde sur des objets abstraits dont les plus
importants sont les fichiers et les processus. Par exemple, le
programmeur voit un disque comme une collection de fichiers qui peuvent
tre lus, crits et ferms

2. dun administrateur de ressources


Le SE gre lutilisation des ressources par diffrents utilisateurs et les
ventuels conflits.

Systemes dexploitation - Mrian Halfeld-Ferrari p. 6/2


Buts dun SE
1. Fournir un environnement o lutilisateur puisse excuter des programmes
2. Rendre le systme informatique pratique pour lutilisateur
3. Utiliser le matriel de faon efficace

Definitions des systemes dexploitation

Programme dallocation des ressources: grer et allouer des ressources


Programme de controle: contrler lexcution des programmes des utilisateurs et
lopration des dispositifs dentre/sortie
Noyau (Kernel): le programme qui est excut tout le temps (tout les autres sont
des programmes dapplication)

Systemes dexploitation - Mrian Halfeld-Ferrari p. 7/2


volution des SE
SE: dvelopp pour faciliter lutilisation du matriel
Projet et utilisation des SE ont engendr des modifications du matriel
Vision historique des SE: les problmes des SE ont engendr des innovations du
matriel
Les SE ont une histoire ancienne qui commence au moment o ils ont
commenc remplacer les oprateurs des ordinateurs jusqu aujourdhui avec
des systmes multiprogrammation.

Systemes dexploitation - Mrian Halfeld-Ferrari p. 8/2


Tches dun systme
dexploitation
Gestion de processus
Gestion de la mmoire
Gestion des fichiers
Gestion des E/S

Les programmes utilisateurs peuvent accder ces diffrentes fonctionnalits laide


des appels systme.

Pour crer un systme aussi grand et complexe quun SE, il est ncessaire de le
dcouper en pices plus petites

Systemes dexploitation - Mrian Halfeld-Ferrari p. 9/2


Pour partager les ressources, comment les SE peuvent assurer quun programme qui
fonctionne mal ne va pas causer des problmes lexcution dautres programmes?

Avec une protection matrielle : le mode double.

Le matriel permet 2 modes de fonctionnement:


Mode moniteur ou superviseur ou systeme ou privilegie (Monitor mode,
supervisor mode, system mode): excution de la part du SE
Instructions privilgies: instructions machine risquant de nuire.
Les instructions privilgies sont excutes seulement en mode
superviseur.
Mode utilisateur (User Mode): excution de la part de lutilisateur.
Sil se produit une tentative dexcuter une instruction privilgie, le
matriel ne la ralise pas mais traite linstruction comme illgale et bloque
le SE.

Systemes dexploitation - Mrian Halfeld-Ferrari p. 10/2


Fonctionnement en
mode double
Au moment dinitialiser le systme, le matriel dmarre en mode superviseur
Ensuite le SE est charg et dmarre les processus utilisateurs en mode
utilisateur
Chaque fois quun droutement (trap) ou une interruption se produit, le matriel
commute du mode utilisateur au mode superviseur
Chaque fois que le SE prend le contrle de lordinateur, il est en mode
superviseur
Le systme commute toujours au mode utilisateur avant de donner la main
un programme utilisateur

Systemes dexploitation - Mrian Halfeld-Ferrari p. 11/2


Certaines instructions sont privilgies, comme les instructions E/S.

Comment un programme utilisateur peut donc excuter des E/S?

En utilisant les appels systme

Systemes dexploitation - Mrian Halfeld-Ferrari p. 12/2


Appels systme (1)
Un appel systme est une fonction fournie par le noyau (kernel) dun SE et
utilise par les programmes sexcutant dans lespace utilisateur (en
dautres termes, tous les programmes distincts du noyau).
Le rle du noyau est de grer les ressources matrielles et de fournir aux
programmes une interface uniforme pour laccs ces ressources.
Quelques appels systmes classiques :
open, read, write et close qui permettent les manipulations sur les
systmes de fichiers,
alloc, free pour allouer et dsallouer de la mmoire.
Sur la majorit des systmes dexploitations, les appels systme peuvent tre
utiliss comme de simples fonctions crites en C.
Sur la plupart des noyaux (notamment les noyaux monolithiques comme le
Noyau Linux) les appels systmes sont implments par une instruction machine
(interupt, supervisor call, ...) qui fait basculer le processeur dans le noyau en
mode superviseur (en ayant convenablement pass les paramtres de lappel
systme, par exemple dans les registres).
Systemes dexploitation - Mrian Halfeld-Ferrari p. 13/2
Appels systme (2)
Vu du programme applicatif, un appel systme est atomique (il sest excut
-ventuellement en erreur- ou pas).
8
>
> 1- Contrle de processus:
>
>
charger, excuter, crer, terminer des processus, obtenir,
>
>
>
>
>
>
>
>
>
> signaler des vnements, librer de la mmoire, etc
>
2- Manipulation de fichiers:
>
>
>
>
>
>
crer, supprimer, ouvrir, fermer, lire, crire, repositionner,etc
>
>
>
>
>
3- Gestion de priphriques:
>
<
Catgories
>
>
> demander, librer, obtenir, attacher, etc
>
>
>
>
>
> 4- Entretient dinformation:
>
obtenir, dfinir lheure ou la date, dfinir les donnes du systmes
>
>
>
>
>
>
5- Communications
>
>
>
>
>
>
>
>
>
> crer, supprimer des connexions de communication, envoyer,
>
recevoir de messages, transfrer des informations sur les tats, etc
:

Systemes dexploitation - Mrian Halfeld-Ferrari p. 14/2


Concepts de base (1)
Processus : Un processus est un programme en excution
Programme: entit passive
Processus: entit active (compteur dinstructions)
Fichier : une unit de stockage logique, cest--dire, un ensemble dinformations
en relation entre elles, qui est enregistr sur la mmoire auxiliaire (disque).
Les processus utilisent la mmoire vive/cache/registres pour
sauvegarder leurs codes et leurs donnes; mais ces types de mmoire
sont volatiles.
Le stockage dans un fichier permet la prservation dune grande quantit
dinformation de faon non volatile (rsiste la fin dun processus) et rend
cette information disponible plusieurs processus.
Systme de fichiers: Partie du SE responsable de la gestion de fichiers.
Le SE tablit une correspondance entre les fichiers et les dispositifs
physiques (non volatile).
Le systme de fichiers se prsente gnralement comme une structure
arborescente de rpertoires (ou dossiers) dont lorigine est appele racine.

Systemes dexploitation - Mrian Halfeld-Ferrari p. 15/2


Concepts de base (2)
Shell : Principale interface entre un utilisateur plac devant son terminal et le SE,
sauf si lutilisateur a recours une interface graphique.
Exemples de Shell : sh, csh, ksh, bash
Quand un utilisateur se connecte un shell est lanc. Ce shell a pour entre
standard le clavier du terminal et pour sortie standard son cran. Il
commence par afficher un prompt qui indique lutilisateur que le shell est
prt recevoir une commande.
Exemple :

$ date
Mon Aug 20 17:25:58 CEST 2007
$

Le prompt est $. Lutilisateur tape date. Le shell cre un processus (enfant) qui
excute le programme date. Pendant que le fils sexcute, le shell attend sa
terminaison. Quand elle a lieu, le prompt rapparat et le shell attend de lire la
commande suivante.

Systemes dexploitation - Mrian Halfeld-Ferrari p. 16/2


Linitialisation dun
ordinateur (1)
Comment un ordinateur commence fonctionner?
Quand lordinateur est allum, le code trouv dans le premier secteur du disque de boot
est lu dans la mmoire et excut.

Dans une disquette, ce secteur contient le programme damorage (bootstrap


program).
Dans un disque dur, ce secteur contient un petit programme et une table de
partitions (un disque dur est divis en partitions).
Le programme est excut pour lire la table de partitions et slectionner la
partition active.
La partition active possde un programme damorage dans sont premier
secteur qui est alors charg et excute (comme dans le cas de la
disquette).

Systemes dexploitation - Mrian Halfeld-Ferrari p. 17/2


Linitialisation dun
ordinateur (2)
Programme damorage (bootstrap program):
Initialise tous les aspects du systme (CPU, contrleurs de priphriques,
mmoire)
Sait comment charger/dmarrer le systme dexploitation
1. Trouver et charger en mmoire le noyau (kernel) du SE
2. SE excute le premier processus (init) et attend un vnement
(interruption)
Interruption : vnement qui modifie le flux de commande dun programme
1. Interruptions matrielles : Permettent la prise en compte dune requte
de service systme (mmoire, contrleur de priphrique, clavier,
lecteur, ...). tout moment le matriel peut activer une interruption.
2. Interruptions logicielle : Active par lexcution dun appel systme
(system call ou monitor call)

Systemes dexploitation - Mrian Halfeld-Ferrari p. 18/2


Traitement
dinterruptions
Le programme en cours est arrt.
Le systme dexploitation prserve ltat de la CPU (sauvegarde des registres et
du compteur ordinal).
SE dtermine le type dinterruption.
Pour chaque type dinterruption une partie de code du SE dtermine laction qui
doit tre prise.
Ds que cette procdure est termine, le programme interrompu reprend son
excution.
Lors de la reprise, la machine doit se trouver exactement dans ltat o elle tait
au moment de la prise en compte de linterruption.
SE modernes: orient interruptions (interrupt driven)

Systemes dexploitation - Mrian Halfeld-Ferrari p. 19/2


Systemes dexploitation - Mrian Halfeld-Ferrari p. 20/2