Vous êtes sur la page 1sur 14

Gnralits

L'ordinateur et les priphriques


Un ordinateur est une machine qui traite des informations quantiables (exprimables par des chiffres) selon les instructions dun programme. Une instruction consiste en un ordre deffectuer une tche lmentaire. Additionner 2 et 2 ou Afcher lcran le message "Bonjour" sont des exemples d'instructions.
Linformatique L'ordinateur Les grands systmes

Les serveurs Loriginalit et lintrt de lordinateur drivent principalement du fait qu'il est universel: il peut excuter des travaux de tout ordre, depuis le pilotage dun satellite jusqu la clture de la comptabilit d'une entreprise. Cette universalit est la consquence de sa programmabilit.

Un programme peut contenir quelques instructions seulement, mais il peut aussi tre norme. Par exemple, Windows se compose de plusieurs dizaines de millions d'instructions, ce qui reprsente 2'000 ou 3'000 classeurs pleins. Si une personne voulait travailler seule recrer Windows, il lui faudrait 10'000 ou 20'000 ans. Un ordinateur est une machine de Turing, du nom d'un scientique anglais, Alan Turing (1912-1954). Par dnition, une machine de Turing est capable de traiter n'importe quel programme valide. Autrement dit, un micro-ordinateur 10 euros occupant quelques centimtres carrs peut excuter les mmes programmes qu'un supercalculateur 20 millions d'euros. Simplement, il le fera beaucoup plus lentement.

Les circuits lectroniques


Au niveau le plus bas, un ordinateur est un ensemble de circuits lectroniques qui se composent principalement de portes logiques faites de transistors. En 2009, la barrire du milliard de transistors dans un microprocesseur a t passe. Les portes logiques de base sont: La porte OR (ou) a deux entres et une sortie. Si les deux entres A et B sont 0, on a 0 en sortie. Sinon, on a 1 (voir la table de vrit ci-contre). La porte AND (et) a aussi deux entres et une sortie. Si les deux entres sont 1, on a 1 en sortie. Sinon, on a 0. La porte NOT (non) a une entre et une sortie. Si l'entre est 1, la sortie sera 0 et inversement. La porte XOR (ou exclusif) a deux entres et une sortie. Si les deux entres sont 1 ou 0, on a 0 en sortie. Si l'une des entres est 1 et l'autre 0, on a 1 en sortie. La porte XNOR (non ou exclusif) est l'inverse de la XOR. Si les deux entres sont 1 ou 0, on a 1 en sortie. Si l'une des entres est 1 et l'autre 0, on a 0 en sortie.

L'ordinateur et les priphriques

http://www.jaquet.org, novembre 2009

La porte NOR (non ou) est l'inverse de la OR. Si les


deux entres sont 0, on a 1 en sortie. Sinon, on a 0. La porte NAND (non et) est l'inverse de la AND. Si les deux entres sont 1, on a 0 en sortie. Sinon, on a 1. Tout cela est trs abstrait et on peut mieux se rendre compte du comportement des portes logiques au moyen des diagrammes de Venn ci-contre (source: http:// en.wikipedia.org/wiki/Logic_gate). Une machine de Turing peut tre construite en utilisant uniquement ces mcanismes. Autrement dit, tous les traitements possibles d'un ordinateur peuvent tre implants dans des agencements de portes logiques et c'est bien ce qui se passe dans la ralit: la totalit du travail effectu par un ordinateur est le rsultat de courants lectriques qui passent dans des transistors. L'important est de comprendre qu'un ordinateur n'est rien d'autre qu'un assemblage de milliards de transistors et que, s'il est si simple utiliser, c'est parce que les fabricants ont mont sur cette plate-forme une pile logicielle qui masque l'aridit de l'lectronique sous des dehors beaucoup plus ergonomiques. Quand on ouvre une fentre dans une interface graphique, on dclenche plusieurs millions d'oprations de bas niveau dont chacune d'elles implique un ux de centaines de 0 et de 1 travers des milliers de transistors.

Le langage-machine
Ces oprations de bas niveau sont commandes par les instructions de ce qu'on appelle le langage-machine (comprendre: le langage de la machine). Chaque famille de processeurs a son propre langage-machine, ce qui veut dire que le mme programme crit en C++ ou en Java sera traduit de manire compltement diffrente selon qu'il tourne sur une machine Intel, Sparc ou Power. Le langage-machine est le langage quun ordinateur peut excuter. Il se prsente sous la forme dune suite de bits. Une instruction se compose par exemple des champs suivants: 1 opcode (code de l'instruction, par exemple additionner deux nombres entiers); 2 adresses des donnes sur lesquelles porte l'instruction ou oprandes (donnes immdiates, par exemple 2 et 3). Un exemple possible se prsente ainsi: 0000100000000000000000100000000000000011. Les huit premiers bits (00001000) forment l'opcode et signient qu'il s'agit d'additionner deux nombres entiers immdiats, les douze suivants (000000000010) sont le nombre 2 et les douze derniers (000000000011) le nombre 3.

L'ordinateur et les priphriques

http://www.jaquet.org, novembre 2009

On voit que, si les informaticiens devaient crire les programmes en langage-machine, ils trouveraient cela extrmement difcile. Si on reprend l'exemple ci-dessus (000010000000000 0000000100000000000000011), un seul 0 ou un seul 1 en plus ou en moins provoquera une erreur l'excution. Un premier pas consiste utiliser le langage d'assemblage (assembly language). Au lieu d'crire 0000100000000000000000100000000000000011, on crit par exemple ADDINT 2,3, ce qui veut dire add integers 2 and 3. C'est la traduction directe du langage-machine, avec ADDINT au lieu de 00001000 et les nombres crits en base dix plutt qu'en base deux, mais c'est bien plus facile crire. Si le programmeur est trs bon en langage d'assemblage, il peut crire des programmes optimiss pour l'ordinateur sur lequel ils doivent tourner. Il n'y a donc pas de langage plus efcace, mais le programmeur doit tre capable de mieux optimiser son code que ne le fait un bon compilateur. De plus, il faut des dizaines d'instructions en langage d'assemblage pour faire la mme chose qu'une seule instruction dans un langage volu comme le C++, le C# ou Java. Dans la plupart des cas, il vaut donc mieux travailler dans un langage volu et laisser le logiciel faire le travail automatique de traduction en langage-machine.

Le systme d'exploitation
Le systme dexploitation gre et coordonne les activits de l'ordinateur. C'est la machine virtuelle qui rassemble les services dallocation et dordonnancement des ressources de lordinateur. L'allocation des ressources concerne le partage. Par exemple, tous les programmes en cours de traitement se trouvent dans la mmoire centrale de lordinateur, et cest la tche du systme dexploitation de faire en sorte quils se partagent cet espace sans se gner. L'ordonnancement concerne l'organisation de l'usage des ressources dans le temps. Par exemple, c'est le systme d'exploitation qui gre la succession des accs au disque dur par les programmes. Les trois fonctions fondamentales de tout systme d'exploitation sont: 1. la gestion du processeur (gestion de l'usage du processeur par les programmes en excution); 2. la gestion de la mmoire (allocation de zones de mmoire aux programmes en excution); 3. la gestion des entres-sorties (dialogue entre l'ordinateur et ses priphriques). C'est le noyau (kernel) du systme d'exploitation qui s'occupe de ces trois fonctions. Les applications font donc appel au noyau chaque fois qu'il y a quelque chose lire depuis le clavier ou afcher sur l'cran. Autrement dit, quand le traitement de texte ou le tableur afche une fentre l'cran, ce n'est en ralit pas lui qui fait le travail, c'est le systme d'exploitation. L'application le lui demande par le moyen d'un appel au systme.

L'ordinateur et les priphriques

http://www.jaquet.org, novembre 2009

En somme, les applications baignent dans l'environnement du systme d'exploitation (voir schma ci-contre). Tous les changes entre l'utilisateur et une application passent par le systme d'exploitation. De mme, tous les changes entre les applications et le matriel passent par le systme d'exploitation. Sans le systme d'exploitation, les programmes devraient grer directement le matriel, ce qui les rendrait beaucoup plus difciles crire et beaucoup plus volumineux. De plus, un dfaut dans le code d'un programme pourrait bloquer le fonctionnement de toute la machine. En informatique de gestion, le systme d'exploitation assure deux autres fonctions essentielles: 1. la gestion des chiers (gestion du stockage des chiers sur les mmoires externes); 2. la gestion de l'interface avec l'utilisateur. Sous Windows, la gestion des chiers est assure par NTFS. Sous Mac OS, c'est HFS Plus. Sous Unix et Linux, l'utilisateur a le choix entre une quinzaine de possibilits, mais ext3 et ext4 sont rpandus. Dans l'ensemble des systmes d'exploitation, c'est FAT qui s'emploie pour les cls USB et ISO 9660 pour les disques optiques (CD, DVD, etc.), ce qui est trs pratique: une cl USB ou un CD cr sous Linux est lisible sous Windows ou Mac OS. L'utilisateur peut interagir avec le systme d'exploitation au moyen de trois interfaces: l'interface de commandes ou CLI (command line interface) ou shell; les menus; l'interface graphique ou GUI (graphical user interface) Dans le cas de Mac OS et Windows, l'interface avec l'utilisateur est incluse dans le systme d'exploitation alors que, dans le monde Unix, c'est un logiciel spar du systme d'exploitation. On lance la CLI comme on lancerait un traitement de texte c'est un programme comme un autre.

L'architecture de l'ordinateur
Larchitecture de lordinateur est fondamentalement simple. Quelle que soit sa taille et le type de tches quon lui donne accomplir, un ordinateur assure les trois mmes fonctions essentielles: changer des informations, les stocker et les traiter. Ces fonctions sont implantes dans les trois organes dont se compose tout ordinateur: 1. le ou les processeurs centraux pour les traitements; 2. la mmoire centrale pour le stockage; 3. linterface dentre-sortie pour les changes dinformations. Les liaisons entre les composants passent par des chemins appels bus. Les bus relient aussi les lments dont sont constitus les processeurs, la mmoire centrale et les entres-sorties. Ils comprennent souvent 8, 32, 64 ou 128 voies parallles.

L'ordinateur et les priphriques

http://www.jaquet.org, novembre 2009

Si un bus est universel, il vhicule des adresses, des commandes et des donnes. Sinon, il est spcialis dans l'un de ces trois rles. Pour prendre un exemple concret, si on clique sur Enregistrer dans une application, cela implique l'ordre de copier (bus de commande) des informations (bus de donnes) un endroit bien prcis (bus d'adresses). Le fonctionnement de lordinateur est rythm par une horloge (clock) qui permet de rythmer le travail selon un modle trs simple: un battement dhorloge, un changement dtat. Il existe deux changements dtat possibles: de la valeur 1 la valeur 0, et de la valeur 0 la valeur 1. Lhorloge permet de synchroniser les tches, mais aussi de dater les oprations, notamment les crations et les modications de chiers. Le hertz (Hz) est lunit de mesure de la vitesse de lhorloge. Un ordinateur qui fonctionne 3 GHz est un ordinateur dont llectronique peut changer dtat trois milliards de fois par seconde, mais cette unit de vitesse est sans grand intrt. Ce qui importe, c'est le nombre d'oprations relles que l'ordinateur est capable de faire.

Le multitraitement
Le multitraitement (multiprocessing) est la capacit d'un ordinateur excuter plusieurs programmes en parallle. Pour cela, il faut qu'il y ait plusieurs processeurs centraux ou un processeur contenant plusieurs curs, c'est--dire plusieurs units de traitement. S'il y a galit entre les units de traitement ce qui est presque toujours le cas on parle de SMP (symmetric multiprocessing). Ne pas confondre le multitraitement avec le multitche (multitasking), qui est la capacit d'un ordinateur traiter plusieurs programmes en excution de manire entrelace. Il consacre par exemple un centime de seconde chacun d'eux si bien que l'utilisateur a l'impression qu'ils sont excuts en mme temps, mais il n'en est rien. Jusqu'au dbut des annes 2000 environ, on utilisait plusieurs processeurs si on voulait augmenter la puissance de traitement des ordinateurs. Aujourd'hui, on utilise plutt le multi-cur (multi-core), une approche qui consiste placer plusieurs units de traitements dans un seul processeur physique (c'est l'ide de plusieurs processeurs en un). Le multi-cur est coupl avec le multithreading, une technique qui amliore le paralllisme des traitements. Aujourd'hui, le multitraitement inclut par dnition le multithreading. En simpliant, le multi-cur amliore plutt le paralllisme des applications par exemple, on n'observera pas de ralentissement si un antivirus se met scanner le systme pendant qu'on travaille avec un traitement de texte alors que le multithreading amliore plutt le paralllisme l'intrieur des applications. C'est le cas, par exemple, quand un systme de gestion de base de donnes rpond aux requtes de plusieurs utilisateurs en mme temps.

L'ordinateur et les priphriques

http://www.jaquet.org, novembre 2009

En 2006, Intel a mis sur le march le processeur Core2 avec un double cur, puis, en 2008, le processeur i7 avec un quadruple cur, et le successeur du i7 est un modle Xeon huit curs, en 2010. L'image ci-dessous montre le i7 (auteur: chris.jervis, source: http://www.ickr.com/ photos/28079555@N04/3201704432/sizes/m). Ces processeurs reconnaissent le multithreading, qu'Intel appelle Hyper-Threading. Les principaux microprocesseur Power ou Sparc sont aussi multi-cur. Attention, le multitraitement ne fonctionne correctement que si les quatre lments suivants le reconnaissent: la carte-mre; le systme d'exploitation; le compilateur utilis pour crer l'application; l'application.

Dans le cas du systme d'exploitation, du compilateur et de l'application, la reconnaissance est complte ou partielle. Un systme d'exploitation se compose de plusieurs milliers de chiers excutables et une application en regroupe des dizaines ou des centaines. Il arrive donc trs souvent que certaines fonctions soient adaptes au multitraitement et d'autres non.

Le processeur central
Le processeur central est le cur de lordinateur. Il traite les informations en excutant les instructions des programmes. Les processeurs actuels sont des microprocesseurs, ce qui veut dire quils sont trs intgrs. Ils tiennent souvent sur une seule plaquette de quelques millimtres carrs loge dans un chip, un botier de plastique noir de trois ou quatre centimtres de ct. On peut exprimer la vitesse dun processeur en Mips (millions dinstructions par seconde) ou en Gops (milliards d'oprations en virgule ottante par seconde). Fondamentalement, un processeur sait faire trois choses: calculer, comparer et copier des donnes (on appelle parfois ces oprations les trois C). Calculer consiste effectuer des oprations arithmtiques sur les donnes. Un exemple est le calcul dune facture (voir schma ci-dessus). Comparer consiste lire une donne, la confronter avec une autre donne et dterminer si elles sont identiques ou non (schma ci-contre). Cest une opration trs rpandue dans tous les domaines de linformatique. Par exemple, une recherche dans une base de donnes seffectue en comparant des informations donnes au clavier avec un ensemble de donnes stock dans un chier.

L'ordinateur et les priphriques

http://www.jaquet.org, novembre 2009

Copier consiste reproduire une donne. Par exemple, lordinateur peut charger un programme de traitement de texte de la mmoire de masse dans la mmoire centrale. Cette opration de chargement de la mmoire de masse dans la mmoire centrale est indispensable pour permettre la machine de traiter ce programme. Inversement, lordinateur peut dcharger un document de la mmoire centrale sur la mmoire de masse. Cette opration sappelle enregistrement, et elle est vitale dans le fonctionnement des ordinateurs car elle est ncessaire pour rendre les donnes permanentes. Certains programmes le font automatiquement. C'est le cas des SGBD (systmes de gestion de bases de donnes). Non seulement ils enregistrent automatiquement les transactions dans la base de donnes, mais ils les placent en plus dans un chier de journalisation appel log le (cette opration n'est toutefois pas automatique; elle doit avoir t paramtre par l'administrateur de la base de donnes). De plus, ils consignent le statut dexcution du travail la n de chaque transaction, voire de chaque tape de transaction, ce qui permet de reprendre le travail au bon endroit si un problme surgit. Cela minimise le risque qu'une transaction se fasse par erreur zro fois ou deux fois. Pour effectuer ces oprations, le processeur sappuie sur une architecture en quatre lments: 1. lunit de commande (control unit); 2. lunit arithmtique et logique ou ALU (arithmetic and logic unit); 3. les registres (register le); 4. une ou plusieurs antmmoires ou caches. Lunit de commande est lorgane matriel de commande de lordinateur. Elle constitue le relais entre le programme en excution, qui lui transmet les instructions excuter, et les autres organes de lordinateur, qui excutent ces instructions. Physiquement, son rle essentiel consiste ouvrir et fermer des connexions lectriques entre des composants. LALU est la calculette de l'ordinateur. Elle effectue les calculs (arithmtique) et les comparaisons (logique, par allusion aux portes logiques). Les registres forment un ensemble de mmoires minuscules. Il y en a typiquement vingt cinquante dans un processeur central. Un registre a gnralement une capacit de 8, 16, 32 ou 64

L'ordinateur et les priphriques

http://www.jaquet.org, novembre 2009

bits. Les capacits de 8 ou 16 bits s'emploient dans les dispositifs techniques et les capacits de 32 ou 64 bits dans les ordinateurs de gestion. Comme les registres se trouvent lintrieur du processeur, ils permettent un traitement trs rapide des donnes. Les programmes y placent les informations les plus utiles: les rsultats intermdiaires des calculs, les adresses des donnes en cours dutilisation, etc. On distingue trois catgories de registres: les registres dadresses, qui permettent au processeur central de localiser les informations dont il a besoin; les registres de donnes, qui servent en quelque sorte de bloc-note pour le processeur; les registres spciaux, que le systme dexploitation utilise pour stocker des informations ncessaires au traitement. On appelle ordinateur 64 bits (64-bit computer) une machine dont les registres de donnes ont une taille de 64 bits. Trois registres particulirement importants se rencontrent dans tous les types dordinateurs. Ce sont: - IR (instruction register), qui abrite le contenu de linstruction en cours de traitement; - PC (program counter), qui contient ladresse de la prochaine instruction excuter; - AC (accumulator), qui contient le dernier rsultat intermdiaire obtenu par lALU. un instant donn, les registres contiennent toutes les informations ncessaire au traitement, ce qui veut dire que le contenu des registres suft pour dnir compltement la situation dun programme. Cest grce cela quun ordinateur peut tre multitche: il excute un programme A pendant un bref laps de temps par exemple, un centime de seconde puis il enregistre le contenu des registres. Il passe ensuite au programme B et fait de mme, puis au programme C, et ainsi de suite jusqu' ce que tous les programmes en traitement aient eu droit un instant dexcution par le processeur. Lordinateur recharge alors le contenu des registres du programme A et relance le tour de rle. On parle de mange ou de RR (round-robin). Le mcanisme est trs dynamique: de temps autre, un programme arriv terminaison quitte le mange, ou un programme prt dmarrer se joint aux autres.

Les caches
Un cache est une mmoire prive du processeur. Il sert acclrer le traitement. Son efcacit sexplique par plusieurs raisons: les donnes se trouvent tout prs du lieu de leur traitement; le processeur reste moins longtemps en attente des donnes; le taux de disponibilit du bus de la mmoire est meilleur; les caches offrent de meilleures performances que la RAM (mais ils sont plus coteux).

L'ordinateur et les priphriques

http://www.jaquet.org, novembre 2009

Le fait que les mmoires caches offrent de meilleures performances que la mmoire centrale a donn lieu une architecture en plusieurs tages avec un cache trs rapide, appel L1 (level 1), situ l'intrieur du processeur. Suit un cache plus grand, mais un peu moins rapide parce qu'il est moins prs de l'ALU, le L2 (level 2), puis parfois un cache L3, puis, enn, la mmoire centrale. Et il y a encore un cache appel cache disque entre la mmoire centrale et le disque:

La taille dune antmmoire sexprime en kilo-octets ou en mgaoctets. Bien quelle soit beaucoup plus petite que la mmoire centrale, elle parvient stocker la plupart des informations demandes par le processeur. Comment cela sexplique-t-il? Par la notion de localit de rfrence. Si on observe le fonctionnement dun ordinateur, on saperoit quun ensemble dinstructions tend tre localis dans une zone de mmoire de petite taille. Une antmmoire cent fois plus petite que la mmoire centrale peut ainsi rpondre 90 ou 95% des demandes du processeur. Le taux de russite (hit rate) dune antmmoire est gal au nombre de succs (hit) divis par le nombre dinsuccs (miss). Le principe de la localit de rfrence explique aussi que laugmentation de la taille de lantmmoire ne sert rien au-del dune certaine valeur S qui varie selon lemploi de lordinateur (voir schma ci-contre). Les antmmoires sont transparentes, ce qui signient quelles fonctionnent de manire invisible. Il est impossible un programme de grer un cache. Seule l'lectronique du processeur voit les caches.

La mmoire centrale
La mmoire centrale (main storage, main memory, primary storage ou core storage) se compose de deux lments: la RAM et la ROM. La mmoire morte ou ROM (read-only memory) est une mmoire permanente; elle permet notamment lordinateur de se mettre en marche, de reconnatre les priphriques de base et de faire communiquer les composants matriels entre eux. La mmoire vive ou RAM (random-access memory) est une mmoire volatile qui contient les informations en cours demploi, cest--dire: le noyau du systme dexploitation; les programmes en cours dexcution; les chiers de donnes en cours de traitement.

L'ordinateur et les priphriques

http://www.jaquet.org, novembre 2009

La mmoire vive ne contient que les donnes en train dtre exploites. Les donnes dormantes (non traites en ce moment) se trouvent sur la mmoire de masse, cest--dire sur un disque dur ou plus rarement sur une mmoire ash comme une cl USB ou un disque SSD (solid-state drive). Le fait que la RAM soit volatile signie que son contenu sefface quand lordinateur est mis hors tension. Pour conserver les informations quelle contient, il est ncessaire de les copier sur un disque ou une autre mmoire permanente. La zone de stockage de la mmoire centrale est compose de cellules (cells), aussi appeles emplacements ou cases. Chaque cellule se caractrise par une adresse et un contenu, en rgle gnrale sous la forme dun octet (8 bits). Dordinaire, les adresses sexpriment sur 32 64 bits. Ce nombre donne la capacit dadressage maximale: 2n pour n bits. Une adresse de 32 bits permet de dsigner 232 cellules, soit 4 gigaoctets (4294967296 octets). Une adresse de 64 bits permet dadresser 16 exaoctets (18446 744 073 709 551 616 octets). Le mcanisme dadressage de la mmoire centrale sappuie sur un arbre binaire (voir le schma de la page prcdente). Ladresse dune cellule correspond au chemin sur larbre (schma ci-contre). Les cellules de la mmoire nont pas toutes le mme statut. Certains types de donnes, notamment les entiers et les rels, doivent commencer une cellule dont ladresse est divisible par quatre, cest--dire une adresse qui se termine par deux zros (par exemple, 0000, 0100, 1000 et 1100).

L'interface d'entre-sortie
Dans un ordinateur, linterface dentre-sortie ou units dentre-sortie (input/output interface, I/O interface) se charge de fournir les chemins dentre et de sortie dun ordinateur et dorganiser le trac sur ces chemins. L'interface d'entre-sortie la plus commune est PCI. Elle s'emploie dans les PC, mais aussi dans d'autres types d'ordinateurs, notamment dans le monde Unix. La photo ci-contre montre, de haut en bas, un socle PCI x4, un x16, un x1, un autre x16 et un socle de premire gnration (auteur: snickerdo, http://en.wikipedia.org/wiki/Bus_(computing) 1).

Ce lien ne marche pas parce qu'il contient des parenthses. En informatique, il ne faut jamais utiliser des caractres spciaux dans des noms.

L'ordinateur et les priphriques

10

http://www.jaquet.org, novembre 2009

Linterface dentre-sortie permet lordinateur de communiquer avec les priphriques. leur tour, ceux-ci mettent le systme informatique en communication avec les personnes qui lutilisent. Le systme des entres-sorties poursuit deux objectifs: uniformiser et coordonner les entressorties. Dans un systme informatique, le bus dentre-sortie nest quun bus parmi dautres. Des bus sutilisent chaque fois quil faut copier ou transfrer des donnes, que ce soit lintrieur dun composant ou entre les composants dun systme informatique.

Le traitement
On l'a vu, un ordinateur excute des instructions en langage-machine. Ces instructions font partie dun ensemble spcique chaque famille de processeurs qui sappelle le jeu dinstructions (instruction set ou parfois command set). Chaque famille de processeurs a son jeu dinstructions propre. Voici quelques exemples dinstructions:
Charger dans un registre le contenu dune cellule de la mmoire centrale Comparer le contenu de deux registres Additionner deux entiers qui se trouvent dans des registres Sauter une adresse dtermine (jump)

Un jeu dinstructions runit gnralement de 50 200 instructions diffrentes. Un ordinateur ne peut excuter que ces instructions, qui forment le langagemachine. Il les traite une une, en effectuant une dizaine dtapes par instruction (voir schma ci-contre). Le fait que toutes les donnes traites soient enregistres dans des registres pose le problme de la prcision nie. Si on suppose que les registres d'un ordinateur font 8 bits pour simplier la lecture, le nombre le plus grand est: 11111111 Si on ajoute 1 ce nombre, on obtient 100000000. Or ce nombre occupe 9 positions alors que le registre n'en a que 8. Le rsultat est qu'il y aura dbordement (overow).

L'ordinateur et les priphriques

11

http://www.jaquet.org, novembre 2009

On a le mme problme qu'avec le compteur kilomtrique 6 chiffres d'une voiture: au millionime kilomtre parcouru, le compteur marque de nouveau zro. En rgle gnrale, lorsquun overow se produit dans un ordinateur, la valeur rsultante est laisse vide ou prend la forme dun signe spcial qui sert marquer lerreur. Un autre problme est celui du codage du signe: comme lordinateur ne sait travailler quavec des bits, les nombres ngatifs doivent tre exprims au moyen de 1 et de 0 tout comme les nombres positifs. La mthode utilise aujourd'hui est celle du complment deux (twos complement). Lalgorithme est le suivant: 1. prendre la valeur binaire du nombre (par exemple, exprim sur 8 bits, 7 vaut 00000111); 2. inverser la valeur de tous les bits (11111000); 3. ajouter 1 ce nombre (11111001).

Le dimensionnement
Avant de mettre en place un serveur, il faut dnir la taille de chacun de ses composants de telle manire que lordinateur forme un ensemble dot de deux caractristiques fondamentales: il doit tre quilibr sinon, llment le plus faible formera un goulet dtranglement et il doit tre sufsamment puissant sinon, les temps de rponse ne seront pas satisfaisants. Cette tche sappelle le dimensionnement (sizing). Elle concerne les trois organes de lordinateur: le processeur central, la mmoire centrale et linterface dentre-sortie. Cest le nombre et le type des programmes dapplication utiliss sur la machine qui dterminent la taille des organes. Quand les programmes excuts par un ordinateur gnrent plus de trac dentre-sortie que de travail pour le processeur, on dit que le traitement est I/O-intensive. Inversement, quand ils donnent plus de travail au processeur quau bus, on dit que le traitement est processor-intensive. Dans un contexte I/O-intensive, linterface dentre-sortie est un goulet dtranglement potentiel. Ce cas se rencontre frquemment sur les serveurs de bases de donnes. Dans un contexte processor-intensive, ce sont le processeur et la mmoire centrale qui forment un goulet dtranglement potentiel. La puissance prvoir pour les processeurs dpend principalement des applications installer. De manire gnrale, les applications de type technique et scientique sont plus lourdes pour le processeur que les applications de gestion. Les applications comme la messagerie ou les services du web peuvent tre trs gourmandes en dbit. En pratique, le paramtre essentiel est le degr de prparation au multitraitement du systme d'exploitation et des applications. Les principaux systmes d'exploitation de la famille Unix peuvent grer des ordinateurs qui comprennent des dizaines de processeurs centraux. Pour la mmoire, la rgle de base est simple: la mmoire installe sur un ordinateur doit tre assez grande pour contenir tous les programmes en cours de traitement. Si les programmes en excution occupent plus de place que la mmoire nen contient, la mmoire va dborder, ce qui veut dire que le systme dexploitation de lordinateur va placer les donnes excdentaires sur la

L'ordinateur et les priphriques

12

http://www.jaquet.org, novembre 2009

mmoire de masse. Le problme est que ce procd ralentit considrablement les oprations car le temps daccs un disque magntique se mesure en millimes de secondes, alors que le temps daccs la mmoire centrale sexprime en nanosecondes, ce qui est de lordre dun million de fois plus rapide. Sur un poste de travail, deux lments sont prpondrants: lespace utilis par le systme dexploitation et le nombre et la nature des applications qui vont fonctionner en parallle (par exemple, une messagerie et un traitement de texte). Pour un serveur, la charge dpend principalement de trois facteurs: le nombre moyen dutilisateurs connects en mme temps; le volume des donnes traiter; la nature des applications. Lorsque la taille de la mmoire est sufsante, lagrandir encore na pas dintrt: quand 100% des traitements et des donnes traites se trouvent en mmoire vive, on a atteint une efcacit de 100%.

Les priphriques
Les priphriques (peripherals) sont les quipements qui permettent l'ordinateur de dialoguer avec le monde extrieur. Sans eux, il ne pourrait ni recevoir, ni envoyer des informations, ni mme en stocker le disque dur ne fait pas partie de l'ordinateur mais de ses priphriques. Aux trois C de l'ordinateur (calculer, comparer et copier), il faut ajouter les deux C des priphriques: communiquer et conserver les donnes. La communication concerne les changes avec les utilisateurs et avec les autres ordinateurs. Ensemble, l'ordinateur et les priphriques forment le matriel informatique. Le matriel informatique, le logiciel de base et les applications forment leur tour le systme informatique. On peut classer les priphriques en trois catgories: 1. Les priphriques de rseau servent communiquer avec d'autres ordinateurs. Ce sont les modems ISDN ou DSL et l'lectronique de rseau, soit sous la forme de circuits lectroniques intgrs la carte mre, soit sous celle d'une carte d'extension ou NIC (network interface card). 2. Les priphriques d'entre-sortie concernent le dialogue avec l'utilisateur, avec deux sous-catgories: - les priphriques d'entre (clavier, souris, scanner, lecteur de codes barres, etc.); - les priphriques de sortie (cran, imprimante, synthse vocale, etc.).

L'ordinateur et les priphriques

13

http://www.jaquet.org, novembre 2009

3. Les priphriques de stockage ou mmoires externes, avec galement deux souscatgories: - la mmoire de masse, qui contient les programmes et les donnes qu'on n'est pas en train de traiter (qui sont dans la mmoire vive); il y en a principalement deux types: - les disques durs magntiques; - les SSD (solid-state drives), constitus de RAM, gnralement de type ash, beaucoup plus rapides mais aussi beaucoup plus chers que les disques durs. - la mmoire d'archivage, qui contient les donnes qu'on n'utilise plus mais qu'on doit garder pour des raisons de scurit (sauvegardes) mais aussi pour des raisons lgales. - les disques durs externes; - les disques optiques (CD-R, DVD-R, etc.), voire les cls USB de haute capacit; - les cassettes magntiques. Les moyennes et grandes entreprises n'emploient que les disques durs et parfois les cassettes. Les disques optiques et les cls USB ne conviennent qu'aux trs petites entreprises. Les disques durs s'emploient beaucoup pour les sauvegardes (les backups) parce qu'ils offrent des avantages importants sur les cassettes: Pour l'utilisateur, rcuprer des donnes n'est pas plus compliqu que si elles se trouvent sur son disque dur local. Si elles se trouvaient sur cassette, il devrait probablement faire appel l'administrateur du systme pour les retrouver et pour les lui renvoyer. La vitesse d'criture est plus leve qu'avec les cassettes. On peut sauvegarder de trs grandes quantits de donnes en quelques heures la vitesse de transfert peut s'exprimer en dizaines de gigaoctets par seconde, soit plusieurs traoctets par minute. La vitesse de lecture est beaucoup plus leve qu'avec les cassettes. Le prix d'un systme de sauvegarde sur disques est moins lev que celui d'un systme cassettes, principalement pour des raisons administratives (facilit d'emploi).

Il faut sauvegarder les donnes Hier encore, j'ai lu sur l'internet le message d'un utilisateur disant qu'au moment o il a remplac son ancien systme d'exploitation par celui qui vient de sortir, il y a eu un problme et il a perdu toutes ses donnes. Il est furieux contre le fournisseur. Chaque jour, des centaines de messages de ce genre sont crits sur les forums, mais il faut rappeler et re-rappeler une vidence: 100% des systmes informatiques tombent en panne un jour et la question n'est pas si mais quand cela arrivera. Celui qui gre un ordinateur sans faire de sauvegardes rgulires est la seule cause de ses ennuis. C'est un problme humain et Microsoft, Apple ou IBM n'en sont pas plus responsables que le fabricant d'une moto n'est en cause si quelqu'un roule sans casque.

Ce problme se rencontre frquemment chez les privs, mais un grand nombre de petites entreprises sont aussi concernes, et c'est grave parce qu'une entreprise peut faire faillite pour la seule raison qu'elle a perdu toutes ses donnes.

L'ordinateur et les priphriques

14

http://www.jaquet.org, novembre 2009