Systemes d'Exploitation Licence d'Informatique
Cours de Systemes d'Exploitation
Licence d'Informatique
ISTV 98/99
[Link]
Universite de Valenciennes - ISTV [Link]
Systemes d'Exploitation Licence d'Informatique
INTRODUCTION
SYSTEME INFORMATIQUE
Du materiel ("Hardware") Du logiciel ("Software")
Logiciel de base Logiciel d'application
.
. .
Outils de developpement et Systeme d'exploitation
d'execution de programmes
Compilateurs Editeurs de texte Chargeurs
Universite de Valenciennes - ISTV [Link]
Systemes d'Exploitation Licence d'Informatique
Qu'est ce qu'un systeme
d'exploitation ?
Un SE = Un allocateur et
gestionnaire des ressources.
Les ressources materielles d'un ordinateur sont :
! Unites centrales (UC),
! memoires,
! peripheriques des Entrees/Sorties
Pour executer un programme il faut des ressources.
Les systemes informatiques actuels sont multi-usagers :
ils executent simultanement plusieurs programmes
pour le compte de plusieurs programmeurs.
Les ressources etant limitees :
necessite de gerer les ressources aux programmes
Pourquoi lesressources sont elles limitees ?
! Motivations de nature economique.
! Contraintes de coherences : partage des informations
Universite de Valenciennes - ISTV [Link]
Systemes d'Exploitation Licence d'Informatique
Petite histoire des Systemes
d'exploitation
Les premiers systemes informatiques (1945-1955)
Caract
eristiques
! du materiel uniquement
! pas de systeme d'exploition
! systeme mono-usager
dbit faible dbit faible
Calculateur
Lecteur
de cartes
Imprimante
Probl
emes
! Gestion du systeme basee sur la reservation de plages horaires
! Manque de abilite du materiel
Evolution
! Peripheriques : apparition des derouleurs de bandes magne-
tiques
! Logiciel : Apparitions des premiers outils du logiciel de base :
assembleur, chargeurs, compilateurs fortran et cobol
Universite de Valenciennes - ISTV [Link]
Systemes d'Exploitation Licence d'Informatique
Les systemes a moniteurs(55-65)
Solution aux problemes de reservation et de temps de preparation
La technique : Enchainement automatique des programmes
par execution d'un moniteur.
Moniteur
P1
P2
g Les programmes
Memoire de l'ordinateur
Caract
eristiques du systeme
! Systeme d'exploitation = moniteur
! systeme non interactif
! traitement par lot
! systeme multi-usagers
! fonctionnement en mono-programmation : Execution d'1 seul
programme a la fois
Probl
emes de protection
! Comment eviter qu'un programme d'application puisse ecrire
dans la zone reservee au moniteur ?
! Comment forcer le programmeur a utiliser les pilotes de per-
ipheriques presents dans le moniteur et lui interdire d'agir di-
rectement sur les peripheriques?
! Comment eviter qu'un travail monopolise l'UC?
Universite de Valenciennes - ISTV [Link]
Systemes d'Exploitation Licence d'Informatique
Ameliorations diverses des systemes informatiques
Probleme : La lenteur des peripheriques par rapport a l'UC
Les Entr ees/Sorties Tamponnees : Utilisation d'Unites
d'echange (UE) capables de fonctionner simultanement avec l'UC.
! Principe : Les cartes sont lues par l'UE et stockees dans
des tampons(buers) d'entree. L'UC lit les donnees dans le
tampon et produit le resultat dans le tampon de sortie.
- UC
Memoire - ?
Tampon Tampon
Centarle d'entree de sortie
6 Imprimante
?
Cartes Unite
....
...
....
- echange
d' -
! Probl
emes :
? Ajout et retrait simultanes dans le tampon
? Encombrement de la memoire
Les Entrees/Sorties spoolees
! Principe : Tampons en memoire secondaire
! Probleme : l'UC est contrainte a attendre la terminaison des
operations d'E/S
! Solution : La multiprogrammation :Quand l'UC se trouve en
attente d'E/S, elle suspend le programme en cours et reprend
l'execution d'un autre programme :Donc plusieurs programmes
resident simultanement en memoire
Universite de Valenciennes - ISTV [Link]
Systemes d'Exploitation Licence d'Informatique
Les systemes a temps partage
Principe : Considerer que l'UC est une ressource et l'allouer du-
rant un temps limite = partage de l'UC
6
T2
T1
T^aches T4
T3
T2
T1
-
Temps
=> Systemes interactifs multi-usagers fonctionnant en multipro-
grammation avec partage de l'UC
=
Systemes a temps partage "time sharing"
Exemple : UNIX
Probl
emes :
! Gestion des peripheriques
! Gestion des memoires (centrale et secondaires)
! Gestion des erreurs
Necessite d'un ensemble de programmes (Systeme
d'exploitation) pour resoudre ces problemes.
Universite de Valenciennes - ISTV [Link]
Systemes d'Exploitation Licence d'Informatique
Un SE= Une machine virtuelle
SE = Realisation d'une machine virtuelle au-dessus de
la machine materielle permettant au programmeur de s'abstraire
des details de mise en uvre du materiel.
Notion de machine virtuelle
Les programmes ecrits e Ln sont
Machine virtuelle Mn traduits en Ln-1 ou interpretes par
Langage Ln un programme s'executant sur Mn-1
Traduction ou
interpretation
Machine virtuelle M1 Les programmes ecrits e L1 sont
Langage L1 traduits en L0 ou interpretes par
Traduction ou un programme s'executant sur M0
interpretation ?
Machine reelle M0 Les programmes ecrits en L0 sont
Langage L0 directement executes par M0
! Traduction : Analyser chaque instruction d'un programme
P ecrit en L et la remplacer par la sequence d'instructions
i i
equivalentes dans le langage L ,1. i
! Interpr etation Ecrire, dans le langage L , un programme
i
I capable d'analyser, une a une, chaque instruction d'un pro-
gramme ecrit en L +1, et executer immediatement la sequence
i
d'instructions L equivalentes. I est appele interpreteur.
i
! Seule contrainte : "respect de la hierarchie " Un pro-
gramme s'executant sur la machine M ne peut ^etre traduit
i
ou interprete en instructions d'un langage L, tel que L soit
associe a une machine M avec i < j
j
Universite de Valenciennes - ISTV [Link]
Systemes d'Exploitation Licence d'Informatique
Les systemes multicouches
Couche
Langages evolues
Traduction (compilateur)
?
Couche
Assemblage
? Traduction (assembleur)
Couche systeme
d'exploitation
? Interpretation (SE)
Couche
machine
Interpretation (microprogramme)
?
Couche
microprogrammee
Execution directe des micro-
? instructions par le materiel
Couche
Physique
En resume : On peut dire qu'un ordinateur peut ^etre vu comme
un ensemble de couches, chaque couche englobant toutes les couches
de niveau inferieur. Une couche represente un certain niveau d'abs-
traction et comporte divers objets et operations sur ces objets.
L'ensemble des types de donnees, des operations et des caracteris-
tiques de chaque niveau s'appelle l'architecture de ce niveau.
Universite de Valenciennes - ISTV [Link]
Systemes d'Exploitation Licence d'Informatique
Architecture de la couche physique
Modele classique (modele von Neumann 1945)
Unite
Centrale bus Memoire
- centrale
(processeur)
Le r^ole de l'unite centrale (UC) est d'executer les programmes
stockes dans la memoire principale.
La memoire contient les programmes et donnees :
! les memoires volatiles ( RAM : Random Access Memory)
! Les memoires mortes (ROM : Read Only memory)
Universite de Valenciennes - ISTV [Link]
Systemes d'Exploitation Licence d'Informatique
La Memoire centrale
La memoire est la partie de l'ordinateur dans laquelle programmes
et donnees sont ranges
Les informations (codes) sont stockes sous forme binaire
La memoire peut ^etre vue comme une grille ou chaque case me-
morise un chire binaire (0 ou 1) appele bit
Cellule (octet)
9
0 bit
n-1
Un mot est constitue de 1 ou plusieurs octets consecutifs
Chaque mot a un numero appele adresse
Capacite de la memoire = nombre total de bits
! Si les adresses sont sur k bits, on peut adresser 2 mots k
! la capacite de la memoire est 8x2 bits = 2 octets k k
! Exemples :
? k=8, capacite = 8x28=2048=256 octets
? k=16, capacite = 216 octets = 64 x 210=64 K
? 1K (Kilo octets)=210=1024 octets
? 1M (Mega octets) = 220 , 1G (Giga octets)= 230
Universite de Valenciennes - ISTV [Link]
Systemes d'Exploitation Licence d'Informatique
Structure interne d'un processeur
Exemples de processeurs :
! Famille Intel : 80xx 80xxx pentiums
! Famille Motorola : 68xxx sparcs
Jeu d'instructions d'un processeur = langage machine :
C'est l'ensemble d'instructions que peut executer le processeur
C'est le langage de programmation de plus bas niveau
Les instructions sont de type :
! additions de 2 nombres
! tests (tres elementaires)
! memoire (ecrire et lire un nombre en memoire)
Structure interne d'un processeur :
Unite de Unite
Arithmetique
. .
. .
commande
. .
et logique Registres
! Unite de commande : Charge une instruction et la decode
! UAL : Execute les operations
! Les registres : Memoires a acces tres rapide qui permettent
de stocker des resultats temporaires ou des informations de
contr^ole
Universite de Valenciennes - ISTV [Link]
Systemes d'Exploitation Licence d'Informatique
Execution d'un programme
Pour executer un programme, l'UC dispose :
! d'un registre PC (Compteur ordinal ou de programme), il
indique l'endroit en memoire principale de la prochaine ins-
truction a executer.
! d'un registre d'instruction RI qui contient le code del'instruc-
tion a executer.
! d'une Unite Arithmetique et Logique (ALU ou UAL)
! de diverses registres
Ex
ecution d'un programme :
- Demander une instruction Par le bias du registre PC
?
Decoder l'instruction Par l'Unite de commande
?
Rechercher les operandes En memoire ou registres
?
Executer l'instruction Par L'UAL
?
Ranger le resultat En memoire ou dans un registre
Universite de Valenciennes - ISTV [Link]
Systemes d'Exploitation Licence d'Informatique
Les systemes actuels
Les systemes des ordinateurs personnels (PC)
! Mono-usager et fonctionnent en mono-programmation
Les systemes a temps partage
Les systemes de commandes de procedes
! Pheripheriques + Capteurs ...
! Contrainte de temps reel : Le temps de reponse est borne (tres
court) garanti quelque soit l'activite du systeme
Les systemes a transaction
! Gerent des bases de donnees de grande taille
! Mise a jour de la base par des transactions
Les systemes multiprocesseurs
! But : Hautes performances
! Le systeme gere l'allocation de plusieurs UCs
Les syst emes repartis : facilite l'execution repartie
Le but des systemes repartis est :
! Partage des ressources , Acceleration du calcul
! Fiabilite et Communication
Les syst emes reseaux Un systeme reseau permet aux utili-
sateurs des stations de travail relies par un reseau de partager des
ressources communes, par exemple un systeme de chiers.
Exemple de systeme reseau : NFS (Network File System)
Universite de Valenciennes - ISTV [Link]