Vous êtes sur la page 1sur 24

Systmes dexploitation

Systmes dexploitation
Hmida HMIDA
Technologue ISET Mahdia

ISI Ma 2007 - 2008

PLAN
Systmes dexploitation
Introduction : Dfinitions et gnralits Les processus La programmation concurrentielle Systme de Gestion de Fichiers La mmoire Les interruptions
ISI Ma 2007 - 2008

PLAN
Systmes dexploitation
Introduction : Dfinitions et gnralits Les processus La programmation concurrentielle Systme de Gestion de Fichiers La mmoire Les interruptions
ISI Ma 2007 - 2008

Systme dexploitation Dfinition


Systmes dexploitation
Les logiciels peuvent tre classs en
Logiciels utilisateurs Programmes systme (dont le SE)

Dfinition dun SE
Il est plus facile de le dfinir par ce quil fait Un ensemble de procdures permettant de donner lutilisateur une vue simplifie du matriel (machine virtuelle) Machine virtuelle : Vue uniforme des E/S Une mmoire virtuelle et p partageable g Gestion des fichiers et rpertoires Gestion des processus et ressources Un programme qui sert dinterface entre lutilisateur et lordinateur

ISI Ma 2007 - 2008

Systme dexploitation Vue gnrale


Systmes dexploitation
Applications

Systme dexploitation

Matriel

ISI Ma 2007 - 2008

Systme dexploitation Fonctions


Systmes dexploitation
Gestion du dialogue Homme-Machine
Lancement de travaux Interface textuelle : (MS-DOS, UNIX, ) Interprteur de commande Jeu de commandes (syntaxe) clavier Interface graphique (windows, linux, ) Plus conviviale et intuitive (mtaphores) Souris et clavier
ISI Ma 2007 - 2008

Systme dexploitation Fonctions


Systmes dexploitation
Gestion des processus et de la mmoire
Processus : un programme (langage machine) en cours dexcution (charg en mmoire) Contexte de processus : permettant la reprise de son excution Rellement un seul en excution tats dun processus :

ISI Ma 2007 - 2008

Systme dexploitation Fonctions


Systmes dexploitation
Gestion des processus et de la mmoire
Ordonnancement : donner lordre dexcution des processus dans le cas de systme multitche

ISI Ma 2007 - 2008

Systme dexploitation Fonctions


Systmes dexploitation
Gestion des processus et de la mmoire
Politiques dordonnancement FIFO (First In First Out) SJF (Shortest Job first) RR (Round Robin) Gestion de la mmoire Allocation et libration de lespace mmoire Protection des espaces allous (chevauchement) T d i des Traduction d adresses d ( (pagination i i et segmentation) i ) Grer la carence de mmoire
Mmoire virtuelle Va et vient (entre disque et mmoire)

Partage de ressources (accs exclusif ou partag)


ISI Ma 2007 - 2008

Systme dexploitation Fonctions


Systmes dexploitation
Gestion des fichiers et les E/S
Fichier : Structure de donnes permettant de manipuler les mmoires long terme SGF (Systme de Gestion de Fichiers) Indpendance vis--vis des priphriques de stockage Cration, modification et suppression des fichiers Accs concurrents Protection et droits daccs

ISI Ma 2007 - 2008

10

Systme dexploitation Fonctions


Systmes dexploitation
Gestion des priphriques
Ajout/Suppression de priphrique (extension, volution) Configuration Notion de pilote (driver)

ISI Ma 2007 - 2008

11

Systme dexploitation Historique


Systmes dexploitation
1re gnration : les dbuts (1936-1955)
Pas de mmoire Un seul programme Programmation perfores par tableaux de connecteurs puis par cartes

2me gnration (1955-1965)


Invention des mmoires Distinction constructeur/oprateur/programmeur/utilisateur Traitement par lot similaires (batch): regrouper et excuter les travaux

ISI Ma 2007 - 2008

12

Systme dexploitation Historique


Systmes dexploitation
Moniteur de job : anctre du SE Premiers langages de commandes

3me gnration ti (1965 1980) (1965-1980)


Naissance du premier SE OS/360 dIBM Systme unique adapt la gamme compatible 360 Multiprogrammation : partitionnement de la mmoire permettant au processeur d'accueillir une tche dans chaque partie et donc d'tre utilis plus efficacement par rapport aux temps d d'attente attente introduits par les priphriques E/S tamponnes : grer en parallle les E/S par des politique de partage de bus (DMA, vol de cycle) Temps partag : mode interactif entre plusieurs utilisateurs simultans (MULTICS)

ISI Ma 2007 - 2008

13

Systme dexploitation Historique


Systmes dexploitation
Adaptation de MULTICS par K. Thompson sur DEC appele UNICS (1968) qui devient UNIX Traduction en langage C de UNIX

4me gnration (depuis 1980)


SE en rseaux SE rpartis et distribus : lutilisateur ne sait o sont les donnes ni o sont excuts les programmes SE pour lembarqu et les mobiles

ISI Ma 2007 - 2008

14

Systme dexploitation Types


Systmes dexploitation
Batch : traitement par lots Mono-utilisateur Temps rel : contrle de processus industriel Transactionnel : contrle de grandes BD, concurrentiel, temps de rponse, point de reprise Multitches accs

ISI Ma 2007 - 2008

15

Systme dexploitation Structures


Systmes dexploitation
Composants du SE :
Noyau (kernel) :
lensemble des fonctions actives du SE telles que gestion de la mmoire, gestion des processus, communication interprocessus, Lanc au dmarrage de lordinateur Opre en mode rel ou non protg

Interprteur de commandes (shell) : communiquer avec le noyau travers un langage de commandes Fonctions systme
Basculer du mode protg au mode noyau Accessibles partir de points dentre (trap)

ISI Ma 2007 - 2008

16

Systme dexploitation Structures


Systmes dexploitation
Systmes monolithiques
La plus rpandue Noyau lourd Ensemble de procdures 3 couches

ISI Ma 2007 - 2008

17

Systme dexploitation Structures


Systmes dexploitation
Systmes en couches
Gnralisation de la structure prcdente Chaque couche sappuie sur la couche immdiatement infrieure Exemple : Dijkstra 1968 couche 0 : allocation du processeur par commutation de temps entre les processus (multiprogrammation de base du processeur) couche 1 : gestion de la mmoire, allocation d'espace mmoire pour les processus (pagination) couche h 2 : communication i i entre les l processus couche 3 : gestion des E/S couche 4 : programmes utilisateurs

ISI Ma 2007 - 2008

18

Systme dexploitation Structures


Systmes dexploitation
Machine virtuelle
Cur du systme : moniteur de la machine virtuelle Fournit plusieurs machines virtuelles aux couches suprieures (copies de la machine physique) ayant chacune son propre SE IBM VM/360 en 1979

Client/serveur
Noyau rduit (gre la communication entre processus et ordonnancement) Fonctionnalits reportes en processus utilisateurs

ISI Ma 2007 - 2008

19

PLAN
Systmes dexploitation
Introduction : Dfinitions et gnralits Les processus La programmation concurrentielle Systme de Gestion de Fichiers La mmoire Les interruptions
ISI Ma 2007 - 2008

20

10

Les processus Dfinitions


Systmes dexploitation
Un processus est un programme qui s'excute, ainsi que ses donnes, sa pile, son compteur ordinal, son pointeur de pile et les autres contenus de registres ncessaires son excution. (contexte) Un processus fournit l'image de l'tat d'avancement de l'excution d'un programme. Possde trois tats possibles :
lu : en cours dexcution mais p peut tre interrompu p Bloqu : il attend une ressource Prt : suspendu provisoirement

ISI Ma 2007 - 2008

21

Les processus Cration


Systmes dexploitation
Le SE doit permettre de lancer et de crer des processus St Structure t arborescente b t et t hirarchique hi hi Le SE stocke les informations sur les processus dans la

table de processus

Evnements provoquant la cration d'un processus


Initialisation du systme Excution d'un appel systme de cration de processus en cours d'excution Les processus peuvent crer d autres processus, formant une hirarchie (instruction fork ou semblables) Requte utilisateur sollicitant la cration d'un nouveau processus

ISI Ma 2007 - 2008

22

11

Les processus Terminaison


Systmes dexploitation
Un processus excute sa dernire instruction
pourrait passer des donnes son parent ses ressources lui sont enleves

Le parent termine lexcution dun fils (avortement) pour raisons diffrentes


le fils a excd ses ressources le fils n`est plus requis

etc.

ISI Ma 2007 - 2008

23

Arborescence des processus sous UNIX


Systmes dexploitation
ISI Ma 2007 - 2008

24

12

Les processus Threads : processus lger


Systmes dexploitation
Ide : plusieurs threads l'intrieur du mme processus.
Chaque thread accde au mme segment de donnes (donc aux mmes variables). variables) un thread est plus lger grer et sa gestion peut tre personalise.

tats uniques pour chaque thread :


identificateur de thread tat des registres Pile masques de signaux (dcrivent quels signaux le thread rpond) priorit donnes prives

ISI Ma 2007 - 2008

25

Les processus Multiprogrammation


Systmes dexploitation
Multiprogrammation (multi-tasking), partage de temps (time sharing) : plusieurs processus en mmoire, commutation entre processus Multiprogrammation non premptive :

Impossible de prvoir le temps dexcution Les processus ayant des E/S passent plus de temps en attente Convient pour les systme embarqus

ISI Ma 2007 - 2008

26

13

Les processus Multiprogrammation


Systmes dexploitation
Multiprogrammation premptive :

Plus dintervention du SE Prsence dun ordonnanceur commutation de processus qui prend en charge la

Activ par des interruptions dhorloge, de disques et de terminaux

ISI Ma 2007 - 2008

27

Les processus Ordonnancement


Systmes dexploitation
L'ordonnanceur (scheduler) dfinit l'ordre dans lequel les processus prts utilisent l'UC et la dure d'utilisation, en utilisant un algorithme d d'ordonnancement. ordonnancement. Un bon algorithme d'ordonnancement doit possder les qualits suivantes :
quitabilit : chaque processus reoit sa part du temps processeur Efficacit : le processeur doit travailler 100 % du temps Temps de rponse : minimiser en mode interactif Temps d'excution : minimiser l'attente des travaux en traitement par lots (batch) Rendement : maximiser le nombre de travaux effectus par unit de temps
ISI Ma 2007 - 2008

28

14

Les processus Ordonnancement


Systmes dexploitation
Retour sur les transitions
lu-bloqu : provoqu par interruption de demande de ressource Bloqu-prt : provoqu par une interruption de fin dE/S lu-prt : par interruption horloge Prt-lu : aprs le traitement dune interruption

ISI Ma 2007 - 2008

29

Les processus Commutation de contexte


Systmes dexploitation
Contexte dun processus :
Le code excutable La pile dexcution Les variables et les constantes partages Les fichiers ouverts Chaque processus est reprsent par un PCB

ISI Ma 2007 - 2008

30

15

Les processus Commutation de contexte


Systmes dexploitation
PCB : Process Control Block Situation actuelle dun processus

Registres UCT

ISI Ma 2007 - 2008

31

Les processus Commutation de contexte


Systmes dexploitation
Chargement et dchargement : commutation de contexte
Sauvegarde du contexte dans une zone mmoire et charger un autre contexte partir dun autre emplacement mmoire Opration atomique : aucune interruption nest possible

Quand lUCT passe de lexcution d un processus 0 l excution d`un proc 1, il faut


mettre jour le PCB de 0 sauvegarder le PCB de 0 reprendre le PCB de 1, qui avait t sauvegard avant remettre les registres d UCT, compteur d instructions etc. dans la mme situation qui est dcrite dans le PCB de 1

ISI Ma 2007 - 2008

32

16

Les processus Commutation de contexte


Systmes dexploitation
ISI Ma 2007 - 2008

33

Les processus Algorithmes dordonnancement


Systmes dexploitation
Diagramme de GANTT :
En abscisse le temps Sur chaque dexcution ligne on indique le processus en cours

ISI Ma 2007 - 2008

Notion de quantum : intervalle de temps pendant lequel 34 le processeur est allou pour un processus

17

Les processus Algorithmes dordonnancement


Systmes dexploitation
Rquisition ou premption : la possibilit qua le systme reprendre une ressource un processus sans que celuici l lait ait libre. Sans rquisition (non premptif)
FIFO (ou FCFS : First Come First Served) Facile crire et comprendre mais peu efficace SJF (Shortest Job First) ou PCTE On doit connatre le temps dexcution lavance (traitement par lots) Estimer le temps dexcution pour les systmes interactifs en se basant sur des excutions antrieures avec valeur initiale arbitraire
m e T i e = aT i 1 + (1 a ) T i 1

Le plus petit en premier FIFO en cas dgalit


ISI Ma 2007 - 2008

Optimal pour le temps dattente moyen

35

Les processus Algorithmes dordonnancement


Systmes dexploitation
Temps dattente moyen

Optimal lorsque la liste des processus est initialement disponible

Ordonnancement circulaire (tourniquet : Round Robin)


Chaque processus est lu pendant un quantum q Le processeur est allou au processus suivant dans la liste quand : puisement du quantum Le processus prcdent est bloqu Le processus prcdent fini son excution Choix du quantum Trop petit gaspillage du temps processeur Trop grand augmente le temps de rponse 100 ms constitue un compromis
36

ISI Ma 2007 - 2008

18

Les processus Algorithmes dordonnancement


Systmes dexploitation
SRT (Shortest Remaining Time) : PCTER
Version premptive de SJF la fin du quantum le processus ayant le temps dexcution restant sera lu

Algorithme avec priorit :


Processus de plus haute priorit dabord (pas toujours la plus grande valeur) Priorit dpend demandeur Risque de famine Premptif ou non Augmenter/diminuer la priorit avec le temps dattente (priorit dynamique) Les processus ayant des E/S avec une priorit gale linverse de la fraction de lutilisation du quantum prcdent
37

du

type

de

travail,

de

lutilisateur

ISI Ma 2007 - 2008

Les processus Algorithmes dordonnancement


Systmes dexploitation
Ordonnancement avec files multiples :
Regrouper les processus dans des classes de priorit Une file dattente et un algorithme dordonnancement (par exemple RR) sont associs chaque classe de priorit Exemple de classes de priorit (ordre dcroissant) Les processus systme Les processus interactifs Les processus dition Les processus gros calcul

ISI Ma 2007 - 2008

38

19

Les processus Algorithmes dordonnancement


Systmes dexploitation
Ordonnancement dict par une politique
Garantir lutilisateur une performance annonce Exemple : chaque utilisateur reoit une fraction quitable de la puissance du processeur Mmoriser le temps processeur consomm par utilisateur Comparer ce temps avec le temps coul depuis la connexion divis par le nombre dutilisateurs excuter les processus ayant le rapport le plus faible

ISI Ma 2007 - 2008

39

Les processus Algorithmes dordonnancement


Systmes dexploitation
Ordonnancement 2 niveaux
Hypothse : processus accessibles en mmoire La taille de la mmoire centrale de l'ordinateur peut tre insuffisante mcanisme du va-et-vient (swapping) entre la mmoire et le disque. Un ordonnanceur de bas niveau (CPU scheduler) applique l'un des algorithmes prcdents aux processus rsidant en mmoire centrale. Un ordonnanceur de haut niveau (medium term scheduler) soccupe du swapping Il peut exister un ordonnanceur long terme (job scheduler) qui dtermine si un processus utilisateur qui le demande peut effectivement entrer dans le systme (si les temps de rponse se dgradent, on peut diffrer cette entre).

ISI Ma 2007 - 2008

40

20

Les processus Algorithmes dordonnancement


Systmes dexploitation
Ordonnancement 2 niveaux
L'ordonnanceur de haut niveau prend en compte les points suivants : depuis combien de temps le processus sjourne-t-il en mmoire ou sur disque ? combien de temps processeur le processus a-t-il eu rcemment ? quelle est la priorit du processus ? quelle est la taille du processus ? (s'il est petit, on le logera sans problme)

ISI Ma 2007 - 2008

41

Les processus Algorithmes dordonnancement


Systmes dexploitation
Exemple
Cinq travaux A, B, C, D et E sont soumis un calculateur dans cet ordre, mais quasi simultanment. Ces travaux ne font pas d d'entreentre sortie. Leurs dures respectives sont de 10, 6, 2, 4 et 8 secondes.

1. Dterminez les temps de rponse de chacun des travaux, ainsi


que le temps de rponse moyen, pour les disciplines FIFO (first in, first out) et SJF (shortest job first).

2. Mme

question pour une discipline priorit (P = 1 priorit maximale), avec :


P(A) = 3, P(B) = 5, P(C) = 2, P(D) = 1, P(E) = 4

3. Mme

question avec la discipline PS (processing sharing tourniquet) et un quantum de 2 secondes.

ISI Ma 2007 - 2008

42

21

Les processus Algorithmes dordonnancement


Systmes dexploitation
FIFO
Les processus sont excuts dans leur ordre d d'arrive arrive.

Temps de rponse moyen : (10 + 16 + 18 + 22 + 30) / 5 = 19,2 s

ISI Ma 2007 - 2008

43

Les processus Algorithmes dordonnancement


Systmes dexploitation
SJF
Le processus dont le temps d d'excution excution est le plus petit est excut en premier.

Temps de rponse moyen : (2 + 6 + 12 + 20 + 30) / 5 = 14 s

ISI Ma 2007 - 2008

44

22

Les processus Algorithmes dordonnancement


Systmes dexploitation
priorit
Le processus qui a la plus haute priorit est excut en premier. premier

T Temps d rponse de moyen : (4 + 6 + 16 + 24 + 30) / 5 = 16 s

ISI Ma 2007 - 2008

45

Les processus Algorithmes dordonnancement


Systmes dexploitation
Round Robin
Le processus qui a la plus haute priorit est excut en premier pendant le temps donn par le quantum, ensuite les autres processus sont excuts dans leur ordre de priorit pendant ce mme temps. Ce schma est appliqu jusqu' ce que tous les processus soient termins.

ISI Ma 2007 - 2008

Temps de rponse moyen : (30 + 22 + 6 + 16 + 28) / 5 = 20,4 s


46

23

Les processus Algorithmes dordonnancement


Systmes dexploitation
Round Robin
Avec priorit : P(A) = 3, 3 P(B) = 5, 5 P(C) = 2, 2 P(D) = 1, 1 P(E) = 4

Temps de rponse moyen : (30 + 24 + 4 + 12 + 28) / 5 = 19,6 s


ISI Ma 2007 - 2008

47

24