Вы находитесь на странице: 1из 8

Cours Systmes d'exploitation, Dalila Souilem, ISITC, dpartement informatique.

Plan du cours

I Prsentation gnrale des systmes d'exploitation


II Gnralits sur UNIX / historique
III Les bases du systme
1. Systme de fichiers (SGF) et commandes associes
2. Processus et commandes associes
3. Redirections d'entres/sorties
4. Premier niveau de communication entre processus
IV Le systme de fichiers, reprsentation interne
VII Les processus : concepts avancs

Cours Systmes d'exploitation, Dalila Souilem, ISITC, dpartement informatique.

ChapitreI
Prsentation gnrale des systmes d'exploitation

A. Introduction
B. Fonctions dun systme dexploitation
1. Machine tendue/virtuelle
2. Gestionnaire de ressources
C. Historique des Systmes d'Exploitation
1. 1re gnration (1945 1955)
2. 2me gnration (1955 1965)
3. 3me gnration (1965 1980)
4. 4me gnration (1980 1990)
5. 5me gnration (1990 ????)
D. Les diffrentes classes de Systmes d'Exploitation
1. Selon les services rendus
2. Selon leur architecture
3. Selon leur capacit voluer
4. Selon l'architecture matrielle qui les supporte

Cours Systmes d'exploitation, Dalila Souilem, ISITC, dpartement informatique.

A. Introduction
- Deux catgories de logiciels :
1. Les programmes systmes pour le fonctionnement des ordinateurs,
2. les programmes d'application qui rsolvent les problmes des utilisateurs.
Le programme systme d'exploitation est le programme fondamental des
programmes systmes. Il contrle les ressources de l'ordinateur et fournit la base sur
laquelle seront construits les programmes d'application.
- Deux modes de fonctionnement :
1. Le mode noyau ou superviseur et
2. Le mode utilisateur (compilateur, diteur, programmes utilisateurs ...).
- Architecture dun ordinateur : Un ordinateur contient :
1. Un ou plusieurs processeurs,
2. Une mmoire principale,
3. Des horloges,
4. Des terminaux,
5. Des disques,
6. Des interfaces de connexion des rseaux et
7. Des priphriques d'entres/sorties.
La complexit vidente du matriel implique la ralisation d'une machine virtuelle qui gre le
matriel : c'est le systme d'exploitation.

Cours Systmes d'exploitation, Dalila Souilem, ISITC, dpartement informatique.

Dispositifs physique : Ils se composent de circuits intgrs, de fils lectriques, de


priphriques physiques ...
Microprogramme : C'est un logiciel de contrle des priphriques (interprte).
Langage machine :C'est un ensemble (entre 50 et 300) d'instructions lmentaires (ADD,
MOVE, JUMP) pour effectuer le dplacement des donnes, des calculs, ou la comparaison de
valeurs.
Systme d'exploitation est un ensemble d'instructions plus simples, comme LIRE UN BLOC
DU FICHIER.

B. Fonctions dun systme dexploitation


1. Machine tendue ou encore machine virtuelle : Son rle est de masquer des lments
fastidieux lis au matriel, comme les interruptions, les horloges, la gestion de la
mmoire, la gestion des priphriques (dplacement du bras du lecteur de disquette) ...
2. Gestionnaire de ressources : Un ordinateur se compose de ressources (priphriques,
mmoires, terminaux, disques ...). Le systme d'exploitation permet l'ordonnancement
et le contrle de l'allocation des processeurs, des mmoires et des priphriques d'E/S
entre les diffrents programmes qui y font appel.
Par exemple 3 programmes essaient d'imprimer simultanment leurs rsultats sur une mme
imprimante cela implique recours un fichier tampon sur disque.
Autre exemple, l'accs concurrent une donne ; lecture et criture concurrentes (par deux
processus) sur un mme compteur.
Ce rle de gestionnaire de ressources est crucial pour les systmes d'exploitation manipulant
plusieurs tches en mme temps (multitches).

Cours Systmes d'exploitation, Dalila Souilem, ISITC, dpartement informatique.

Un systme dexploitation peut avoir plusieurs fonctionnalits de gestion :


- Du processeur : allocation du processeur aux diffrents programmes.
- Des objets externes : principalement les fichiers.
- Des entres sorties: accs aux priphriques, via les pilotes.
- De la mmoire : segmentation et pagination.
- De la concurrence : synchronisation pour l'accs des ressources partages.
- De la protection : respect des droits d'accs aux ressources.
- Des accs au rseau : change de donnes entre des machines distantes.

C. Historique des Systmes dexploitation


Tout systme d'exploitation dpend troitement de l'architecture de l'ordinateur sur lequel il
fonctionne
La 1re gnration (1945 1955):les tubes vide et les cartes enfichables. Dans cette
gnration on peut dire quil n'existait pas de systme d'exploitation. Les utilisateurs
travaillaient chacun leur tour sur l'ordinateur qui remplissait une salle entire. Ils taient d'une
trs grande lenteur et trs grande fragilit.
La 2me gnration (1955 1965): les transistors et le traitement par lots.
Le passage aux transistors rendait les ordinateurs plus fiables. Ils pouvaient tre
vendus des utilisateurs (grandes compagnies, universit ou administrations).
Mais devant les cots d'quipement levs on rduisit les temps grce au traitement par lots.
Les utilisations principales taient le calcul scientifique et l'ingnierie (quations
diffrentielles). Durant cette gnration on constate lapparition
- Des langages FORTRAN et Assembleur.
- Des systmes d'exploitation (SE) : FMS (Fortran Monitor System) et IBSYS (IBM
7094).
La 3me gnration (1965 1980): les circuits intgrs et la multiprogrammation.
Dans cette gnration on constate
- Amlioration des cots et des performances (circuits intgrs).
- Une famille d'ordinateurs compatibles entre eux.
- Une seule architecture et un mme jeu d'instructions.
- Des ordinateurs uniques pour les calculs scientifiques et commerciaux.
- Apparition du spoule (spool, Simultaneous Peripheral Operation On Line) pour le
transfert des travaux des cartes vers le disque.
- Apparition de la multiprogrammation (partitionnement de la mmoire pour des
tches diffrentes).
- Mais, un systme d'exploitation norme et trs complexe pour satisfaire tous les
besoins (plusieurs millions de lignes d'assembleur).
- Apparition du partage de temps, une variante de la multiprogrammation (chaque
utilisateur possde un terminal en ligne) ; naissance du systme MULTICS
(MULTiplexed Information and Computing Service) pour ordinateur central.
- Naissance de la premire version UNIX en langage C ; ce systme d'exploitation a
t le plus port sur toutes sortes de machine.

Cours Systmes d'exploitation, Dalila Souilem, ISITC, dpartement informatique.

La 4me gnration (1980 1990): les ordinateurs personnels.


Ils sont dus au dveloppement des circuits LSI (Large Scale Integration) contenant des
centaines de transistors au cm2.
Ils ont la mme architecture que les mini-ordinateurs mais leur prix est beaucoup moins lev.
Il existe deux systmes d'exploitation principaux : MSDOS (Microsoft Inc.) et UNIX.
MSDOS intgre petit petit des concepts riches d'UNIX et de MULTICS.
Dans le milieu des annes 80, on voit l'apparition de rseaux d'ordinateurs individuels qui
fonctionnent sous des systmes d'exploitation en rseau ou des systmes d'exploitation
distribus.
La 5me gnration (1990 ????): les ordinateurs personnels portables et de poche.
- Apparition des PIC (Personal Intelligent Communicator de chez Sony) et des PDA
(Personal Digital Assistant, comme le Newton de chez Apple), grce l'intgration
des composants et l'arrive des systmes d'exploitation de type micronoyau.Ils
sont utiles pour les nomades et les systmes de gestion des informations
(recherche, navigation, communication).
- Ils utilisent la reconnaissance de caractre (OCR) et les modes de communication
synchrone et asynchrone (mode messagerie).
- Trs bon march, ils sont capables de se connecter des ordinateurs distants et
performants.
- Les systmes d'exploitation de type micronoyau Sont modulaires (un module
par fonction) ; ils peuvent tre raliss avec plus ou moins de modules et donc
adaptables des trs petites machines (PDA et PIC).

D. Les diffrentes classes de systmes d'exploitation


1) Selon les services rendus :
a- mono/multi tches:
Multitches est la capacit du systme pouvoir excuter plusieurs processus
simultanment ; par exemple effectuer une compilation et consulter le fichier
source du programme correspondant.
C'est le cas d'UNIX, d'OS/2 d'IBM et de Windows 95.
b- mono/multiutilisateurs
Multiutilisateurs cest la capacit pouvoir grer un panel d'utilisateurs
utilisant simultanment les mmes ressources matrielles.
C'est le cas d'UNIX, de MVS, de Gecos ...

2) Selon leur architecture


a- Systmes centraliss : L'ensemble du systme est entirement prsent sur la
machine considre. Les machines ventuellement relies sont vues comme
des entits trangres disposant elles aussi d'un systme centralis. Le systme
ne gre que les ressources de la machine sur laquelle il est prsent.
C'est le cas d'UNIX, mme si les applications rseaux (X11, FTP, Mail ...) se sont
dveloppes.

Cours Systmes d'exploitation, Dalila Souilem, ISITC, dpartement informatique.

b- Systmes rpartis (distributed systems) :


Les diffrentes abstractions du systme sont rparties sur un ensemble (domaine) de
machines (site). Le systme d'exploitation rparti apparat aux yeux de ses utilisateurs comme
une machine virtuelle monoprocesseur mme lorsque cela n'est pas le cas.
Avec un systme rparti, l'utilisateur n'a pas se soucier de la localisation des ressources.
Quand il lance un programme, il n'a pas connatre le nom de la machine qui l'excutera.
- Ils exploitent au mieux les capacits de paralllisme d'un domaine.
- Ils offrent des solutions aux problmes de la rsistance aux pannes.

3) Selon leur capacit voluer


a- Systmes ferms (ou propritaires) :
Extensibilit rduite : Quand on veut rajouter des fonctionnalits un systme
ferm, il faut remettre en cause sa conception et refaire une archive (systme
complet). C'est le cas d'UNIX, MSDOS
Il n'y a aucun ou peu d'change possible avec d'autres systmes de type diffrent,
voir mme avec des types identiques. C'est le cas entre UNIX BSD et SV.
b- Systmes ouverts :
Extensibilit accrue : Il est possible de rajouter des fonctionnalits et des
abstractions sans avoir repenser le systme et mme sans avoir l'arrter sur une
machine. Cela implique souvent une conception modulaire base sur le modle
client/serveur. Cela implique aussi une communication entre systmes,
ncessitant des modules spcialiss.

4) Selon l'architecture matrielle qui les supporte


a- Architecture monoprocesseur (temps partag ou multiprogrammation)
Ressource processeur unique : Il a fallu dvelopper un mcanisme de gestion
des processus pour offrir un (pseudo) paralllisme l'utilisateur : c'est la
multiprogrammation; il s'agit en fait d'une commutation rapide entre les
diffrents processus pour donner l'illusion d'un paralllisme.
b- Architectures multiprocesseurs (paralllisme) :On trouve une grande varit
d'architectures multiprocesseurs :
- SIMD (Single Instruction Multiple Data) : Tous les processeurs excutent les
mmes instructions mais sur des donnes diffrentes.
- MIMD (Multiple Instructions Multiple Data) : Chaque processeur et
compltement indpendant des autres et excute des instructions sur des
donnes diffrentes.

Pipeline : Les diffrentes units d'excution sont mises en chane et font


chacune partie du traitement effectuer.
c- Architecture faiblement ou fortement couple.
- Architecture fortement couple : Ce sont principalement des architectures
mmoire commune.
- Architecture faiblement couple : Ce sont des architectures o chaque
processeur possde sa propre mmoire locale ; c'est le cas d'un rseau de
stations.

Cours Systmes d'exploitation, Dalila Souilem, ISITC, dpartement informatique.

Architecture mixte : Ce sont des architectures diffrents niveaux de mmoire


(commune et prive).

Remarque : Il n'y a pas de systme universel pour cette multitude d'architectures. Les
constructeurs de supercalculateurs ont toujours dvelopps leurs propres systmes.
Aujourd'hui, compte tenu de la complexit croissante des systmes d'exploitation et du cot
inhrent, la tendance est l'harmonisation notamment via le dveloppement de systmes
polyvalents tels que les systmes rpartis.

5) Un cas particulier, les systmes temps rel :


Ce sont des systmes pour lesquels l'excution des programmes est soumise des contraintes
temporelles. Les rsultats de l'excution d'un programme n'est plus valide au del d'un certain
temps connu et dtermin l'avance.
Gnralement, on trouve des systmes temps rel dans les systmes embarqus (satellites,
sondes, avions, trains, tlphones portables, ...).
On distingue deux types de contraintes temporelles : les contraintes strictes et les contraintes
relatives.
Pour garantir ces contraintes, le systme possde des mcanismes spcifiques dont le but est
de rduire l'indterminisme des dures d'excution des programmes.
C'est le cas de LinuxRT.