Vous êtes sur la page 1sur 72

SYSTMES DEXPLOITATION

Notes de cours 2004-2005

Pr. Omar Megzari

Facult des Sciences de Rabat,

megzari@fsr.ac.ma

Dpartement de Mathmatiques
et dInformatique
Rabat

INTRODUCTION........................................................................................................................... 6

BIBLIOGRAPHIE.......................................................................................................................... 9

LORDINATEUR ......................................................................................................................... 12
3.1

LA CARTE MERE ...................................................................................................................... 12

3.2

LE MICROPROCESSEUR............................................................................................................. 13

3.3

LA MEMOIRE CACHE ................................................................................................................ 14

3.4

LA MEMOIRE VIVE ................................................................................................................... 14

3.5

LA MEMOIRE MORTE (ROM).................................................................................................... 14

3.6

LES FENTES D'EXTENSION ........................................................................................................ 14

3.7

LE DISQUE DUR ....................................................................................................................... 15

3.7.1

Le fonctionnement interne ................................................................................................. 15

3.7.2

La lecture et l'criture....................................................................................................... 15

3.8

LA DISQUETTE ........................................................................................................................ 16

3.9

LE CD-ROM .......................................................................................................................... 17

3.9.1

La composition d'un CD-ROM .......................................................................................... 17

3.9.2

Le lecteur de CD-ROM ..................................................................................................... 18

3.9.3

Ses caractristiques........................................................................................................... 18

3.10

LE DVD-ROM ....................................................................................................................... 18

3.10.2

Les zones ...................................................................................................................... 20

3.11

LE MODEM .............................................................................................................................. 20

3.12

LA CARTE RESEAU ................................................................................................................... 21

3.12.1

La prparation des donnes .......................................................................................... 21

3.12.2

Le rle d'identificateur ................................................................................................. 22

3.12.3

Les autres fonctions de la carte rseau ......................................................................... 22

3.12.4

Envoi et contrle des donnes....................................................................................... 22

3.13

PERIPHERIQUES DENTREE ....................................................................................................... 23

3.13.1

Le clavier ..................................................................................................................... 23

3.13.2

La souris....................................................................................................................... 23

3.13.3

Le numriseur............................................................................................................... 23

3.13.4

La camra numrique ................................................................................................... 23

3.14

PERIPHERIQUES DE SORTIE ....................................................................................................... 24

3.14.1

L'cran ou le moniteur.................................................................................................. 24

3.14.2

Le moniteur couleur...................................................................................................... 24

3.14.3

Les moniteurs cristaux liquides.................................................................................. 25

3.14.4

Les caractristiques...................................................................................................... 25

3.14.5

L'imprimante ................................................................................................................ 25

3.14.6

L'imprimante marguerite ........................................................................................... 26

3.14.7

L'imprimante matricielle............................................................................................... 26

3.14.8

L'imprimante jet d'encre ............................................................................................ 26

3.14.9

L'imprimante laser........................................................................................................ 27

3.15

PROGRAMMES INFORMATIQUES................................................................................................ 27

3.16

LES LIAISONS .......................................................................................................................... 27

3.17

LA CONNEXION PAR LA LIGNE TELEPHONIQUE ........................................................................... 27

3.17.1

Les modems 56 Kbit/s ................................................................................................ 28

3.17.2

Prsentation du RNIS ................................................................................................... 28

3.17.3

Fonctionnement du RNIS .............................................................................................. 28

3.18

3.18.1

Quel est le besoin d'une ligne spcialise?.................................................................... 28

3.18.2

Le prix d'une ligne spcialise ...................................................................................... 28

3.18.3

La liaison Internet par cble......................................................................................... 28

3.18.4

Les avantages ............................................................................................................... 29

3.18.5

Le matriel ncessaire une liaison par cble.............................................................. 29

3.18.6

L'ADSL......................................................................................................................... 29

3.18.7

ADSL............................................................................................................................ 30

3.18.8

La fibre optique ............................................................................................................ 30

3.18.9

Le satellite.................................................................................................................... 30

3.18.10

Les ondes hertziennes ................................................................................................... 30

3.18.11

Le rseau lectrique ..................................................................................................... 31

3.18.12

Le rseau Ethernet........................................................................................................ 31

LES PROCESSUS......................................................................................................................... 33
4.1

STRUCTURE DES PROCESSUS .................................................................................................... 33

4.1.1

Gnralits........................................................................................................................ 33

4.1.2

Les processus sous Unix .................................................................................................... 37

4.2

COMMUNICATION ENTRE LES PROCESSUS.................................................................................. 41

4.2.1

Les tubes de communication avec Unix ............................................................................. 41

4.2.2

Les messages..................................................................................................................... 42

4.2.3

La mmoire partage ........................................................................................................ 43

4.3

LES LIGNES SPECIALISEES ........................................................................................................ 28

ORDONNANCEMENT ................................................................................................................ 43

4.3.1

Le tourniquet..................................................................................................................... 44

4.3.2

Les priorits ...................................................................................................................... 44

4.3.3

Le tourniquet avec priorits .............................................................................................. 44

4.3.4

Lordonnancement des fils dexcution.............................................................................. 45

LA MEMOIRE ............................................................................................................................. 46

5.1
5.1.1

La multiprogrammation..................................................................................................... 46

5.1.2

Les registres matriels....................................................................................................... 47

5.2

Production dun programme.............................................................................................. 47

5.2.2

Principes de gestion .......................................................................................................... 47


LALLOCATION ....................................................................................................................... 48

5.3.1

tat de la mmoire ............................................................................................................ 48

5.3.2

Politiques dallocation ...................................................................................................... 49

5.3.3

Libration ......................................................................................................................... 50

5.3.4

La rcupration de mmoire.............................................................................................. 50

5.4

LE VA-ET-VIENT ...................................................................................................................... 51

5.5

LA PAGINATION ...................................................................................................................... 52

5.6

LA SEGMENTATION ................................................................................................................. 53

5.7

LA MEMOIRE VIRTUELLE .......................................................................................................... 54

5.7.1

Prsentation...................................................................................................................... 54

5.7.2

Algorithmes de remplacement de pages............................................................................. 55

5.7.3

Autres considrations........................................................................................................ 55

LE SYSTEME DE FICHIERS ..................................................................................................... 57


6.1

QUEST CE QUUN FICHIER? ..................................................................................................... 57

6.1.1

Une dfinition ................................................................................................................... 57

6.1.2

La structure dun systme de fichiers................................................................................. 58

6.1.3

Accs aux lments dun fichier ........................................................................................ 59

6.2

LES BLOCS DU DISQUE ............................................................................................................. 60

6.3

LA REPARTITION PHYSIQUE DES FICHIERS EN BLOCS .................................................................. 61

6.3.1

La liste chane ................................................................................................................. 61

6.3.2

La table dindex ................................................................................................................ 62

6.4

CONCEPTS FONDAMENTAUX .................................................................................................... 47

5.2.1
5.3

INTRODUCTION ....................................................................................................................... 46

LES DOSSIERS OU LES REPERTOIRES .................................................................................... 62

6.4.1

Les rpertoires du systme MS-DOS.................................................................................. 63

6.4.2

Les rpertoires dUnix....................................................................................................... 64

6.4.3

Structure et manipulation des nud dindex ...................................................................... 64

6.4.4

Le partage de fichiers par liens avec Unix ........................................................................ 65

6.5

LA MEMOIRE CACHE ................................................................................................................ 65

6.6

LA STRUCTURE PHYSIQUE DUN DISQUE UNIX ........................................................................... 66

6.7

LA STRUCTURE LOGIQUE DUN DISQUE UNIX............................................................................. 66

6.8

REPARER LE SYSTEME DE FICHIER ............................................................................................ 67

LES ENTREES-SORTIES ........................................................................................................... 69


7.1

COMMENT LE PROCESSEUR COMMUNIQUE AVEC LEXTERIEUR ?................................................. 69

7.1.1

Gnralits........................................................................................................................ 69

7.1.2

Les contrleurs.................................................................................................................. 69

7.1.3

Un exemple simple de fonctionnement : crire sur un disque............................................. 71

7.1.4

Laccs direct la mmoire .............................................................................................. 71

7.2

LES FONCTIONS UNIX .............................................................................................................. 71

1 Introduction
Ce cours prsente les principaux points thoriques du fonctionnement des systmes
dexploitation. Il les illustre par un certain nombre dexemples de mise en uvre quil
tire essentiellement du systme Unix et accessoirement de Windows.
Lhistoire de linformatique est trs brve les ordinateurs sont ns avec la seconde
guerre mondiale et pourtant, elle a connu des grandes volutions. leur apparition,
les ordinateurs taient trs coteux et rservs aux grandes entreprises; celles-ci nen
possdaient au dpart que quelques exemplaires. Ces ordinateurs centraux sont
rapidement devenu un auxiliaire dadministration et ils se sont diffuss dans les
diffrents services (departments en anglais) : financier, comptabilit, etc. Pour rendre
linformatique plus adapte et plus abordable, des fabricants se sont alors mis
produire des mini-ordinateurs dpartementaux . Ces ordinateurs fonctionnaient avec
des systmes dexploitation qui leur taient propres, chaque machine ou chaque
constructeur, par exemple, MVS pour IBM ou VMS pour DEC.
Aujourdhui, linformatique, aussi bien dans les entreprises, que dans la recherche
ou lenseignement, utilise des machines plus petites, fonctionnant avec des systmes
dexploitation caractre universel. Parmi ces systmes dexploitation, deux se
distinguent particulirement, un systme mono-utilisateur, Windows, et un autre multiutilisateurs et multitches, Unix. Dune manire grossire et contestable avec
lapparition des rseaux on peut affirmer que le premier systme est destin des
ordinateurs individuels, tandis que lautre est rserv au travail en groupe. Les
systmes actuels grent, par ailleurs une interface graphique, avec comme pionnier le
Finder du Macintosh. Les systmes dexploitation actuels ont intgr de faon
gnralise le multitches et le service plusieurs utilisateurs avec la gnralisation des
architectures client-serveur, par exemple avec OS/2 dIBM et Windows/NT.
Parmi ces systmes, Unix, qui est le plus ancien, est celui qui offre le plus de
richesses, le plus dhomognit et le plus de souplesse; il dispose, dans les versions
standards, dextensions pour les rseaux et pour le graphique. Pour cette raison, nous
lavons choisi comme le centre de ce cours. Par ailleurs, le systme MS-DOS puis
Windows, en voluant, ont incorpor beaucoup de caractristiques de leur
6

prdcesseur. Les noyaux de ces systmes se modifieront certainement avec lvolution


des techniques. Cependant, les principes sur lesquels ils se fondent, et plus forte
raison, leur dcor , devraient rester relativement stables, au moins pour les quelques
annes venir.
Ltude des systmes dexploitation forme une part trs importante de linformatique
comme discipline et, la diffrence des ses autres domaines, cest une part qui lui est
propre. Ceci au contraire de lalgorithmique ou de la logique, par exemple, qui se
partagent avec les mathmatiques. C'est aussi une discipline technique qui plus encore
que les autres est sujette au renouvellement.
On peut diviser les systmes dexploitation classiques en quatre parties principales :
1. Les processus, qui correspondent lexcution des programmes. Ces processus
pouvant sexcuter simultanment dans un systme multitche. Le systme a pour
fonction de les crer, de les grer, de les synchroniser, ainsi que de leur permettre
de communiquer entre eux;
2. La gestion de la mmoire, qui permet de transfrer les programmes et les donnes
ncessaires la cration des processus, dun support secondaire, par exemple un
disque, vers un support central, o a lieu lexcution des processus. Le systme
devra garder la trace des parties utilises et libres de la mmoire ainsi que grer les
transferts entre les mmoires principale et secondaire;
3. Le systme de fichiers, qui offre lutilisateur une vision homogne et structure
des donnes et des ressources : disques, mmoires, priphriques. Le systme gre
la cration des fichiers, leur destruction, leur correspondance avec les dispositifs
physiques, ainsi quun certain nombre dautres caractristiques, telles que la
protection. Il les organise enfin, en gnral, en une structure arborescente;
4. Les entres-sorties, qui correspondent aux mcanismes quutilisent les processus
pour communiquer avec lextrieur. Ces entres-sorties font largement appel aux
couches les plus proches du matriel, et dont le systme tente de masquer les
particularits aux utilisateurs.
Les systmes dexploitation modernes intgrent par ailleurs dautres caractristiques.
Ces dernires concernent notamment deux volutions majeures des systmes
informatiques. La premire est linterconnexion des diffrentes machines et des
diffrents systmes par des rseaux locaux ou tendus. La seconde est la disparition
7

des crans de textes et leur remplacement par des dispositifs fentres multiples
disposant de proprits graphiques. Ces deux techniques sont, de plus, troitement
imbriques. Les systmes dexploitation fonctionnent donc, ou vont fonctionner, en
rseau et ils consacreront une part importante de leurs tches grer le fentrage, le
graphisme, et les interactions entre les diffrentes machines. Ce cours complte les 4
parties prcdentes par des tudes sur :
5. Les rseaux dordinateurs, avec les protocoles de communication, dinterconnexion et
dapplication. Les rseaux permettent de mettre en uvre une nouvelle architecture
informatique fonde sur des clients et des serveurs;
6. Les systmes rpartis avec les protocoles dappels de procdures distance qui leur
sont associs. Les systmes rpartis actuels trouvent des applications des
architectures clients-serveurs de fichiers ou d'applications, tels que des bases de
donnes.
7. Les systmes de fentrage graphique, ainsi que le modle de serveur dcran.
Le systme dexploitation correspond linterface entre les applications et le
matriel. Le programmeur dapplications naborde que rarement sinon jamais son
code interne. Il lutilise par lintermdiaire d appels systme . Les appels systmes
sont souvent accessibles partir dun langage de programmation, notamment en C
avec le systme Unix. Ces appels permettent deffectuer la plupart des oprations sur
les entits du systme dexploitation et, par exemple, de crer et dtruire des
processus, des fichiers, de raliser des entres-sorties, etc. Une terminologie tend
simposer pour dnommer lensemble des appels systme, quils concernent un
systme dexploitation ou nimporte quelle dapplication informatique : les API
(Application Programming Interface).
Un utilisateur peut lui aussi dans une certaine mesure manipuler un systme
dexploitation, sans pour autant avoir crer un programme. Il le fait par
lintermdiaire dun interprte de commandes (un shell en anglais) muni dune
syntaxe et ventuellement programmable. Cet interprte peut accepter les lignes de
commandes comme sous MS-DOS ou sous Unix. Il peut aussi grer les mtaphores
graphiques comme avec les Macintoshes, Windows ou X-Window.

2 Bibliographie
La bibliographie sur les systmes dexploitation est trs abondante et elle se
renouvelle trs rapidement. Elle comprend la fois des revues de recherche, des
ouvrages pdagogiques et des ouvrages sur la programmation et l'utilisation d'un
systme particulier. La liste que nous donnons nest absolument pas exhaustive. Par
ailleurs, cette recherche est largement passe des laboratoires universitaires ceux de
quelques industriels : Microsoft et IBM notamment. Notre liste fournit seulement les
rfrences que nous pensons tre les plus utiles.
Littrature gnrale sur les systmes dexploitation
A. Tanenbaum, Modern Operating Systems, PrenticeHall, 1992, est une rfrence
gnrale trs pdagogique. Distributed Computer Systems, Prentice Hall, 1994,
nd

examine plus en dtail les systmes rpartis. Operating Systems, 2

ed., Prentice-

Hall, 1997, est une rfrence par le mme auteur qui comprend le code, trs
formateur, dun systme dexploitation voisin dUnix. Cette dition ne comprend pas
les systmes rpartis.
th
A. Silberschatz and P. Galvin, Operating System Concepts, 5 ed., Addison Wesley,

1997, est un ouvrage plus conceptuel et plus thorique que le prcdent. Il reste
nanmoins trs clair. Il est traduit en franais chez Addison-Welsey sous le titre
Principes des systmes dexploitation mais peut tre pas ldition la plus rcente.
Sur les noyaux de systmes dexploitation commerciaux
M. Bach, La conception du systme Unix, Masson, a longtemps t louvrage de
rfrence. Sa rdaction est extrmement lourde viter aprs le dessert et elle
est double dune traduction maladroite. Cet ouvrage est cependant une mine de
renseignements pour ceux qui veulent connatre les algorithmes internes dUnix en
dtail.
Louvrage qui prcde a inspir les firmes conceptrices dautres systmes. Ceci a
donn lieu plusieurs ouvrages, en gnral plus clairs et mieux crits que leur
anctre :
H.M Deitel et M.S. Kogan, La conception dOS/2, Addison-Wesley, 1992.
9

Helen Custer, Au cur de Windows NT, Microsoft Press, 1993.


Sur la programmation des systmes dexploitation
Le man dUnix est la meilleure rfrence pour le programmeur. Il ny a rien
dquivalent sur papier.
J.M. Rifflet, La programmation sous Unix, 3e d., McGraw-Hill, 1993, est une bonne
rfrence et un ouvrage assez complet.
Charles Petzold, Programming Windows 95, Microsoft Press, 1996, est une bonne
rfrence pour apprendre la programmation Windows. Elle a t la premire du
genre. Actuellement, il y a des dizaines douvrages quivalents.
Apple Computer, Inside Macintosh Series, Addison-Wesley, 1992, 1993, 1994, est
une srie traitant des caractristiques du Macintosh. Elle dtaille aussi bien les
mcanismes internes que les mthodes de programmation.
Sur lutilisation du systme Unix
R.S. Bourne, Le systme Unix, InterEditions, est une rfrence antique, mais qui reste
un modle de clart. Lauteur est le concepteur du premier interprte de commande
dUnix. La traduction comprend beaucoup de fautes, par exemple dans les listings
de programmes.
B. Kernighan et R. Pike, Lenvironnement Unix, InterEditions, saxe plutt sur les
outils dUnix. Il est plus difficile lire que le prcdent et il privilgie parfois la
bidouille info-maniaque.
J.L. Nebut, Unix pour lutilisateur : Commandes et langages de commandes, Technip,
1990, est une bonne rfrence sur les outils dUnix.

10

11

3 LOrdinateur
De nos jours, lordinateur est devenu un outil dusage courant. Mais comment fonctionne cette
machine si intrigante? Sans instruction pour le faire fonctionner, lordinateur est une grosse
bote de mtal et de plastique qui ne sert rien. Tout comme nimporte quel appareil mnager,
lordinateur a besoin dinstructions. Elles lui sont transmises par le clavier ou la souris. Tout
comme vous conduisez une voiture sans en matriser chaque lment mcanique, il nest pas
ncessaire de tout connatre sur le fonctionnement dune voiture pour tre capable de lutiliser.
Lordinateur est une machine qui traite des informations (des textes, des photos, des images)
par lintermdiaire de ses circuits lectroniques et de ses programmes informatiques.
Pour transfrer ces informations lordinateur, nous utilisons des accessoires tels que le
clavier, la souris, le numriseur et la camra numrique. Nous les appelons des priphriques
dentre.
Pour bien percevoir les informations transfres et tre capables den apprcier les
modifications, nous utilisons des priphriques de sortie tels que lcran et limprimante.
Pour que lordinateur puisse intgrer les informations qui lui sont envoyes, il faut quil puisse
les comprendre. Pour ce, il faudra quelles soient modifies en langage machine. En fait, si
nous appuyons sur une touche du clavier, lordinateur recevra une srie dimpulsions
lectriques. Ces impulsions seront interprtes par lordinateur sous forme de sries de (0 et 1)
qui compose le langage informatique. Ces impulsions, ou chiffres, sont appeles des bits.
En appuyant sur une touche, le clavier envoie sous forme d'impulsions lectriques, une srie de
0 et de 1, toujours en nombre exact de huit, que lon appelle des octets. La lettre B, par
exemple, est convertie en une srie de huit chiffres : 01000010.
L'origine du mot ordinateur vient de la firme IBM. Celle-ci demanda en 1954 un
professeur de lettres Paris de trouver un mot pour dsigner ce que l'on appelait vulgairement
un calculateur (traduction littrale de computer en anglais). Toute machine capable de
manipuler des informations binaires (0 et 1) peut tre qualifie d'ordinateur.
Si nous excluons les priphriques dentre et de sortie, que nous avons brivement numrs
auparavant, un ordinateur est compos :
d'une unit centrale (le botier);
de priphriques internes (cartes de son, carte vido, ...);
d'un lecteur de disquettes, d'un lecteur de CD-ROM ou de DVDROM;
ventuellement, de cartes d'extension diverses, ...

3.1 La carte mre


Schma d'une carte mre :

12

La carte mre est le principal constituant de l'ordinateur. C'est sur cette carte que sont
connects les autres lments :
Le microprocesseur (cerveau de l'ordinateur);
La mmoire (RAM : Random Access Memory, la mmoire cache);
Le disque dur, le lecteur de CD-ROM, le lecteur de disquettes;
Les priphriques internes : carte de son, carte vido.

3.2 Le microprocesseur
Le premier microprocesseur (Intel 4004) a t invent en 1971. Depuis, la puissance des
microprocesseurs augmente exponentiellement. Quels sont donc ces petits morceaux de
silicium qui dirigent nos ordinateurs?
Le processeur (CPU) est le cerveau de l'ordinateur, c'est lui qui coordonne le reste des
lments, il se charge des calculs, bref, il excute les instructions qui ont t programmes.
Toutes ces oprations sont des informations numriques. Les microprocesseurs utilisent des
petits transistors pour faire des oprations de base; il y en a plusieurs millions sur un seul
processeur.
Les principaux lments d'un microprocesseur sont :
une horloge qui rythme le processeur. chaque TOP d'horloge, le
processeur effectue une instruction. Ainsi plus l'horloge a une
frquence leve, plus le processeur effectue d'instructions par
seconde (MIPS : Millions d'instruction par seconde). Par exemple un
ordinateur ayant une frquence de 100 mgahertz (MHz) effectue
100 000 000 d'instructions par seconde;
une unit de gestion des bus qui gre les flux d'informations entrant
et sortant;
une unit d'instruction qui lit les donnes, les dcode puis les envoie
l'unit d'excution;
une unit d'excution accomplit les tches donnes par l'unit
d'instruction.

13

Le processeur travaille, en fait, grce un nombre trs limit de fonctions comme des
expressions logiques (ET, OU, NON, etc.), des expressions mathmatiques (addition,
soustraction, multiplication, etc.). Celles-ci sont directement cbles sur les circuits
lectroniques. Il est impossible de mettre toutes les instructions sur un processeur car celui-ci
est limit par la taille de la gravure. Ainsi pour mettre plus d'instructions il faudrait un
processeur ayant une trs grande surface. Or le processeur est constitu de silicium et celui-ci
cote cher, et d'autre part il chauffe beaucoup. Le processeur traite donc les informations
compliques l'aide d'instructions simples.

3.3 La mmoire cache


La mmoire cache permet au processeur de se rappeler les oprations dj effectues
auparavant. Elle est utilise par le microprocesseur pour conserver temporairement des
instructions lmentaires. En effet, elle stocke les oprations effectues par le processeur, afin
que celui-ci ne perde pas de temps recalculer des calculs dj faits prcdemment. La taille de
la mmoire cache est gnralement de l'ordre de 512 kilo-octets (Ko).

3.4 La mmoire vive


La mmoire vive, gnralement appele RAM (Random Access Memory, traduisez mmoire
accs alatoire) ce qui signifie que l'on peut accder instantanment n'importe quelle partie
de la mmoire, permet de stocker des informations pendant tout le temps de fonctionnement de
l'ordinateur. Par contre, cette mmoire est dtruite lors de la mise hors-tension de l'ordinateur,
contrairement une mmoire de masse comme le disque dur qui garde les informations mme
lorsqu'il est hors tension. La mmoire vive contient les donnes et les instructions des
applications en cours.

3.5 La mmoire morte (ROM)


Mmoire permanente contenant des microprogrammes enregistrs sur des puces lectroniques
de la carte mre (ou mother board) contenant les routines de dmarrage du micro-ordinateur.
ROM (Read Only Memory, dont la traduction est mmoire en lecture seule) est appele aussi
parfois mmoire non volatile, car elle ne s'efface pas lors de la mise hors tension du systme.
En effet, ces informations ne peuvent tre stockes sur le disque dur tant donn que les
paramtres du disque (essentiels son initialisation) font partie de ces donnes vitales
l'amorage.

3.6 Les fentes d'extension


Les fentes ou slots d'extension sont des rceptacles dans lesquels on peut enficher des cartes.
Il en existe de trois types : les cartes ISA (les plus lentes fonctionnant en 16 bits), les cartes
14

PCI (beaucoup plus rapides fonctionnant en 32 bits), et les cartes AGP (les plus rapides). Ils se
branchent, grce des nappes, sur les broches prvues cet effet sur la carte mre.

3.7 Le disque dur


Le disque dur est l'organe du PC servant conserver les donnes de manire permanente,
contrairement la RAM, qui s'efface chaque redmarrage de l'ordinateur. Il a t invent au
dbut des annes 50 par IBM.
3.7.1 Le fonctionnement interne
Un disque dur est constitu non pas d'un seul disque, mais de plusieurs disques rigides (en
anglais hard disk signifie disque dur) en mtal, en verre ou en cramiques empils les uns aprs
les autres une trs faible distance les uns des autres. Ils tournent trs rapidement autour d'un
axe ( plusieurs milliers de tours par minute actuellement) dans le sens inverse des aiguilles
d'une montre. Un ordinateur fonctionne de manire binaire. Il faut donc stocker les donnes
sous forme de 0 et de 1. C'est pourquoi les disques sont recouverts d'une trs fine couche
magntique de quelques microns d'paisseur, elle-mme recouverte d'un film protecteur.
La lecture et l'criture se font grce des ttes (head) situes de part et d'autre de chacun des
plateaux (un des disques composant le disque dur). Ces ttes sont des lectroaimants qui se
baissent et se soulvent (elles ne sont qu' quelques microns de la surface, spares par une
couche d'air provoque par la rotation des disques qui cre un vent d'environ 250 km/h) pour
pouvoir lire l'information ou l'crire. De plus ces ttes peuvent balayer latralement la surface
du disque pour pouvoir accder toute la surface...

Cependant, les ttes sont lies entre-elles et seulement une seule tte peut lire ou crire un
moment donn. On parle donc de cylindre pour dsigner l'ensemble des donnes stockes
verticalement sur la totalit des disques.
L'ensemble de cette mcanique de prcision est contenu dans un botier totalement hermtique,
car la moindre particule peut dtriorer l'tat de surface du disque. Vous pouvez donc voir sur
un disque des opercules permettant l'tanchit, et la mention "Warranty void if removed" qui
signifie littralement "la garantie expire si retir", seul les fabricants peuvent en vrifier le
contenu ( lintrieur de salles blanches : exemptes de particules).
3.7.2 La lecture et l'criture

15

Les ttes de lecture/criture sont dites "inductives", c'est--dire qu'elles sont capables de
gnrer un champ magntique. C'est notamment le cas lors de l'criture, les ttes en crant des
champs positifs ou ngatifs viennent polariser la surface du disque en une trs petite zone, ce
qui se traduira lors du passage en lecture par des changements de polarit induisant un courant
dans la tte qui sera ensuite transforms par un convertisseur analogique numrique (CAN) en
0 et en 1 comprhensibles par l'ordinateur.
Les ttes commencent inscrire des donnes la priphrie du disque (piste 0), puis avancent
vers le centre. Les donnes sont organises en cercles concentriques appels "pistes", cres
par le formatage de bas niveau.
Les pistes sont spares en quartiers (entre deux rayons) que l'on appelle secteurs, c'est la zone
dans laquelle on peut stocker les donnes (512 octets en gnral).

On appelle cylindre l'ensemble des donnes situes sur une mme pistes de plateaux diffrents
(c'est--dire la verticale les unes des autres) car cela forme dans l'espace un "cylindre" de
donnes.

On appelle cluster la zone minimale que peut occuper un fichier sur le disque. En effet le
systme d'exploitation exploite des blocs qui sont en fait plusieurs secteurs (entre 1 et 16
secteurs). Un fichier minuscule devra donc occuper plusieurs secteurs (un cluster).

3.8 La disquette
Constitue d'une rondelle de plastique souple recouverte d'un carr de plastique dur pour la
protger, la disquette pour avantage d'tre amovible, c'est--dire que l'on peut l'insrer et
l'enlever du lecteur trs facilement. Elle existe principalement en deux formats: 720 Ko et 1,44
Mo.

16

Pour protger la disquette, cest--dire tre certain de ne pas en effacer le contenu, il faut
rabattre, de cette faon, la petite pice de plastique.

3.9 Le CD-ROM
Il utilise des disques portatifs de grande capacit au format pratique, de plus en plus utilis
pour la vente de logiciels. Il remplacera le lecteur de disquettes dans les prochaines annes.
Le CD-ROM (Compact Disc - Read Only Memory) est un disque optique de 12 cm de
diamtre et de 1mm d'paisseur, permettant de stocker des informations numriques, c'est-dire correspondant 650 Mo de donnes informatiques (correspondant 300000 pages
dactylographies) ou bien jusqu' 78 min de donnes audio. Le Compact Disc a t invent par
Sony et Philips .
3.9.1 La composition d'un CD-ROM
Le CD est constitu de matire plastique, recouvert d'une fine pellicule mtallique daluminium
sur une des faces. Les pistes sont graves en spirales, ce sont en fait des alvoles d'une
profondeur de 125nm et espaces de 1,6. Ces alvoles forment un code binaire, une alvole
correspond un 0, un espace un 1.

17

Exemple : prenons la squence suivante : 110010101. Celle-ci correspond sur le CD-ROM


deux espaces, deux trous, un espace, un trou, un espace, un trou, un espace.

On a ainsi une squence binaire que le lecteur parcourt grce un laser ; celui-ci est rflchi
lorsqu'il rencontre un espace, il ne l'est pas lorsqu'il rencontre une alvole.
3.9.2 Le lecteur de CD-ROM
C'est une cellule photolectrique qui permet de capter le rayon rflchi, grce un miroir semirflechissant comme expliqu sur le dessin suivant :

Un chariot permet de dplacer le miroir de faon pouvoir accder au CD-ROM en entier.


Il est ainsi possible de stocker sur ce support des musiques, des images, des vidos, du texte et
tout ce qui peut tre enregistr de faon numrique.
3.9.3 Ses caractristiques
Le lecteur CD-ROM est caractris :
Par sa vitesse : celle-ci est calcule par rapport la vitesse d'un
lecteur de CD-Audio (150 Ko/s). Un lecteur pouvant atteindre la
vitesse de 3000 Ko/s sera caractris de 20X (20 fois plus vite qu'un
lecteur 1X)
Par son temps d'accs, on dfini le temps moyen que le lecteur prend
pour atteindre une partie du CD une autre.

3.10 Le DVD-ROM

18

Le DVD-ROM (Digital Versatile Disc - Read Only Memory) est une variante du CD-ROM
dont la capacit est largement plus grande. En effet, les alvoles du DVD sont beaucoup plus
petite (0,4 et un espacement de 0.74), impliquant un laser avec une longueur d'onde
beaucoup plus faible.

Les DVD existent en version "double couche", ces disques sont constitus d'une couche
transparente base d'or et d'une couche rflexive base d'argent. Dans le but de lire ces deux
couches, le lecteur dispose d'un laser deux intensits :
une intensit faible ; le rayon se rflchit sur la surface dore
une plus grande intensit permet au rayon de traverser la premire
couche et de se rflchir sur la surface argente.

Il existe 4 types de DVD diffrents :

3.10.1.1.1.1.1.1.1 Type

3.10.1.1.1.1.1.1.2 Capacit

de

3.10.1.1.1.1.1.1.3 Temps

3.10.1.1.1.1.1.1.4 Nombre

musical

de CD

supp

quival

quival

ort

ent

ent

CD

650Mo

1h18 min

DVD simple face

4.7Go

9 h 30

8.5Go

17 h 30

13

simple couche
DVD simple face
double couche

19

DVD double face

9.4Go

19 h

14

17Go

35 h

26

simple couche
DVD double face
double couche

L'intrt du DVD touche en priorit le stockage vido qui demande beaucoup plus d'espace.
Un DVD de 4,7 Go permet de stocker plus de deux heures de vido compresses en MPEG-2
(Motion Picture Experts Group), un format qui permet de compresser les images tout en
gardant une trs grande qualit d'image.
3.10.2 Les zones
Les DVD Vido sont conus pour n'tre consultables que dans certaines rgions du monde :
c'est le dcoupage en zone (qui "empche" le piratage). Il est ainsi thoriquement impossible de
lire un DVD d'une zone en tant dans une autre. Heureusement, les lecteurs de DVD pour PC
peuvent les lire grce des utilitaires.

Les premiers graveurs de DVD sont apparus il y a peu de temps. Le seul frein est l'existence de
deux normes concurrentes et incompatibles :
DVD-RAM de Toshiba et Matsushita stockant 2.6 Go
DVD-RW de Sony , Philips et HP stockant 3 Go
Les deux normes permettent de rinscrire des donnes jusqu' 1000 fois.

3.11 Le modem
Le morse a t le premier codage permettre une communication longue distance. C'est
Samuel F.B.Morse qui l'a mis au point en 1844. Ce code est compos de points et de tirets (un
langage binaire en quelque sorte). Il permettait d'effectuer des communications beaucoup plus
rapides que le Pony Express. L'interprteur tait l'homme l'poque, il fallait toutefois une
bonne connaissance du code.
De nombreux codes furent invents dont le code d'mile Baudot (portant d'ailleurs le nom de
code Baudot, les anglais l'appelaient Murray Code).
20

Le 10 mars 1876, le Dr Graham Bell met au point le tlphone, une invention rvolutionnaire
qui permet de faire circuler de l'information vocale dans des lignes mtalliques.
Ces lignes permirent l'essor des tlescripteurs, des machines permettant de coder et dcoder
des caractres grce au code Baudot (Les caractres taient alors cods sur 5 bits, il y avait
donc 32 caractres uniquement...).
Dans les annes 60, le code ASCII (American Standard Code for Information Interchange) est
adopt comme standard. Il permet le codage de caractres sur 8 bits, soit 256 caractres
possibles.
Grce aux techniques de numrisation et de modulation autour de 1962 ainsi que de l'essor des
ordinateurs et des communications, le transfert de donnes via modem vit le jour.
Le modem est le priphrique utilis pour transfrer des informations entre plusieurs
ordinateurs (2 la base) via les lignes tlphoniques. Les ordinateurs fonctionnent de faon
digitale, ils utilisent le langage binaire (une srie de zros et de uns), mais les modems sont
analogiques. Les signaux digitaux passent d'une valeur une autre, il n'y a pas de milieu, de
moiti, c'est du Tout Ou Rien (un ou zro). L'analogique par contre n'volue pas "par pas", il
couvre toutes les valeurs. ainsi vous pouvez avoir 0, 0.1, 0.2, 0.3 ...1.0 et toutes les valeurs
intermdiaires.
Un piano par exemple marche plus ou moins de faon analogue car il n'y a pas "de pas" entre
les notes. Un violon par contre peut moduler ses notes pour passer par toutes les frquences
possibles.
Un ordinateur fonctionne comme un piano, un modem comme un violon. Le modem convertit
en analogique l'information binaire provenant de l'ordinateur. Il envoie ensuite ce nouveau code
dans la ligne tlphonique. On peut entendre des bruits bizarres si on le volume du son
provenant du modem.
Ainsi, le modem module les informations numriques en ondes analogiques; en sens inverse il
dmodule les donnes numriques.
C'est pourquoi modem est l'acronyme de MOdulateur/DEModulateur.

3.12 La carte rseau


La carte rseau est utilise dinterface physique entre lordinateur et le cble. Elle traite les
donnes mises par lordinateur, elle les transfre et contrle le flux de donnes entre
lordinateur et le cble. Elle traduit aussi les donnes venant du cble en octets de faon que
lUnit Centrale de lordinateur puisse les comprenne. Enfin, la carte rseau s'insre dans un
connecteur dextensions (slot).
3.12.1 La prparation des donnes

21

Les donnes se dplacent dans lordinateur en empruntant des chemins appels Bus .
Plusieurs chemins cte cte font que les donnes se dplacent en parallle et non en srie (les
unes la suite des autres).
Les premiers bus fonctionnaient en 8 bits (8 bits de donnes
transports la fois)
Lordinateur PC/AT dIBM introduit les premiers bus 16 bits
Aujourdhui, la majorit des bus fonctionnent en 32 bits
Toutefois sur un cble les donnes circulent en srie (un seul flux de bits), en se dplaant dans
un seul sens. Lordinateur peut envoyer OU recevoir des informations mais il ne peut pas
effectuer les deux simultanment. Ainsi, la carte rseau restructure un groupe de donnes
arrivant en parallle en donnes circulant en srie (1 bit).
Pour cela, les signaux numriques sont transforms en signaux lectriques ou optiques
susceptibles de voyager sur les cbles du rseau. Le dispositif charg de cette traduction est le
Transceiver.
3.12.2 Le rle d'identificateur

La carte traduit les donnes et indique son adresse au reste du


rseau afin de pouvoir tre distingue des autres cartes du rseau.
Adresses : dfinies par lIEEE (Institute of Electrical and Electronics
Engineer) qui attribue des plages dadresses chaque fabriquant de
cartes rseau.
Elles sont inscrites sur les puces des cartes : procdure appele
Gravure de ladresse sur la carte . Par consquent, chaque carte a
une adresse UNIQUE sur le rseau.

3.12.3 Les autres fonctions de la carte rseau


Lordinateur et la carte doivent communiquer afin que les donnes puissent passer de lun vers
lautre. Lordinateur affecte ainsi une partie de sa mmoire aux cartes munies dun Accs
Direct la Mmoire (DMA : Direct Access Memory).
La carte indique quun autre ordinateur demande des donnes lordinateur qui la contient. Le
bus de lordinateur transfre les donnes depuis la mmoire de lordinateur vers la carte rseau.
Si les donnes circulent plus vite que la carte ne peut les traiter, elles sont places dans la
mmoire tampon affecte la carte (RAM) dans laquelle elles sont stockes temporairement
pendant lmission et la rception des donnes.
3.12.4 Envoi et contrle des donnes
Avant que la carte mettrice envoie les donnes, elle dialogue lectroniquement avec la carte
rceptrice pour saccorder sur les points suivants :
Taille maximale des groupes de donnes envoyer
Volume de donnes envoyer avant confirmation
Intervalles de temps entre les transmissions partielles de donnes
Dlai dattente avant envoi de la confirmation
Quantit que chaque carte peut contenir avant dbordement
Vitesse de transmission des donnes

22

Si une carte plus rcente, donc plus perfectionne, communique avec une carte plus lente, elles
doivent trouver une vitesse de transmission commune. Certaines cartes ont des circuits leur
permettant de sadapter au dbit dune carte plus lente.
Il y a donc acceptation et ajustement des paramtres propres chacune des deux cartes avant
mission et rception des donnes.

3.13 Priphriques dentre


3.13.1 Le clavier
Le clavier est le plus important priphrique dentre de donnes. Grce lui, il est possible de
transfrer des textes ou encore de donner des ordres la machine deffectuer des oprations
particulires. De la mme faon que sur une machine crire, le clavier permet de saisir des
caractres (lettres, chiffres, symboles, ).
3.13.2 La souris
La souris permet aussi de saisir une information concernant la position du curseur sur lcran et
par consquent le choix de lutilisateur.
3.13.3 Le numriseur
Priphrique d'entre qui permet, par balayage optique, la restitution d'une image l'cran de
l'ordinateur. Le numriseur est semblable, dans sa forme, au photocopieur, avec toutefois une
importante distinction; l'image rcupre par lappareil est transmise l'ordinateur au lieu d'tre
immdiatement imprime sur du papier.

Ce priphrique permet de numriser du texte et des images, en noir et blanc ou en couleur. La


qualit dpend de la rsolution. On dfinit la rsolution par le nombre de points par pouce (ppp
ou dpi), une image tant compose dune grande quantit de points. Plus le nombre de points
est grand dans un pouce carr, plus la qualit de limage est bonne.
3.13.4 La camra numrique
Les camras numriques sont des appareils photographiques qui ne contiennent pas de film.
Les photos sont enregistres sur une petite disquette au lieu de simprgner sur une pellicule.
La photographie obtenue pourra tre visionne partir de lcran dun ordinateur, ou encore
dun tlviseur. Le grand avantage de ces nouveaux appareils est leur capacit transmettre
une photo un ordinateur, par l'intermdiaire d'un fil, pour ensuite lintgre un document.

23

Dautres avantages de la camra numrique : il n'est pas ncessaire d'acheter des pellicules et
de payer pour en faire le dveloppement. De plus, la photo transmise l'ordinateur, peut tre
retouche. Une imprimante couleur de bonne qualit procurer, par la suite, de bonnes photos
sur papier.

3.14 Priphriques de sortie


3.14.1 L'cran ou le moniteur
Nous venons de voir une srie de priphriques d'entre, voyons maintenant les priphriques
de sortie. Nous en retrouvons principalement deux, l'cran et l'imprimante
L'cran, aussi appel moniteur, affiche une image dont la nettet dpend de la rsolution. Si
l'image est compose de petits points, elle sera plus claire. Si les points sont plus gros, elle sera
par le fait mme beaucoup moins claire. Chacun de ses points s'appelle un pixel.
Les moniteurs (crans d'ordinateur) sont la plupart du temps des tubes cathodiques, c'est--dire
un tube en verre dans lequel un canon lectrons met des lectrons dirigs par un champ
magntique vers un cran sur lequel il y a de petits lments phosphorescents (luminophores)
constituant des points (pixels) mettant de la lumire lorsque les lectrons viennent les heurter.

Le champ magntique dvie les lectrons de gauche droite afin de crer un balayage, puis
vers le bas une fois arriv en bout de ligne.

Ce balayage n'est pas peru par l'oeil humain. Grce la persistance rtinienne, essayez par
exemple d'agiter votre main devant votre cran pour visualiser ce phnomne. Vous voyez
votre main en plusieurs exemplaires.
3.14.2 Le moniteur couleur

24

Un moniteur noir et blanc permet d'afficher des dgrads de couleur (niveaux de gris) en
variant l'intensit du rayon.
Pour les moniteurs couleur, trois faisceaux d'lectrons sont utiliss simultanment en visant
chacun un point d'une couleur spcifique : un rouge, un vert et un bleu (RGB : Red / Green /
Blue ou en franais RVB : Rouge / Vert / Bleu). Cependant ces luminophores sont situs de
faon tellement proche que l'oeil n'a pas un pouvoir sparateur assez fort. Il voit une couleur
compose de ces trois couleurs. Essayez de mettre une minuscule goutte d'eau sur le verre de
votre moniteur : celle-ci faisant un effet de loupe va vous faire apparatre les luminophores.

3.14.3 Les moniteurs cristaux liquides


Cette technologie est base sur un cran compos de deux plaques transparentes entre
lesquelles il y a une fine couche de liquide contenant des molcules (cristaux) capable de
s'orienter lorsqu'elles sont soumises un courant lectrique.
Le principal avantage de ce type d'cran est son encombrement rduit, d'o son utilisation sur
les ordinateurs portables.
3.14.4 Les caractristiques
Les moniteurs se caractrisent par les lments suivants :
La dfinition : Le nombre de points affich. Ce nombre de points est
actuellement compris entre 640 480 (640 points en longueur, 480
points en largeur) et 1600 1200.
La taille : Il ne faut pas confondre la dfinition de l'cran et la taille
de l'cran. En effet, un cran d'une taille donne peut afficher
diffrentes dfinitions. La taille de l'cran se calcule en mesurant la
diagonale de l'cran exprime en pouces.
La rsolution : Elle dtermine le nombre de pixels par unit de
surface (pixels par pouce carr, en anglais DPI : Dots Per Inch).
Le pas de masque : C'est la distance qui spare deux points. Plus
celle-ci est petite, plus l'image est prcise.
La frquence de balayage : C'est le nombre d'images qui sont
affiches par seconde. On l'appelle aussi rafrachissement. Elle est
exprime en hertz (Hz). Plus cette valeur est leve, meilleur est le
confort visuel (on ne voit pas l'image scintiller). Il faut donc qu'elle
soit suprieure 67 hertz (Hz). En dessous de cette limite, l'oeil
humain remarque que l'image clignote.
3.14.5 L'imprimante
Visionner son travail l'cran est utile mais le rsultat final doit souvent se retrouver sur du
papier. Il faut alors l'imprimer.
L'imprimante permet de faire une sortie imprime (sur papier) des donnes de l'ordinateur.
Il en existe plusieurs types d'imprimantes, dont les plus courantes sont :
25

l'imprimante laser;
l'imprimante jet d'encre;
l'imprimante bulles d'encre;
l'imprimante matricielle ( aiguilles);
l'imprimante marguerite.

3.14.6 L'imprimante marguerite


Les imprimantes marguerite sont bases sur le principe des machines dactylographique. Tous
les caractres sont imprims en relief sur une matrice en forme de marguerite. Pour imprimer,
un ruban imbib d'encre est plac entre la marguerite et la feuille, de telle faon que lorsque la
matrice frappe le ruban, celui-ci dpose de l'encre uniquement au niveau du relief du caractre.
Ces d'imprimantes sont devenues obsoltes, car elles sont beaucoup trop bruyantes et trs peu
rapides.
3.14.7 L'imprimante matricielle
Les imprimantes matricielles permettent d'imprimer des documents grce un va-et-vient de la
tte sur le papier. La tte est constitue de petites aiguilles propulses par des lectro-aimants
venant taper contre un ruban de carbone situ entre la tte et le papier.

Ce ruban de carbone dfile de faon ce qu'il y ait continuellement de l'encre dessus.


chaque fin de ligne un rouleau fait tourner la feuille.

Les imprimantes matricielles les plus rcentes sont quipes de ttes d'impression comportant
24 aiguilles, ce qui leur permet d'imprimer avec une rsolution de 216 points par pouce.
3.14.8 L'imprimante jet d'encre
Imprimante quipe dune tte qui projette de lencre sur la feuille de papier travers de petits
orifices.

26

La technologie du jet d'encre a t invente par Canon. Elle repose sur le principe simple, mais
efficace, qu'un fluide chauff produit des bulles. Le chercheur qui a dcouvert ce principe avait
mis accidentellement en contact une seringue remplie d'encre et un fer souder, cela cra une
bulle dans la seringue qui fit jaillir de l'encre de la seringue.
Les ttes des imprimantes actuelles sont composes de nombreuses buses (jusqu' 256)
quivalentes plusieurs seringues qui sont chauffes entre 300 et 400 C plusieurs fois par
seconde, grce une impulsion lectrique.
Chaque buse produit une bulle minuscule qui fait s'jecter une gouttelette extrmement fine. Le
vide engendr par la baisse de pression aspire une nouvelle goutte...
3.14.9 L'imprimante laser
L'imprimante laser reproduit l'aide de points l'image reue du PC. Grce au laser, les points
sont plus petits et la dfinition est meilleure.

Limprimante laser fonctionne de la faon suivante : Un ionisateur de papier charge les feuilles
positivement. Un ionisateur de tambour charge le tambour ngativement. Le laser, pour sa
part, grce un miroir qui lui permet de se placer, charge le tambour positivement en certains
points. Du coup, l'encre du toner charge ngativement se dpose sur les parties du toner ayant
t charges positivement par le laser qui viendront ensuite se dposer sur le papier.
L'imprimante laser, ne possdant pas de tte mcanique, est beaucoup plus rapide et moins
bruyante.

3.15 Programmes informatiques


Il faut bien comprendre que l'ordinateur est une machine qui traite rapidement des donnes
sous forme de mots, chiffres, dessins, musique. Mais l'ordinateur n'est pas intelligent, toutes les
oprations quil excute doivent tre consignes l'intrieur de programmes. Ce sont les
programmes informatiques, cest--dire les logiciels qui lui donnent les instructions suivre.
Ces instructions sont places sur le disque dur de lappareil, sur une disquette, un disque
compact ou un DVD.

3.16 Les liaisons


3.17 La connexion par la ligne tlphonique
Une ligne tlphonique est conue pour fonctionner avec un tlphone, c'est pour cela qu'un
modem a besoin d'tablir une communication avec un ordinateur distant grce un numro de
tlphone avant de pouvoir changer des informations. On appelle protocole le langage utilis
par les ordinateurs pour communiquer entre eux.
27

3.17.1 Les modems 56 Kbit/s


La compagnie Rockwell a prsent une nouvelle norme : la norme K56flex. Cette norme se
pose comme alternative la technologie X2 d'US ROBOTICS. Elle permet d'obtenir des dbits
de l'ordre de 56Kb/s sur une liaison asynchrone. Elle se diffrencie par l'encodage et le serveur.
Le dbit moyen est de 50 Kbps mais la socit compte bien arriver des taux de l'ordre de 110
puis 230 Kbps pour les donnes offrant un fort taux de compression. Au dpart les deux
normes taient senses pouvoir voluer.
Depuis 1998 les normes ont t fixes. Ainsi, les modems offrent pour la plupart un bios
"flashable" (c'est--dire un modem que l'on peut faire voluer). Grce la norme V90, les
modems 56 Kbps devraient maintenant tre compatibles entre eux.
3.17.2 Prsentation du RNIS
Le Numris est le rseau tlphonique de France Tlcom bas sur la technologie RNIS
("Rseau Numrique Intgration de Services", en anglais ISDN).
Ce rseau est conu pour transporter la voix, des donnes (un avantage entre autres est de
pouvoir connatre le numro de l'appelant, des images, des fax ... D'autre part, la fiabilit et le
confort sont incomparable au rseau tlphonique
Depuis novembre 1995, France Tlcom a align la tarification Numris sur celles des
communications normales. Cependant seules les entreprises semblent avoir accs cette
tarification.
3.17.3 Fonctionnement du RNIS
Il faut avoir un adaptateur pour se connecter sur le rseau Numris. Le dbit est de 64 Kbps
(128 en utilisant deux canaux) au lieu de 56 Kbps avec les modems les plus rapides.

3.18 Les lignes spcialises


Ce sont des lignes loues qui permettent la transmission de donnes moyens et hauts dbits
(2,4 Kbps 140 Mbps) en liaison point point ou multipoints (service Transfix).
Les 3 lignes les plus rpandues sont les T1 (1.5Mbps), les T2 (6 Mbps), et les T3 (45Mbps). Il
existe aussi des lignes nettement plus rapides : ce sont les E1 (2Mbps), E2 (8Mbps), E3
(34Mbps), et E4 (140Mbps) qui sont inaccessibles pour les particuliers.
3.18.1 Quel est le besoin d'une ligne spcialise?
Pour obtenir une connexion Internet, il faut, en rgle gnrale,payer un abonnement auprs
d'un prestataire Internet ou un service en ligne. Le prix de cette connexion dpend de la vitesse
de transfert des donnes. Il faut choisir celle-ci en fonction du volume de frquentation du site
Web.
3.18.2 Le prix d'une ligne spcialise
Un site Web ayant une forte frquentation (environ 10 000 accs par jour soit 50 Mo par jour
en moyenne)ncessite une connexion T1 (1.5 Mbps),
Un site moyen (2000 accs par jour) ne ncessite qu'une connexion 56 Kbps.
Pour les particuliers, il faut de prfrence une connexion par cble
3.18.3 La liaison Internet par cble
28

Les liaisons Internet par cble vous permettent de rester connect Internet de faon
permanente. Il n'y a plus besoin d'attendre que la connexion s'tablisse avec le prestataire, car
la connexion avec ce dernier est directe.
3.18.4 Les avantages

On ne paye pas la connexion la minute mais au mois, d'o un cot


rduit
La vitesse est largement suprieure celle d'un modem ...

3.18.5 Le matriel ncessaire une liaison par cble


Pour accder cette technologie il est ncessaire d'avoir :
Le cble
Un fournisseur d'accs par ce cble
Un modem-cble

Un modem-cble est un appareil qui permet d'accder Internet via le rseau de


cblodistribution.
Il possde deux types de connexions : une connexion de type coaxial (vers le cble), une
connexion de type Ethernet RJ45 (vers la carte rseau de l'ordinateur).
Des vitesses de 10Mbps peuvent tre thoriquement atteinte, cependant cette bande passante
est partage suivant l'arborescence qui vous relie l'oprateur, ainsi il se peut que vous
partagiez (et c'est probablement le cas) votre bande-passante avec toutes les personnes de
votre immeuble, c'est--dire que si tous vos voisins tlchargent des vidos, les performances
ne seront pas au rendez-vous ...
3.18.6 L'ADSL
L'ADSL (Asymetrical Digital Subscriber Line) est une technologie de liaison Internet (un peu
comme avec un modem standard) dont le dbit se situe entre les dbits de la ligne de type
Numris et du cble.
Le problme de l'internaute est le taux de transfert des donnes entre son modem et le central
tlphonique. Cette jonction est constitue de fils de cuivre dont on a toujours pens qu'ils ne
pouvaient pas supporter des vitesses de communication de plus de 10 Kb par seconde.

29

En fait, le rseau tlphonique a t conu la base pour transporter des voix, c'est--dire que
les infrastructures tlphoniques taient conues pour utiliser une bande passante de l'ordre de
3,3 Khz.
Pourtant, ces lignes peuvent supporter physiquement des bandes passantes allant jusqu' 1
Mhz. Il est donc possible, en utilisant les lignes de tlphone, d'optimiser les taux de transfert.
Ceux-ci sont fonction de la distance entre l'utilisateur et le central tlphonique, et peuvent
s'chelonner entre 1,5 Mbit/s et 10 Mbit/s, offrant des possibilits beaucoup plus grandes que
les possibilits actuelles (64 Kbit/s 128 Kbit/s pour les lignes tlphoniques.
Type de liaison
Taux de transfert thorique
Modem
33.6 Kbit/s
RNIS
64 ou 128 Kbit/s
ADSL
1,5 10 Mbit/s en rception 640 Kbit/s en mission
Cble
de 500 Kbit/s 10 Mbit/s
Il existe diffrentes technologies bases sur ce principe, elles sont nommes "xDSL"
(ADSL,HDSL, SDSL et VDSL); Elles correspondent chacune une utilisation particulire.
C'est l'ADSL qui semble tre la plus au point commercialement.
3.18.7 ADSL
Bande haute (1 Mhz) Canal descendant - 8 Mbit/s
Bande mdiane (500 khz)
Canal bidirectionnel
Bande basse Tlphonie (0 4 Khz)- RNIS (0 80 Khz)
3.18.8 La fibre optique
Elle permet de transfrer des informations 100 Mbps, cependant elle cote trs cher et le
transfert de voix est difficile, ainsi elle se limite des rseaux locaux internes aux entreprises.
3.18.9 Le satellite

Effectivement les liaisons satellites sont trs rapides, cependant elles sont dans un seul sens
(rception), ainsi lorsque l'on veut aller sur un site on ne peut pas en donner l'ordre ... La
solution est simple, un modem sur une ligne tlphonique suffit pour envoyer ces informations.
La socit Hugues offre dj un service Internet par satellite, Canal Satellite et TPS sont dj
sur les rangs pour un Internet destin au grand public.
Le tlchargement de donnes s'effectue actuellement un taux de transfert de 400Kbps.
3.18.10 Les ondes hertziennes

30

Lorsque la construction d'un rseau cbl est trop cher, qu'une zone d'ombre gne le satellite,
le MMDS se rvle tre une solution idale. Il permet de fournir un accs pour une petite ville.
Le rseau hertzien est cependant trop encombr pour une couverture nationale.
3.18.11 Le rseau lectrique
Une compagnie de tlphone canadienne (Northern Telecom) prtend avoir dcouvert un
nouveau moyen d'accder Internet via les lignes lectriques.
3.18.12 Le rseau Ethernet
Ethernet (aussi connu sous le nom de norme IEEE 802.3) est une technologie de rseau local
bas sur le principe que toutes les machines du rseau Ethernet sont connectes une mme
ligne de communication, constitue de cbles cylindriques. On distingue diffrentes variantes
de technologies Ethernet suivant le diamtre des cbles utiliss :
10Base-2 : Le cble utilis est un cble coaxial de faible diamtre
10Base-5 : Le cble utilis est un cble coaxial de gros diamtre
10Base-T : Le cble utilis est une paire torsade, le dbit atteint est
d'environ 10Mbps
100Base-TX : Comme 10Base-T mais avec une vitesse de
transmission beaucoup plus importante (100Mbps)
3.18.12.1.1.1.1.1.1 Tech 3.18.12.1.1.1.1.1.2 Type de cble

3.18.12.1.1.1.1.1.33.18.12.1.1.1.1.1.4

nolog
ie

10 Base-2

Cble coaxial de faible diamtre

10 Mb/s

185 m

10 Base-5

Cble coaxial de gros diamtre (0.4 inch)

10 Mb/s

500 m

10 Base-T

Double paire torsade

10 Mb/s

100 m

100 Base-TX

Double paire torsade

100 Mb/s

100 m

1000 Base-SX

Fibre optique

1000 Mb/s

500 m

Ethernet est une technologie de rseau trs utilise car le prix de revient d'un tel rseau n'est
pas trs lev
Principe de transmission :
Tous les ordinateurs d'un rseau Ethernet sont relis une mme ligne de transmission, et la
communication se fait l'aide d'un protocole appel CSMA/CD (Carrier Sense Multiple Access
with Collision Detect ce qui signifie qu'il s'agit d'un protocole d'accs multiple avec
surveillance de porteuse (Carrier Sense) et dtection de collision).

31

Avec ce protocole toute machine est autorise mettre sur la ligne n'importe quel moment
et sans notion de priorit entre les machines. Cette communication se fait de faon simple :
Chaque machine vrifie qu'il n'y a aucune communication sur la ligne
avant d'mettre
Si deux machines mettent simultanment, alors il y a collision
(c'est--dire que plusieurs trames de donnes se trouvent sur la ligne
au mme moment)
Les deux machines interrompent leur communication et attendent un
dlai alatoire, puis la premire ayant pass ce dlai peut alors
rmettre
Ce principe est bas sur plusieurs contraintes :
Les paquets de donnes doivent avoir une taille maximale
il doit y avoir un temps d'attente entre deux transmissions
Le temps d'attente varie selon la frquence des collisions :
Aprs la premire collision une machine attend une unit de temps
Aprs la seconde collision la machine attend deux units de temps
Aprs la troisime collision la machine attend quatre units de temps
... avec bien entendu un petit temps supplmentaire alatoire

32

4 Les processus
4.1 Structure des processus
4.1.1 Gnralits
Les processus correspondent lexcution de tches : les programmes des
utilisateurs, les entres-sorties par le systme. Un systme dexploitation doit en
gnral traiter plusieurs tches en mme temps. Comme il na, la plupart du temps,
quun processeur, il rsout ce problme grce un pseudo-paralllisme. Il traite une
tche la fois, sinterrompt et passe la suivante. La commutation des tches tant trs
rapide, lordinateur donne lillusion deffectuer un traitement simultan.

P2
P1
systme

Figure 1 Le multi-tche

Les processus des utilisateurs sont lancs par un interprte de commande. Ils
peuvent eux-mmes lancer ensuite dautres processus. On appelle le processus
crateur, le pre, et les processus crs, les fils. Les processus peuvent donc se
structurer sous la forme dune arborescence. Au lancement du systme, il nexiste
quun seul processus, qui est lanctre de tout les autres.

33

P1

P2

P3

P4

P5

P6

Figure 2 La hirarchie des processus.

Les processus sont composs dun espace de travail en mmoire form de 3


segments : la pile, les donnes et le code et dun contexte.

Pile d'excution

Donnes
Code

Figure 3 Les segments dun processus.

Le code correspond aux instructions, en langage dassemblage, du programme


excuter. La zone de donnes contient les variables globales ou statiques du
programme ainsi que les allocations dynamiques de mmoire. Enfin, les appels de
fonctions, avec leurs paramtres et leurs variables locales, viennent sempiler sur la
pile. Les zones de pile et de donnes ont des frontires mobiles qui croissent en sens
inverse lors de lexcution du programme. Parfois, on partage la zone de donnes en
donnes elles-mmes et en tas. Le tas est alors rserv aux donnes dynamiques.
Le contexte est form des donnes ncessaires la gestion des processus. Une table
contient la liste de tous les processus et chaque entre conserve leur contexte1. Les

Bach, op. cit., p. 158, et Tanenbaum, op. cit., p. 60.

34

lments de la table des processus de Minix, par exemple, ont la forme simplifie du
tableau ci-dessous.

Processus
Registres
Compteur ordinal
tat du programme
Pointeur de pile

Mmoire
Fichiers
Pointeur sur code
Masque umask
Pointeur sur donnes
Rpertoire racine
Pointeur sur pile
Rpertoire de travail
Statut
de
fin
Descripteurs
de
dexcution
fichiers
Date de cration
N de signal du proc.
uid effectif
tu
Temps CP utilis
PID
gid effectif
Temps CP des fils
Processus pre
Date de la proch.
Groupe de processus
alarme
Pointeurs sur messages
uid rel
Bits signaux en attente
uid effectif
PID
gid rel
gid effectif
Bits des signaux
Tableau 1 Les lments du contexte de Minix.

Le nombre des emplacements dans la table des processus est limit pour chaque
systme et pour chaque utilisateur.
La commutation des tches, le passage dune tche une autre, est ralise par un
ordonnanceur au niveau le plus bas du systme. Cet ordonnanceur est activ par des
interruptions dhorloge, de disque, de terminaux.
Un processus peut tre actif en mmoire centrale (lu) ou suspendu en attente
dexcution (Prt). Il peut aussi tre Bloqu, en attente de ressource, par exemple au
cours dune lecture de disque. Le diagramme simplifi des tats dun processus est
donc :

lu

Prt

Bloqu

35

Figure 4 Les tats dun processus.

Le processus passe de ltat lu ltat prt et rciproquement au cours dune


intervention de lordonnanceur. Cet ordonnanceur se dclenchant, par exemple, sur
une interruption dhorloge. Il pourra alors suspendre le processus en cours, sil a
dpass son quantum de temps, pour lire lun des processus prts. La transition de
ltat lu ltat bloqu se produit, par exemple, loccasion dune lecture sur disque.
Ce processus passera de ltat bloqu ltat prt lors de la rponse du disque. Ce
passage correspond dune manire gnrale la libration dune ressource.
En fait, sous Unix, lexcution dun processus se fait sous deux modes, le mode
utilisateur et le mode noyau. Le mode noyau correspond aux appels au code du
noyau : write, read, Le mode utilisateur correspond aux autres instructions. Un
processus en mode noyau ne peut tre suspendu par lordonnanceur.
Un processus en mode noyau ne peut tre suspendu par lordonnanceur. Il passe
ltat prempt la fin de son excution dans ce mode moins dtre bloqu ou
dtruit . Cet tat est virtuellement le mme que prt en mmoire.
Par ailleurs, lorsque la mmoire ne peut contenir tous les processus prts, un certain
nombre dentre eux sont dplacs sur le disque. Un processus peut alors tre prt en
mmoire ou prt sur le disque. De la mme manire, on a des processus bloqus en
mmoire ou bien bloqus sur disque.
Enfin, les processus termins ne sont pas immdiatement limins de la tables des
processus ils ne le sont que par une instruction explicite de leur pre . Ceci
correspond ltat dfunt.
Les tats dun processus Unix2 sont alors :

2Bach,

op.cit., p. 156.

36

Excution
en mode
utilisateur
dfunt

Appel
systme

Exit

Interruption

prempt

Excution
en mode
noyau

Bloqu en
mmoire

Prt en
mmoire

Cration

Prt sur
disque

Bloqu sur
disque

Figure 5 Les tats des processus dUnix.

4.1.2 Les processus sous Unix


4.1.2.1 Les fonctions fondamentales
Un processus peut se dupliquer et donc ajouter un nouveau processus par la
fonction : fork(void)qui retourne -1 en cas dchec. En cas de russite, la fonction
retourne 0 dans le processus fils et le n du processus fils Process Identifier ou PID
dans le pre. Cette fonction transmet une partie du contexte du pre au fils : les
descripteurs des fichiers standards et des autres fichiers, les redirections Les deux
programmes sont sensibles aux mmes interruptions. lissue dun fork() les deux
processus sexcutent simultanment.
La cration dun nouveau processus ne peut se faire que par le recouvrement du
code dun processus existant grce la fonction :
int execl(char *ref, char *arg0, char *argn, 0)
ref est une chane de caractres donnant ladresse du nouveau programme
substituer et excuter. arg0, arg1, , argn sont les arguments du programme. Le
premier argument, arg0, reprend en fait le nom du programme.

37

Les fonctions execle() et execlp() ont des arguments et des effets semblables.
Elles transmettent en plus respectivement la variable chemin (PATH) ou les variables
denvironnement au complet.
Les fonctions int execv(char *ref, char *argv[]) ainsi que execve()
et execvp() sont des variantes analogues. Les paramtres du programme lancer
sont transmis dans le tableau de chanes : argv[][]. Ce tableau est semblable aux
paramtres de la fonction principale dun programme C : main(int argc, char
**argv).
Ces fonctions rendent -1 en cas dchec. Par exemple :
void main()
{ execl("/bin/ls", "ls", "-l", (char *) 0);
/* avec execlp, le premier argument peut ntre que ls et
non /bin/ls */
printf("pas dimpression\n");
}
La cration dun nouveau processus loccupation dun nouvel emplacement de la
table des processus implique donc la duplication dun processus existant. Ce dernier
sera le pre. On substituera ensuite le code du fils par le code quon dsire excuter.
Au dpart, le processus initial lance tous les processus utiles au systme.
Un processus se termine lorsquil na plus dinstructions ou lorsquil excute la
fonction :
void exit(int statut)
Llimination dun processus termin de la table ne peut se faire que par son pre,
grce la fonction :
int wait(int *code_de_sortie)
Avec cette instruction, le pre se bloque en attente de la fin dun fils. Elle rendra le
n PID du premier fils mort trouv. La valeur du code de sortie est relie au paramtre
dexit de ce fils. On peut donc utiliser linstruction wait pour connatre la valeur
ventuelle de retour, fournie par exit(), dun processus. Ce mode dutilisation est
analogue celui dune fonction. wait() rend -1 en cas derreur.

38

Si le fils se termine sans que son pre lattende, le fils passe ltat defunct dans
la table. Si, au contraire, le pre se termine avant le fils, ce dernier est rattach au
processus initial. Le processus initial passe la plupart de son temps attendre les
processus orphelins.
Grce aux 3 instructions, fork(), exec(), et wait(), on peut crire un
interprte de commandes simplifi. Il prend la forme suivante :
while(1) {/* attend commande */
lire_commande(commande, paramtres);
if (fork() != 0) {
wait(&statut);

/* proc. pre */

} else {
execv(commande, paramtres); /* proc. fils */
}
}
Les fonctions Unix rendent -1 en cas derreur. Dans ce cas, elles positionnent la
variable entire globale errno. On peut imprimer cette valeur derreur et constater la
cause qui est dcrite dans le fichier errno.h. On peut aussi imprimer le texte en clair
avec la fonction perror(char*). Dans le cas dune programmation professionnelle,
il est indispensable de vrifier la valeur de retour de toutes les fonctions faisant appel
au systme et de se protger des erreurs par un codage du type :
if ((retour = fonction()) == -1) {
perror("plantage");
exit(0);
}
4.1.2.2 Les signaux
Linstruction : int kill(int pid, int signal)
permet un processus denvoyer un signal un autre processus. pid est le n du
processus dtruire et signal, le n du signal employ. La fonction kill
correspond des interruptions logicielles.
Par dfaut, un signal provoque la destruction du processus rcepteur, condition
bien sr, que le processus metteur possde ce droit de destruction.
La liste des valeurs de signal comprend, entre autres :
39

Nom

du

signal

du

Commentaires

signal

SIGUP

signal mis lors dune dconnexion

SIGINT

^C

SIGQUIT

^\

SIGKILL

signal dinterruption radicale

SIGALRM

14

signal mis par alarm(int sec) au bout de sec


secondes

SIGCLD

20

signal mis par un fils qui se termine, son pre


Tableau 2 Quelques signaux dUnix.

Les valeurs des signaux dpendent de limplantation. La liste complte est dfinie
par des macros dans signal.h
kill() rend 0 en cas de succs et -1 en cas dchec.
Un processus peut dtourner les signaux reus et modifier son comportement par
lappel

de

la

fonction :

void

(*signal(int

signal,

void

(*fonction)(int)))
avec fonction pouvant prendre les valeurs:
Nom

Action

SIG_IGN

le processus ignorera linterruption correspondante

SIG_DFL

le processus rtablira son comportement par dfaut lors


de larrive de linterruption (la terminaison)

void fonction(int

Le

n)

lutilisateur, larrive de linterruption n. Il reprendra

processus

excutera

fonction,

dfinie

par

ensuite au point o il a t interrompu


Tableau 3 Les routines d'interruption dUnix.

Lappel de la fonction signal positionne ltat des bits de signaux dans la table
des processus.
Par ailleurs, la fonction signal(SIGCLD, SIG_IGN), permet un pre dignorer
le retour de ses fils sans que ces derniers encombrent la table des processus ltat
defunct.

40

4.1.2.3 Quelques fonctions didentification dUnix


La commande Unix ps -ef, donne la liste des processus en activit sur le
systme. Chaque processus possde un identificateur et un groupe. On les obtient par
les fonctions :
int getpid(void)et
int getpgrp(void)
Les fils hritent du groupe de processus du pre. On peut changer ce groupe par la
fonction :
int setpgrp(void)
Chaque processus possde, dautre part, un utilisateur rel et effectif. On les obtient
respectivement par les fonctions :
int getuid(void)et
int geteuid(void)
Lutilisateur rel est lutilisateur ayant lanc le processus. Le numro dutilisateur
effectif sera utilis pour vrifier certains droits daccs (fichiers et envoi de signaux). Il
correspond normalement au numro dutilisateur rel. On peut cependant positionner
lutilisateur effectif dun processus au propritaire du fichier excutable. Ce fichier
sexcutera alors avec les droits du propritaire et non avec les droits de celui qui la
lanc. La fonction :
int setuid(int euid)
permet de commuter ces numros dutilisateur de lun lautre : rel effectif et viceversa. Elle rend 0 en cas de succs.

4.2 Communication entre les processus


Les processus peuvent communiquer par lintermdiaire de fichiers. Nanmoins,
certains

systmes

dexploitation

fournissent

des

mcanismes

permettant

les

communications directes.
Linterprte de commandes Unix utilise le signe | quil relie lappel systme
pipe(). Il permet deux processus de sexcuter en mme temps. Le premier
fournissant des donnes que le second exploite au fur et mesure de leur production.
4.2.1 Les tubes de communication avec Unix
41

Le systme Unix offre des primitives qui permettent de synchroniser facilement des
processus lecteurs et crivains dans un tampon sans passer par des smaphores.
Lappel de la fonction du noyau pipe() cre un tampon de donnes, un tube, dans
lequel deux processus pourront venir respectivement lire et crire. La fonction fournit,
dautre part, deux descripteurs, analogues aux descripteurs de fichiers, qui serviront de
rfrence pour les oprations de lecture et dcriture. Le systme ralise la
synchronisation de ces oprations de manire interne.
Les deux processus communicants doivent partager les mmes descripteurs obtenus
par pipe(). Il est donc commode quils aient un anctre commun car les descripteurs
de fichiers sont hrits. Dans lexemple suivant, deux processus, un pre et un fils
communiquent par lintermdiaire dun tube. Le pre crit les lettres de lalphabet que
lit le fils :
4.2.2 Les messages
Les messages forment un mode de communication privilgi entre les processus. Ils
sont utiliss dans le systme pdagogique Minix de Tanenbaum. Ils sont au cur de
Mach quon prsente comme un successeur possible dUnix et qui a inspir Windows
NT pour certaines parties. Par ailleurs, ils sadaptent trs bien une architecture
rpartie et leur mode de fonctionnement est voisin des changes de donnes sur un
rseau.
Les communications de messages se font travers deux oprations fondamentales :
envoie(message) et reois(message). (send et receive). Les messages sont
de tailles variables ou fixes. Les oprations denvoi et de rception peuvent tre soit
directes entre les processus, soit indirectes par lintermdiaire dune bote aux lettres.
Les communications directes doivent identifier le processus, par un n et une
machine,

par

exemple.

On

aura

alors :

envoie(Proc,

Message)

et

reois(Proc, Message). Dans ce cas la communication est tablie entre deux


processus uniquement, par un lien relativement rigide et bidirectionnel. On peut
rendre les liaisons plus souples en laissant vide lidentit du processus dans la fonction
reois.
Les communications peuvent tre indirectes grce lutilisation dune bote aux
lettres (un port dans la terminologie des rseaux). Les liens peuvent alors unir plus
de deux processus du moment quils partagent la mme bote aux lettres. On devra
42

nanmoins rsoudre un certain nombre de problmes qui peuvent se poser, par


exemple, si deux processus essayent de recevoir simultanment le contenu dune
mme bote.
Les communications se font de manire synchrone ou asynchrone. Le synchronisme
peut se reprsenter par la capacit dun tampon de rception. Si le tampon na pas de
capacit, lmetteur doit attendre que le rcepteur lise le message pour pouvoir
continuer. Les deux processus se synchronisent sur ce transfert et on parle alors dun
rendez-vous . Deux processus asynchrones : P et Q, peuvent aussi communiquer de
cette manire en mettant en uvre un mcanisme dacquittement :
P

envoie(Q, message)

reois(P, message)

reois(Q, message)

envoie(P, acquittement)

Tableau 4 Les fonctions de messages.

4.2.3 La mmoire partage


On peut concevoir des applications qui communiquent travers un segment de
mmoire partage. Le principe est le mme que pour un change dinformations entre
deux processus par un fichier. Dans le cas dune zone de mmoire partage, on devra
dclarer une zone commune par une fonction spcifique, car la zone mmoire dun
processus est protge.
Le systme Unix fournit les primitives permettant de partager la mmoire. NT aussi
sous le nom de fichiers mapps en mmoire. Ces mcanismes, bien que trs rapides,
prsentent linconvnient dtre difficilement adaptables aux rseaux. Pour les
communications locales, la vitesse est sans doute semblable celle de la
communication par un fichier cause de la mmoire cache. Lorsquil a besoin de
partager un espace mmoire, le programmeur prfrera utiliser des fils dexcution.

4.3 Ordonnancement
Lordonnancement rgle les transitions dun tat un autre des diffrents processus.
Cet ordonnancement a pour objectifs de :
1. Maximiser lutilisation du processeur;

43

2. tre quitable entre les diffrents processus;


3. Prsenter un temps de rponse acceptable;
4. Avoir un bon rendement;
5. Assurer certaines priorits.
4.3.1 Le tourniquet
Cet algorithme est lun des plus utiliss et lun des plus fiables. Chaque processus
prt dispose dun quantum de temps pendant lequel il sexcute. Lorsquil a puis ce
temps ou quil se bloque, par exemple sur une entre-sortie, le processus suivant de la
file dattente est lu et le remplace. Le processus suspendu est mis en queue du
tourniquet.
Le seul paramtre important rgler, pour le tourniquet, est la dure du quantum. Il
doit minimiser le temps de gestion du systme et cependant tre acceptable pour les
utilisateurs. La part de gestion du systme correspond au rapport de la dure de
commutation sur la dure du quantum. Plus le quantum est long plus cette part est
faible, mais plus les utilisateurs attendent longtemps leur tour. Un compromis peut se
situer, suivant les machines, de 100 200 ms.
4.3.2 Les priorits
Dans lalgorithme du tourniquet, les quanta gaux rendent les diffrents processus
gaux. Il est parfois ncessaire de privilgier certains processus par rapport dautres.
Lalgorithme de priorit choisit le processus prt de plus haute priorit.
Ces priorits peuvent tre statiques ou dynamiques. Les processus du systme
auront des priorits statiques (non-modifiables) fortes. Les processus des utilisateurs
verront leurs priorits modifies, au cours de leur excution, par lordonnanceur. Ainsi
un processus qui vient de sexcuter verra sa priorit baisser. Pour un exemple
dexcution avec priorits, on pourra consulter Bach3.
4.3.3 Le tourniquet avec priorits

op. cit., p. 267-270.

44

On utilise gnralement une combinaison des deux techniques prcdentes.


chaque niveau de priorit correspond un tourniquet. Lordonnanceur choisit le
tourniquet non vide de priorit la plus forte et lexcute.
Pour que tous les processus puissent sexcuter, il est ncessaire dajuster
priodiquement les diffrentes priorits.
4.3.4 Lordonnancement des fils dexcution
Les fils dexcution sont soumis un ordonnancement. Dans Windows NT, les fils
dexcution ont 32 niveaux de priorit qui sont soit fixes soit dynamiques. La priorit
la plus haute est toujours celle qui sexcute. Dans le cas dune priorit dynamique, les
valeurs de cette priorit varient entre deux bornes. Elle augmente, par exemple, lors
dune attente dentre-sortie. On peut changer la priorit des fils dexcution dans
Windows NT.

45

5 La mmoire
5.1 Introduction
La mmoire principale est le lieu o se trouvent les programmes et les donnes
quand le processeur les excute. On loppose au concept de mmoire secondaire,
reprsente par les disques, de plus grande capacit, o les processus peuvent
sjourner avant dtre excuts.
De manire encore plus vive que pour les autres ressources informatiques, le prix
des mmoires a baiss et la capacit unitaire des circuits a augment. Cependant la
ncessit de la grer de manire optimale est toujours fondamentale, car en dpit de
sa grande disponibilit, elle nest, en gnral, jamais suffisante. Ceci en raison de la
taille continuellement grandissante des programmes.
5.1.1 La multiprogrammation
Le concept de multiprogrammation soppose celui de monoprogrammation. La
monoprogrammation ne permet qu un seul processus utilisateur dtre excut. Cette
technique nest plus utilise que dans les micro-ordinateurs. On trouve alors en
mmoire, par exemple dans le cas de MS-DOS : le systme en mmoire basse, les
pilotes de priphriques en mmoire haute (dans une zone allant de 640 ko 1 Mo) et
un programme utilisateur entre les deux.
Pilotes en ROM (BIOS)
Programme utilisateur
(RAM)

Systme (RAM)
Figure 6 Lorganisation de la mmoire du DOS.

46

La multiprogrammation autorise lexcution de plusieurs processus indpendant la


fois4. Cette technique permet doptimiser le taux dutilisation du processeur en
rduisant notamment les attentes sur des entres-sorties. La multiprogrammation
implique le sjour de plusieurs programmes en mme temps en mmoire et cest cette
technique qui a donn naissance la gestion moderne de la mmoire.
5.1.2 Les registres matriels
La gestion de la mmoire est presque impossible sans laide du matriel. Celui-ci
doit notamment assurer la protection. Dans les systmes multi-utilisateurs, par
exemple, on doit interdire un utilisateur daccder nimporte comment au noyau du
systme ou aux autres programmes des utilisateurs.
Pour assurer une protection fondamentale, on dispose, sur la plupart des
processeurs5, de deux registres dlimitant le domaine dun processus : le registre de
base et le registre de limite. La protection est alors assure par le matriel qui compare
les adresses mises par le processus ces deux registres.

5.2 Concepts fondamentaux


5.2.1 Production dun programme
Avant dtre excut, un programme doit passer par plusieurs tapes. Au dbut, le
programmeur cre un fichier et crit son programme dans un langage source, le C par
exemple. Un compilateur transforme ce programme en un module objet. Le module
objet reprsente la traduction des instructions en C, en langage machine. Le code
produit est en gnral relogeable, commenant ladresse 00000 et pouvant se
translater nimporte quel endroit de la mmoire en lui donnant comme rfrence
initiale le registre de base. Les adresses reprsentent alors le dcalage par rapport ce
registre.
5.2.2 Principes de gestion

Il est noter que MS-DOS, bien quil ne soit pas multiprogrammable, nest pas non plus un
systme monoprogramm stricto sensu; cest une crature qui tient des deux.
5

Malheureusement pas sur le 8086 ce qui a eu des consquences considrables sur les systmes
DOS et Windows.

47

Pour effectuer le chargement, le systme alloue un espace de mmoire libre et il y


place le processus. Il librera cet emplacement une fois le programme termin.
Dans beaucoup de cas, il nest pas possible de faire tenir tous les programmes
ensemble en mmoire. Parfois mme, la taille dun seul programme est trop
importante. Le programmeur peut, dans ce cas, mettre en uvre une stratgie de
recouvrement (overlay) consistant dcouper un programme important en modules et
charger ces modules quand ils sont ncessaires. Ceci est cependant trs fastidieux et
ncessite, pour chaque nouveau programme, un redcoupage.
Les systmes dexploitation modernes mettent en uvre des stratgies qui librent
le programmeur de ces proccupations. Il existe deux stratgies principales pour grer
les chargements : le va-et-vient et la mmoire virtuelle.

5.3 Lallocation
Avant dimplanter une technique de gestion de la mmoire centrale par va-et-vient,
il est ncessaire de connatre son tat : les zones libres et occupes; de disposer dune
stratgie dallocation et enfin de procdures de libration. Les techniques que nous
allons dcrire servent de base au va-et-vient; on les met aussi en uvre dans le cas de
la multiprogrammation simple o plusieurs processus sont chargs en mmoire et
conservs jusqu la fin de leur excution.
5.3.1 tat de la mmoire
Le systme garde la trace des emplacements occups de la mmoire par
lintermdiaire dune table de bits ou bien dune liste chane. La mmoire tant
dcoupe en units, en blocs, dallocation.
5.3.1.1 Tables de bits
On peut conserver ltat des blocs de mmoire grce une table de bits. Les units
libres tant notes par 0 et ceux occupes par un 1. (ou linverse).

0
Figure 7

48

La technique des tables de bits est simple implanter, mais elle est peu utilise. On
peut faire la remarque suivante : plus lunit dallocation est petite, moins on a de
pertes lors des allocations, mais en revanche, plus cette table occupe de place en
mmoire.
5.3.1.2 Listes chanes
On peut reprsenter la mmoire par une liste chane de structures dont les
membres sont : le type (libre ou occup), ladresse de dbut, la longueur, et un
pointeur sur llment suivant.
Pour une mmoire ayant ltat suivant :
0

10

15

20

Figure 8

on aurait la liste :
L

0
5

Figure 9

On peut lgrement modifier ce schma en prenant deux listes : lune pour les
processus et lautre pour les zones libres. La liste des blocs libres peut elle-mme se
reprsenter en rservant quelques octets de chaque bloc libre pour contenir un
pointeur sur le bloc libre suivant.
Le systme MS-DOS utilise une variante de ce procd grce un en-tte de 16
octets qui prcde chaque zone (arne) en mmoire. Les en-ttes contiennent
notamment le type de larne (un pointeur sur le contexte du processus6 ou 0) et sa
taille.
5.3.2 Politiques dallocation

Program Segment Prefix ou PSP.

49

Lallocation dun espace libre pour un processus peut se faire suivant trois stratgies
principales : le premier ajustement (first fit), le meilleur ajustement (best fit), et le
pire ajustement (worst fit).
Dans le cas du premier ajustement , on prend le premier bloc libre de la liste qui
peut contenir le processus quon dsire charger. Le meilleur ajustement tente
dallouer au processus lespace mmoire le plus petit qui puisse le contenir. Le pire
ajustement lui prend le plus grand bloc disponible et le fragmente en deux.
Des simulations ont montr que le premier ajustement tait meilleur que les
autres. Paradoxalement, le meilleur ajustement , qui est plus coteux, nest pas
optimal car il produit une fragmentation importante.
5.3.3 Libration
La libration se produit quand un processus est vacu de la mmoire. On marque
alors le bloc libre et on le fusionne ventuellement avec des blocs adjacents.
Supposons que X soit le bloc qui se libre, on a les schmas de fusion suivants :
Avant

Aprs

L
Figure 10

5.3.4 La rcupration de mmoire


La fragmentation de la mmoire est particulirement dommageable car elle peut
saturer lespace disponible rapidement. Ceci est particulirement vrai pour les
gestionnaires de fentrage. Pour la diminuer, on peut compacter rgulirement la
50

mmoire. Pour cela, on dplace les processus, par exemple, vers la bas de la mmoire
et on les range lun aprs lautre de manire contigu. On construit alors un seul bloc
libre dans le haut de la mmoire. Cette opration est coteuse et ncessite parfois des
circuits spciaux.
Par ailleurs, une fois quun objet ou une zone a t utilis, le programmeur systme
doit rcupre la mmoire la main par une libration du pointeur sur cette zone
free(). Ceci est une source derreurs car on oublie parfois cette opration. Si on
alloue dans une fonction, il ny a plus moyen daccder au pointeur aprs le retour de
la fonction. Le bloc de mmoire est alors perdu et inutilisable. On a une fuite de
mmoire memory leak.
Certains langages ou systmes incorporent la rcupration automatique de mmoire
garbage collection. Ils librent ainsi le programmeur de cette tche. Cest le cas de
Java. Il est alors trs facile dliminer immdiatement une zone par laffectation objet
= null. Sans a, le rcuprateur doit dterminer tout seul quune zone na plus de
rfrence dans la suite du programme.

5.4 Le va-et-vient
Le va-et-vient est mis en uvre lorsque tous les processus ne peuvent pas tenir
simultanment en mmoire. On doit alors en dplacer temporairement certains sur une
mmoire provisoire, en gnral, une partie rserve du disque (swap area ou backing
store).
Sur le disque, la zone de va-et-vient dun processus peut tre alloue la demande
dans la zone de va-et-vient gnrale (swap area). Quand un processus est dcharg de
la mmoire centrale, on lui recherche une place. Les places de va-et-vient sont gres
de la mme manire que la mmoire centrale. La zone de va-et-vient dun processus
peut aussi tre alloue une fois pour toute au dbut de lexcution. Lors du
dchargement, le processus est sr davoir une zone dattente libre sur le disque.

51

Le systme excute pendant un certain quantum de temps7 les processus en


mmoire puis dplace un de ces processus au profit dun de ceux en attente dans la
mmoire provisoire. Lalgorithme de remplacement peut tre le tourniquet.
Mmoire provisoire

Mmoire utilisateur

Figure 11

Le systme de va-et-vient, sil permet de pallier le manque de mmoire ncessaire


plusieurs utilisateurs, nautorise cependant pas lexcution de programmes de taille
suprieure celle de la mmoire centrale.

5.5 La pagination
La pagination permet davoir en mmoire un processus dont les adresses sont non
contigus. Pour raliser ceci, on partage lespace dadressage du processus et la
mmoire physique en pages de quelques kilo-octets. Les pages du processus sont
charges des pages libres de la mmoire.

Ce quantum est bien sr plus long que le quantum de commutation de tches vu au chapitre sur
les processus. Il tient compte du fait que les temps de chargement et de dchargement sont beaucoup
plus longs que les temps de commutation de processus.

52

15
14
13
12
11
10

9
8
7
6
5

2
1
0
Processus

4
3
2
1
0
Mmoire physique
Figure 12

On conserve lemplacement des pages par une table de transcodage :


0
1
2
3

14
4
8
12

La pagination permet dcrire des programmes r-entrants, cest dire o certaines


pages de codes sont partages par plusieurs processus.

5.6 La segmentation
Alors que la pagination propose un espace dadressage plat et indiffrenci, (ceci
est offert par la famille de -processeurs 68000), la segmentation partage les processus
en segments bien spcifiques. On peut ainsi avoir des segments pour des procdures,
pour la table de symboles, pour le programme principal, etc. Ces segments peuvent
tre relogeables et avoir pour origine un registre de base propre au segment. La
segmentation permet aussi le partage, par exemple du code dun diteur entre
plusieurs processus. Ce partage porte alors sur un ou plusieurs segments.
Un exemple rduit darchitecture segmente est donn par la famille 8086 qui
possde 3 segments : le code (Code Segment), la pile (Stack Segment) et les donnes
(Data Segment).
53

5.7 La mmoire virtuelle


5.7.1 Prsentation
La mmoire virtuelle permet dexcuter des programmes dont la taille excde la
taille de la mmoire relle. Pour ceci, on dcoupe (on pagine ) les processus ainsi
que la mmoire relle en pages de quelques kilo-octets (1, 2 ou 4 ko gnralement).
Lencombrement total du processus constitue lespace dadressage ou la mmoire
virtuelle. Cette mmoire virtuelle rside sur le disque. la diffrence de la pagination
prsente prcdemment, on ne charge quun sous-ensemble de pages en mmoire.
Ce sous-ensemble est appel lespace physique (rel).

4
2
1
0
Mmoire physique
4
3
2
1
0
Espace d'adressage
Figure 13

Lorsquune adresse est gnre, elle est transcode, grce une table, pour lui faire
correspondre son quivalent en mmoire physique. Ce transcodage est effectu par
des circuits matriels de gestion : Memory Management Unit (MMU). Si cette adresse
correspond une adresse en mmoire physique, le MMU transmet sur le bus ladresse
relle, sinon il se produit un dfaut de page. Pour pouvoir accder la page dont on
a gnr ladresse, on devra pralablement la charger en mmoire relle. Pour cela, on
choisit parmi les pages relles une page victime ; si cette dernire a t modifie, on

54

la reporte en mmoire virtuelle (sur le disque) et on charge sa place la page


laquelle on dsirait accder.

Carte CPU

Mmoire

Priphrique

CPU

Adresses
virtuelles
MMU
Adresses
relles

Bus

Figure 14 Lunit de gestion de mmoire.

5.7.2 Algorithmes de remplacement de pages


Lalgorithme de remplacement de page optimal consiste choisir comme victime, la
page qui sera appele le plus tard possible. On ne peut malheureusement pas
implanter cet algorithme, mais on essaye de lapproximer le mieux possible, avec de
rsultats qui ont une diffrence de moins de 1 % avec lalgorithme optimal.
La technique FirstIn-FirstOut est assez facile implanter. Elle consiste choisir
comme victime, la page la plus anciennement charge.
Lalgorithme de remplacement de la page la moins rcemment utilise (Least
Recently Used) est lun des plus efficaces. Il ncessite des dispositifs matriels
particuliers pour le mettre en uvre. On doit notamment ajouter au tableau une
colonne de compteurs. Par logiciel, on peut mettre en uvre des versions dgrades.
5.7.3 Autres considrations
5.7.3.1 Lallocation locale ou globale
Lorsquon retire une page de la mmoire centrale, on peut choisir la plus ancienne :
Du point de vue global (la plus ancienne du systme);
Du point de vue local (la plus ancienne du processus)D

55

En gnral, lallocation globale produit de meilleurs rsultats.


5.7.3.2 La prpagination
Lors du lancement dun processus ou lors de sa reprise aprs une suspension, on
provoque obligatoirement un certain nombre de dfauts de pages. On peut essayer de
les limiter en enregistrant, par exemple, lensemble de travail avant une suspension.
On peut aussi essayer de le deviner. Par exemple, au lancement dun programme, les
premires pages de codes seront vraisemblablement excutes.

56

6 Le systme de fichiers
6.1 Quest ce quun fichier?
6.1.1

Une dfinition

Un fichier, dans un premier temps, peut sassimiler un ensemble de donnes sur


disque. Cette vision nest cependant que partielle et la plupart des systmes
dexploitation, notamment Unix, en offre une notion plus gnrale. Dans cet exemple,
les fichiers recouvrent aussi bien les donnes, sur une grande varit de supports, les
programmes, lensemble des caractres frapps au clavier ou lhorloge du systme. Le
systme dexploitation ralise alors la mise en correspondance de ces fichiers avec
divers dispositifs physiques.
Les fichiers dun systme dexploitation reprsentent une partie des objets que celuici manipule et avec lequel il change des informations ; lautre partie tant compose
des processus. Il est important de distinguer le point de vue algorithmique sur les
fichiers qui concerne toujours un ensemble de donnes, de celui que nous examinons
ici.
Lalgorithmique dcrit la mise en uvre dun certain nombre de manipulations telles
que la structuration de lensemble des donnes, linsertion dlments, etc. Les
systmes dexploitation considrent le systme de fichiers essentiellement comme une
interface avec des objets relativement statiques. Cette interface dispose dune structure
propre, souvent hirarchique, permettant de dsigner un ensemble de donnes, mais
aussi des priphriques.
Linterface du systme de fichiers aura pour objectif de banaliser le plus possible les
objets quelle recouvre, ainsi le systme Unix masque compltement les disques locaux
et les priphriques sous une arborescence unique. Il nomme aussi ses objets dune
manire uniforme. On copie par exemple le texte : abcd , tap au clavier, dans un
fichier par la commande :
$ cat > fichier
abcd
^D
57

et sur un terminal, par la commande :


$ cat > /dev/tty
abcd
^D

Le systme de fichiers rpartis NFS permet des oprations similaires travers un


rseau.
6.1.2

La structure dun systme de fichiers

6.1.2.1 1.

Le modle hirarchique

Les systmes dexploitation modernes adoptent une structure hirarchique des


fichiers. Chaque fichier appartient un groupe dautres fichiers et chaque groupe
appartient lui-mme un groupe dordre suprieur. On appelle ces groupes, des
rpertoires ou des dossiers8, suivant les terminologies.
Le schma de la structure gnrale dun systme de fichiers prend laspect dun
arbre, form au dpart dun rpertoire racine recouvrant des priphriques et
notamment un ou plusieurs disques. Dans chacun des rpertoires on pourra trouver
dautres rpertoires ainsi que des fichiers de donnes ordinaires.

Figure 15 Une vue du gestionnaire de fichiers dOpen Look

6.1.2.2 2.

Les rpertoires et ladressage dun fichier

Ce terme, folder en anglais, consacr par le MacIntosh et repris par Windows 95, est nettement
plus cohrent que le prcdent. Cependant, il est peu utilis par les informaticiens purs et durs , c'est
pourquoi nous garderons la dsignation rpertoire .

58

Les rpertoires sont, eux aussi, des fichiers, constitus des noms et des rfrences
de tous les fichiers quils contiennent. Cette structure permet alors de construire
larborescence du systme. Pour dsigner un fichier quelconque, il suffit de spcifier
lenchanement des rpertoires ncessaires son accs, partir de la racine. Dans le
systme Unix, les rpertoires de cet enchanement sont spars par une oblique : / .
Dans le systme DOS, par une contre-oblique : \ .
Dans le systme Unix, chaque rpertoire contient aussi sa propre rfrence, ainsi
que celle du rpertoire immdiatement suprieur. . dsigne le rpertoire courant, et
.. , le rpertoire suprieur. Linclusion de ces deux rfrences permet de dsigner
un fichier quelconque, relativement au rpertoire courant.
Pour effectuer des entres-sorties par une dsignation relative, un processus ne peut
sexcuter que dans un rpertoire. La rfrence de ce fichier est donc conserve dans
la table de chaque processus.
En dehors des fichiers ordinaires et des rpertoires, nous avons vu que le systme
Unix possde des fichiers spciaux de priphriques blocs et caractres. Il connat
aussi les tubes nomms, qui sont des structures FIFO (FirstIn-FirstOut) permettant la
communication entre processus.
La commande ls -l permet de vrifier le type des fichiers : dsigne les
fichiers ordinaires, d les rpertoires, c les priphriques caractres, b les
priphriques blocs, et p les tubes nomms.
6.1.3 Accs aux lments dun fichier
Les fichiers de donnes sur disques se composent dun ensemble de blocs,
comprenant un nombre fixe doctets. La premire structure possible de ces fichiers
correspond la suite des octets des blocs; ces blocs tant ordonns. Laccs un octet
se fait alors par un dplacement partir de lorigine du premier bloc : le dbut du
fichier. Le systme Unix, ainsi que le systme DOS ne connaissent que cet accs.
Certains systmes structurent les fichiers sous la forme denregistrements squentiels
de tailles fixes, lensemble des blocs tant toujours ordonn linairement. Ce principe
est peu prs le mme que le prcdent. Il permet de lire, de substituer un lment
ou den ajouter dautres la fin, mais on ne peut pas en dtruire ou en insrer de
nouveaux au milieu du fichier.

59

Laccs squentiel index est une mthode plus labore, mise en uvre, entre
autres, sur les systmes MVS dIBM. On structure les blocs des fichiers sous la forme
dun arbre. Cette structure permet linsertion dlments nimporte quel endroit dun
fichier.

6.2 Les blocs du disque


Les fichiers de donnes sur les disques se rpartissent dans des blocs de taille fixe
correspondant des units dentres-sorties du contrleur de ce priphrique. La
lecture ou lcriture dun lment dun fichier impliquera donc le transfert du bloc
entier qui contient cet lment. On peut formater les disques, les rendre utilisables
par le systme dexploitation , avec une taille particulire de blocs. Cette taille rsulte
dun compromis entre la vitesse daccs aux lments des fichiers et lespace perdu sur
le disque.
Lors dun transfert de donnes dun disque vers lespace dadressage dun processus,
le temps de lecture ou dcriture sur le disque est ngligeable devant le temps daccs
au bloc, et ceci quelle que soit la taille du bloc. Pour un accs rapide, on aura donc
intrt prendre des blocs de grande taille. Cependant, les fichiers, y compris les
fichiers de 1 octet, ont une taille minimale de 1 bloc. Si un disque comprend beaucoup
de fichiers de petite taille et si les blocs sont de grandes dimensions, lespace gaspill
sera alors considrable.
Des tudes sur de nombreux systmes ont montr que la taille moyenne dun fichier
est de 1 Ko9. Ce chiffre recouvre bien sr de grandes variations entre, par exemple,
une base de donnes et un ordinateur usage pdagogique. Il conduit des tailles
courantes de blocs de 512, de 1024 ou de 2048 octets.
Chaque disque conserve, dans un ou plusieurs blocs spcifiques, un certain nombre
dinformations de fonctionnement, telles par exemple que le nombre de ses blocs, leur
taille, Il mmorise aussi en gnral lensemble de ses blocs ainsi que leur tat dans
une table. Si cette table est binaire, un disque de n blocs devra alors rserver une table
de n bits; la position de chaque bit indiquant si le bloc est libre ou sil est utilis par
un fichier, par exemple, 0 pour un bloc occup et 1 pour un bloc libre. Certains
systmes stockent lensemble des blocs libres dans une liste chane.

Tanenbaum, op. cit., p. 285.

60

6.3 La rpartition physique des fichiers en blocs


chaque fichier correspond une liste de blocs contenant ses donnes. Lallocation
est en gnrale non contigu et les blocs sont donc rpartis quasi-alatoirement sur le
disque. Les fichiers conservent lensemble de leurs blocs suivant deux mthodes : la
liste chane et la table dindex.
6.3.1 La liste chane
Lensemble des blocs dun fichier peut tre chan sous la forme dune liste. Chaque
bloc contiendra des donnes ainsi que ladresse du bloc suivant. Le fichier devant
mmoriser indpendamment le numro du 1er bloc. Par exemple, si un bloc comporte
1024 octets et si le numro dun bloc se code sur 2 octets, 1022 octets seront rservs
aux donnes et 2 octets au chanage du bloc suivant.

Figure 16

Cette mthode rend laccs alatoire aux lments dun fichier particulirement
inefficace lorsquelle est utilise telle quelle. En effet pour atteindre un lment sur le
bloc n dun fichier, le systme devra parcourir les n-1 blocs prcdents.
Le systme MS-DOS utilise des listes chanes. Il conserve le premier bloc de
chacun des fichiers dans son rpertoire. Il optimise ensuite laccs des blocs suivants
en gardant leurs rfrences dans une Table dAllocation de Fichiers (FAT). Chaque
disque dispose dune FAT et cette dernire possde autant dentres quil y a de blocs
sur le disque. Chaque entre de FAT contient le numro du bloc suivant.
Avec la table suivante10 :
0

10

11

12

13

14

15

EOF

13

12

EOF

EOF

BE

Figure 17

10

Reprise de Tanenbaum, op. cit., p. 288.

61

o XX indique la taille du disque, L dsigne un bloc libre et BE un bloc


endommag, le fichier commenant au bloc 6, sera constitu des blocs : 6 8 4
2.
Le parcours de la FAT est nettement plus rapide que la chane des blocs. Cependant
si elle nest pas constamment, tout entire en mmoire, elle ne permet pas dviter les
entres-sorties du disque.
6.3.2 La table dindex
Le systme Unix rpertorie chaque fichier par un numro unique pour tout un
disque. chaque numro, correspond un enregistrement, un nud dindex, (i-node),
comportant un nombre fix de champs. Parmi ces champs, certains, 13 au total,
mmorisent lemplacement physique du fichier. Les 10 premiers champs (sur les 13)
contiennent les numros des 10 premiers blocs composant le fichier.
Nud
dindex

bloc
n 1

bloc
n 2

bloc
n 3

bloc
n 4

Figure 18

Pour les fichiers de plus de 10 blocs, on a recours des indirections. Dans le cas du
systme Unix, le bloc n 11 contient le numro dun bloc compos lui-mme
dadresses de blocs de donnes. Si les blocs ont une taille de 1024 octets et sils sont
numrots sur 4 octets, le bloc n 11 pourra dsigner jusqu 256 blocs. Au total, le
fichier utilisant la simple indirection aura alors une taille maximale de 266 blocs. De la
mme manire, le bloc n 12 contient une adresse, un pointeur, double indirection,
et le bloc n 13, un pointeur triple indirection. Avec lexemple que nous avons
donn, un fichier peut avoir une taille maximale de 16 Go quand il utilise ces
pointeurs triple indirection.
Bloc n 11
Pointeur simple
indirection

Bloc n 12
Pointeur double
indirection

Bloc n 13
Pointeur triple
indirection

Figure 19

6.4 Les dossiers ou les rpertoires


Les rpertoires des systmes de fichiers hirarchiques sont des fichiers dont le
contenu est particulier. Ils permettent de rfrencer et de retrouver physiquement les
fichiers immdiatement en dessous deux dans la hirarchie. La structure la plus
62

commune des rpertoires prend la forme dun arbre, que nous avons illustr au
paragraphe 1. On peut parfois mettre en uvre des structures plus complexes, de
graphes acycliques ou de graphes gnraliss.
Un graphe permet deux rpertoires de rfrencer le mme fichier. On a ainsi le
moyen de partager un fichier entre, par exemple, deux utilisateurs. En gnral, on
construit les rpertoires de manire viter les cycles :

Figure 20

Cependant, on peut parfois construire des structures cycliques, telle que celles-ci :

Figure 21

6.4.1

Les rpertoires du systme MS-DOS

Les rpertoires du systme MS-DOS possdent une entre par fichier et chaque
entre la structure suivante :
Nom du fichier Extension

Attributs

Rserv

Heure

Date

N du 1er Taille
bloc

63

Figure 22

Le numro du premier bloc, cluster dans la terminologie MS-DOS, indexe la Fat et


permet de retrouver la suite des lments du fichier.
6.4.2 Les rpertoires dUnix
Les rpertoires du systme Unix disposent, eux aussi, dune entre par fichier.
Chaque entre possde au moins les deux champs suivants, le numro du nud
dindex et le nom du fichier. Par exemple :
26
59
267
534

.
..
toto
titi
Figure 23

La structure exacte dune entre varie suivant les versions dUnix. Dans la version
System V, elle est dcrite par le fichier den-tte :
/usr/include/sys/dir.h.
On peut visualiser, et interprter, le contenu du rpertoire courant, par exemple,
grce la commande : od -c .
6.4.3 Structure et manipulation des nud dindex
Le numro du nud dindex renvoie un enregistrement sur le disque contenant
les numros des blocs, comme on la prsent au paragraphe prcdent. Cet
enregistrement contient aussi des informations, concernant la gestion des fichiers, dont
les principales sont les suivantes :
Nud dindex
Uid du propritaire
Gid du propritaire
Type du fichier
Permissions
Nombre de liens
Taille du fichier
Date de cration
Date du dernier accs
Date de dernire modif.
13 numros de blocs et
de pointeurs

Figure 24

64

Lorsquon manipule des fichiers, les nuds dindex correspondants, auxquels


sajoutent quelques champs supplmentaires, sont chargs en mmoire. Parmi les
champs supplmentaires, on trouve notamment divers indicateurs, de verrouillage du
nud en mmoire, dattente de processus sur le nud, de modification en mmoire,
du nud ou du fichier, non encore reporte sur le disque. Le nud en mmoire
contient aussi, le numro du priphrique (du disque) sur lequel se trouve le fichier, le
numro du nud dindex, le nombre de fois o le fichier a t charg en mmoire (le
nombre douvertures en cours).
6.4.4 Le partage de fichiers par liens avec Unix
Un mcanisme permet de construire des structures de rpertoires ayant la forme de
graphes acycliques orients et ainsi de partager des fichiers. Pour cela, plusieurs
rpertoires doivent rfrencer le mme nud dindex, ventuellement sous un nom
diffrent. On appelle chaque nouveau rfrencement dun nud, la cration dun lien
sur le fichier correspondant.
Une fois les liens tablis, le fichier pourra tre dsign sous lun quelconque des
noms. Pour sa part, le nud dindex conservera, dans un de ses champs, le nombre
de fichiers qui le rfrence, indpendamment des protections sur le fichier. Lajout
dune rfrence incrmentera le nombre de liens du nud. Llimination dun fichier
par un utilisateur dcrmentera ce nombre. La destruction effective du nud, et par-l
du fichier, aura lieu lorsque le compte des liens sera nul.

6.5 La mmoire cache


Les processus ne peuvent pas manipuler directement les donnes du disque. Ils sont
obligs, pour cela, de les dplacer en mmoire centrale. Les transferts seffectuent par
blocs et il est souvent inutile deffectuer autant dentres-sorties sur disque que daccs
au fichier. La plupart des systmes de fichiers grent les entres-sorties grce une
mmoire intermdiaire : la mmoire cache ou lantmmoire. Cette mmoire cache fait
correspondre des blocs tampons en mmoires aux blocs du disque.
La stratgie gnrale dutilisation de la mmoire cache est la suivante : on lui alloue
un certain nombre de blocs en mmoire centrale. Lorsque lon accde un lment
dun fichier, on examine la suite de ces blocs. Si le bloc dsir celui qui contient
llment du fichier se trouve dans la mmoire cache, on pourra y lire ou y crire
65

directement llment, sinon, on produira un bloc libre de la mmoire cache, on y


chargera le bloc du disque et on effectuera les oprations de lecture ou dcriture. Un
bloc un tampon pourra tre partag dans la mmoire cache par plusieurs
processus et il ne pourra sy trouver quen un seul exemplaire.
Dans le systme Unix, les blocs tampons sont relis par un double chanage des
blocs libres et des blocs occups. Ils possdent, dautre part, un en-tte indiquant le
numro du priphrique, le numro du bloc, ainsi que ltat du tampon :
N du N du tat
priph. bloc

Ptr sur le Ptr


sur Ptr
sur Ptr
sur Ptr
sur
bloc de tampon
tampon
tampon
tampon
donnes occup
occup
libre suiv.
libre prc.
suiv.
prc.
Figure 25

Le systme Unix ordonne ses tampons suivant lordre dernire utilisation. En cas de
demande de chargement dun bloc du disque, il liminera le moins rcemment utilis
(algorithme LRU).

6.6 La structure physique dun disque Unix


Chaque disque physique au format Unix possde la structure suivante :
Bloc
dmarrage

bits nuds dindex


Super bloc Table bits Table
i-nuds blocs
(plusieurs
donnes
blocs)

Donnes
(plusieurs
blocs)

Figure 26

Le bloc de dmarrage contient le code ncessaire tout disque pour se lancer.


Le super bloc donne des informations sur les fichiers, telles que le nombre de
nuds dindex, le nombre de blocs, le premier bloc de donnes, la taille maximale de
fichiers, etc.
Le super bloc est charg en mmoire o on lui ajoute quelques informations
supplmentaires, telles que le numro du priphrique, un indicateur de mise jour,
etc.

6.7 La structure logique dun disque Unix


Le systme Unix permet de runir plusieurs disques sous une arborescence unique.

66

users

temp

usr

anne1

anne2

anne3

Figure 27

On ralise cet attachement par un montage , grce la commande :


/etc/mount /dev/fd1 /users
o /dev/fd1 dsigne le disque monter.
Le systme mont devient :

users

anne1

temp

anne2

usr

anne3

Figure 28

Une table des volumes monts garde la trace des diffrents priphriques. Elle
contient les lments suivants :
N du priph. Ptr
sur
mont
tampon
super bloc

le Ptr sur le i-nud du Ptr sur le i-nud du


du systme mont
rpert. de montage
Figure 29

Elle permet dassocier les disques larborescence du systme. Ainsi lutilisateur


peut parcourir les rpertoires sans en supposer leur organisation physique.

6.8 Rparer le systme de fichier

67

Les disques magntiques sont des dispositifs dlicats et il est frquent de retrouver
certains de leurs blocs, ou parfois mme leurs rfrences, dans un tat incohrent.
Pour vrifier cette cohrence, on peut reconstruire la table des blocs occups, en
examinant tous les fichiers et en incrmentant le compte dun bloc chaque fois quil est
rfrenc. Si le systme est cohrent, la table des blocs occups doit tre
complmentaire de celle des blocs libres.
Si un bloc napparat ni dans la table des blocs libres, ni dans celle des blocs
occups, le bloc est dit manquant. On peut le rparer en le rajoutant la liste des
blocs libres.
Si un bloc appartient deux ou plusieurs fichiers, le systme est sans doute
profondment incohrent. On peut effectuer une tentative de rparation en recopiant
le bloc dfectueux des emplacements libres autant de fois quil est rfrenc puis en
affectant chacun de ces nouveaux blocs lun des fichiers qui les rfrenaient.
On peut aussi vrifier la cohrence du point de vue des liens. Chaque numro de
nud dindex doit apparatre autant de fois dans la structure arborescente quil
possde de liens.
Sur la plus part des systmes Unix, le programme fsck effectue cette tche
chaque dmarrage, si ncessaire.

68

7 Les entres-sorties
7.1 Comment le processeur communique avec lextrieur ?
7.1.1 Gnralits
Lordinateur peut effectuer des entres-sorties changer des donnes avec des
organes externes :
lectroniques, tels que les mmoires,
magntiques, tels que les disques ou les disquettes,
mcaniques, tels que le clavier, les imprimantes,
Les priphriques les organes externes mis en uvre sont de nature trs
diffrente et lun des objectifs du systme de gestion des entres-sorties est de
prserver une relative homognit dans leur mode daccs. Les entres-sorties
forment une trs part importante, au moins en volume de code, des systmes
dexploitation. Leur tude, qui prsente beaucoup plus daspects techniques que
thoriques, est cependant parfois nglige.
On classe les priphriques dentres-sorties en deux catgories principales : les
priphriques blocs et les priphriques caractres.
On gre les donnes des priphriques blocs par lintermdiaire de blocs de tailles
fixes, couramment de 512 ou 1024 octets et parfois plus. Laccs chacun de ces blocs
tant alatoire. Les disques correspondent, peu prs, aux priphriques blocs.
Les autres priphriques sont donc, en gnral, des priphriques caractres. Ils
fournissent ou acceptent une suite de caractres sans relle structure. Les terminaux,
les crans, les mmoires sont des priphriques caractres.
On doit noter que cette classification des priphriques en deux catgories est assez
grossire

et,

dans

certains

cas,

plutt

arbitraire.

Certains

priphriques

ne

correspondent ni lune ni lautre dfinition, dautres tant recouverts, par contre,


par les deux dfinitions, les drouleurs de bandes par exemple.
7.1.2 Les contrleurs

69

La plus part du temps, le processeur ne commande pas directement les


priphriques. Il utilise pour cela un circuit spcialement adapt, un contrleur , de
caractristiques propres chaque priphrique. Les commandes du processeur au
priphrique sopreront alors par lintermdiaire de ce contrleur. Ces commandes
correspondent directement aux mcanismes physiques du priphrique telles, par
exemple, que le dplacement du bras dun lecteur de disque. Par ailleurs, les
contrleurs sont souvent dune grande complexit lectronique.
On relie les contrleurs au bus de lordinateur et on leur alloue, chacun, un
certain nombre dadresses. ces diffrentes adresses, on mettra des commandes de
pilotage ou on effectuera des entres-sorties de donnes. Le contrleur reconnatra ses
adresses grce une logique de dcodage. Dans certains ordinateurs, les contrleurs
ne sont pas relis au bus mais des voies dentres-sorties spcifiques.

Ctl
Disque

Bus
Figure 30

Les contrleurs et le processeur oprent en parallle. Le contrleur dispose dune


mmoire tampon, pour lui permettre, par exemple, de lire des donnes en provenance
du priphrique dentre pendant que le processeur traite une autre tche. Le
contrleur signale lachvement de son travail en mettant une interruption qui lui est
propre. la rception de cette interruption, le processeur se branche un
emplacement fixe. La valeur de cet emplacement est contenue dans une adresse un
vecteur spcifique chaque interruption11. ladresse dinterruption, une routine
ralise, en gnral, le transfert des donnes vers la mmoire principale, puis rend la
main au processus prcdent.

11

Et donc ce contrleur.

70

Contrleur

Adresses

dentres- Vecteur

sorties

s (IRQ)

Horloge

040-043

Clavier

060-063

Port COM 1

3F8-3FF

Table 1. Les adresses et les vecteurs de quelques priphriques de lIBM PC.

7.1.3 Un exemple simple de fonctionnement : crire sur un disque


Pour transfrer des donnes sur un disque, le pilote de ce disque met des
commandes, aux adresses adquates, dans les registres du contrleur. Ces commandes
sont, la mise en route ventuellement, le positionnement de la tte sur le bon cylindre,
puis linstruction dcriture, avec les paramtres ncessaires, notamment le secteur o
crire le bloc. Le pilote transmet ensuite les donnes crire, lune aprs lautre, dans
les tampons du contrleur puis il se bloque en attendant la fin de lcriture effective.
Pendant ce temps, le processeur pourra lire une autre tche. Le contrleur crira
seul, sur le disque, les donnes contenues dans ses tampons et quand il aura termin
son action, il mettra une interruption. Linterruption dbloquera le pilote et lancera
lordonnanceur. Ce dernier pourra activer le pilote qui vrifiera alors que lopration
sest bien droule.
7.1.4 Laccs direct la mmoire
Pour les priphriques blocs, le transfert des donnes entre la mmoire et le
contrleur nest pas, en gnral, ralis par le processeur, mais par un circuit spcialis
daccs direct la mmoire (DMA).
Ce circuit DMA est attach au priphrique. Il utilise des instants particuliers du
cycle de fonctionnement du processeur pour crire les donnes de la mmoire
centrale vers les tampons du contrleur ou bien linverse. Il permet ainsi doccuper le
processeur dautres tches de traitement. Avant de le lancer, le processeur doit bien
sr lui communiquer, le sens du transfert, ladresse dorigine de la zone mmoire o
on dsire lire ou crire des donnes, ainsi que le nombre doctets transfrer.

7.2 Les fonctions Unix


71

Lcriture dun pilote dentres-sorties est une tche assez complexe. Nous
nexaminerons que les grandes lignes de la structure des entres-sorties sous Unix.
Pour plus de dtails, le lecteur pourra considrer les exemples se trouvant sur le
serveur

Hewlett-Packard

dans

les

rpertoires :

/usr/lib/drivers

ou

/systems/DRIVERS.
Le systme Unix dsigne chaque priphrique par un fichier. De manire courante,
on rassemble les fichiers de tous les priphriques dans le rpertoire : /dev (device).
Ces fichiers sont appels spciaux .
On obtient leurs caractristiques avec la commande : ls -l, ceci donne, par
exemple, sur un ordinateur Sun du:
total 11
crw--w---crw-rw-rwcrw-r----crw-rw---crw-r----crw-rw-rwcrw-rw-rwcrw------crw-rw-rwcrw-rw-rwcrw-rw-rwcrw-rw-rw-

1
1
1
1
1
1
1
1
3
1
1
1

pierre
root
root
root
root
root
root
root
root
root
root
root

0,
11,
7,
41,
3,
32,
29,
37,
18,
21,
21,
21,

0
0
0
0
11
3
0
40
4
2
10
11

Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar

25
11
11
11
11
11
11
11
11
25
11
11

21:49
16:13
16:11
16:11
16:11
16:18
16:11
16:11
16:12
14:13
16:13
16:13

console
des
drum
dump
eeprom
gpone0d
kbd
nit
nrmt0
ptyp2
ptypa
ptypb

La premire lettre indique que cest un fichier spcial de priphrique et elle dcrit
son type :
c dsigne un priphrique caractre;
b dsigne un priphrique bloc.
Viennent

ensuite

les

droits

de

lecture,

dcriture

et

dexcution

pour

respectivement : le propritaire, les membres de son groupe, et les autres utilisateurs.


Aprs ces droits, le systme indique le nom du propritaire du fichier. On remarque
que cest root pour la plus part de ces fichiers.

72

Vous aimerez peut-être aussi