Vous êtes sur la page 1sur 19

Chapitre 1

Introduction

systme dexploitation est un programme qui doit permettre aux utilisateurs dutiliser les fonctionnalits dun ordinateur. Mais il doit aussi aider le programmeur dvelopper des logiciels de la faon la plus efcace possible. Un systme dexploitation est mis en route ds quon met en marche lordinateur. Dans les grosses machines, il est toujours en excution. Le systme constitue donc une interface entre lutilisateur et la machine physique.
N

1.1 Quest ce quun systme dexploitation ?


Malgr les diffrences de point de vue, de forme, de taille et de type, les ordinateurs se composent de matriel et de logiciels, comme illustr la gure 1.1. Un ordinateur sans logiciels nest que de la ferraille plutt chre. Le systme dexploitation est donc une composante logicielle trs importante. Le matriel dun systme informatique est compos de processeurs qui excutent les instructions, de la mmoire centrale qui contient les donnes et les instructions excuter, de la mmoire secondaire qui sauvegarde les informations, et des priphriques dEntres/Sorties (clavier, souris, cran, modem, etc.) pour introduire ou rcuprer des informations. Les logiciels sont leur tour diviss en programmes systme qui font fonctionner lordinateur : le systme dexploitation et les utilitaires (compilateurs, diteurs, interprteurs de commandes, etc.) et en programmes dapplication qui rsolvent des problmes spciques des utilisateurs. 1

2
utilisateur 1 utilisateur 2 utilisateur 3

CHAPITRE 1. INTRODUCTION
...
utilisateur n

compilateur

assembleur

diteur texte

...

Base de donnes

programmes dapplication

Systme dexploitation

Ordinateur matriel

F IG . 1.1 Les couches dun systme informatique.

1.1.1 Le systme dexploitation


Le systme dexploitation gre et contrle les composants de lordinateur. Il fournit une base appele machine virtuelle, sur laquelle seront construits les programmes dapplication et les utilitaires au moyen des services ou appels systme. Le but dun systme dexploitation consiste donc dvelopper des applications sans se soucier des dtails de fonctionnement et de gestion du matriel. Ainsi, par exemple, on peut effectuer la lecture dun chier par un simple appel systme : read(fd, buf, 255) ; et peu importe que le chier en question se trouve dans un disque magntique, un DVD ou un disque en RAM.

Les fonctions dun systme dexploitation Les systmes dexploitation modernes sont constitus de centaines de milliers, voire de millions de lignes de code et requirent une grande quantit dhomme-annes de travail. Ils ont comme fonctions principales : Chargement et lancement des programmes Gestion des processeurs, de la mmoire, des priphriques Gestion des processus (programmes en cours dexcution) et des chiers Protection contre les erreurs et la dtection des erreurs, etc.

1.2. VOLUTION DES SYSTMES DEXPLOITATION


Exemples de systmes dexploitation

Il y a plusieurs types de systmes dexploitation actuellement : MS-DOS, Windows OS/2, Mac-OS Unix (AIX, Xenix, Ultrix, Solaris, etc.) Linux Il y a aussi des systmes dexploitation ducatifs, comme Minix 1 cre par Andrew S. Tanembaum ou des simulateurs de systmes dexploitation comme Nachos2 .

1.2 volution des systmes dexploitation


Exploitation porte ouverte : 1945-1955 Les machines calculer taient construites au moyen de tubes lectroniques. Ces machines taient normes, coteuses, trs peu ables et beaucoup moins rapides car le temps de cycle se mesurait en secondes. Elles navaient pas de systmes dexploitation. Les programmes taient crits directement en langage machine : ils taient chargs en mmoire, excuts et mis au point partir dun pupitre de commande. Le mode de fonctionnement consistait rserver une tranche de temps pour chaque programmeur (un seul programme en mmoire). Au dbut de 1950, la procdure sest amliore grce lintroduction de cartes perfores. Les problmes vidents taient dus au mode dexploitation : peu conomique, le matriel coteux, la longue dure dentre des programmes et une mise au point pnible. Traitement par lots : 1955-1965 Les machines taient construites au moyen de transistors et dotes dunits de bandes magntiques. Elles taient plus ables mais toujours normes (enfermes dans des salles climatises). Les programmes taient crits en Fortran ou en assembleur sur des cartes perfores. Le mode de fonctionnement utilis, montr la gure 1.2, tait le traitement par lots qui consiste : Transfrer les travaux sur une bande magntique Monter la bande sur le lecteur de bandes
1 2

http ://www.cs.vu.nl/ ast/minix.html http ://www.cs.washington.edu/homes/tom/nachos/

CHAPITRE 1. INTRODUCTION

Charger en mmoire un programme spcial (lanctre des systmes dexploitation) qui lit puis excute, lun la suite de lautre, les programmes de la bande. Les rsultats sont rcuprs sur une autre bande, la n de lexcution de tout le lot. Imprimer les rsultats. Ce mode dexploitation ncessitait deux machines dont la plus puissante tait rserve aux calculs et lautre, moins chre, soccupait des priphriques lents. Le problme est que le processeur restait inutilis pendant les
Lot de travaux Mmoire centrale
Un seul travail Compilateur Moniteur denchanement de travaux Gestionnaire des entres/sorties

Lot de rsultats

F IG . 1.2 Traitement par lots et organisation de la mmoire. oprations dentre et sortie (E/S), comme on le voit sur la gure 1.3. Le temps dattente des rsultats tait trop long et en plus il ny avait pas dinteraction avec lutilisateur.

priphrique processeur

temps

F IG . 1.3 Utilisation du processeur et des priphriques.

Multiprogrammation et traitement par lots : 1965-1980 Lintroduction des circuits intgrs dans la construction des machines a permis doffrir un meilleur rapport cot/performance. Larrive sur le march des units de disques, qui offrent laccs alatoire et des capacits de

1.2. VOLUTION DES SYSTMES DEXPLOITATION

stockage importantes, a contribu une srie de dveloppements des systmes, notamment la possibilit de transfrer les travaux vers le disque ds leur arrive dans la salle machine. Cette technique sappelle le spool (Simultaneous Peripheral Operation On Line ) et est galement utilise pour les sorties. Cette notion de spooling ou traitement par lots subsiste dans les systmes dexploitation modernes. Tous les travaux rsidants sur le disque en attente dexcution sont conservs dans le pool des travaux en entre. La mmoire est organise en un ensemble de partitions (gure 1.4). Chaque partition peut contenir au plus un travail. Le systme dexploitation rside aussi dans une partition. Sil y a une partition libre et des travaux dans le pool dentre, le systme

Processus 1 Processus 2 n partitions de mmoire Processus n

SE

F IG . 1.4 Partitions de mmoire. dexploitation choisit un travail puis lance son chargement en mmoire. Il conserve en mmoire plusieurs travaux et gre le partage du processeur entre les diffrents travaux chargs en mmoire (la multiprogrammation). Le processeur est allou un travail jusqu ce quil demande une E/S (premier arriv, premier servi). Lorsquun travail demande une E/S (en attente de la n dune E/S), le processeur est allou un autre travail en mmoire (le suivant). A la n dune E/S, une interruption se produit et le systme dexploitation reprend le contrle pour traiter linterruption et lancer ou poursuivre lexcution dun travail. Ds quun travail se termine, le systme dexploitation peut lancer le chargement, partir du disque, dun nouveau travail dans la partition qui vient de se librer. Supposons trois travaux A, B et C. Dans un systme multiprogramm, trois activits peuvent tre donc menes en parallle : 1. Le chargement du travail C en mmoire, 2. Lexcution du travail B et 3. Ldition des rsultats

CHAPITRE 1. INTRODUCTION

du travail A. La multiprogrammation ncessite des circuits de contrle pour protger chaque travail contre les intrusions et les erreurs des autres. Les ordinateurs de cette poque possdaient ces circuits. Exemple 1. Considrons les travaux A, B et C en mmoire, qui sont montrs sur la gure 1.5. Lexcution de A est entame en premier puis lorsquil

priphrique

A A B C A B,C

A B C

A C

B A C B,C B C C

processeur

attente CPU B,C

attente pripherique dE/S

B
temps

F IG . 1.5 Commutation du processeur. demande une Entre/Sortie (E/S), le processeur commute sur B. A la n de lE/S demande par A, le processeur suspend lexcution de B pour commuter sur A. On suppose quA est prioritaire. Aprs un certain temps de calcul, A demande de nouveau une E/S ; ce qui provoque la commutation du processeur sur B. Durant lexcution de lE/S de A, le travail B demande une E/S. Il se met donc en attente car le priphrique est occup. Le processeur commute alors sur le travail C. Lorsque lexcution de lE/S demande par A sest termine, le processeur commute sur A et le traitement de la demande dE/S du travail B est entam par le priphrique dE/S. Multiprogrammation et partage de temps : 1965-1980 Le dsir dun temps de rponse plus rapide et dinteractivit de lexploitation a introduit la technique de partage de temps (systmes temps partag ou multi-utilisateurs) : plusieurs utilisateurs peuvent se connecter la machine par lintermdiaire de leurs terminaux et travailler en mme temps.

1.2. VOLUTION DES SYSTMES DEXPLOITATION

Le processeur est allou, tour de rle, pendant un certain temps chacun des travaux en attente dexcution. Au bout de ce temps, mme si le travail en cours ne sest pas termin, son excution est suspendue. Le processeur est 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. Le cas de trois travaux A, B et C est montr sur la gure 1.6. Les temps de rponse pour chaque utilisateur sont acceptables.

travail C travail B travail A attente CPU CPU CPU

CPU CPU CPU

CPU E/S CPU

CPU CPU

B,C A,C

A,B

B,C A,C

B
temps

F IG . 1.6 Temps partag.

Systmes dexploitation dordinateurs personnels Ces systmes dexploitation mono-utilisateur ne mettaient pas laccent sur lusage du processeur, ni sur la protection. Leur but tait de fournir une interface conviviale et une rapidit de raction. Ensuite, les fonctionnalits des gros systmes ont t peu peu transfres vers les microordinateurs.

Exploitation en rseau Les rseaux dordinateurs personnels qui fonctionnent sous des systmes dexploitation en rseau permettent de se connecter sur une machine distante et de transfrer des chiers dune machine une autre. Ces systmes dexploitation requirent une interface rseau, un logiciel de contrle de bas niveau, ainsi que des programmes qui permettent une connexion distante et un accs aux chiers qui se trouvent sur les diffrentes machines.

8 Exploitation en distribu

CHAPITRE 1. INTRODUCTION

Les rseaux dordinateurs qui fonctionnent sous des systmes dexploitation distribus apparaissent aux yeux des utilisateurs comme une machine monoprocesseur, mme lorsque ce nest pas le cas. Le systme dexploitation distribu gre et contrle lensemble des composants de tous les ordinateurs connects (les processeurs, les mmoires, les disques, etc.). Systmes multiprocesseurs Ces systmes sont composs de plusieurs processeurs relis au bus de lordinateur. Ils se caractrisent par leur capacit de traitement et leur abilit : la panne dun processeur narrtera pas le systme Systme dexploitation temps rel Ce sont des systmes spcialiss dans la conduite dappareillage industriel ou dans la commande de processus o le temps joue un rle critique (des contraintes temporelles strictes ou souples respecter).

1.3 Interactions utilisateur/systme


Pour un utilisateur, le systme dexploitation apparat comme un ensemble de procdures, trop complexes pour quil les crive lui-mme. Les bibliothques des appels systme sont alors des procdures mises la disposition des programmeurs. Ainsi un programme C/C++ peut utiliser des appels systme dUnix/Linux comme open(), write() et read() pour effectuer des Entres/Sorties de bas niveau. Linterprteur de commandes constitue une interface utilisateur/systme. Il est disponible dans tous les systmes. Il est lanc ds la connexion au systme et invite lutilisateur introduire une commande. Linterprteur de commandes rcupre puis excute la commande par combinaison dappels systme et doutils (compilateurs, diteurs de lien, etc.). Il afche les rsultats ou les erreurs, puis se met en attente de la commande suivante. Par exemple, la commande de linterprteur (shell) dUnix suivante permet dafcher lcran le contenu du chier appel archive : cat archive 3 Lintroduction du graphisme dans les interfaces utilisateur a rvolutionn le monde de linformatique (attendons celle du son !). Linterface
3

La commande quivalente sous MS-DOS est : type archive.

1.4. APPELS SYSTME

graphique a t rendue populaire par le Macintosh de Apple. Elle est maintenant propose pour la plupart des machines.

1.4 Appels systme


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. Ces modes de fonctionnement assurent la protection du systme dexploitation contre les intrusions et les erreurs. Ce nest pas le cas des systmes mono-utilisateur comme MS-DOS ou MacOS qui ont un seul mode de fonctionnement : le mode utilisateur. Ils ne sont pas protgs et donc peu ables. Un appel systme consiste en une interruption logicielle (instruction TRAP) qui a pour rle dactiver le systme dexploitation. Il a pour but : changer de mode dexcution pour passer du mode utilisateur au mode matre, rcuprer les paramtres et vrier la validit de lappel, de lancer lexcution de la fonction demande, de rcuprer la (les) valeur(s) de retour et de retourner au programme appelant avec retour au mode utilisateur. La table 1.1 numre quelques appels systme du systme Unix conformes la norme Posix4 . Les appels systme manipulent divers objets grs par le systme dexploitation. Les processus et les chiers sont les plus importants de ces objets.

1.4.1 Les processus


Un processus est un programme en cours dexcution. Il est compos dun programme excutable (code), un compteur ordinal (co), un ensemble de donnes, une pile dexcution et autres registres et informations ncessaires lexcution. Les appels systmes permettent notamment la cration et larrt des processus. Un processus peut crer un ou plusieurs processus ls qui, leur tour, peuvent crer des processus ls dans une structure arborescente. Les processus peuvent se synchroniser et communiquer entre eux. Actuellement, on utilise de plus en plus le concept de processus lgers (on parlera
Posix est un ensemble de procdures standard dUnix qui seront vues toute au long du texte.
4

10 Appel systme fork waitpid wait execve exit open close read write Iseek stat mkdir rmdir link unlink mount umount chdir chmod kill time

CHAPITRE 1. INTRODUCTION
Description Crer un processus Attendre la terminaison dun processus Excuter un autre programme Terminer lexcution Crer ou ouvrir un chier Fermer un chier Lecture de donnes criture de donnes Pointeur dans un chier Obtenir ltat des attributs Crer un rpertoire liminer un rpertoire Liens vers un chier liminer un chier Monter un systme de chiers Dmonter un systme de chiers Changer de rpertoire Changer les permissions daccs Signaux Obtenir le temps

TAB . 1.1 Quelques appels systme Posix. des processus et des processus lgers dans le Chapitre ??). Les processus lgers sont un moyen de rafner et de diviser le travail normalement associ un processus. Lorsquon lance une application, le processus qui est cr par le systme dexploitation excute les instructions du programme en mode utilisateur. certains moments, on fait des appels systme qui requirent lexcution dinstructions (et laccs des donnes) qui appartiennent au systme dexploitation. Pour ce faire, le mme processus passe alors au mode superviseur. Il est noter quil sagit bien du mme processus, mme sil excute des instructions du systme dexploitation. On peut considrer que des routines du systme dexploitation sont excutes au nom du processsus en question. La gure 1.7 illustre ce principe. La gure 1.8 illustre de manire plus dtaille ce qui se produit typiquement lors dun appel systme. Dans cet exemple, une application ex-

1.4. APPELS SYSTME


Mode utilisateur

11

Mode superviseur

Approche base sur des appels systme

F IG . 1.7 Alternance de modes dexcution dun processus cute fork(). Il sagit ici dune fonction dune librairie qui a t compile avec lapplication. Cette fonction prpare le terrain pour excuter le vritable appel systme, cest--dire une instruction assembleur TRAP qui prend comme paramtre un pointeur dont la valeur est ici indique par SYS_FORK. Essentiellement, cette instruction met dabord le processeur en mode superviseur, puis cherche dans une table (qui a t cr lors du chargement du systme dexploitation), la position indique par SYS_FORK, ladresse de la routine qui doit tre excute. Puis le compteur ordinal se positionne cette adresse et continue lexcution du processus, cette fois-ci avec des instructions qui appartiennent au systme dexploitation. Lorsque le service demand est termin, on revient lapplication, tout en rtablissant le mode utilisateur.

1.4.2 Les chiers


Un chier est un ensemble de donnes enregistres de faon tre lues et traites par ordinateur. Les chiers peuvent tre regroups dans des rpertoires. Un rpertoire peut contenir soit des chiers, soit dautres rpertoires dans une structure arborescente. Laccs aux chiers se fait en spciant un chemin daccs, cest- dire la

12
Application

CHAPITRE 1. INTRODUCTION

... fork(); ... fork() { ... // mise a jour des registres trap SYS_FORK; ... } sys_fork() { ... return;

sys_fork()

Librairie NOYAU

F IG . 1.8 tapes dun appel systme liste des rpertoires traverser pour accder au chier. 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. Les appels systme permettent de crer les chiers et les rpertoires, ainsi que de les supprimer, de les ouvrir, de les lire et de les modier.

1.5 Structure dun systme dexploitation


1.5.1 Structure en couches
Le systme dexploitation est structur en couches. Chaque couche utilise les fonctions des couches infrieures. La principale difcult est la dnition des diffrentes couches. Par exemple, on peut lorganiser en cinq couches, comme montr sur la gure 1.9 : Au plus bas niveau on trouve le noyau, linterface 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 dex-

1.5. STRUCTURE DUN SYSTME DEXPLOITATION

13

Systme de fichiers

Mmoire Kernel

E/S

Allocation de ressources

F IG . 1.9 Structure en couches. cution. 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.). Au quatrime niveau, on trouve le gestionnaire de chiers qui se charge de la gestion de lespace du disque, de la manipulation des chiers tout en assurant lintgrit des donnes, la protection des chiers, etc. Au cinquime niveau, on a le module dallocation de ressources qui se charge dassurer une bonne utilisation des ressources ; de comptabiliser et de fournir des statistiques sur lexploitation des ressources principales ; de crer de nouveaux processus et leur attribuer un niveau de priorit : de permettre chaque processus existant dans le systme dobtenir les ressources ncessaires dans des limites de temps raisonnables ; dexclure mutuellement les processus qui demandent une ressource non partageable et dviter les situations de blocage.

1.5.2 Structure monolithique


Les systmes dexploitation sous une structure monolithique (gure 1.10) sont un ensemble de procdures de presque le mme niveau : une procdure principale qui appelle la procdure de service requise, des procdures de service qui excutent les appels systme et un ensemble de

14

CHAPITRE 1. INTRODUCTION

procdures utilitaires qui assistent les procdures de service, par exemple la recherche de donnes des programmes utilisateur. Unix et Linux sont des
Utilisateur Prog. 1 Utilisateur Prog. n

Programmes Utilisateur

Mode Utilisateur

1 2 Kernel

3 4 Mode Kernel Utilitaires

Service procdures

F IG . 1.10 Structure monolithique. (1) Appel systme (Mode utilisateur Mode kernel). (2) Vrication de paramtres. (3) Appel de la procdure de service. (4) Procdure de service appel utilitaires, et puis retourner au mode utilisateur.

exemples de systmes monolithiques.

1.5.3 Micro-kernel
Une architecture plus moderne que celle monolitique est larchitecture micro-kernel (voir la gure 1.11) utilise en MACH 5 / HURD6 , Minix et NT. Lattribut principal qui distingue les micro-kernels des kernels monolitiques est limplantation de leurs architectures respectives en mode superviseur (kernel mode ) et en mode usager (user mode ). Larchitecture monolitique met en uvre tous les services du Systme dexploitation (controleurs de dispositifs, mmoire virtuelle, systme de chiers, rseaux, etc) dans le domaine du mode superviseur de lUCT. Par contre, larchitecture micro-kernel fait une division entre les services du Systme dexploitation, en les divisant en haut-niveau implants dans le domaine de lutilisateur et bas-niveau implants dans lespace du mode superviseur.
5 6

http ://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/mach/public/www/mach.html http ://www.gnu.ai.mit.edu/software/hurd/hurd.html

1.5. STRUCTURE DUN SYSTME DEXPLOITATION


Processus utilisateur Mode utilisateur
Systme Fichiers Macro programme Systme Threads Support rseau Pagination

15

Processus systme

Mode Kernel

Support pour primitives : processus, mmoire objets, ports, messages Matriel

Micro Kernel

F IG . 1.11 Structure de micro-kernel.

1.5.4 Le modle client/serveur


Dans le modle client/serveur Le systme dexploitation est compos dun noyau et dun ensemble de serveurs. Le noyau gre la communication entre les clients et les serveurs. Les clients sont les demandeurs de services. Par exemple, pour demander un service, comme la lecture dun bloc dun chier, un processus utilisateur (aussi appel processus client) envoie une requte un processus serveur qui effectue le travail et renvoie une rponse. Les serveurs sexcutent en mode utilisateur. Ils ne peuvent donc pas accder directement au matriel. Par consquent, une erreur ou un bogue dans le serveur de chiers, par exemple, naffectera pas, en gnral, lensemble de la machine. Les dgts se limitent au serveur.

1.5.5 Machines virtuelles


Le cur du systme se charge de la multiprogrammation en fournissant la couche au dessus plusieurs machines virtuelles. Des systmes dexploitation diffrents peuvent tourner au dessus dune machine virtuelle. Exemples de machines virtuelles : IBM VM : offre chaque usager sa propre machine virtuelle monotche. Les machines virtuelles taient planies avec du temps partag. Java : les programmes compils en Java tournent sur une machine virtuelle (JVM).

16

CHAPITRE 1. INTRODUCTION
VMWare7 : sur PC, excute en mme temps des sessions Windows, Linux, OS/2, etc. Nachos : SE qui sexcute dans une machine virtuelle MIPS, qui tourne sur Unix.

http ://www.vmware.com

1.5. STRUCTURE DUN SYSTME DEXPLOITATION

17

Sugestions de lecture
Rfrence : Silverwschatz A., Galvin P., Gagn G., Applied Operating System Concepts, Wiley, 2003. Chaptre 1 Section 1.1 What is an operating system ? Section 1.2 Batch systems : une attention particulire au concept de multiprogrammation. Section 1.3 Time-Sharing systems : Bien saisir la diffrence entre multiprogrammation et temps partag. Bien saisir la complexit des systmes temps partag. Chaptre 2 Section 2.1 Computer-System Operation. Section 2.2 I/O Structure : Le concept dinterruption est trs important. En ce qui concerne le DMA, il est bon de savoir ce que cest. Section 2.5 Hardware protection : Important, avec une attention toute particulire aux modes utilisateur et superviseur. Section 2.6 General system architecture : Le concept dappel systme est trs important. Chaptre 3 Section 3.1 Systems components : Bien comprendre le concept de processus. Section 3.3 System Calls : Trs important.

18

CHAPITRE 1. INTRODUCTION

1.6 Exercices
1. Indiquez si les lments logiciels suivants se situent parmi la catgorie des programmes dapplication, des programmes systme, ou des programmes de systmes dexploitation. (a) Le programme more (b) Lditeur de texte emacs (c) La librairie de routines X-Window (Xlib) (d) Un script de shell (e) Le traitement de texte Ms-word (f) La fonction read 2. Lordinateur personnel compatible IBM fournit une interface aux priphriques en utilisant des routines du BIOS (Basic Input and Output System) qui est stocke en mmoire morte (ROM). Quel avantage cette interface fournit-elle aux dveloppeurs dapplications pour la plate-forme Intel 80x86 ? 3. Dans un environnement multiprogramm, y-a-t-il partage des ressources entre les processus dun mme utilisateur ? Expliquez. 4. Le degr de multiprogrammation reprsente le nombre maximal de processus quun systme uniprocesseur peut manipuler tout moment. Expliquez quelques facteurs matriels et logiciels qui pourraient avoir une certaine inuence sur le degr de multiprogrammation dun systme. 5. Dcrivez le facteur principal qui sert de mesure du temps de rponse pour un systme soumission de lots et pour un systme en temps partag. 6. Expliquez la diffrence fondamentale qui existe entre un systme dexploitation multiprogramm et un systme dexploitation rseau. 7. Une fentre (window ) reprsente un certain niveau dabstraction de lcran car les applications interagissent avec celle-ci et non pas directement lcran. Dcrivez trois prototypes de fonctions quune application pourrait utiliser pour interagir avec une fentre dcran. 8. Quelle diffrence existe-il entre un systme temps rel et une application en temps rel ? Donnez un exemple pour chaque cas. 9. Expliquez la raison principale de lutilisation de deux modes (usager, systme) dopration dans les systmes dexploitation modernes.

1.6. EXERCICES

19

10. Quel est le rle dun systme dexploitation ? Les interprteurs de commandes et les compilateurs font-ils parties du systme dexploitation ? 11. Quest ce quun systme multiprogramm ? Un systme de traitement par lots ? Un systme en temps partag ? 12. Dans le systme Unix, les vritables appels systme sont effectus partir : (a) Dun programme utilisateur. (b) Dune commande shell. (c) Dune procdure de la bibliothque standard. (d) Sont-ils excuts en mode superviseur ou en mode utilisateur ? 13. Comment sont organiss les chiers dans le systme Unix ? Un utilisateur peut-il accder un chier dun autre utilisateur ? Si oui, comment ? 14. Est-ce quun Systme dExploitation multitche est ncessairement multiusager ? Et pour linverse ? Expliquez.