1 gpa435 systèmes dexploitation et programmation de système révision août 2013 par tony wong,...
Post on 04-Apr-2015
104 Views
Preview:
TRANSCRIPT
1
GPA435 Systèmes d’exploitation et programmation de système
Révision août 2013 par Tony Wong, ing., Ph.D.
Chapitre 1Évolution des systèmes:
Traitement en série, par lots,multi-tâche et multi-utilisateur,
S.E. moderne
2
Introduction
Systèmes d’exploitation (S.E.):• UNIX, Linux, Windows NT, MacOS.
Qu’est-ce qu’un S.E.?• Une interface humain — machine;
• Un ensemble d’appels de système (services).
Évolution des systèmes
Point de vue utilisateur
Point de vue programmeur
3
Traitement en série
Évolution des systèmes
Fin des années 40 — milieu des années 50 du 20e siècle.
Programmation en langage machine.
Traitement en série obligatoire.Utilisation de l’ordinateur un
programmeur et un programme à la fois.
Création de bibliothèques de fonctions communes concept de pilote E/S.
Am
él io
rer
l’effi
caci
té
du
tra
item
en
t en
séri
e
4
Traitement par lots
Évolution des systèmes
Traitement en série inefficace car monopolisé par un seul programmeur.
Coût énorme des ordinateurs.Traitement par lots (batch
processing):• milieu des années 50 du 20e siècle;• maximise l’utilisation des ordinateurs;• premier système: conçu par General
Motor.
5
Traitement par lots (suite)
Évolution des systèmes
Concept de « moniteur ».Moniteur un programme qui veille
sur les tâches (jobs) des utilisateurs.Chaque utilisateur soumet leur
tâche à l’opérateur de l’ordinateur:• cartes perforées, rubans magnétiques;• regroupement des tâches;• exécution séquentielle des
regroupements.
Véritable système d’exploitation!!
6
Traitement par lots (suite)
Évolution des systèmes
Particularité la fin d’une tâche est suivie par un branchement vers le moniteur.
Ce dernier charge en mémoire la tâche suivante et l’exécute dans le processeur.
L’organisation d’un moniteur a influencé grandement la conception des S.E. modernes.
7
Traitement par lots (suite)
Évolution des systèmes
Le moniteur réside dans la mémoire de l’ordinateur:
T raitem en t d es in terrup tio n s*
P ilo tes d es p érip h ériques
Séquen cem en t d es tâch es
I n terp réteur d e co m m an d es
E sp ace p o ur le p ro gram m eutilisateur
M o n iteur
C artesp erfo rées
R ub an sm agn étiques
* L 'u tilisatio n d es in terrup tio n s est ap p arueb ien p lus tard d an s l'év o lu tio n d es m o n iteurs
P ro gram m es
Le processeur est soit en exécution d’un programme utilisateur soit en exécution du programme moniteur
8
Traitement par lots (suite)
Évolution des systèmes
L’ordinateur est soit en exécution d’un programme utilisateur soit en exécution du programme moniteur.
Produira plus tard la notion de mode d’exécution dans les S.E. modernes.
Introduction d’un ensemble de commandes pour la gestion du traitement par lots (bien plus tard JCL Job Control Language).
9
Traitement par lots (suite)
Évolution des systèmes
Amélioration du taux d’utilisation de l’ordinateur.
Par contre, une tâche peut monopoliser longtemps le processeur.• Attendre la fin des opérations E/S;• les rubans magnétiques avaient un
temps d’accès très long.
Pour augmenter le rendement de l’ordinateur récupérer ce temps perdu.
10
Par lots multiprogrammé
Évolution des systèmes
Problématique du traitement par lots:• si une tâche utilise 30% de son temps
à effectuer des opérations E/S;• le processeur ne travaillera pas dans
la majeure partie de ce 30%.
Multiprogrammation exécuter une autre tâche dans les portions de temps où le processeur est inactif.
Exige la coopération du matériel.
11
Par lots multiprogrammé (suite)
Évolution des systèmes
Coopération du matériel interruptions matérielles.• module de gestion des interruptions;• transfert rapide des données sans
intervention du processeur.
Création d’un module MM (Memory Management).• maintenir en mémoire les tâches pour
l’exécution.
12
Par lots multiprogrammé (suite)
Évolution des systèmes
Création d’un module d’ordonnancement des tâches:• peut avoir plus d’une tâche en
mémoire;• sélectionne l’une des tâches pour
l’exécution.
Tous ces modules font partie de l’architecture moderne des S.E.
13
Traitement en temps partagé
Évolution des systèmes
Traitement par lots pas d’interactivité.
Une nouvelle technique doit être développée:• le CTSS (Compatible Time-Sharing
System) de MIT début des années 60 du 20e siècle.
Idée de base le blocage et le redémarrage périodique des tâches à l’aide d’une interruption cadencée par une source stable.
14
Traitement en temps partagé
Évolution des systèmes
Chaque utilisateur du système est relié à l’ordinateur par le biais d’un terminal.
Utilisateur = terminal = tâche
Le processeur est contrôlé par chaque terminal durant une brève période de temps (0,2 sec pour CTSS).
Point de vue du S.E.
Un concept encore utilisé dans les S.E. modernes
15
Traitement en temps partagé
Évolution des systèmes
Ainsi, les tâches ont tour à tour l’attention du processeur (round-robin).
Lorsqu’une tâche est en attente d’une opération E/S:• immédiatement bloquée;• contrôle du processeur est passé à une
autre tâche.
16
Résumé
Évolution des systèmes
Traitement par lots multiprogrammé
Traitement en temps partagé
Objectif principal
Maximiser l’utilisation du processeur
Minimiser le temps de réponse
Source des commandes
JCB (Job Control Language) accompagnant la tâche
Commandes interactives entrées via le terminal
17
Multitâche et multi-utilisateur Environnement multiprogrammé +
l’interactivité des systèmes en temps partagé.• Multitâche multiprogrammation;• Multi-utilisateur temps partagé.
Un des premiers systèmes véritablement M-M:• MULTICS (MULTiplexed Information and
Computer Service) de MIT, Bell, General Electric au milieu des années 60 du 20e.
Évolution des systèmes
18
Multitâche et multi-utilisateur
Évolution des systèmes
MULTICS avait introduit plusieurs innovations:• découplage entre le S.E. et le matériel• mémoire virtuelle:
• Pagination de la mémoire;• liaison dynamique.
• système de fichiers hiérarchique.La mémoire physique de l’ordinateur est organisée en pages de taille fixe
Un répertoire peut contenir d’autres répertoires
L’adresse des instructions est déterminée au moment de leur chargement en mémoire
19
Multitâche et multi-utilisateur MULTICS avait introduit le concept
de processus:• structure fondamentale d’un S.E.
Processus possède trois éléments:• programme exécutable;• données associées au programme;• contexte d’exécution du programme.
Processus programme en exécution.
Évolution des systèmes
20
Structure des S.E. modernes
Évolution des systèmes
D’abord organisation en couche hiérarchique:
M atériel
P ro cessus p rim itif s
M ém o ire seco n d aire
M ém o ire v irtuelle
C o m m un icatio n in ter- p ro cessus
Systèm e d e fi ch iers
G estio n d es p érip h ériques
G estio n d es p ro cessus u tilisateurs
I n terp réteur d e co m m an d es
R o utin es d e gestio n d es o b jets
D isques reliés lo calem en t
P ip es, m ém o ire p artagée, etc.
T erm in al, im p rim an te, etc.
ex : liste d es p ro cessus, etc.
21
Structure des S.E. modernes
Évolution des systèmes
Composants matériels:• instructions privilégiées;• adressage segmenté;• système de signaux.
Mémoire virtuelle:• offrir à chacun des processus toute la
mémoire de l’ordinateur;• utilisation de la mémoire secondaire
(l’espace du disque local);
Protection contre la corruption des données
Interruption logicielle
22
Structure des S.E. modernes
Évolution des systèmes
Mémoire virtuelle (suite):• modèle de programmation adresse
mémoire contiguë;• astuce ne charger qu’une portion du
code exécutable des programmes en mémoire;
• code chargé en mémoire fonction du flux d’exécution;
• désengorger le système déplacement des modules exécutables de/vers la mémoire secondaire.
23
Structure des S.E. modernes
Évolution des systèmes
Système de fichiers:• organisation cohérente de la mémoire
secondaire;• système de fichiers hiérarchique
arbre inversé;• sous-répertoire sont des enfants d’un
répertoire racine;• système de fichiers hiérarchique un
répertoire peut contenir d’autres répertoires.
24
Structure des S.E. modernes
Évolution des systèmes
Système de fichiers (suite):• pour atteindre un fichier:
parcours linéaire;parcours non linéaire.
• parcours linéaire:• chemin absolu;• chemin relatif.
N’existe que dans certains S.E. modernes (ex: UNIX, Linux)
UNIX: /home/etudiant/jean/devoir.txt
Windows NT:h:\etudiant\jean\devoir.txt
UNIX:jean/devoir.txt
Windows NT:jean\devoir.txt
<Répertoire courant>/home/etudiant (UNIX)h:\etudiant (Windows NT)
25
Structure des S.E. modernes
Évolution des systèmes
Système de fichiers (suite):• parcours non linéaire à l ’aide de liens
virtuels (soft-hard links);R ép erto ire racin e
So us- rép erto ireR ép erto ire co uran t
So us- rép erto ire sp écial(L ien v irtuel)
chemin absoluchemin relatifparcours non linéaire
26
Structure des S.E. modernes
Évolution des systèmes
Système de fichiers (suite):• accès simultanés par plusieurs
processus;• accès simultanés par plusieurs
utilisateurs;• deux processus utilisent le même
fichier.
Des droits accès sont nécessaires;Primitifs de verrouillage et
d’ouverture exclusive sont nécessaires.
Pi Pn
27
Structure des S.E. modernes
Évolution des systèmes
Communication inter-processus. Trois points importants:• transfert des données entre processus;• coordination des processus;• synchronisation des processus.
Moyens par lesquels les données sont communiquées entre les processus
Méthodes qui évitent les erreurs dans l’accès des données et leurs traitements
Appels de système permettant la coordination des processus
Éviter «l’impasse » et la «famine» les processus
28
Structure des S.E. modernes
Évolution des systèmes
Communication inter-processus (suite):• l’impasse
• la famine
Interdépendance (de données) des processus empêche la progression de tous les processus impliqués
Analogie: arrêt toutes directions à l’intersection des chemins croisés
Interdépendance (de données) des processus empêche la progression d’un sous-ensemble de processus impliquésAnalogie: devant un
tourniquet à l’entrée d’un métro à l ’heure de pointe
29
Structure des S.E. modernes
• Transfert des données entre processus:mémoire partagée; tuyaux (pipes);messages.
Évolution des systèmes
Une plage de mémoire (physique ou virtuelle) partagée entre plusieurs processus
Structure de données FIFO. Leurs accès sont gérés par le S.E.
C onsom m ateurP rod ucteur
T uyau
L a lecture en lèv eles d o n n ées d utuyau . L a lectured 'un tuyau v id em et en atten te lep ro cessusim p liqué
L 'écriture p laceles d o n n ées
d an s le tuyau .L 'écriture à untuyau p lein m et
en atten te lep ro cessusim p liqué
P ro to co le F I F O
Sans liens de communication permanents. Les messages sont déposés dans la queue de message des processus. Peuvent donc réaliser des protocoles autres que le FIFO.
30
Structure des S.E. modernes
Évolution des systèmes
• Synchronisation des processus: fonctions attendre() et signal();variables sémaphores; instructions atomiques.
Fonctions de synchronisation qui modifient une variable sémaphore
Variable entière n’admettant que trois opérations: i) initialisation à une valeur non négative; ii) incrémentation de sa valeur; iii) décrémentation de sa valeur. Opérations réalisées par des instructions atomiques.
Des instructions exécutées en séquence sans interruption par aucune autre instruction du processeur.
31
Structure des S.E. modernes
Évolution des systèmes
Modèle des processus• Processus entité dynamique;
• interaction par communication ;
• utilise des ressources;
possède une durée de vie et sont en interaction avec d’autres processus
utilisant le système de communication inter-processus (mémoire partagée, tuyaux, messages, etc.) du S.E.
Ces ressources sont: fichiers, mémoire, sémaphores périphériques d’E/S, etc. Ces ressources sont contrôlées par le S.E.
32
Structure des S.E. modernes
Évolution des systèmes
Modèle des processus (suite)
N o uv eau P rêt E x écutio n So rtie
B lo qué
T em p s écou lé
R ép a rti tion
E n a tten te
libérat
ion
A d m ission R etra i t
Processus créé mais pas encore exécutable
Processus prêt pour l’exécution
Processus en exécution dans le processeur
Processus en suspension: attendant l’arrivée d’un événement ou la fin d’une opération
Arrêt du processus: fin de son exécution ou causé par une condition d’erreur
33
Structure des S.E. modernes
Évolution des systèmes
Interpréteur de commandes• un processus utilisateur;• permet l’exécution des programmes;• manipulation des fichiers;• accéder aux périphériques de
l’ordinateur;• automatisation des procédures
par fichiers de commandes;• langages de programmation
« shell ».
34
Tendances des S.E. modernes
Évolution des systèmes
Nouvelles tendances:• architecture micro-noyau
(microkernel);• exécution multifilière (multithreading);• traitement parallèle symétrique
(symmetric multiprocessing);• système d’exploitation pour
processeurs multi-cœurs.
35
Tendances des S.E. modernes
Évolution des systèmes
Architecture micro-noyau:• changement important dans
l’organisation interne du S.E.;• seulement quelques fonctions
importantes sont assignées au noyau;• les autres services processus
utilisateurs appelés « serveurs »;• séparation explicite entre le noyau
d’un S.E. et le développement des serveurs;
36
Tendances des S.E. modernes
Évolution des systèmes
Exemple du concept de micro-noyau:
M icro - n o yauO rd in ateur A
Serv eur d u systèm ed e fi ch iers
(O rd in ateur B )
Serv eur d u systèm ed e fi ch iers
(O rd in ateur A )
M icro - n o yauO rd in ateur B
Serv eur d 'in terfacegrap h iq ue
(O rd in ateur A )
Serv eur d 'in terfacegrap h iq ue
(O rd in ateur B )
37
Tendances des S.E. modernes
Évolution des systèmes
Exécution multifilière:• un processus est divisé en plusieurs
chemins d’exécution simultanée;• fil d’exécution unité de travail
interruptible et séquentielle;• fil d’exécution ne possède pas de
contexte d’exécution mais utilise celui du processus père;
Mémoire utilisée, l’état de la pile programme, les ports d’E/S associés, l’état des registres du processeur, etc.
Modèle de programmation concourante
38
Tendances des S.E. modernes
Évolution des systèmes
Exécution multifilière:• un processus est une collection de fils
d’exécution;• fil d’exécution principal père de tous
les fils d’exécution créés;
F il p rin cip al
F il # 1 F il # 3
F il # 2 F il # 4 F il # 5
F il # 6
F il # 7
F in d e l'ex écu tio n d u fi l d 'ex écu tio n
Syn ch ro n isatio n d es fi ls d 'ex écu tio n
P ro cessus
39
Tendances des S.E. modernes
Évolution des systèmes
Traitement parallèle symétrique:• réalisation utilisant l’exécution
multifilière;• système à n processeurs (n 256);• mémoire commune accessible par
tous les processeurs;• tous les processeurs sont gérés de la
même et jouent le même rôle;• ordonnancement des fils d’exécution
dans tous les processeurs libres.
40
Tendances des S.E. modernes
Évolution des systèmes
Traitement parallèle symétrique:• nouvelle exigence «extensibilité» du
S.E.;• application du concept de micro-
noyau;• S.E. décentralisé;• ordonnancement des fils d’exécution
réalisé localement par chacun des processeurs;
• collaboration entre les processeurs;• une réalisation plus complexe du S.E.
41
Tendances des S.E. modernes
Évolution des systèmes
Système d’exploitation pour processeurs multi-cœurs:• Présentement le S.E. traite les cœurs
comme des CPU indépendants (traitement parallèle symétrique);
• en plus, doit gérer les conflits d’accès aux ressources partagées;
• doit gérer le délai variable dans le transfert des données.
42
Fin du chapitre 1
Références:• Tanenbaum, A.S., Systèmes
d’exploitation. Pearson Education France, 2008.
• Stallings, W., Operating Systems : Internals and Design Principals. Upper Saddle River, NJ : Prentice Hall, 1998.
• Références citées dans le premier chapitre des notes de cours.
Évolution des systèmes
top related