Vous êtes sur la page 1sur 35

Systèmes d’exploitation

INF3600 & INF2610

Génie Informatique Chapitre 1. 1


Systèmes d’exploitation
École Polytechnique de Montréal

Objectifs du cours
• Ce cours vise à familiariser l’étudiant avec les concepts et les
techniques fondamentales des systèmes d' exploitation. Il porte,
notamment, sur l’étude des :
– différents modules du noyau du système d’exploitation (gestionnaires
de processus, de fichiers, de la mémoire, de processeurs, des E/S…),
– interactions entre ces modules,
– problèmes liés à leurs implémentations,
– ainsi que les différentes solutions adoptées dans les systèmes
modernes (UNIX, Linux, Windows).

• Au terme de ce cours, l'


étudiant sera en mesure de :
– expliquer et analyser les différents modules du système d’exploitation
(leurs fonctionnements et mises en œuvre),
– utiliser et/ou adapter les techniques et les services du système
d’exploitation pour concevoir des codes plus fiables et plus performants.

Génie Informatique Chapitre 1. 2


Systèmes d’exploitation
École Polytechnique de Montréal

1
Objectifs des laboratoires
• Les séances de laboratoire permettent de :

– Se familiariser avec les services fournis par le système d’exploitation


UNIX/LINUX (et Vxworks pour INF2610). L‘étudiant aura à implémenter,
au moyen de ces différents services, des applications plus élaborées ou
des techniques de gestion implantées dans certains systèmes
d’exploitation.

– Tester et comparer plusieurs techniques d’ordonnancement de


processus et de gestion de la mémoire. Trois simulateurs ont été
réalisés dans ce but.

• Sites web :
www.cours.polymtl.ca/inf3600
www.cours.polymtl.ca/inf2610

Génie Informatique Chapitre 1. 3


Systèmes d’exploitation
École Polytechnique de Montréal

Cours théorique : plan détaillé INF3600


Séances Matière
1 Concepts généraux
2 Processus Processus UNIX, Linux et Windows
3 Threads
4 et 5 Communication interprocessus
6 Synchronisation de processus
7 Moniteurs et Interblocage
8 Séance d’exercices
9 Ordonnancement de processus
10 et 11 Gestion de la mémoire et mémoire virtuelle
12 Systèmes de fichiers

Génie Informatique Chapitre 1. 4


Systèmes d’exploitation
École Polytechnique de Montréal

2
Cours théorique : plan détaillé INF2610
Séances Matière
1 Concepts généraux
2 Processus Processus UNIX, Linux et Windows
3 Threads
4 et 5 Communication interprocessus
6 Synchronisation de processus
7 Moniteurs et Interblocage
8 Séance d’exercices
9 Ordonnancement de processus
10 et 11 Systèmes temps-réel et ordonnancement temps-réel
12 Gestion de la mémoire et mémoire virtuelle

Génie Informatique Chapitre 1. 5


Systèmes d’exploitation
École Polytechnique de Montréal

Laboratoires
• Les TPs seront complétés sur les stations de travail Linux (obligatoirement en
équipe de 2 étudiants d' une même section). Aucune équipe de 3 ne sera
acceptée, et si possible aucun étudiant seul non plus.

• Les TPs pourront être programmés en C ou en C++.

• À remettre pour chaque TP, un exécutable et un rapport. Le rapport doit contenir


une introduction, le code source, les résultats obtenus, les réponses aux
questions et une courte conclusion qui commente les résultats. S' il y a lieu,
d'
autres items spécifiés dans l'énoncé du TP doivent être inclus dans le rapport.

• Un objectif supplémentaire lors des TPs est la débrouillardise et l'


apprentissage
par recherche de documentation sur Internet et dans les « man » pages de Linux.

• Les directives générales concernant tous les travaux sont disponibles sur le site
du cours. D’autres seront précisées dans les énoncés des travaux.

Génie Informatique Chapitre 1. 6


Systèmes d’exploitation
École Polytechnique de Montréal

3
Laboratoires INF3600
• 2 travaux dirigés et 2 travaux pratiques sont au programme.

Séances Contenu

1 TD0 : shells UNIX et création de processus

2 et 3 TP1 : processus, threads, communication interprocessus

4 et 5 TP2 : synchronisation, ordonnancement et interblocage

6 TD1 : ordonnancement et gestion de la mémoire

Génie Informatique Chapitre 1. 7


Systèmes d’exploitation
École Polytechnique de Montréal

Modalités d’évaluation
Pondération INF3600

Épreuve Nombre Pondération

Travaux pratiques 2 TP1 12%


TP2 12%

Travaux dirigés 2 TD0 0%


TD1 6%
Contrôle périodique 1 30%

Examen final 1 40%

Génie Informatique Chapitre 1. 8


Systèmes d’exploitation
École Polytechnique de Montréal

4
Laboratoires INF2610
• 1 travail dirigé et 3 travaux pratiques sont au programme.

Séances Contenu

1 TD0 : shells UNIX et création de processus

2 et 3 TP1 : processus, threads, communication interprocessus

4 et 5 TP2 : synchronisation et interblocage

6 et 7 TP3 : ordonnancement temps-réel

Génie Informatique Chapitre 1. 9


Systèmes d’exploitation
École Polytechnique de Montréal

Modalités d’évaluation
Pondération INF2610

Épreuve Nombre Pondération

Travaux pratiques 2 TP1 10%


TP2 10%
TP3 10%
Travaux dirigés 1 TD0 0%

Contrôle périodique 1 30%

Examen final 1 40%

Génie Informatique Chapitre 1. 10


Systèmes d’exploitation
École Polytechnique de Montréal

5
Informations sur les examens

• Les énoncés du contrôle périodique et de l’examen final sont communs à


toutes les sections.

• Les notes du cours sont autorisées.

• Les calculatrices programmables, ordinateurs et cellulaires ne sont pas


permis.

Autres précisions
• En cas de reprise de ce cours, l’étudiant doit se soumettre de nouveau à
toutes les épreuves d'
évaluation.

• En cas d’absence justifiée au contrôle périodique, la note du final


remplacera la note du contrôle périodique.

Génie Informatique Chapitre 1. 11


Systèmes d’exploitation
École Polytechnique de Montréal

Références
1. Modern operating Systems, 2nd edition, Andrew S. Tanenbaum, publié par Pearson
Education, Prentice-Hall, 2001

2. Systèmes d’exploitation, 2nd edition, Andrew S. Tanenbaum, publié par Pearson


Education, Prentice-Hall, 2003 (Traduction).

3. Operating System Concepts de A. Silberschatz, P.B. Galvin & G. Gagne, publié par John-
Wiley, 2001.

4. Principes appliqués des systèmes d’exploitation avec Java, A. Silberschatz, P. B. Galvin


& G. Gagne, publié par Vuibert, 2001 (Traduction).

5. Operating Systems, Internals and Design Principles de William Stallings, publié par
Prentice-Hall, 2001.

6. Operating systems, A Modern Perspective, Gary Nutt, publié par Addison-Wesley, 2000.

7. Au coeur de Windows, Windows Server 2003, Windows XP et Windows 2000, de Mark E.


Russinovich & David Solomon, Microsoft Press, 2005.

8. Unix : communication interprocessus, sockets, Viviane Gal, Notes de cours CNAM –


CEDRIC 2004.

9. Systèmes temps-réel, Isabelle Puaut, Notes de cours IRISA 2006,


www.irisa.fr/caps/people/puaut/puaut.html.

Génie Informatique Chapitre 1. 12


Systèmes d’exploitation
École Polytechnique de Montréal

6
Remerciements

• Nous tenons à remercier Hind Rakkay, étudiante en PhD à l’École


Polytechnique de Montréal et Bechara Moufarrej, étudiant en Maîtrise à
l’École Polytechnique de Montréal, pour leur contribution à l’enrichissement
de ce document, dans le cadre d’un projet subventionné par le Fond de
Soutien à l’Enseignement (concours FSE Hiver 2006).

• Nous remercions également les nombreux étudiants, chargés de laboratoire,


chargés de cours et professeurs qui, par leurs remarques et critiques, ont
aussi contribué à la mise à jour de ce document.

Génie Informatique Chapitre 1. 13


Systèmes d’exploitation
École Polytechnique de Montréal

Concepts généraux

• Qu’est ce qu’un système d’exploitation ?

• Interface avec le matériel

• Interactions utilisateur/système

• Trois concepts de base : processus, fichier et mémoire virtuelle

• Appels système

• Evolution du mode d’exploitation

• Lancement du système d’exploitation

Génie Informatique Chapitre 1. 14


Systèmes d’exploitation
École Polytechnique de Montréal

7
Qu’est ce qu’un système d’exploitation ?

Génie Informatique Chapitre 1. 15


Systèmes d’exploitation
École Polytechnique de Montréal

Qu’est ce qu’un système d’exploitation ?

• Malgré les différences des points de vue forme, taille et type, les ordinateurs se
composent de matériel et de logiciels.

Matériel : Monitor

Bus
Génie Informatique Chapitre 1. 16
Systèmes d’exploitation
École Polytechnique de Montréal

8
Qu’est ce qu’un système d’exploitation ? (2)

• Les logiciels :
– les programmes système :
• les utilitaires (compilateurs, éditeurs, interpréteurs de commandes) ;
• le système d’exploitation
– les programmes d’application.

Génie Informatique Chapitre 1. 17


Systèmes d’exploitation
École Polytechnique de Montréal

Qu’est ce qu’un système d’exploitation ? (3)

Le système d’exploitation :

• gère et contrôle les composants de l’ordinateur et

• fournit une base (machine virtuelle) sur laquelle seront construits les
programmes d’application et les utilitaires :
services = {appels système}

But :

Développer des applications sans se soucier des détails de fonctionnement et


de gestion du matériel.

Génie Informatique Chapitre 1. 18


Systèmes d’exploitation
École Polytechnique de Montréal

9
Qu’est ce qu’un système d’exploitation ? (4)
Fonctions principales

• Gestion des périphériques

• Gestion de la mémoire

• Gestion du processeur

• Gestion des processus et des threads

• Gestion des fichiers

• Protection et détection d’erreurs

Génie Informatique Chapitre 1. 19


Systèmes d’exploitation
École Polytechnique de Montréal

Qu’est ce qu’un système d’exploitation ? (5)


Trois concepts de base

• Processus : un programme en cours


d’exécution, composé de :
– code + données + pile d’exécution ;
– un compteur ordinal, autres
informations caractérisant son état.

• Fichiers : ensemble de blocs de données


stockés sur le disque

• Mémoires virtuelles : espaces


d’adressage virtuels des processus
(créés par les compilateurs) de taille
pouvant excéder celle de la mémoire
physique.

{Machines virtuelles qui tournent sur le


même matériel}
Partage de ressources.

Génie Informatique Chapitre 1. 20


Systèmes d’exploitation
École Polytechnique de Montréal

10
Interface avec le matériel
• Chaque composant (processeurs, mémoires et périphériques) de l’ordinateur a
son propre code (câblé ou logiciel) qui assure son fonctionnement et les
interactions avec les autres.

• Le système d’exploitation gère et coordonne l’ensemble de ces composants au


moyen, notamment, de signaux interruptions.

• Les interruptions permettent au système d’exploitation de reprendre le contrôle :

– Interruptions matérielles :
• Horloges (pour gérer l’allocation des processeurs)
• Périphériques (pour signaler la fin d’E/S)

– Interruptions logicielles :
• Erreurs arithmétiques (division par zéro)
• Données non disponibles en mémoire (défaut de page)
• Appels système (invocation du système d’exploitation).

Génie Informatique Chapitre 1. 21


Systèmes d’exploitation
École Polytechnique de Montréal

Interactions utilisateur/système

• Pour un utilisateur, le système d’exploitation apparaît comme un


ensemble de procédures complexes visant à abstraire les détails de
fonctionnement et de gestion du matériel.
Bibliothèque des appels système = {procédures}

• Les appels système peuvent être invoqués via un interpréteur de


commandes, une interface graphique ou utilitaires.

• L’interpréteur de commandes (Interface utilisateur/système) :


– est lancé dès la connexion au système ;
– invite l’utilisateur à introduire une commande ;
– récupère puis exécute la commande par combinaison d’appels
système et d’outils (compilateurs, éditeurs de lien,…).
– affiche les résultats ou les erreurs puis se met en attente de la
commande suivante.

Génie Informatique Chapitre 1. 22


Systèmes d’exploitation
École Polytechnique de Montréal

11
Interactions utilisateur/système (2)
Cas d’UNIX

Génie Informatique Chapitre 1. 23


Systèmes d’exploitation
École Polytechnique de Montréal

Interactions utilisateur/système (3)


Shells d’UNIX
• Les interpréteurs de commandes d’UNIX (shells) permettent une composition
séquentielle ou parallèle de commandes avec redirection des entrées/sorties des
commandes.
cat src1 src2 > fich; sort fich > dest

src1

cat sort dest


fich fich

src2

cat src1 src2 | sort >dest

src1

cat sort dest

src2 en parallèle

Génie Informatique Chapitre 1. 24


Systèmes d’exploitation
École Polytechnique de Montréal

12
Interactions utilisateur/système (4)
Shells d’UNIX
• Les interpréteurs de commandes UNIX (shells) offrent des structures de contrôle
semblables à celles des langages de programmation classiques.

• Les programmes shell sont appelés script shell.

jupiter% cat script1


set `ls`
for i in $*do
if [ -d $i ]
then echo "$i est un répertoire"
fi else
if [ $i = "fich" ]
then echo "fich trouvé. Affichage ? (o ou n) "
read rep
case $rep in
o|O) cat $i ;;
n|N) echo "pas de visualisation de fich" ;;
*) echo "réponse incorrecte"

esac
fi
done

Génie Informatique Chapitre 1. 25


Systèmes d’exploitation
École Polytechnique de Montréal

Interactions utilisateur/système (5)


Appel système à partir d’un programme
• Le programme C suivant utilise les appels système open, write et read :
//Ce progamme crée un fichier dans lequel, il copie les données lues à partir du clavier.

#include <unistd.h> // pour open, write et read


#include <fcntl.h>
#define taille 80
int main ( )
{ int fd , nbcar;
char buf[taille] ;
fd = open( "fich", O_CREAT| O_WRONLY) ; // créer un fichier
if(fd==-1)
{ write(2, "Erreur d’ouverture \n″″, 25) ;
return –1 ;
}
write(1, ″Ouverture avec succès \n″ , 30) ;
// copier les données introduites à partir du clavier dans le fichier
while ((nbcar = read(0, buf, taille)) > 0)
if( write(fd, buf, nbcar) == -1)
return –1 ;
return 0 ;
}

Génie Informatique Chapitre 1. 26


Systèmes d’exploitation
École Polytechnique de Montréal

13
Que se passe-t-il lors d’un appel système ?

Génie Informatique Chapitre 1. 27


Systèmes d’exploitation
École Polytechnique de Montréal

Appels système

• En général, les processeurs ont deux modes de fonctionnement :


– le mode superviseur (noyau, privilégié ou maître) : pour le système
d’exploitation, où toutes les instructions sont autorisées.
– le mode utilisateur (esclave) : pour les programmes des utilisateurs et les
utilitaires, où certaines instructions ne sont pas permises.

• Les processeurs sont dotés d’un bit de mode.

• Ces modes de fonctionnement assurent la protection du système


d’exploitation contre les intrusions et les erreurs.

• Ce n’était pas le cas des systèmes mono-utilisateur (MS-DOS,


MacOS) qui avaient un seul mode de fonctionnement (utilisateur).

Génie Informatique Chapitre 1. 28


Systèmes d’exploitation
École Polytechnique de Montréal

14
Appels système (2)

• Un appel système consiste en une interruption logicielle


(instruction TRAP) qui a pour rôle d’activer le système
d’exploitation :
– changer le mode d’exécution pour passer du mode utilisateur au
mode maître ;
– récupérer les paramètres et vérifier la validité de l’appel ;
– lancer l’exécution de la fonction demandée ;
– récupérer la (les) valeur(s) de retour ;
– retourner au programme appelant avec retour au mode utilisateur.

Génie Informatique Chapitre 1. 29


Systèmes d’exploitation
École Polytechnique de Montréal

Appels système (3)


Exemple

read(fd,buffer,nbytes);

Génie Informatique Chapitre 1. 30


Systèmes d’exploitation
École Polytechnique de Montréal

15
Appels système (4)

• Quelques appels système d’UNIX et Windows (Win 32 API).

Génie Informatique Chapitre 1. 31


Systèmes d’exploitation
École Polytechnique de Montréal

Appels système (5)


Gestion de processus
• Les appels systèmes permettent notamment :

– la création,

– la communication interprocessus,

– la synchronisation et

– l’arrêt des processus.

Génie Informatique Chapitre 1. 32


Systèmes d’exploitation
École Polytechnique de Montréal

16
Appels système (6)
Création et terminaison de processus

• Un processus peut créer un ou plusieurs


processus fils qui, à leur tour, peuvent créer des
processus fils (structure arborescente).

• Un processus peut être partitionné en plusieurs


threads (processus légers) concurrents partageant
un même environnement d’exécution. Les threads
sont un moyen de raffiner et de diviser le travail
normalement associé à un processus.
Génie Informatique Chapitre 1. 33
Systèmes d’exploitation
École Polytechnique de Montréal

Appels système (7)


Communication interprocessus

- Segments de données partagés;


- Fichiers;
- Signaux;
- Messages -> Tubes de communication (pipe)

Génie Informatique Chapitre 1. 34


Systèmes d’exploitation
École Polytechnique de Montréal

17
Appels système (8)
Synchronisation de processus

Processus A Processus B

Éviter l’accès simultané lecture/écriture ou écriture/écriture


à une même donnée.

Génie Informatique Chapitre 1. 35


Systèmes d’exploitation
École Polytechnique de Montréal

Appels système (9)


Problème d’interblocage

Attention :
Partage de ressources interblocage

Génie Informatique Chapitre 1. 36


Systèmes d’exploitation
École Polytechnique de Montréal

18
Appels système (10)
Gestion de fichiers
• Un fichier est un ensemble de blocs sur le disque.

Fichier B

0 1 2 3 4

FichierA

5 6 7 8 9
Nom du fichier Blocs
Fichier A 7
10 11 12 13 14
... ...
Fichier B 1, 8, 3, 14, 28
15 16 17 18 19 ... ...

20 21 22 23 24

25 26 27 28 29

30 31 32 33 34

Génie Informatique Chapitre 1. 37


Systèmes d’exploitation
École Polytechnique de Montréal

Appels système (11)


Système de fichier
• Un système de fichiers est la partie du système d’exploitation qui se charge
de gérer le stockage et la manipulation de fichiers sur une unité de stockage
(disque, CD, disquette, partition,…).

Génie Informatique Chapitre 1. 38


Systèmes d’exploitation
École Polytechnique de Montréal

19
Appels système (12)
Création et manipulation de fichiers
• Les appels systèmes permettent de créer des fichiers, de les supprimer, de
les ouvrir, de les lire, de les modifier et de récupérer leurs attributs…

Génie Informatique Chapitre 1. 39


Systèmes d’exploitation
École Polytechnique de Montréal

Appels système (13)


Répertoires

• Les fichiers sont regroupés dans des répertoires. Un répertoire peut


contenir soit des fichiers, soit d’autres répertoires (structure
arborescente).

• L’accès au fichier se fait en spécifiant le chemin d’accès (la liste des


répertoires à traverser pour accéder au fichier).

• Un chemin d’accès est absolu si le point de départ est le répertoire


racine.

• Un chemin d’accès est relatif si le point de départ est le répertoire


courant.

Génie Informatique Chapitre 1. 40


Systèmes d’exploitation
École Polytechnique de Montréal

20
Appels système (14)
Répertoires

Génie Informatique Chapitre 1. 41


Systèmes d’exploitation
École Polytechnique de Montréal

Appels système (15)


Création et manipulation de répertoires

Génie Informatique Chapitre 1. 42


Systèmes d’exploitation
École Polytechnique de Montréal

21
Évolution du mode d’exploitation

Génie Informatique Chapitre 1. 43


Systèmes d’exploitation
École Polytechnique de Montréal

Evolution du mode d’exploitation


Traitement par lots

• Les programmes étaient écrits en


Fortran ou en assembleur sur des
cartes perforées.

• Ce mode d’exploitation nécessitait


deux types de machines dont la plus
puissante était réservée aux calculs et
l’autre, moins chère, s’occupaient des
périphériques lents.

Génie Informatique Chapitre 1. 44


Systèmes d’exploitation
École Polytechnique de Montréal

22
Comment maximiser le taux
d’utilisation du processeur ?

Génie Informatique Chapitre 1. 45


Systèmes d’exploitation
École Polytechnique de Montréal

Evolution du mode d’exploitation (2)


Multiprogrammation et DMA
• Introduction des unités de disques permettant un accès direct.

• Transfert des travaux vers le disque dès leur arrivée dans la salle machine (spoole).

• La mémoire est organisée en un ensemble de partitions (1 travail/partition).

• Le système d’exploitation conserve en mémoire plusieurs travaux et gère le partage du


processeur centrale et des périphériques entre les différents travaux chargés en mémoire
(la multiprogrammation):

Génie Informatique Chapitre 1. 46


Systèmes d’exploitation
École Polytechnique de Montréal

23
Evolution du mode d’exploitation (3)
Multiprogrammation et DMA

• Allocation du processeur à un travail (premier arrivé, premier servi).


• Lorsque le travail demande une E/S, le processeur est alloué à un autre travail.
• A la fin de l’E/S, une interruption se produit et le système d’exploitation reprend le contrôle
pour traiter l’interruption et lancer ou reprendre l’exécution d’un travail.
• Dès qu’un travail se termine, le système d’exploitation peut lancer le chargement, à partir du
disque, d’un nouveau travail dans la partition libérée.

Génie Informatique Chapitre 1. 47


Systèmes d’exploitation
École Polytechnique de Montréal

Evolution du mode d’exploitation (4)


Multiprogrammation et DMA

Génie Informatique Chapitre 1. 48


Systèmes d’exploitation
École Polytechnique de Montréal

24
Evolution du mode d’exploitation (5)
Multiprogrammation et DMA

Exemple :

Génie Informatique Chapitre 1. 49


Systèmes d’exploitation
École Polytechnique de Montréal

Evolution du mode d’exploitation (6)


Multiprogrammation et DMA

• Trois activités peuvent être donc menées en parallèle :

– Le chargement d’un travail C en mémoire ;

– L’exécution d’un travail B ;

– L’édition des résultats d’un travail A.

Génie Informatique Chapitre 1. 50


Systèmes d’exploitation
École Polytechnique de Montréal

25
Evolution du mode d’exploitation (7)
Multiprogrammation et DMA

• La multiprogrammation nécessite des circuits de contrôle pour protéger


chaque travail contre les intrusions et les erreurs des autres.

Génie Informatique Chapitre 1. 51


Systèmes d’exploitation
École Polytechnique de Montréal

Problème :
si tous les travaux en mémoire sont en attente d’E/S,
le processeur est inactif.

Génie Informatique Chapitre 1. 52


Systèmes d’exploitation
École Polytechnique de Montréal

26
Evolution du mode d’exploitation (8)
Va-et-vient (swapping)

• Les travaux en mémoire qui sont en attente (d’une E/S ou d’un événement) peuvent être
retirés de la mémoire pour y charger d’autres prêts (en attente d’exécution).

• Ainsi durant l’exécution d’un travail, il peut subir plusieurs va-et-vient entre la mémoire et
le disque (zone de swapping).
Mémoire principale Disque

Génie Informatique Chapitre 1. 53


Systèmes d’exploitation
École Polytechnique de Montréal

Garantir un temps de réponse


acceptable à chaque utilisateur

Génie Informatique Chapitre 1. 54


Systèmes d’exploitation
École Polytechnique de Montréal

27
Evolution du mode d’exploitation (9)
Temps partagé
• Le processeur est alloué, à tour de rôle, pendant un certain temps à chacun des
travaux en attente d’exécution. Au bout ce temps, l’exécution du travail en cours est
suspendue. Le processeur est alors alloué à un autre travail.
• Si plusieurs utilisateurs lancent à partir de leurs terminaux leurs programmes
simultanément, ce mode d’exploitation donne l’impression que les programmes
s’exécutent en parallèle (pseudo parallélisme).

Génie Informatique Chapitre 1. 55


Systèmes d’exploitation
École Polytechnique de Montréal

Evolution du mode d’exploitation (10)


Temps partagé

Expiration

Lots File d’attente, prêt


Terminé

Processeur
Process eur

File d’attente, attente

Attente d’événement

Génie Informatique Chapitre 1. 56


Systèmes d’exploitation
École Polytechnique de Montréal

28
Exécuter des programmes dont la taille peut
dépasser celle de la mémoire physique

Génie Informatique Chapitre 1. 57


Systèmes d’exploitation
École Polytechnique de Montréal

Evolution du mode d’exploitation (11)


Mémoire virtuelle
• Le compilateur génère pour
chaque programme un
espace d’adressage virtuel
dont la taille peut surpasser
celle de la mémoire
physique.

• À l’exécution, une partie de


cet espace virtuel est en
mémoire.

• Chargement au besoin

Génie Informatique Chapitre 1. 58


Systèmes d’exploitation
École Polytechnique de Montréal

29
Communiquer avec d’autres ordinateurs

Génie Informatique Chapitre 1. 59


Systèmes d’exploitation
École Polytechnique de Montréal

Evolution du mode d’exploitation (12)


Exploitation en réseau
(client/serveur)
• Chaque système d’exploitation est doté d’une interface réseau qui lui permet
de communiquer avec d’autres machines.

Génie Informatique Chapitre 1. 60


Systèmes d’exploitation
École Polytechnique de Montréal

30
Gérer plusieurs ordinateurs et les faire paraître
comme étant une seule puissante machine

Génie Informatique Chapitre 1. 61


Systèmes d’exploitation
École Polytechnique de Montréal

Evolution du mode d’exploitation (13)


Exploitation en distribué

• Les réseaux d’ordinateurs qui fonctionnent sous des systèmes


d’exploitation distribués apparaissent aux yeux des utilisateurs
comme une machine monoprocesseur.

• Le système d’exploitation distribué gère et contrôle l’ensemble


des composants de tous les ordinateurs connectés (les
processeurs, les mémoires, les disques, …).

Génie Informatique Chapitre 1. 62


Systèmes d’exploitation
École Polytechnique de Montréal

31
Exploitation spécialisée

Génie Informatique Chapitre 1. 63


Systèmes d’exploitation
École Polytechnique de Montréal

Evolution du mode d’exploitation (14)


Système d’exploitation temps réel

• Ce sont des systèmes spécialisés dans la conduite


d’appareillages industriels ou dans la commande de processus
où le temps joue un rôle critique (des contraintes temporelles
strictes à respecter).

• L’exploitation met l’accent sur le temps de réponse (respect des


contraintes temporelles imposées par l’environnement).

Génie Informatique Chapitre 1. 64


Systèmes d’exploitation
École Polytechnique de Montréal

32
Evolution du mode d’exploitation (15)
Structure d’UNIX

Génie Informatique Chapitre 1. 65


Systèmes d’exploitation
École Polytechnique de Montréal

Evolution du mode d’exploitation (16)


Structure de Windows 2000/XP

Génie Informatique Chapitre 1. 66


Systèmes d’exploitation
École Polytechnique de Montréal

33
Lancement du système d’exploitation

Génie Informatique Chapitre 1. 67


Systèmes d’exploitation
École Polytechnique de Montréal

Lancement du système d’exploitation


Booting (cas d’UNIX)
• Le programme de démarrage (amorce) vérifie le bon fonctionnement du matériel puis
charge une partie du système d’exploitation à partir du disque (disquette ou CD) avant de
lui donner le contrôle.

• Cette partie détermine les caractéristiques du matériel, effectue un certain nombre


d’initialisations et crée le processus 0.

• Le processus 0 réalise d’autres initialisations (ex. le système de fichiers) puis crée deux
processus : init de PID 1 et démon des pages de PID 2.

Génie Informatique Chapitre 1. 68


Systèmes d’exploitation
École Polytechnique de Montréal

34
Quelques unités de mesure
Spatiales

1 O (octet) 8 bits 1 KO (Kilo) 210 octets

1 MO (Mega) 220 octets 1 GO (Giga) 230 octets

1 TO (Tera) 240 octets 1 PO (Peta) 250 octets

Temporelles

1s 1 seconde 1 ns (nano) 10-9 s

1 ms (milli) 10-3 s 1 ps (pico) 10-12 s


1 µs (micro) 10-6 s 1 fs (femto) 10-15 s

Génie Informatique Chapitre 1. 69


Systèmes d’exploitation
École Polytechnique de Montréal

35