Système

publicité
Systèmes d'exploitation

Rôle d'un système : virtualisation







Virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
du processeur
de la mémoire
du disque
interface utilisateur
du réseau
Interfaces des systèmes
Familles de systèmes
1
Rôle du système d'exploitation


Le système d’exploitation est l’intermédiaire entre
un ordinateur (ou en général un appareil muni
d’un processeur) et les applications qui utilisent
cet ordinateur ou cet appareil
Car l'interface du matériel est
 de trop bas niveau
 Trop complexe
Application
Système
Matériel
2
Rôle du système d'exploitation

Son rôle peut être vu sous deux aspects
complémentaires
 Fournir des abstractions
 Gérer les ressources
3
Fournir des abstractions




Fournir une interface plus commode que celle du
matériel
Masquer les détails de mise en oeuvre
Dissimuler les limitations physiques et le partage
des ressources entre plusieurs utilisateurs
On dit que le système réalise une machine
virtuelle
4
Gérer les ressources


Le système gère les ressources matérielles et
logicielles : mémoire, processeurs, programmes,
communications.
Cette gestion comprend l’allocation, le partage et
la protection
5
Exemples d'abstractions et de gestion
de ressources
Organe physique
Processeur
Mémoire
Disque
Écran, clavier, souris
Réseau
abstraction
processus
mémoire virtuelle
fichiers
fenêtres
canaux
système : code qui implante ces abstractions
6
Virtualisation de processeur


Avant : file des travaux en attente du processeur
Système de temps partagé (multi-tâches)
 Découpage et partage de tranches de temps

Abstraction : processeurs virtuels = processus
 Chaque utilisateur a son processeur privé (ou plusieurs)

Gestion de ressource
 Partage équitable du processeur
démo tâches
7
Gestion du temps partagé
P1
Interruption
Sauvegarde registres P1
Restauration registres P2
Reprise
P2
P1
P2
Une horloge (timer) génère des interruptions
périodiques
P1
P2
8
Virtualisation de la mémoire


Avant : file des travaux en attente de la mémoire
Système de mémoire virtuelle
 Allocation de mémoire virtuelle (quasi infinie)
 Découpage en page
 Les pages sont chargées/déchargées par le système

Abstraction : mémoires virtuelles
 Chaque utilisateur a sa mémoire privée

Gestion de ressources
 Partage de la mémoire, protection
démo mémoire
9
Gestion de mémoire virtuelle
P1
P2
Charger la page
si non présente
Pages virtuelles
Pages réelles
Mémoire (RAM)
Zone de
pagination
(swap)
10
Virtualisation de l'espace disque

Problème de gestion d'un disque
 Retrouver les données à partir d'un nom (pas une
adresse)
 Ajout/retrait de données : fragmentation

Abstraction : fichiers
 Fichier : sorte de disque virtuel

Gestion de ressources
 Partage du disque, protection
11
Virtualisation de l'interface (écran,
clavier, souris)



Avant : des terminaux alphanumériques
Système de multi-fenêtrage
Abstraction : fenêtre
 Fenêtre : sorte d'écran virtuel
12
Virtualisation du réseau


Avant : une seule entité peut communiquer sur un
lien de communication
Canaux virtuels de communication
 Découpage des messages en paquets
 Envois de paquets de plusieurs émetteurs sur le même
lien


Abstraction : lien virtuel de communication
Gestion de ressource
 Partage équitable du lien physique de communication
 Protection
13
Interfaces d’un système
d’exploitation

Interface “programmatique”, ou API (Application
Programming Interface)
 utilisable à partir des programmes s’exécutant sous le
système
 composée d’un ensemble d’appels systèmes (appels de
procédures, avec paramètres)

Interface de l’utilisateur, ou interface de
commande
 utilisable par un usager humain, sous forme textuelle ou
graphique
 composée d’un ensemble de commandes
• textuelles (exemple en Unix : rm *.o)
• graphiques (exemple : déplacer l’icone d’un fichier
14
vers la corbeille)
Exemple d’usage des interfaces
(Unix)

Interface programmatique (en C)
le morceau de programme ci-contre utilise les
fonctions read() et write() pour recopier
...
while (bytesread = read(from_fd, buf, BLKSIZE )) {
if ((bytesread == -1) && (errno != EINTR))
break;
else if (bytesread > 0) {
bp = buf;
while(byteswritten = write(to_fd, bp, bytesread ))
un fichier dans un autre

Interface de commande
{
if ((byteswritten == -1) && (errno != EINTR))
break;
else if (byteswritten == bytesread)
break;
else if (byteswritten > 0) {
bp += byteswritten;
bytesread -= byteswritten;
}
cp fich1 fich2
recopie fich1 dans fich2
démo find
}
if (byteswritten == -1)
break;
}
}
...
15
Qualités requises d'un système
d'exploitation

Première qualité : se faire oublier : la fonction d'un
ordinateur est d'exécuter les applications, pas le système
d'exploitation
 Utilisation efficace des ressources
 Fiabilité
 Tolérance aux fautes (du matériel, des utilisateurs, des programmes)

Qualité de l'interface
 Convivialité
 Simplicité d'utilisation
 Documentation



Bonne intégration au réseau
Sécurité et protection
Répertoire étendu de fonctions
16
Composants du systèmes
d'exploitation

Le noyau
 Gestion processeur, mémoire, communications


L'interpréteur de commande (ou shell)
Le système de fichiers
17
Familles de systèmes

Systèmes multi-taches
 Ordonnancement de plusieurs processus

Systèmes multiprocesseurs
 Sur une architecture multiprocesseurs (par exemple SMP)

Systèmes embarqués
 Pour des machines de petite taille

Systèmes temps-réel
 Respect de contraintes temporelles
18
Exemples de systèmes actuels

Sur les ordinateurs de bureau (desktop, laptop)
 Unix (Linux), Windows (XP, Vista, 7), MacOS

Sur des équipements divers
 Téléphones portables, assistants personnels, cartes à
puce (Symbian OS, Pocket PC, Palm OS, Android,
Multos, ...)
19
Un peu d'histoire
Recherche
1950
1960
1970
CTSS
1980
THE
1990
Mach
Unix
Sprite
AFS
X-Window
Kerberos
PC
1950
1960
1970
IBM/360
préhistoire
pas de système
moniteurs
d’enchaînement
(batch)
OS/360
Linux
Andrew
Athena
Alto
DEC
PDP11
Intel
Spring
Amoeba
Chorus
Multics
2000
1980 Sun
DEC Vax
VM/370
1990
2000
Macintosh
VMS
Windows NT
Unix (Solaris, HPuX, AIX)
NFS
Linux
MacOS
CP/M
BeOS
Windows
MS/DOS
Windows 95 98 2000
CE
PalmOS
...
20
Téléchargement