Vous êtes sur la page 1sur 10

Chapitre 1 :

Introduction au systme dexploitation


1. Pourquoi un systme d'exploitation ?
Le systme d'exploitation est l'lment essentiel qui relie la machine, compose d'lments physiques comme le microprocesseur, le disque dur ou les barrettes mmoire, et l'utilisateur qui souhaite effectuer des traitements. Sans systme d'exploitation, chaque utilisateur serait oblig de connatre le fonctionnement exact de la machine sur laquelle il travaille et il serait, par exemple, amen programmer directement le port USB pour pouvoir enregistrer ses donnes sur une flash disc. Sans le contrle du systme d'exploitation, les utilisateurs pourraient aussi dtruire irrmdiablement certaines donnes stockes sur un ordinateur, voire dtruire certains priphriques - comme le disque dur - en programmant des oprations illicites. Les systmes d'exploitation jouent donc un rle majeur dans l'utilisation d'un ordinateur et si l'outil informatique s'est rpandu dans le monde entier, c'est certes grce l'abaissement des prix d'achat et grce l'augmentation de la puissance des ordinateurs, mais c'est surtout grce aux progrs raliss lors des trente dernires annes dans la programmation des systmes d'exploitation : avec une machine de puissance quivalente, la moindre opration sur un ordinateur qui aujourd'hui nous parat triviale tait alors proprement impossible raliser !

2. Qu'est-ce qu'un systme d'exploitation ?


Nous avons vu que la programmation d'un ordinateur peut tre trs complexe si elle s'effectue directement partir des couches matrielles. L'utilisation d'un langage de type assembleur permet de s'affranchir du jeu d'instructions, mais la programmation reste nanmoins trs dlicate. Par ailleurs, tous les dveloppements faits en assembleur ne sont valables que pour une seule machine.

Un autre inconvnient de la programmation de bas niveau est qu'elle permet de tout faire sur un ordinateur, y compris des oprations illicites pour les priphriques qui peuvent entraner leur dgradation ou tout simplement la perte irrmdiable de donnes importantes. Le systme d'exploitation (not SE ou OS, abrviation du terme anglais Operating System), est charg d'assurer la liaison entre les ressources matrielles, l'utilisateur et les applications (traitement de texte, jeu vido, ...). Ainsi lorsqu'un programme dsire accder une ressource matrielle, il ne lui est pas ncessaire d'envoyer des informations spcifiques au priphrique, il lui suffit d'envoyer les informations au systme d'exploitation, qui se charge de les transmettre au priphrique concern via son pilote. En l'absence de pilotes il faudrait que chaque programme reconnaisse et prenne en compte la communication avec chaque type de priphrique !

Le systme d'exploitation permet ainsi de "dissocier" les programmes et le matriel, afin notamment de simplifier la gestion des ressources et offrir l'utilisateur une interface homme machine (note IHM) simplifie afin de lui permettre de s'affranchir de la complexit de la machine physique.

2.1 Dfinition :
Un systme dexploitation est un ensemble de programmes qui grent les ressources matrielles de lordinateur et interagit avec les utilisateurs pour excuter dautres programmes. Un systme dexploitation peut, ou pas tre dpendant dune architecture matrielle.

2.2 Le systme d'exploitation est un gestionnaire de ressources


Les ressources d'une machine sont tous les composants qui sont utiliss pour effectuer un travail et qu'un utilisateur de la machine pourrait s'approprier. ce titre, tous les priphriques comme la mmoire ou les disques durs sont des ressources. Les registres du processeur ou le temps pass par le processeur faire des calculs sont aussi des ressources. Le systme d'exploitation est un gestionnaire de ressources, c'est--dire qu'il contrle l'accs toutes les ressources de la machine, l'attribution de ces ressources aux diffrents utilisateurs de la machine et la libration de ces ressources quand elles ne sont plus utilises. Ce contrle est capital lorsque le systme permet l'excution de plusieurs programmes en mme temps ou l'utilisation de la machine par plusieurs utilisateurs la fois. En particulier, il doit veiller ce qu'un utilisateur ne puisse pas effacer les fichiers d'un autre utilisateur ou ce qu'un programme en cours d'excution ne dtruise pas les donnes d'un autre programme stockes en mmoire. Un autre aspect capital du contrle des ressources est la gestion des conflits qui peuvent se produire quand plusieurs programmes souhaitent accder en mme temps aux mmes donnes. Supposons par exemple qu'un utilisateur excute deux programmes, chacun d'eux crivant dans le mme fichier. Il y a de grande chance que, si aucune prcaution n'est prise, le rsultat contenu dans le fichier ne soit pas celui escompt.

3. Les services des systmes d'exploitation


Pour terminer ce chapitre qui prsente les systmes d'exploitation, nous esquissons rapidement les diffrents travaux que doit effectuer un systme d'exploitation moderne. Ces travaux sont gnralement nomms services . La plupart de ces travaux sont pris en charge par le noyau du systme d'exploitation.

3.1 La gestion des processus


La gestion des processus n'a de sens que sur les machines fonctionnant en temps partag. Elle comprend la cration et la destruction dynamique de processus.

Le systme d'exploitation est charg de grer l'allocation du processeur entre les diffrents programmes grce un algorithme d'ordonnancement. Le type d'ordonnanceur est totalement dpendant du systme d'exploitation, en fonction de l'objectif vis.

3.2 La gestion de la mmoire


Afin de simplifier la gestion des processus, les systmes d'exploitation modernes travaillent dans un espace mmoire virtuel, c'est--dire avec des adresses virtuelles qui doivent tre traduites pour correspondre des adresses physiques. Cela permet d'allouer chaque processus (y compris au noyau) son propre espace mmoire de telle sorte qu'il a l'illusion d'avoir la machine pour lui tout seul. Cet espace est gnralement dcoup en trois segments : le segment correspondant au programme (text en anglais), le segment correspondant aux donnes (data en anglais) et le segment qui correspond la mmoire utilise en cours de route par le processus (gnralement appele la pile, stack en anglais). Le systme d'exploitation est charg de grer l'espace mmoire allou chaque application et, le cas chant, chaque usager. En cas d'insuffisance de mmoire physique, le systme d'exploitation peut crer une zone mmoire sur le disque dur, appele mmoire virtuelle (swap en anglais). La mmoire virtuelle permet de faire fonctionner des applications ncessitant plus de mmoire qu'il n'y a de mmoire vive disponible sur le systme. En contrepartie cette mmoire est beaucoup plus lente.

3.3 La gestion des entres / sorties


Les entres/sorties permettent de faire transiter des donnes par l'ordinateur et d'utiliser ces donnes pour faire des calculs. Ces donnes peuvent provenir de priphriques, de processus prsents sur la machine ou de processus prsents sur d'autres machines (via un rseau). Le systme d'exploitation permet d'unifier et de contrler l'accs des programmes aux ressources matrielles par l'intermdiaire des pilotes (appels galement gestionnaires de priphriques ou gestionnaires d'entre/sortie).

3.4 Le systme de fichiers


Le systme de fichiers est un lment essentiel des systmes d'exploitation moderne : il permet d'accder aux diffrents priphriques et il propose une interface abstraite pour manipuler des donnes. Mme si le systme de fichiers fait souvent rfrence au disque dur, la notion de fichier est beaucoup plus gnrale.

3.5 La gestion des communications entre machines


Il est aujourd'hui impensable de disposer d'ordinateurs usage professionnel sans que ceux-ci soient relis entre eux par un rseau local. Par ailleurs, l'utilisation de rseaux internationaux comme l'Internet se rpand et le systme d'exploitation doit donc prendre en charge la gestion des communications par rseaux.

Chapitre 2 :

Les systmes Unix


1. Histoire
1.1 Histoire de Unix
Unix a t cre en 1969 par Ken Thompson et David Ritchie dans les laboratoires d'AT&T comme tant un nouveau systme d'exploitation pour le DEC PDP-7, cet O.S est alors appel Unics en mmoire au systme Multics puis passera plus tard de Unics Unix. Plus tard, AT&T distribuera (non gratuitement) le code source de son systme afin que les dveloppeurs puissent lappliquer leur hardware. L'apparition du processeur 80386 de chez Intel permit Unix de montrer toutes ses capacits (Unix et Linux tant 32 bit et 64 bit). Ce n'est que lorsque le prix du hardware a commenc chuter que Unix s'est vu dmocratis ( +/- anne 80). A partir de ce moment beaucoup d'autres constructeurs se sont intresss au monde Unix et beaucoup ont crs leur propre version commerciale dUnix.

1.2 Histoire de Linux


Linux a t cre en 1991 par un tudiant Finlandais, Linus Torvalds. Il dveloppa un noyau en s'inspirant de la philosophie Unix. Son but initial est de s'amuser et d'apprendre les instructions Intel 386. Quand son noyau commence marcher, il le mit en libre tlchargement sur Internet en demandant aux gens de l'essayer. De nombreuses personnes l'aidrent dvelopper son noyau. Ds la version 0.12, il choisit de mettre Linux sous licence GPL. Le succs de Linux s'explique par la qualit technique du noyau, mais aussi par la prsence de nombreuses distributions Linux qui facilitent l'installation du systme et des programmes. Il s'explique surtout par son appartenance au monde du libre qui lui apporte une grande rapidit et qualit de dveloppement.

2. Caractristiques dUnix
Unix est un systme dexploitation Multi-Utilisateurs (plusieurs personnes peuvent partager les ressources de la mme machine en mme temps) et multitches (plusieurs programmes ou 6

logiciels peuvent sexcuter simultanment). Sous Unix et Linux tout est fichier : tous les lments du systme sont manipuls par des fichiers. Cette uniformisation permet de simplifier grandement la manipulation du systme en gnral, et sa programmation en particulier.

3. Structure dUnix

3.1 Le Noyau (Kernel)


Le noyau est la partie centrale dUnix. Il se charge des tches essentielles pour la bonne marche du systme : gestion du systme des fichiers, gestion du processeur et de la mmoire centrale. Les drivers de priphriques sont intgrs au noyau. Ils grent les changes (les entres sorties) entre lunit centrale et les priphriques. Le noyau met la disposition des autres programmes des procdures appeles primitive. Les autres programmes peuvent inclure dans leur code des appels systme qui lancent lexcution de ces primitives. Les primitives permettent de lancer de nouveaux processus, de lire ou dcrire sur des fichiers, dobtenir plus de place en mmoire centrale, etc Ce fonctionnement par primitives permet en particulier de rsoudre les problmes daccs concurrent aux informations du systme (sur un systme monoprocesseur). En effet, les appels systme font entrer lexcution en mode noyau. Dans ce mode le processus est assur de garder le processeur jusquau retour au mode utilisateur quand lappel systme est termin.

3.2 Shell
Le Shell est linterprteur de commandes. Quand un utilisateur tape des commandes Unix, ces commandes sont lues par le Shell qui effectue ventuellement des traitements avant de lancer lexcution de la commande. Le Shell est une couche logicielle bien spare du noyau. Il existe plusieurs Shells dont les plus utiliss sont : 7

- le Bourne Shell sh, le shell standard dUnix - le C-shell csh, le shell dUnix BSD* sa syntaxe rappelle le langage C. - le Korn-shell ksh est une extension du Bourne shell. Il possde toutes les commandes du Bourne shell (et il se comporte presque exactement comme lui pour ces commandes) et il comprend aussi dautres commandes et fonctionnalits qui facilitent le travail de lutilisateur comme, par exemple, la gestion de lhistorique des commandes tapes par lutilisateur, qui existe aussi dans le C-shell. On le trouve maintenant dans la plupart des distributions Unix. - le Z shell zsh est une extension du Korn-shell. Il offre en particulier la compltion et la correction de commande (lutilisateur peut lui demander de complter un nom de commande et il propose des corrections, lutilisateur lorsque la commande comporte une erreur) par exemple lorsquune commande a t mal orthographie. Certaines commandes la disposition de lutilisateur, sont programmes dans le Shell et celui-ci peut donc les excuter directement. Elles sont peu nombreuses : on trouve par exemple les commandes cd ou pwd. On les appelle les commandes internes au shell. Les autres commandes sont des commandes externes au shell. Pour les excuter le Shell lance un programme qui correspond un fichier excutable situ dans larborescence des fichiers. Le Shell possde un vritable langage avec des structures de programmation (alternatives, rptitions,) et lutilisateur peut crire ses propres commandes dans ce langage (le programme sappelle un shell script). Une fois crites, ces nouvelles commandes peuvent tre utilises exactement comme les commandes classiques dUnix.

4. Larborescence des rpertoires


Les rpertoires sont des fichiers un peu particuliers, qui contiennent dautres fichiers et dautres rpertoires. Le terme de contenir nest pas tout fait appropri, ce nest qune image. Plus prcisment, un rpertoire est un fichier contenant des rfrences et des descriptions pour dautres fichiers ( qui peuvent tre des rpertoires). Il existe sous Linux (et Unix ) un rpertoire anctre de tous les autres, qui contient tous les autres (directement ou suite des intermdiaires) : le rpertoire root, que lon note simplement / . Chaque rpertoire contient deux rpertoires particuliers :

. Dsigne le rpertoire lui-mme .. dsigne le rpertoire de niveau juste suprieur. Il existe une certaine normalisation dans larchitecture des rpertoires sous Linux (comme sous Unix, dailleurs).La figure ci-dessous prsente une organisation standard. Il peut toutefois exister des variations dune distribution lautre, mais dans lensemble cest assez bien respect. Quelques prcisions concernant ce graphique. /etc Contient les fichiers de configuration gnraux, les commandes excuter au dmarrage du systme, et mme le monde de dmarrage du systme. /bin la suite tre utilises par les utilisateurs. /sbin quelque sorte rserves ladministrateur du systme, ou super-utilisateur /home /dev sagisse du clavier, du disque dur, de la carte son /proc sur le disque, mais est manipul directement par le systme lui-mme.. On y trouve nombre dinformations techniques utiles. /usr /usr/bin dmarrage du systme. /usr/sbin dmarrage du systme. /usr/man Contient les pages de manuel. 9 Commandes rserves au super utilisateur, et non ncessaires au dbut du Rpertoire usage multiples, dont les principaux sont : Commandes utilisables par tous les utilisateurs, et non ncessaires lors du Voici un pseudo-rpertoire : en ralit, son contenu nexiste pas physiquement Est rserv lhbergement des comptes des utilisateurs Ce rpertoire contient tous spciaux utilises pour accder au matriel, quil Contient des commandes ncessaires lors du dmarrage du systme, mais en Contient des commandes de dmarrage du systme. Ces commandes pourrant par

/usr/doc

Contient de nombreuses documentations et source dinformations.

/usr/X11R6 Contient tous les fichiers se rapportant la couche graphique X-Window. /usr/local /var Lieu o sont stocks les fichiers spcifiques au systme install. Contient les donnes mises jour par diffrents programmes durant le

fonctionnement du systme. /var/lock Fichiers de blocage, pour interdire par exemple deux utilisations simultanes du modem. /var/spool messagerie lectronique,etc. /var/log Contient les fichiers logs provenant de diffrents points du systme. Rpertoires utilises pour lorganisation du travail des imprimantes, de

10

Vous aimerez peut-être aussi