La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

GPA435 Systèmes d’exploitation et programmation de système

Présentations similaires


Présentation au sujet: "GPA435 Systèmes d’exploitation et programmation de système"— Transcription de la présentation:

1 GPA435 Systèmes d’exploitation et programmation de système
Chapitre 1 Évolution des systèmes: Traitement en série, par lots, multi-tâche et multi-utilisateur, S.E. moderne Révision août 2013 par Tony Wong, ing., Ph.D. ETS - GPA, (c) Tony Wong, Ph.D., ing.

2 GPA435 - Systèmes d'exploitation et programmation de système
Évolution des systèmes 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). Point de vue programmeur Point de vue utilisateur ETS - GPA, (c) Tony Wong, Ph.D., ing.

3 GPA435 - Systèmes d'exploitation et programmation de système
Évolution des systèmes Traitement en série 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éliorer l’efficacité du traitement en série ETS - GPA, (c) Tony Wong, Ph.D., ing.

4 GPA435 - Systèmes d'exploitation et programmation de système
Évolution des systèmes Traitement par lots 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. ETS - GPA, (c) Tony Wong, Ph.D., ing.

5 Traitement par lots (suite)
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Traitement par lots (suite) 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!! ETS - GPA, (c) Tony Wong, Ph.D., ing.

6 Traitement par lots (suite)
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Traitement par lots (suite) 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. ETS - GPA, (c) Tony Wong, Ph.D., ing.

7 Traitement par lots (suite)
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Traitement par lots (suite) Le moniteur réside dans la mémoire de l’ordinateur: Le processeur est soit en exécution d’un programme utilisateur soit en exécution du programme moniteur ETS - GPA, (c) Tony Wong, Ph.D., ing.

8 Traitement par lots (suite)
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Traitement par lots (suite) 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). ETS - GPA, (c) Tony Wong, Ph.D., ing.

9 Traitement par lots (suite)
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Traitement par lots (suite) 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. ETS - GPA, (c) Tony Wong, Ph.D., ing.

10 Par lots multiprogrammé
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Par lots multiprogrammé 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. ETS - GPA, (c) Tony Wong, Ph.D., ing.

11 Par lots multiprogrammé (suite)
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Par lots multiprogrammé (suite) 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. ETS - GPA, (c) Tony Wong, Ph.D., ing.

12 Par lots multiprogrammé (suite)
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Par lots multiprogrammé (suite) 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. ETS - GPA, (c) Tony Wong, Ph.D., ing.

13 Traitement en temps partagé
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Traitement en temps partagé 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. ETS - GPA, (c) Tony Wong, Ph.D., ing.

14 Traitement en temps partagé
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Traitement en temps partagé 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). Un concept encore utilisé dans les S.E. modernes Point de vue du S.E. ETS - GPA, (c) Tony Wong, Ph.D., ing.

15 Traitement en temps partagé
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Traitement en temps partagé 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. ETS - GPA, (c) Tony Wong, Ph.D., ing.

16 GPA435 - Systèmes d'exploitation et programmation de système
Évolution des systèmes Résumé 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 ETS - GPA, (c) Tony Wong, Ph.D., ing.

17 Multitâche et multi-utilisateur
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes 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. ETS - GPA, (c) Tony Wong, Ph.D., ing.

18 Multitâche et multi-utilisateur
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Multitâche et multi-utilisateur 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 ETS - GPA, (c) Tony Wong, Ph.D., ing.

19 Multitâche et multi-utilisateur
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes 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. ETS - GPA, (c) Tony Wong, Ph.D., ing.

20 Structure des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Structure des S.E. modernes D’abord organisation en couche hiérarchique: ETS - GPA, (c) Tony Wong, Ph.D., ing.

21 Structure des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Structure des S.E. modernes 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 ETS - GPA, (c) Tony Wong, Ph.D., ing.

22 Structure des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Structure des S.E. modernes 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. ETS - GPA, (c) Tony Wong, Ph.D., ing.

23 Structure des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Structure des S.E. modernes 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. ETS - GPA, (c) Tony Wong, Ph.D., ing.

24 Structure des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Structure des S.E. modernes 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) ETS - GPA, (c) Tony Wong, Ph.D., ing.

25 Structure des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Structure des S.E. modernes Système de fichiers (suite): parcours non linéaire à l ’aide de liens virtuels (soft-hard links); chemin absolu chemin relatif parcours non linéaire ETS - GPA, (c) Tony Wong, Ph.D., ing.

26 Structure des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Structure des S.E. modernes 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 ETS - GPA, (c) Tony Wong, Ph.D., ing.

27 Structure des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Structure des S.E. modernes Communication inter-processus. Trois points importants: transfert des données entre processus; coordination des processus; synchronisation des processus. Appels de système permettant la coordination des processus Éviter «l’impasse » et la «famine» les processus Méthodes qui évitent les erreurs dans l’accès des données et leurs traitements Moyens par lesquels les données sont communiquées entre les processus ETS - GPA, (c) Tony Wong, Ph.D., ing.

28 Structure des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Structure des S.E. modernes 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és Analogie: devant un tourniquet à l’entrée d’un métro à l ’heure de pointe ETS - GPA, (c) Tony Wong, Ph.D., ing.

29 Structure des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Structure des S.E. modernes Transfert des données entre processus: mémoire partagée; tuyaux (pipes); messages. Une plage de mémoire (physique ou virtuelle) partagée entre plusieurs processus 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. Structure de données FIFO. Leurs accès sont gérés par le S.E. ETS - GPA, (c) Tony Wong, Ph.D., ing.

30 Structure des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Structure des S.E. modernes Synchronisation des processus: fonctions attendre() et signal(); variables sémaphores; instructions atomiques. Des instructions exécutées en séquence sans interruption par aucune autre instruction du processeur. 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. Fonctions de synchronisation qui modifient une variable sémaphore ETS - GPA, (c) Tony Wong, Ph.D., ing.

31 Structure des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Structure des S.E. modernes 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. ETS - GPA, (c) Tony Wong, Ph.D., ing.

32 Structure des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Structure des S.E. modernes Modèle des processus (suite) Processus prêt pour l’exécution Processus créé mais pas encore exécutable Processus en exécution dans le processeur Arrêt du processus: fin de son exécution ou causé par une condition d’erreur Processus en suspension: attendant l’arrivée d’un événement ou la fin d’une opération ETS - GPA, (c) Tony Wong, Ph.D., ing.

33 Structure des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Structure des S.E. modernes 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 ». ETS - GPA, (c) Tony Wong, Ph.D., ing.

34 Tendances des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Tendances des S.E. modernes 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. ETS - GPA, (c) Tony Wong, Ph.D., ing.

35 Tendances des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Tendances des S.E. modernes 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; ETS - GPA, (c) Tony Wong, Ph.D., ing.

36 Tendances des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Tendances des S.E. modernes Exemple du concept de micro-noyau: ETS - GPA, (c) Tony Wong, Ph.D., ing.

37 Tendances des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Tendances des S.E. modernes 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; Modèle de programmation concourante Mémoire utilisée, l’état de la pile programme, les ports d’E/S associés, l’état des registres du processeur, etc. ETS - GPA, (c) Tony Wong, Ph.D., ing.

38 Tendances des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Tendances des S.E. modernes 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; ETS - GPA, (c) Tony Wong, Ph.D., ing.

39 Tendances des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Tendances des S.E. modernes 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. ETS - GPA, (c) Tony Wong, Ph.D., ing.

40 Tendances des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Tendances des S.E. modernes 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. ETS - GPA, (c) Tony Wong, Ph.D., ing.

41 Tendances des S.E. modernes
GPA435 - Systèmes d'exploitation et programmation de système Évolution des systèmes Tendances des S.E. modernes 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. ETS - GPA, (c) Tony Wong, Ph.D., ing.

42 GPA435 - Systèmes d'exploitation et programmation de système
Évolution des systèmes 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. ETS - GPA, (c) Tony Wong, Ph.D., ing.


Télécharger ppt "GPA435 Systèmes d’exploitation et programmation de système"

Présentations similaires


Annonces Google