Académique Documents
Professionnel Documents
Culture Documents
Cours Se PDF
Cours Se PDF
Rabat
1
1 INTRODUCTION........................................................................................................................... 6
2 BIBLIOGRAPHIE.......................................................................................................................... 9
3 LORDINATEUR ......................................................................................................................... 12
2
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 LES LIGNES SPECIALISEES ........................................................................................................ 28
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
4 LES PROCESSUS......................................................................................................................... 33
5 LA MEMOIRE ............................................................................................................................. 46
3
5.1 INTRODUCTION ....................................................................................................................... 46
5.1.1 La multiprogrammation..................................................................................................... 46
5.1.2 Les registres matriels....................................................................................................... 47
5.2 CONCEPTS FONDAMENTAUX .................................................................................................... 47
5.2.1 Production dun programme.............................................................................................. 47
5.2.2 Principes de gestion .......................................................................................................... 47
5.3 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
4
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
5
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 multi-
utilisateurs 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.
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 :
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.
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.
8
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.
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 :
9
Helen Custer, Au cur de Windows NT, Microsoft Press, 1993.
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.
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.
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 DVD-
ROM;
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
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.
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.
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.
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.
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 semi-
rflechissant 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.
19
DVD double face 9.4Go 19 h 14
simple 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
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.
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
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.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.
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.
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.
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
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 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.
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.
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.
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
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
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
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)
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.1 Gnralits
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
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
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.
lu Prt
Bloqu
35
Figure 4 Les tats dun processus.
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.
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.
Excution
Interruption en mode
noyau
Bloqu en
mmoire Prt en
mmoire
Cration
Prt sur
Bloqu sur disque
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).
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");
Llimination dun processus termin de la table ne peut se faire que par son pre,
grce la fonction :
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.
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 :
perror("plantage");
exit(0);
39
Nom du N du Commentaires
signal signal
SIGUP 1 signal mis lors dune dconnexion
SIGINT 2 ^C
SIGQUIT 3 ^\
SIGKILL 9 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
Les valeurs des signaux dpendent de limplantation. La liste complte est dfinie
par des macros dans signal.h
Un processus peut dtourner les signaux reus et modifier son comportement par
lappel de la fonction : void (*signal(int signal, void
(*fonction)(int)))
Lappel de la fonction signal positionne ltat des bits de signaux dans la table
des processus.
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)
permet de commuter ces numros dutilisateur de lun lautre : rel effectif et vice-
versa. Elle rend 0 en cas de succs.
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 :
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 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.
P Q
4.3 Ordonnancement
Lordonnancement rgle les transitions dun tat un autre des diffrents processus.
Cet ordonnancement a pour objectifs de :
43
2. tre quitable entre les diffrents processus;
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.
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.
Pour que tous les processus puissent sexcuter, il est ncessaire dajuster
priodiquement les diffrentes priorits.
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
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
Programme utilisateur
(RAM)
Systme (RAM)
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.
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.
4 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.
5Malheureusement 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
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 0 1 1 0 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.
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.
0 5 8 10 15 20
Figure 8
on aurait la liste :
L P P
0 5 8
5 3 2
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.
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
Supposons que X soit le bloc qui se libre, on a les schmas de fusion suivants :
Avant Aprs
A X B A L B
A X L A L
L X B L B
L X L L
Figure 10
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.
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.
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.
7 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
3
9
2 8
1 7
0 6
Processus 5
4
3
2
1
0
Mmoire physique
Figure 12
5.6 La segmentation
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
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.
CPU
Adresses
virtuelles
MMU
Adresses
relles
Bus
Lorsquon retire une page de la mmoire centrale, on peut choisir la plus ancienne :
Du point de vue global (la plus ancienne du systme);
55
En gnral, lallocation globale produit de meilleurs rsultats.
5.7.3.2 La prpagination
56
6 Le systme de fichiers
Les fichiers dun systme dexploitation reprsentent une partie des objets que celui-
ci 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.
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
8 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.
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.
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 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.
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.
Figure 17
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.
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 bloc bloc bloc bloc
dindex n 1 n 2 n 3 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 Bloc n 12 Bloc n 13
Pointeur simple Pointeur double Pointeur triple
indirection indirection indirection
Figure 19
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.
Figure 20
Cependant, on peut parfois construire des structures cycliques, telle que celles-ci :
Figure 21
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
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 toto
534 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.
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).
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.
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.
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 Ptr sur le Ptr sur Ptr sur Ptr sur Ptr sur
priph. bloc 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).
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 systme Unix permet de runir plusieurs disques sous une arborescence unique.
66
/
users
temp usr
Figure 27
Figure 28
Une table des volumes monts garde la trace des diffrents priphriques. Elle
contient les lments suivants :
N du priph. Ptr sur le Ptr sur le i-nud du Ptr sur le i-nud du
mont tampon du systme mont rpert. de montage
super bloc
Figure 29
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.
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.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 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.
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.
Ctl
P Disque
Bus
Figure 30
11 Et donc ce contrleur.
70
Contrleur Adresses dentres- Vecteur
sorties s (IRQ)
Horloge 040-043 0
Clavier 060-063 1
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.
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.
total 11
crw--w---- 1 pierre 0, 0 Mar 25 21:49 console
crw-rw-rw- 1 root 11, 0 Mar 11 16:13 des
crw-r----- 1 root 7, 0 Mar 11 16:11 drum
crw-rw---- 1 root 41, 0 Mar 11 16:11 dump
crw-r----- 1 root 3, 11 Mar 11 16:11 eeprom
crw-rw-rw- 1 root 32, 3 Mar 11 16:18 gpone0d
crw-rw-rw- 1 root 29, 0 Mar 11 16:11 kbd
crw------- 1 root 37, 40 Mar 11 16:11 nit
crw-rw-rw- 3 root 18, 4 Mar 11 16:12 nrmt0
crw-rw-rw- 1 root 21, 2 Mar 25 14:13 ptyp2
crw-rw-rw- 1 root 21, 10 Mar 11 16:13 ptypa
crw-rw-rw- 1 root 21, 11 Mar 11 16:13 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.
72