Vous êtes sur la page 1sur 72

The best Of informatique

SYSTMES DEXPLOITATION
Notes de cours 2004-2005

Pr. Omar Megzari megzari@fsr.ac.ma

Facult des Sciences de Rabat, Dpartement de Mathmatiques et dInformatique Rabat

1 2 3

INTRODUCTION........................................................................................................................... 6 BIBLIOGRAPHIE.......................................................................................................................... 9 LORDINATEUR ......................................................................................................................... 12 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.7.1 3.7.2 3.8 3.9 3.9.1 3.9.2 3.9.3 3.10 3.11 3.12 3.10.2 LA CARTE MERE ...................................................................................................................... 12 LE MICROPROCESSEUR............................................................................................................. 13 LA MEMOIRE CACHE ................................................................................................................ 14 LA MEMOIRE VIVE ................................................................................................................... 14 LA MEMOIRE MORTE (ROM).................................................................................................... 14 LES FENTES D'EXTENSION ........................................................................................................ 14 LE DISQUE DUR ....................................................................................................................... 15 Le fonctionnement interne ................................................................................................. 15 La lecture et l'criture....................................................................................................... 15 LA DISQUETTE ........................................................................................................................ 16 LE CD-ROM .......................................................................................................................... 17 La composition d'un CD-ROM .......................................................................................... 17 Le lecteur de CD-ROM ..................................................................................................... 18 Ses caractristiques........................................................................................................... 18 LE DVD-ROM ....................................................................................................................... 18 Les zones ...................................................................................................................... 20 LE MODEM .............................................................................................................................. 20 LA CARTE RESEAU ................................................................................................................... 21 La prparation des donnes .......................................................................................... 21 Le rle d'identificateur ................................................................................................. 22 Les autres fonctions de la carte rseau ......................................................................... 22 Envoi et contrle des donnes....................................................................................... 22 Le clavier ..................................................................................................................... 23 La souris....................................................................................................................... 23 Le numriseur............................................................................................................... 23 La camra numrique ................................................................................................... 23 L'cran ou le moniteur.................................................................................................. 24 Le moniteur couleur...................................................................................................... 24 Les moniteurs cristaux liquides.................................................................................. 25 Les caractristiques...................................................................................................... 25

3.12.1 3.12.2 3.12.3 3.12.4 3.13 3.13.1 3.13.2 3.13.3 3.13.4 3.14 3.14.1 3.14.2 3.14.3 3.14.4

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

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

3.14.5 3.14.6 3.14.7 3.14.8 3.14.9 3.15 3.16 3.17

L'imprimante ................................................................................................................ 25 L'imprimante marguerite ........................................................................................... 26 L'imprimante matricielle............................................................................................... 26 L'imprimante jet d'encre ............................................................................................ 26 L'imprimante laser........................................................................................................ 27

PROGRAMMES INFORMATIQUES................................................................................................ 27 LES LIAISONS .......................................................................................................................... 27 LA CONNEXION PAR LA LIGNE TELEPHONIQUE ........................................................................... 27 Les modems 56 Kbit/s ................................................................................................ 28 Prsentation du RNIS ................................................................................................... 28 Fonctionnement du RNIS .............................................................................................. 28 Quel est le besoin d'une ligne spcialise?.................................................................... 28 Le prix d'une ligne spcialise ...................................................................................... 28 La liaison Internet par cble......................................................................................... 28 Les avantages ............................................................................................................... 29 Le matriel ncessaire une liaison par cble.............................................................. 29 L'ADSL......................................................................................................................... 29 ADSL............................................................................................................................ 30 La fibre optique ............................................................................................................ 30 Le satellite.................................................................................................................... 30 Les ondes hertziennes ................................................................................................... 30 Le rseau lectrique ..................................................................................................... 31 Le rseau Ethernet........................................................................................................ 31

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 3.18.7 3.18.8 3.18.9 3.18.10 3.18.11 3.18.12 4

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

LES PROCESSUS......................................................................................................................... 33 4.1 4.1.1 4.1.2 4.2 4.2.1 4.2.2 4.2.3 4.3 4.3.1 4.3.2 4.3.3 4.3.4 STRUCTURE DES PROCESSUS .................................................................................................... 33 Gnralits........................................................................................................................ 33 Les processus sous Unix .................................................................................................... 37 COMMUNICATION ENTRE LES PROCESSUS.................................................................................. 41 Les tubes de communication avec Unix ............................................................................. 41 Les messages..................................................................................................................... 42 La mmoire partage ........................................................................................................ 43 ORDONNANCEMENT ................................................................................................................ 43 Le tourniquet..................................................................................................................... 44 Les priorits ...................................................................................................................... 44 Le tourniquet avec priorits .............................................................................................. 44 Lordonnancement des fils dexcution.............................................................................. 45

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

5.1 5.1.1 5.1.2 5.2 5.2.1 5.2.2 5.3 5.3.1 5.3.2 5.3.3 5.3.4 5.4 5.5 5.6 5.7 5.7.1 5.7.2 5.7.3 6

INTRODUCTION ....................................................................................................................... 46 La multiprogrammation..................................................................................................... 46 Les registres matriels....................................................................................................... 47 CONCEPTS FONDAMENTAUX .................................................................................................... 47 Production dun programme.............................................................................................. 47 Principes de gestion .......................................................................................................... 47 LALLOCATION ....................................................................................................................... 48 tat de la mmoire ............................................................................................................ 48 Politiques dallocation ...................................................................................................... 49 Libration ......................................................................................................................... 50 La rcupration de mmoire.............................................................................................. 50 LE VA-ET-VIENT ...................................................................................................................... 51 LA PAGINATION ...................................................................................................................... 52 LA SEGMENTATION ................................................................................................................. 53 LA MEMOIRE VIRTUELLE .......................................................................................................... 54 Prsentation...................................................................................................................... 54 Algorithmes de remplacement de pages............................................................................. 55 Autres considrations........................................................................................................ 55

LE SYSTEME DE FICHIERS ..................................................................................................... 57 6.1 6.1.1 6.1.2 6.1.3 6.2 6.3 6.3.1 6.3.2 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.5 6.6 6.7 6.8 QUEST CE QUUN FICHIER? ..................................................................................................... 57 Une dfinition ................................................................................................................... 57 La structure dun systme de fichiers................................................................................. 58 Accs aux lments dun fichier ........................................................................................ 59 LES BLOCS DU DISQUE ............................................................................................................. 60 LA REPARTITION PHYSIQUE DES FICHIERS EN BLOCS .................................................................. 61 La liste chane ................................................................................................................. 61 La table dindex ................................................................................................................ 62 LES DOSSIERS OU LES REPERTOIRES .................................................................................... 62 Les rpertoires du systme MS-DOS.................................................................................. 63 Les rpertoires dUnix....................................................................................................... 64 Structure et manipulation des nud dindex ...................................................................... 64 Le partage de fichiers par liens avec Unix ........................................................................ 65 LA MEMOIRE CACHE ................................................................................................................ 65 LA STRUCTURE PHYSIQUE DUN DISQUE UNIX ........................................................................... 66 LA STRUCTURE LOGIQUE DUN DISQUE UNIX............................................................................. 66 REPARER LE SYSTEME DE FICHIER ............................................................................................ 67

LES ENTREES-SORTIES ........................................................................................................... 69 7.1 COMMENT LE PROCESSEUR COMMUNIQUE AVEC LEXTERIEUR ?................................................. 69

7.1.1 7.1.2 7.1.3 7.1.4 7.2

Gnralits........................................................................................................................ 69 Les contrleurs.................................................................................................................. 69 Un exemple simple de fonctionnement : crire sur un disque............................................. 71 Laccs direct la mmoire .............................................................................................. 71 LES FONCTIONS UNIX .............................................................................................................. 71

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

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

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

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

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

10

11

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

3.1 La carte mre


Schma d'une carte mre :

12

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

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

13

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

3.3 La mmoire cache


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

3.4 La mmoire vive


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

3.5 La mmoire morte (ROM)


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

3.6 Les fentes d'extension


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

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

3.7 Le disque dur


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

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

15

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

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

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

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

16

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

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

17

Exemple : prenons la squence suivante : 110010101. Celle-ci correspond sur le CD-ROM deux espaces, deux trous, un espace, un trou, un espace, un trou, un espace.

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

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

3.10 Le DVD-ROM

18

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

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

Il existe 4 types de DVD diffrents :

3.10.1.1.1.1.1.1.1 Type de supp ort

3.10.1.1.1.1.1.1.2 Capacit

3.10.1.1.1.1.1.1.3 Temps musical quival ent

3.10.1.1.1.1.1.1.4 Nombre de CD quival ent

CD DVD simple face simple couche DVD simple face double couche

650Mo 4.7Go

1h18 min 9 h 30

1 7

8.5Go

17 h 30

13

19

DVD double face simple couche DVD double face double couche

9.4Go

19 h

14

17Go

35 h

26

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

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

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

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

3.12 La carte rseau


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

21

Les donnes se dplacent dans lordinateur en empruntant des chemins appels Bus . Plusieurs chemins cte cte font que les donnes se dplacent en parallle et non en srie (les unes la suite des autres). Les premiers bus fonctionnaient en 8 bits (8 bits de donnes transports la fois) Lordinateur PC/AT dIBM introduit les premiers bus 16 bits Aujourdhui, la majorit des bus fonctionnent en 32 bits Toutefois sur un cble les donnes circulent en srie (un seul flux de bits), en se dplaant dans un seul sens. Lordinateur peut envoyer OU recevoir des informations mais il ne peut pas effectuer les deux simultanment. Ainsi, la carte rseau restructure un groupe de donnes arrivant en parallle en donnes circulant en srie (1 bit). Pour cela, les signaux numriques sont transforms en signaux lectriques ou optiques susceptibles de voyager sur les cbles du rseau. Le dispositif charg de cette traduction est le Transceiver. 3.12.2 Le rle d'identificateur La carte traduit les donnes et indique son adresse au reste du rseau afin de pouvoir tre distingue des autres cartes du rseau. Adresses : dfinies par lIEEE (Institute of Electrical and Electronics Engineer) qui attribue des plages dadresses chaque fabriquant de cartes rseau. Elles sont inscrites sur les puces des cartes : procdure appele Gravure de ladresse sur la carte . Par consquent, chaque carte a une adresse UNIQUE sur le rseau.

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

22

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

3.13 Priphriques dentre


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

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

23

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

3.14 Priphriques de sortie


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

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

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

24

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

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

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

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

Ce ruban de carbone dfile de faon ce qu'il y ait continuellement de l'encre dessus. chaque fin de ligne un rouleau fait tourner la feuille.

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

26

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

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

3.15 Programmes informatiques


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

3.16 Les liaisons 3.17 La connexion par la ligne tlphonique


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

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

3.18 Les lignes spcialises


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

Les liaisons Internet par cble vous permettent de rester connect Internet de faon permanente. Il n'y a plus besoin d'attendre que la connexion s'tablisse avec le prestataire, car la connexion avec ce dernier est directe. 3.18.4 Les avantages On ne paye pas la connexion la minute mais au mois, d'o un cot rduit La vitesse est largement suprieure celle d'un modem ...

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

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

29

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

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

30

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

10 Base-2 10 Base-5 10 Base-T 100 Base-TX 1000 Base-SX

Cble coaxial de faible diamtre Cble coaxial de gros diamtre (0.4 inch) Double paire torsade Double paire torsade Fibre optique

10 Mb/s 10 Mb/s 10 Mb/s 100 Mb/s 1000 Mb/s

185 m 500 m 100 m 100 m 500 m

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

31

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

32

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

P2 P1 systme

Figure 1 Le multi-tche

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

33

P1

P2

P3

P4

P5

P6

Figure 2 La hirarchie des processus.

Les processus sont composs dun espace de travail en mmoire form de 3 segments : la pile, les donnes et le code et dun contexte.

Pile d'excution

Donnes Code

Figure 3 Les segments dun processus.

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

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

34

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

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.

Processus Registres Compteur ordinal tat du programme Pointeur de pile

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

lu

Prt

Bloqu

35

Figure 4 Les tats dun processus.

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

2Bach,

op.cit., p. 156.

36

Excution en mode utilisateur dfunt Exit Appel systme Excution en mode noyau prempt

Interruption

Bloqu en mmoire

Prt en mmoire

Cration

Bloqu sur disque

Prt sur disque

Figure 5 Les tats des processus dUnix.

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

37

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

38

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

Nom signal SIGUP SIGINT SIGQUIT SIGKILL SIGALRM

du

N signal 1 2 3 9 14

du

Commentaires

signal mis lors dune dconnexion ^C ^\ signal dinterruption radicale signal mis par alarm(int sec) au bout de sec secondes

SIGCLD

20

signal mis par un fils qui se termine, son pre


Tableau 2 Quelques signaux dUnix.

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

(*fonction)(int))) avec fonction pouvant prendre les valeurs: Nom SIG_IGN SIG_DFL Action le processus ignorera linterruption correspondante le processus rtablira son comportement par dfaut lors de larrive de linterruption (la terminaison) void fonction(int n) Le processus excutera fonction, dfinie par

lutilisateur, larrive de linterruption n. Il reprendra ensuite au point o il a t interrompu


Tableau 3 Les routines d'interruption dUnix.

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

40

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

4.2 Communication entre les processus


Les processus peuvent communiquer par lintermdiaire de fichiers. Nanmoins, certains systmes dexploitation fournissent des mcanismes permettant les

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

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

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

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

Tableau 4 Les fonctions de messages.

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

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

43

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

op. cit., p. 267-270.

44

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

45

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

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

46

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

5.2 Concepts fondamentaux


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

Il est noter que MS-DOS, bien quil ne soit pas multiprogrammable, nest pas non plus un systme monoprogramm stricto sensu; cest une crature qui tient des deux. Malheureusement pas sur le 8086 ce qui a eu des consquences considrables sur les systmes DOS et Windows.
5

47

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

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

0
Figure 7

48

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

Figure 8

on aurait la liste :
L 0 5 P 5 3 P 8 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. Le systme MS-DOS utilise une variante de ce procd grce un en-tte de 16 octets qui prcde chaque zone (arne) en mmoire. Les en-ttes contiennent notamment le type de larne (un pointeur sur le contexte du processus6 ou 0) et sa taille. 5.3.2 Politiques dallocation

Program Segment Prefix ou PSP.

49

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

L
Figure 10

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

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

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

51

Le systme excute pendant un certain quantum de temps7 les processus en mmoire puis dplace un de ces processus au profit dun de ceux en attente dans la mmoire provisoire. Lalgorithme de remplacement peut tre le tourniquet.
Mmoire utilisateur Mmoire provisoire

Figure 11

Le systme de va-et-vient, sil permet de pallier le manque de mmoire ncessaire plusieurs utilisateurs, nautorise cependant pas lexcution de programmes de taille suprieure celle de la mmoire centrale.

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

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

52

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Mmoire physique
Figure 12

3 2 1 0 Processus

On conserve lemplacement des pages par une table de transcodage : 0 1 2 3 14 4 8 12

La pagination permet dcrire des programmes r-entrants, cest dire o certaines pages de codes sont partages par plusieurs processus.

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

5.7 La mmoire virtuelle


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

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


Figure 13

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

54

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

Carte CPU

Mmoire

Priphrique

CPU

Adresses virtuelles MMU Adresses relles

Bus

Figure 14 Lunit de gestion de mmoire.

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

55

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

56

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

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

et sur un terminal, par la commande : $ cat > /dev/tty abcd ^D

Le systme de fichiers rpartis NFS permet des oprations similaires travers un rseau. 6.1.2 La structure dun systme de fichiers Le modle hirarchique

6.1.2.1 1.

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

Figure 15 Une vue du gestionnaire de fichiers dOpen Look

6.1.2.2 2.

Les rpertoires et ladressage dun fichier

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

58

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

59

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

6.2 Les blocs du disque


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

Tanenbaum, op. cit., p. 285.

60

6.3 La rpartition physique des fichiers en blocs


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

Figure 16

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

Figure 17

10

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

61

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

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

6.4 Les dossiers ou les rpertoires


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

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

Figure 20

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

Figure 21

6.4.1

Les rpertoires du systme MS-DOS

Les rpertoires du systme MS-DOS possdent une entre par fichier et chaque entre la structure suivante :
Nom du fichier Extension Attributs Rserv Heure Date N du 1er Taille bloc

63

Figure 22

Le numro du premier bloc, cluster dans la terminologie MS-DOS, indexe la Fat et permet de retrouver la suite des lments du fichier. 6.4.2 Les rpertoires dUnix Les rpertoires du systme Unix disposent, eux aussi, dune entre par fichier. Chaque entre possde au moins les deux champs suivants, le numro du nud dindex et le nom du fichier. Par exemple :
26 59 267 534 . .. toto titi Figure 23

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

64

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

6.5 La mmoire cache


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

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

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

6.6 La structure physique dun disque Unix


Chaque disque physique au format Unix possde la structure suivante :
Bloc dmarrage bits nuds dindex Super bloc Table bits Table i-nuds blocs (plusieurs donnes blocs) Figure 26 Donnes (plusieurs blocs)

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

6.7 La structure logique dun disque Unix


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

66

users /

temp

usr

anne1

anne2

anne3

Figure 27

On ralise cet attachement par un montage , grce la commande : /etc/mount /dev/fd1 /users o /dev/fd1 dsigne le disque monter. Le systme mont devient :

users

temp

usr

anne1

anne2

anne3

Figure 28

Une table des volumes monts garde la trace des diffrents priphriques. Elle contient les lments suivants :
N du priph. Ptr sur mont tampon super bloc le Ptr sur le i-nud du Ptr sur le i-nud du du systme mont rpert. de montage Figure 29

Elle permet dassocier les disques larborescence du systme. Ainsi lutilisateur peut parcourir les rpertoires sans en supposer leur organisation physique.

6.8 Rparer le systme de fichier

67

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

68

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

correspondent ni lune ni lautre dfinition, dautres tant recouverts, par contre, par les deux dfinitions, les drouleurs de bandes par exemple. 7.1.2 Les contrleurs

69

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

Ctl Disque

Bus
Figure 30

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

11

Et donc ce contrleur.

70

Contrleur

Adresses sorties

dentres- Vecteur s (IRQ) 0 1 4

Horloge Clavier Port COM 1

040-043 060-063 3F8-3FF

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

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

7.2 Les fonctions Unix


71

Lcriture dun pilote dentres-sorties est une tche assez complexe. Nous nexaminerons que les grandes lignes de la structure des entres-sorties sous Unix. Pour plus de dtails, le lecteur pourra considrer les exemples se trouvant sur le serveur Hewlett-Packard dans les rpertoires : /usr/lib/drivers ou

/systems/DRIVERS. Le systme Unix dsigne chaque priphrique par un fichier. De manire courante, on rassemble les fichiers de tous les priphriques dans le rpertoire : /dev (device). Ces fichiers sont appels spciaux . On obtient leurs caractristiques avec la commande : ls -l, ceci donne, par exemple, sur un ordinateur Sun du:
total 11 crw--w---crw-rw-rwcrw-r----crw-rw---crw-r----crw-rw-rwcrw-rw-rwcrw------crw-rw-rwcrw-rw-rwcrw-rw-rwcrw-rw-rw1 1 1 1 1 1 1 1 3 1 1 1 pierre root root root root root root root root root root root 0, 11, 7, 41, 3, 32, 29, 37, 18, 21, 21, 21, 0 0 0 0 11 3 0 40 4 2 10 11 Mar Mar Mar Mar Mar Mar Mar Mar Mar Mar Mar Mar 25 11 11 11 11 11 11 11 11 25 11 11 21:49 16:13 16:11 16:11 16:11 16:18 16:11 16:11 16:12 14:13 16:13 16:13 console des drum dump eeprom gpone0d kbd nit nrmt0 ptyp2 ptypa ptypb

La premire lettre indique que cest un fichier spcial de priphrique et elle dcrit son type : c dsigne un priphrique caractre; b dsigne un priphrique bloc. Viennent ensuite les droits de lecture, dcriture et dexcution pour

respectivement : le propritaire, les membres de son groupe, et les autres utilisateurs. Aprs ces droits, le systme indique le nom du propritaire du fichier. On remarque que cest root pour la plus part de ces fichiers.

72