gpa435 syst mes d exploitation et programmation de syst me n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
GPA435 Systèmes d’exploitation et programmation de système PowerPoint Presentation
Download Presentation
GPA435 Systèmes d’exploitation et programmation de système

Loading in 2 Seconds...

play fullscreen
1 / 42

GPA435 Systèmes d’exploitation et programmation de système - PowerPoint PPT Presentation


  • 90 Views
  • Uploaded on

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 . Évolution des systèmes. Introduction.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'GPA435 Systèmes d’exploitation et programmation de système' - gerald


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
gpa435 syst mes d exploitation et programmation de syst me

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.

introduction

É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

traitement en s rie

É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

traitement par lots

É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.
traitement par lots suite

Évolution des systèmes

Véritable système d’exploitation!!

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.
traitement par lots suite1

É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.
traitement par lots suite2

É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

traitement par lots suite3

É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).
traitement par lots suite4

É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.
par lots multiprogramm

É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.
par lots multiprogramm suite

É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.
par lots multiprogramm suite1

É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.
traitement en temps partag

É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.
traitement en temps partag1

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

traitement en temps partag2

É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.
multit che et multi utilisateur

É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.
multit che et multi utilisateur1

É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

multit che et multi utilisateur2

É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.
structure des s e modernes

Évolution des systèmes

Structure des S.E. modernes
  • D’abord organisation en couche hiérarchique:
structure des s e modernes1

É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

structure des s e modernes2

É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.
structure des s e modernes3

É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.
structure des s e modernes4

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

structure des s e modernes5

É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

structure des s e modernes6

É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

structure des s e modernes7

É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

structure des s e modernes8

É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

structure des s e modernes9

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

structure des s e modernes10

É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

structure des s e modernes11

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

structure des s e modernes12

Évolution des systèmes

Processus prêt pour l’exécution

Processus créé mais pas encore exécutable

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

Structure des S.E. modernes
  • Modèle des processus (suite)

Arrêt du processus: fin de son exécution ou causé par une condition d’erreur

structure des s e modernes13

É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 ».
tendances des s e modernes

É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 (symmetricmultiprocessing);
    • système d’exploitation pour processeurs multi-cœurs.
tendances des s e modernes1

É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;
tendances des s e modernes2

Évolution des systèmes

Tendances des S.E. modernes
  • Exemple du concept de micro-noyau:
tendances des s e modernes3

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

tendances des s e modernes4

É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;
tendances des s e modernes5

É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.
tendances des s e modernes6

É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.
tendances des s e modernes7

É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.
fin du chapitre 1

É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. UpperSaddle River, NJ : Prentice Hall, 1998.
    • Références citées dans le premier chapitre des notes de cours.