1 gpa435 systèmes dexploitation et programmation de système révision août 2013 par tony wong,...

42
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

Upload: amable-frey

Post on 04-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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

Page 2: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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

Page 3: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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

du

tra

item

en

t en

séri

e

Page 4: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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.

Page 5: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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!!

Page 6: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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.

Page 7: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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

Page 8: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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).

Page 9: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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.

Page 10: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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.

Page 11: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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.

Page 12: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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.

Page 13: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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.

Page 14: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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

Page 15: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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.

Page 16: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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

Page 17: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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

Page 18: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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

Page 19: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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

Page 20: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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.

Page 21: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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

Page 22: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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.

Page 23: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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.

Page 24: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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)

Page 25: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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

Page 26: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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

Page 27: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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

Page 28: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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

Page 29: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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.

Page 30: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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.

Page 31: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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.

Page 32: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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

Page 33: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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 ».

Page 34: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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.

Page 35: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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;

Page 36: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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 )

Page 37: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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

Page 38: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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

Page 39: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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.

Page 40: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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.

Page 41: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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.

Page 42: 1 GPA435 Systèmes dexploitation et programmation de système Révision août 2013 par Tony Wong, ing., Ph.D. Chapitre 1 Évolution des systèmes: Traitement

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