Vous êtes sur la page 1sur 15

Architecture et systme dexploitation :

Systme dexploitation
A.U. 2012/2013
(Support de cours)

R. MAHMOUDI
(mahmoudr@esiee.fr)
A.U 2012/2013 1

Architecture et programmation des ordinateurs :

Systme dexploitation
Objectifs :
Notions des SE, leurs rles, intrts, diffrences, performances SE UNIX (dfinition, commandes, gestions des fichiers, scurit) Cration et excution dun programme sous Unix (programmation Shell).

Horaires :
Cours : 21H Travaux dirigs : 8H Travaux pratiques : 8H

A.U 2012/2013

Ramzi Mahmoudi

Architecture et programmation des ordinateurs :

Systme dexploitation
Plan :

1. Introduction 2. Structure dun systme dexploitation 3. Les classes de systme dexploitation 4. Robustesse , Fiabilit et Compatibilit 5. Le systme dexploitation UNIX 6. La programmation Shell

A.U 2012/2013

Ramzi Mahmoudi

Architecture et programmation des ordinateurs :

1- Introduction

A.U 2012/2013

Ramzi Mahmoudi

Systmes dexploitation:
Introduction (1) Dfinition (1)

les programmes d'application des utilisateurs

Logiciel
les programmes systme qui permettent le fonctionnement de l'ordinateur : ex. Systme dExploitation

A.U 2012/2013

Ramzi Mahmoudi

Systmes dexploitation:
Introduction (2) Dfinition (2) SE: un ensemble de programmes qui ralisent linterface entre le matriel et les utilisateurs de ce matriel. But :
1. 2. 3. Construction au dessus du matriel dune machine virtuelle Facilit demploi, convivialit et standardisation Prise en charge de la gestion de plus en plus complexe des ressources et de leur partage

MEILLEUR exploitation de la machine

A.U 2012/2013

Ramzi Mahmoudi

Systmes dexploitation:
Introduction (3) Rle & fonctionnement (1)
Le SE soustrait le matriel au regard du programmeur et offre une prsentation agrable des fichiers. Un SE a ainsi deux objectifs principaux : -Prsentation : Il propose l'utilisateur une abstraction plus simple et plus agrable que le matriel : une machine virtuelle - Gestion : il ordonne et contrle l'allocation des processeurs, des mmoires, des icnes et fentres, des priphriques, des rseaux entre les programmes qui les utilisent. Il assiste les programmes utilisateurs. Il protge les utilisateurs dans le cas d'usage partag.

A.U 2012/2013

Ramzi Mahmoudi

Systmes dexploitation:
Introduction (4) Historique (1)
Ordinateur mis la disposition d'un programmeur selon un calendrier de rservation : un usager avec un travail unique utilisait seul la machine un moment donn.

Traitement par lots (batch) : enchanement, sous le contrle d'un moniteur, d'une suite de travaux avec leurs donnes, confis l'quipe d'exploitation de la machine.
Contrle des E/S et leur protection pour viter le blocage d'un lot. Mcanisme de comptage de temps et de droutement autoritaire des programmes : les premire interruptions.
Premiers langages de commande (JCL) sous forme de cartes contenu particulier introduites dans le paquet ($JOB, $LOAD,)

A.U 2012/2013

Ramzi Mahmoudi

Systmes dexploitation:
Introduction (4) Historique (2)
Le premier SE est l'OS/360 (IBM 360) : famille unique de machines compatibles entre elles, de puissances et de configurations diffrentes.

Extrme complexit : impossible de rduire le nombre de bogues.

Multiprogrammation
Ramzi Mahmoudi

E/S tamponnes
9

A.U 2012/2013

Systmes dexploitation:
Introduction (4) Historique (3)
En 1962, dveloppement du premier SE exprimental temps partag (IBM 7094) . Commercialis sous le nom de MULTICS : (MULTiplexed Information and Computing Service).

1968, adaptation de MULTICS mono-utilisateur sur un mini-ordinateur PDP-11 de DEC. Nouvelle nomination UNICS (Uniplexed Information and Computer Service), qui devint ensuite UNIX.

A.U 2012/2013

Ramzi Mahmoudi

10

Systmes dexploitation:
Introduction (4) Historique (4)
En 1972, traduction d UNIX en C.

Avec la grande diffusion des micro-ordinateurs, l'volution des performances des rseaux de tlcommunications, deux nouvelles catgories de SE sont apparus :
SE distribus ou rpartis : (l'utilisateur ne sait pas o sont physiquement ses donnes, ni o s'excute son programme). Le SE gre l'ensemble des machines connectes.

SE en rseaux : permettent partir d'une simple machine de se connecter sur une machine distante .

A.U 2012/2013

Ramzi Mahmoudi

11

Systmes dexploitation:
Introduction (5) Les fonctions de base dun SE
Les principales fonctions assures par un SE sont les suivantes : - Gestion de la mmoire principale et des mmoires secondaires, - Excution des E/S faible dbit (terminaux, imprimantes) ou haut dbit (disques), - Multiprogrammation, paralllisme : interruption, ordonnancement -Lancement des outils du systme (compilateurs, environnement utilisateur,...) - Protection, scurit ; facturation des services, - Rseaux

A.U 2012/2013

Ramzi Mahmoudi

12

Systmes dexploitation:
Introduction (5) Les appels systme

L'interface entre un SE et les programmes utilisateurs est constitue d'un ensemble d'instructions tendues, spcifiques d'un SE, ou appels systme. Gnralement, les appels systme concernent soit les processus, soit le systme de gestion de fichiers (SGF).

A.U 2012/2013

Ramzi Mahmoudi

13

Systmes dexploitation:
Introduction (6) Elment de base dun SE : Les processus

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.
A.U 2012/2013 Ramzi Mahmoudi 14

Systmes dexploitation:
Introduction (6) Elment de base dun SE : Les processus

SP pile donns Processus

CO Prog.

Etc.

Attention : Ne pas confondre un processus (aspect dynamique, excution qui peut tre suspendue, puis reprise), avec le texte d'un programme excutable (aspect statique).

A.U 2012/2013

Ramzi Mahmoudi

15

Systmes dexploitation:
Introduction (6) Elment de base dun SE : Les processus
Les appels systme relatifs aux processus permettent gnralement d'effectuer au moins les actions suivantes: - Cration d'un processus (fils) par un processus actif (d'o la structure d'arbre de processus gre par un SE) - Destruction d'un processus - Mise en attente, rveil d'un processus - Suspension et reprise d'un processus, grce l'ordonnanceur de processus (scheduler) - Demande de mmoire supplmentaire ou restitution de mmoire inutilise - Attendre la fin d'un processus fils - Remplacer son propre code par celui d'un programme diffrent - Echanges de messages avec d'autres processus - Spcification d'actions entreprendre en fonction d'vnements extrieurs asynchrones - Modifier la priorit d'un processus
A.U 2012/2013 Ramzi Mahmoudi 16

Systmes dexploitation:
Introduction (6) Elment de base dun SE : Les processus
Dans une entit logique unique, gnralement un mot, le SE regroupe des informations-cls sur le fonctionnement du processeur : c'est le mot d'tat du processeur (Processor Status Word, PSW). Il comporte gnralement : La valeur du compteur ordinal Des informations sur les interruptions (masques ou non) Le privilge du processeur (mode matre ou esclave) Etc.... (format spcifique un processeur)

A.U 2012/2013

Ramzi Mahmoudi

17

Systmes dexploitation:
Introduction (6) Elment de base dun SE : Les processus
A chaque instant, un processus est caractris par son tat courant : c'est l'ensemble des informations ncessaires la poursuite de son excution (valeur du compteur ordinal, contenu des diffrents registres, informations sur l'utilisation des ressources). A cet effet, tout processus, on associe un bloc de contrle de processus (BCP). Il comprend gnralement : 1. 2. 3. 4. 5. 6. 7. 8. Une copie du PSW au moment de la dernire interruption du processus L'tat du processus : prt tre excut, en attente, suspendu, ... Des informations sur les ressources utilises Mmoire principale Temps d'excution Priphriques d'E/S en attente Files d'attente dans lesquelles le processus est inclus, etc... Toutes les informations ncessaires pour assurer la reprise du processus en cas d'interruption

Les BCP sont rangs dans une table en mmoire centrale cause de leur manipulation frquente. A.U 2012/2013 Ramzi Mahmoudi 18

Systmes dexploitation:
Introduction (7) Elment de base dun SE : Les interruptions
Une interruption est une commutation du mot d'tat provoque par un signal gnr par le matriel. Ce signal est la consquence d'un vnement interne au processus, rsultant de son excution, ou bien extrieur et indpendant de son excution. Le signal va modifier la valeur d'un indicateur qui est consult par le SE. Celui-ci est ainsi inform de l'arrive de l'interruption et de son origine. A chaque cause d'interruption est associ un niveau d'interruption. On distingue au moins 3 niveaux d'interruption (faon gnrale) : 1. Les interruptions externes : panne, intervention de l'oprateur, .... 2. Les droutements qui proviennent d'une situation exceptionnelle ou d'une erreur lie l'instruction en cours d'excution (division par 0, dbordement, ...) 3. Les appels systme

A.U 2012/2013

Ramzi Mahmoudi

19

Systmes dexploitation:
Introduction (7) Elment de base dun SE : Les interruptions
UNIX admet six niveaux d'interruption :

1. 2. 3. 4. 5. 6.

Interruption horloge. Interruption disque. Interruption console. Interruption d'un autre priphrique. Appel systme. Autre interruption.

Le chargement d'un nouveau mot d'tat provoque l'excution d'un autre processus, appel le traitant de l'interruption. Le traitant ralise la sauvegarde du contexte du processus interrompu (compteur ordinal, registres, indicateurs,....). Puis le traitant accomplit les oprations lies l'interruption concerne et restaure le contexte et donne un nouveau contenu au mot d'tat : c'est l'acquittement de l'interruption. A.U 2012/2013 Ramzi Mahmoudi 20

10

Systmes dexploitation:
Introduction (7) Elment de base dun SE : Les interruptions

Un numro de priorit est affect un niveau d'interruption pour dterminer l'ordre de traitement lorsque plusieurs interruptions sont positionnes. Il est important de pouvoir retarder, voire annuler la prise en compte d'un signal d'interruption.
A.U 2012/2013 Ramzi Mahmoudi 21

Systmes dexploitation:
Introduction (7) Elment de base dun SE : Les interruptions
Les techniques que l'on utilise sont le masquage et le dsarmement des niveaux d'interruption : - Le masquage d'un niveau retarde la prise en compte des interruptions de ce niveau. Pour cela, on positionne un indicateur spcifique dans le mot d'tat du processeur. Puisqu'une interruption modifie le mot d'tat, on peut masquer les interruptions d'autres niveaux pendant l'excution du traitant d'un niveau. Lorsque le traitant se termine par un acquittement, on peut alors dmasquer des niveaux qui avaient t prcdemment masqus. Les interruptions intervenues pendant l'excution du traitant peuvent alors tre prises en compte - Le dsarmement d'un niveau permet de supprimer la prise en compte de ce niveau par action sur le mot d'tat. Pour ractiver la prise en compte, on rarme le niveau. Il est vident qu'un droutement ne peut tre masqu; il peut toutefois tre dsarm.
A.U 2012/2013 Ramzi Mahmoudi 22

11

Systmes dexploitation:
Introduction (8) Elment de base dun SE : Les ressources

On appelle ressource tout ce qui est ncessaire l'avancement d'un processus (continuation ou progression de l'excution) : processeur, mmoire, priphrique, bus, rseau, compilateur, fichier, message d'un autre processus, etc...

A.U 2012/2013

Ramzi Mahmoudi

23

Systmes dexploitation:
Introduction (8) Elment de base dun SE : Les ressources
Un dfaut de ressource peut provoquer la mise en attente d'un processus. Un processus demande au SE l'accs une ressource. Certaines demandes sont implicites ou permanentes (la ressource processeur). Le SE alloue une ressource un processus. Une fois une ressource alloue, le processus a le droit de l'utiliser jusqu' ce qu'il libre la ressource ou jusqu' ce que le SE reprenne la ressource (on parle en ce cas de ressource de premption). Une ressource est dite en mode d'accs exclusif si elle ne peut tre alloue plus d'un processus la fois. Sinon, on parle de mode d'accs partag. Un processus possdant une ressource peut dans certains cas en modifier le mode d'accs.
A.U 2012/2013 Ramzi Mahmoudi 24

12

Systmes dexploitation:
Introduction (9) Elment de base dun SE : Les ressources
Exemple : un disque est une ressource accs exclusif (un seul accs simultan), une zone mmoire peut tre accs partag. P1 > Lecture P2 > Lecture P1 > Lecture P2 > Ecriture P1 > Ecriture P2 > Ecriture

A
C1

A
C1

A
C1

A.U 2012/2013

Ramzi Mahmoudi

25

Systmes dexploitation:
Introduction (9) Elment de base dun SE : Les ressources

Le mode d'accs une ressource dpend largement de ses caractristiques technologiques. Deux ressources sont dites quivalentes si elles assurent les mmes fonctions vis vis du processus demandeur. Les ressources quivalentes sont groupes en classes afin d'en faciliter la gestion par l'ordonnanceur.

A.U 2012/2013

Ramzi Mahmoudi

26

13

Systmes dexploitation:
Introduction (10) Elment de base dun SE : Lordonnancement On appelle ordonnancement la stratgie d'attribution des ressources aux processus qui en font la demande.
Diffrents critres peuvent tre pris en compte : 1. Temps moyen d'excution minimal 2. Temps de rponse born pour les systmes interactifs 3. Taux d'utilisation lev de l'UC 4. Respect de la date d'excution au plus tard, pour le temps rel, etc...

A.U 2012/2013

Ramzi Mahmoudi

27

Systmes dexploitation:
Introduction (11) Elment de base dun SE : Le systme de gestion des fichiers
Une des fonctions d'un SE est de masquer les spcificits des disques et des autres priphriques d'E/S et d'offrir au programmeur un modle de manipulation des fichiers agrable et indpendant du matriel utilis. Les appels systme permettent de crer des fichiers, de les supprimer, de lire et d'crire dans un fichier. Il faut galement ouvrir un fichier avant de l'utiliser, le fermer ultrieurement. Les fichiers sont regroups en rpertoires arborescents: ils sont accessibles en nonant leur chemin d'accs (chemin d'accs absolu partir de la racine ou bien chemin d'accs relatif dans le cadre du rpertoire de travail courant). Le SE gre galement la protection des fichiers.

A.U 2012/2013

Ramzi Mahmoudi

28

14

Systme dexploitation :

MSDOS
Ramzi Mahmoudi

Travaux Pratiques (1)

A.U 2012/2013

29

15