Académique Documents
Professionnel Documents
Culture Documents
megzari@fsr.ac.ma
Dpartement de Mathmatiques
et dInformatique
Rabat
INTRODUCTION........................................................................................................................... 6
BIBLIOGRAPHIE.......................................................................................................................... 9
LORDINATEUR ......................................................................................................................... 12
3.1
3.2
LE MICROPROCESSEUR............................................................................................................. 13
3.3
3.4
3.5
3.6
3.7
3.7.1
3.7.2
La lecture et l'criture....................................................................................................... 15
3.8
LA DISQUETTE ........................................................................................................................ 16
3.9
LE CD-ROM .......................................................................................................................... 17
3.9.1
3.9.2
3.9.3
Ses caractristiques........................................................................................................... 18
3.10
LE DVD-ROM ....................................................................................................................... 18
3.10.2
3.11
LE MODEM .............................................................................................................................. 20
3.12
3.12.1
3.12.2
3.12.3
3.12.4
3.13
3.13.1
Le clavier ..................................................................................................................... 23
3.13.2
La souris....................................................................................................................... 23
3.13.3
Le numriseur............................................................................................................... 23
3.13.4
3.14
3.14.1
L'cran ou le moniteur.................................................................................................. 24
3.14.2
Le moniteur couleur...................................................................................................... 24
3.14.3
3.14.4
Les caractristiques...................................................................................................... 25
3.14.5
L'imprimante ................................................................................................................ 25
3.14.6
3.14.7
L'imprimante matricielle............................................................................................... 26
3.14.8
3.14.9
L'imprimante laser........................................................................................................ 27
3.15
PROGRAMMES INFORMATIQUES................................................................................................ 27
3.16
3.17
3.17.1
3.17.2
3.17.3
3.18
3.18.1
3.18.2
3.18.3
3.18.4
3.18.5
3.18.6
L'ADSL......................................................................................................................... 29
3.18.7
ADSL............................................................................................................................ 30
3.18.8
3.18.9
Le satellite.................................................................................................................... 30
3.18.10
3.18.11
3.18.12
Le rseau Ethernet........................................................................................................ 31
LES PROCESSUS......................................................................................................................... 33
4.1
4.1.1
Gnralits........................................................................................................................ 33
4.1.2
4.2
4.2.1
4.2.2
Les messages..................................................................................................................... 42
4.2.3
4.3
ORDONNANCEMENT ................................................................................................................ 43
4.3.1
Le tourniquet..................................................................................................................... 44
4.3.2
4.3.3
4.3.4
LA MEMOIRE ............................................................................................................................. 46
5.1
5.1.1
La multiprogrammation..................................................................................................... 46
5.1.2
5.2
5.2.2
5.3.1
5.3.2
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
5.7.1
Prsentation...................................................................................................................... 54
5.7.2
5.7.3
Autres considrations........................................................................................................ 55
6.1.1
6.1.2
6.1.3
6.2
6.3
6.3.1
6.3.2
6.4
5.2.1
5.3
INTRODUCTION ....................................................................................................................... 46
6.4.1
6.4.2
6.4.3
6.4.4
6.5
6.6
6.7
6.8
7.1.1
Gnralits........................................................................................................................ 69
7.1.2
Les contrleurs.................................................................................................................. 69
7.1.3
7.1.4
7.2
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
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
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
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, ...
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.
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.
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
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 :
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.
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
4.7Go
9 h 30
8.5Go
17 h 30
13
simple couche
DVD simple face
double couche
19
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.
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
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.
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.
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.
l'imprimante laser;
l'imprimante jet d'encre;
l'imprimante bulles d'encre;
l'imprimante matricielle ( aiguilles);
l'imprimante marguerite.
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.
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
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
10 Mb/s
185 m
10 Base-5
10 Mb/s
500 m
10 Base-T
10 Mb/s
100 m
100 Base-TX
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
Pile d'excution
Donnes
Code
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
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
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
SIGINT
^C
SIGQUIT
^\
SIGKILL
SIGALRM
14
SIGCLD
20
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
SIG_DFL
void fonction(int
Le
n)
processus
excutera
fonction,
dfinie
par
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
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
envoie(Q, message)
reois(P, message)
reois(Q, message)
envoie(P, acquittement)
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
44
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
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
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
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
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
Mmoire utilisateur
Figure 11
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
14
4
8
12
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
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
Carte CPU
Mmoire
Priphrique
CPU
Adresses
virtuelles
MMU
Adresses
relles
Bus
55
56
6 Le systme de fichiers
6.1 Quest ce quun fichier?
6.1.1
Une dfinition
6.1.2.1 1.
Le modle hirarchique
6.1.2.2 2.
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.
60
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
61
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
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 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
.
..
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
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).
Donnes
(plusieurs
blocs)
Figure 26
66
users
temp
usr
anne1
anne2
anne3
Figure 27
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
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
69
Ctl
Disque
Bus
Figure 30
11
Et donc ce contrleur.
70
Contrleur
Adresses
dentres- Vecteur
sorties
s (IRQ)
Horloge
040-043
Clavier
060-063
Port COM 1
3F8-3FF
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
72