Vous êtes sur la page 1sur 57

SystmesdExploitationAvancs

PrsentPar:AnisZOUAOUI
Anis.ZOUAOUI@esprit.ens.tn UnitSystme

SystmesdExploitationAvancs
Chapitre0

Introductionaux Systmesdexploitation
Par:AnisZOUAOUI

Plan

Systme dexploitation Interface avec le matriel Interactions utilisateur/systme Appels systme Evolution du mode dexploitation Structure des systmes dexploitation Quelques units de mesure

Systme dexploitation

Systme dexploitation

Malgr les diffrences des points de vue forme, taille et type, les ordinateurs se composent de matriel et de logiciels. Les matriels

Systme dexploitation

Les logiciels Les programmes systme : Les utilitaires (compilateurs, diteurs, interprteurs de commandes) ; Le systme dexploitation Les programmes dapplication.

Systme dexploitation

Utilit dun OS Sans Systme dexploitation, On a besoin de connatre larchitecture et le fonctionnement exacte de la machine Sans le contrle dun systme dexploitation, les utilisateurs risquent de dtruire certaines donnes stockes sur un ordinateur, voir certaines priphriques But dun OS Dvelopper des applications sans se soucier des dtails de fonctionnement et de gestion du matriel. Dfinition dun OS Un systmes dexploitation SX ( Operating System : OS) est couche de logicielles offrant lusager une machine logique (Abstraite Virtuelle)
Applications Systme Informatique Systme dexploitation Machine Logiciel Matriel 7

Systme dexploitation

Dfinition dun OS (2) Lien entre utilisateur et un ordinateur INTERFACE : Faciliter lutilisation dun ordinateur Assister lutilisateur pour exploiter un ordinateur LOS interagit avec diffrentes entits Utilisateurs, Programmes des utilisateurs et Logiciels d'application 2 interfaces : Interface textuelle (commandes) Interface graphique (fentres) Systme utilis travers des programmes Fonctions du systme utilisables travers des appels systme API (Application Programming Interface) Logiciels En plus de lOS, certains sont fournis gratuitement Les autres sont achets et/ou dvelopps(Applicatifs)

Systme dexploitation

Dfinition dun OS (3)

Systme dexploitation

Autre dfinition (4) : OS vu comme programme Un Systme dexploitation est un programme pas comme les autre ! Programme certes Mais Ractif Grant lexcution des autres programmes Cohabitant avec dautres programmes Rsistant aux fautes des autres programmes Contrlant lutilisation des ressources de la machine De taille respectable Discret (conome)

10

Systme dexploitation

Fonctions principales dun OS Fournit une base (machine virtuelle) sur laquelle seront construits les programmes dapplication et les utilitaires : services = {appels systme} Gre et contrle les composants de lordinateur Gestion de priphriques Gestion de la mmoire Gestion de processeurs Gestion de processus, threads ou tches Gestion de fichiers Protection et dtection derreurs

11

Systme dexploitation

Fonctions principales dun OS Processus : un programme en cours dexcution, compos de : code + donnes + piles dexcution ; un compteur ordinal, autres informations caractrisant son tat. Fichiers : ensemble de blocs de donnes stocks sur le disque Mmoires virtuelles : espaces dadressage virtuels des processus (crs par les compilateurs) de taille pouvant excder celle de la mmoire physique. Machines virtuelles Partage de ressources.

12

Interface avec le matriel

13

Interface avec le matriel

Chaque composant (processeurs, mmoires et priphriques) de lordinateur a son propre code (cbl ou logiciel) qui assure son fonctionnement et les interactions avec les autres. Le systme dexploitation gre et coordonne lensemble de ces composants au moyen, notamment, dinterruptions. Les interruptions permettent au systme dexploitation de reprendre le contrle : Interruptions matrielles : Horloges (pour grer lallocation des processeurs) Priphriques (pour signaler la fin dE/S) Interruptions logicielles : Erreurs arithmtiques (division par zro) Donnes non disponibles en mmoire (dfaut de page) Appels systme (invocation du systme dexploitation).

14

Interactions utilisateur/systme

15

Interactions utilisateur/systme

Pour un utilisateur, le systme dexploitation apparat comme un ensemble de procdures complexes visant abstraire les dtails de fonctionnement et de gestion du matriel. Bibliothque des appels systme = {procdures} Les appels systme peuvent tre invoqus via un interprteur de commandes, une interface graphique ou utilitaires. Linterprteur de commandes (Interface utilisateur/systme) : est lanc ds la connexion au systme ; invite lutilisateur introduire une commande ; rcupre puis excute la commande par combinaison dappels systme et doutils (compilateurs, diteurs de lien,). affiche les rsultats ou les erreurs puis se met en attente de la commande suivante.

16

Interactions utilisateur/systme

Cas dUNIX / Linux

17

Interactions utilisateur/systme

Cas du Shells UNIX / Linux : Les interprteurs de commandes dUNIX (shells) permettent une composition squentielle ou parallle de commandes avec redirection des entres/sorties des commandes.

18

Interactions utilisateur/systme

Cas dappel Systme partir dun programme : Le programme C suivant utilise les appels systme open, write et read :
//Ce programme cre un fichier dans lequel, il copie les donnes lues partir du clavier.

19

Appel Systme

20

Interface avec le matriel

En gnral, les processeurs ont deux modes de fonctionnement : Le mode superviseur (noyau, privilgi ou matre) : pour le systme dexploitation, o toutes les instructions sont autorises. le mode utilisateur (esclave) : pour les programmes des utilisateurs et les utilitaires, o certaines instructions ne sont pas permises. Les processeurs sont dots dun bit de mode. Ces modes de fonctionnement assurent la protection du systme dexploitation contre les intrusions et les erreurs. Ce ntait pas le cas des systmes mono-utilisateur (MS-DOS, MacOS) qui avaient un seul mode de fonctionnement (utilisateur).

21

Appels systme(2)

Un appel systme consiste en une interruption logicielle (instruction TRAP) qui a dactiver le systme dexploitation : pour rle Changer le mode dexcution pour passer du mode utilisateur au mode matre ; Rcuprer les paramtres et vrifier la validit de lappel ; Lancer lexcution de la fonction demande ; Rcuprer la (les) valeur(s) de retour ; Retourner au programme appelant avec retour au mode utilisateur.

22

Appels systme (4)

Quelques appels systme dUNIX et Windows (API Win 32).

23

Appels systme (4)

Gestion de processus : Les appels systmes permettent notamment : La cration, La communication interprocessus, La synchronisation Larrt ou la terminaison des processus.

24

Appels systme : Gestion de processus

Cration de Processus Un processus peut crer un ou plusieurs processus fils qui, leur tour, peuvent crer des processus fils (structure arborescente). Un processus peut tre partitionn en plusieurs threads (processus lgers) concurrents partageant un mme environnement dexcution. Les threads sont un moyen de raffiner et de diviser le travail normalement associ un processus.

25

Appels systme : Gestion de processus

Communication interprocessus Segments de donnes partags; Fichiers; Signaux; Messages -> Tubes de communication (pipe)

26

Appels systme : Gestion de processus

Synchronisation de processus viter laccs simultan lecture/criture ou criture/criture

27

Appels systme : Gestion de processus

Problme dinterblocage Partage de ressources -> interblocage

28

Appels systme : Gestion de fichier

Notion dun fichier Un fichier est un ensemble de blocs sur le disque.

29

Appels systme : Gestion de fichier

de fichiers Unlasystmedu systme dexploitation qui se charge de grer le stockage et Cest partie la manipulation de fichiers sur une unit de stockage(disque, CD, disquette, partition,).

30

Appels systme : Gestion de fichier

Cration et manipulation de fichiers fichiers, de les supprimer, Les appels systmes permettent de crer des
de les ouvrir, de les lire, de les modifier, de rcuprer leurs attributs

31

Appels systme : Gestion de fichier

Notion dun rpertoire Les fichiers sont regroups dans des rpertoires. Un rpertoire peut contenir soit des fichiers, soit dautres rpertoires (structure arborescente). Laccs au fichier se fait en spcifiant le chemin daccs (la liste des rpertoires traverser pour accder au fichier). Un chemin daccs est absolu si le point de dpart est le rpertoire racine. Un chemin daccs est relatif si le point de dpart est le rpertoire courant.

32

Appels systme : Gestion de fichier

Arborescence des rpertoires

33

Appels systme : Gestion de fichier

Cration et manipulation de rpertoiresrpertoires, de les supprimer, Les appels systmes permettent de crer des
de les ouvrir, de les lire, de les modifier, de rcuprer leurs attributs

34

volution du mode dexploitation

35

volution du mode dexploitation

Traitement par lots Les programmes taient crits en Fortran ou en assembleur sur des cartes perfores. Ce mode dexploitation ncessitait deux types de machines dont la plus puissante tait rserve aux calculs et lautre, moins chre, soccupaient des priphriques lents.

Problme 1 : Comment maximiser le dutilisation du processeur ?


36

volution du mode dexploitation


Multiprogrammation et DMA Introduction des units de disques permettant un accs direct.

Transfert des travaux vers le disque ds leur arrive dans la salle machine (spool). La mmoire est organise en un ensemble de partitions (1 travail/partition). Le systme dexploitation conserve en mmoire plusieurs travaux et gre le partage du processeur centrale et des priphriques entre les diffrents travaux chargs en mmoire (la multiprogrammation):

37

volution du mode dexploitation

Multiprogrammation et DMA Allocation du processeur un travail (premier arriv, premier servi). Lorsque le travail demande une E/S, le processeur est allou un autre travail. A la fin de lE/S, une interruption se produit et le systme dexploitation reprend le contrle pour traiter linterruption et lancer ou reprendre lexcution dun travail. Ds quun travail se termine, le systme dexploitation peut lancer le chargement, partir du disque, dun nouveau travail dans la partition libre.

38

volution du mode dexploitation

Multiprogrammation et DMA Exemple

Trois activits peuvent tre donc menes en parallle : Le chargement dun travail C en mmoire ; Lexcution dun travail B ; Ldition des rsultats dun travail A.
39

volution du mode dexploitation

Va-et-vient (swapping) Les travaux en mmoire qui sont en attente (dune E/S ou dun vnement)peuvent tre retirs de la mmoire pour y charger dautres travaux prts (en attente dexcution). Ainsi durant lexcution dun travail, il peut subir plusieurs va-etvient entre la mmoire et le disque (zone de swapping).

Problme 2 : Comment garantir un temps de rponse acceptable chaque utilisateur?


40

volution du mode dexploitation

Temps partag Le processeur est allou, tour de rle, pendant un certain temps chacun des travaux en attente dexcution. Au bout ce temps, lexcution du travail en cours est suspendue. Le processeur est alors allou un autre travail. Si plusieurs utilisateurs lancent partir de leurs terminaux leurs programmes simultanment, ce mode dexploitation donne limpression que les programmes sexcutent en parallle (pseudo paralllisme).

41

volution du mode dexploitation

Temps partag

Problme 4 : Comment excuter des programmes dont la taille peut dpasser celle de la mmoire physique?
42

volution du mode dexploitation

Mmoire virtuelle Le compilateur gnre pour chaque programme un espace dadressage virtuel dont la taille peut surpasser celle de la mmoire physique. lexcution, une partie de cet espace virtuel est en mmoire. Chargement au besoin

43

volution du mode dexploitation

en rseau(client/serveur) : Exploitation dexploitation est dot dune interface rseau qui lui permet Chaque systme de communiquer avec dautres machines.

Problme 5 : Pouvoir grer plusieurs ordinateurs et les faire paratre comme tant une seule puissante machine.
44

volution du mode dexploitation

Exploitation en distribu Les rseaux dordinateurs qui fonctionnent sous des systmes dexploitation distribus apparaissent aux yeux des utilisateurs comme une machine monoprocesseur.

Le systme dexploitation distribu gre et contrle lensemble des composants de tous les ordinateurs connects (les processeurs, les mmoires, les disques, ).

45

volution du mode dexploitation

Systme dexploitation temps rel Ce sont des systmes spcialiss dans la conduite dappareillages industriels ou dans la commande de processus o le temps joue un rle critique (des contraintes temporelles strictes respecter).

Lexploitation met laccent sur le temps de rponse (respect des contraintes temporelles imposes par lenvironnement). VxWorks, RT-Linux et MicroC.

46

Structure des systmes dexploitation

47

Structure des systmes dexploitation

Noyau monolithique : Cest un ensemble de procdures. Noyau monolithique modulaire : Cest ensemble de modules chargeables dynamiquement. Noyau en couches : Allocation du processeur-multiprogrammation, gestion de la mmoire, communication entre processus et la console, gestion des entres/sorties Exonoyau : Lide est de partitionner les ressources de la machine entre plusieurs utilisateurs.

48

Structure des systmes dexploitation


Structure en couche
Chaque couche utilise les fonctions des couches infrieures. Au plus bas niveau on trouve le noyau, l'interface entre le matriel et le logiciel. Il se charge, en utilisant les fonctions fournies par le matriel, de grer la UCT, les interruptions et les processus (la communication et la synchronisation). Il doit entirement rsider en mmoire.

Au second niveau, on trouve le gestionnaire de la mmoire qui se charge du partage de la mmoire entre les processus en attente d'excution. Au troisime niveau, on a le module de gestion des entres/sorties qui se charge de grer tous les priphriques (clavier, cran, disques, imprimantes, etc.).

49

Structure des systmes dexploitation


Structure en couche
Au quatrime niveau, on trouve le gestionnaire de fichiers qui se charge de la gestion de l'espace du disque, de la manipulation des fichiers tout en assurant l'intgrit des donnes, la protection des fichiers, etc.

Au cinquime niveau, on a le module d'allocation de ressources qui se charge d'assurer une bonne utilisation des ressources ; de comptabiliser et de fournir des statistiques sur l'exploitation des ressources principales ;

50

Structure des systmes dexploitation


Structure monolithique
Lessystmesd'exploitationsousunestructuremonolithiquesontunensemblede procduresde.presque.lemmeniveau: Une procdure principale qui appelle la procdure de service requise, des procdures de service qui excutent les appels systme et un ensemble de procdures utilitaires (qui assistent les procdures de service, par exemple la recherchededonnesdesprogrammesutilisateur).UnixetLinuxsontdesexemples desystmesmonolithiques. (1) Appel systme (Mode utilisateur Modekernel). (2) Vrificationdeparamtres. (3)Appeldelaprocduredeservice. (4) Procdure de service appel utilitaires, et puis retourner au mode utilisateur.
51

Structure des systmes dexploitation

Micronoyau : Cest un ensemble de petits modules bien dfinis dont un seul (le micronoyau) fonctionne en mode noyau. Pour un micronoyau plus petit, seuls les mcanismes (ex. identifier le prochain processus excuter) sont implants dans le micronoyau. Les politiques (ex. attribuer des priorits aux processus) sont implants au niveau utilisateur.

52

Structure des systmes dexploitation

Modle client-serveur

53

Structure des systmes dexploitation

Machines virtuelles Principe

Exemple de virtualisation

54

Rfrences :
http://www.unixgarden.com/index.php/programmation/programmationsysteme sousunixpreliminaires http://msdn.microsoft.com/enus/library/ms682658(VS.85).aspx http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html

55

volution du mode dexploitation

Multiprogrammation et DMA

56

volution du mode dexploitation

Multiprogrammation et DMA La multiprogrammation ncessite des circuits de contrle pour protger chaque travail contre les intrusions et les erreurs des autres.

Problme 2 : si tous les travaux en mmoire sont en attente dE/S, le processeur est inactif !!!
57