Multi-programmation, Temps partagé & Temps réel • Sous le contrôle du superviseur • Organisation Entrée/sortie • Traitement des interruptions : o Interruptions externes (généralement indépendantes de la tâche courante) Interruption E/S (interruption canal) Interruption opérateur/utilisateur(rice) Interruption horloge (réveil, …) Interruption processeur (systèmes multi-processeurs) Interruption de dysfonctionnement o Interruptions internes (directement liées à la tâche courante) Appel superviseur Erreurs d'exécution des programmes Trapping ou extra-code (micro-coding) Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12 D. Bertrand 1 Un mécanisme simple interruption • La tâche de traitement d'interruption est choisie par le superviseur • Pas d'interruption pendant le traitement d'une interruption • Les interruptions peuvent être masquées (pour éviter des ruptures de séquence non désirées) Routines d'interruption Application Superviseur Appel tâche Analyse Evénement Interruption interruption masqué de 1er type Fin fin de d'interruptiontraitement Interruption Evénement de 2ème type non masqué Interruptions permises Interruption Interruptions de 3ème type interdites Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12 D. Bertrand 2 Implémentation Registres : • Masque général d'interruption (MM = 1 : actif; MM = 0 : passif) MM 1 • Requêtes d'interruption : chaîne de bits IR 1 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0 • Masques d'interruption : chaîne de bits MS 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 ES: 32 bits • Point d'entrée superviseur pour traitement d'int. • Zone de mémoire de sauvegarde PC PS: 32 bits Interruptions actives ? MM=1 ? Interruptions masquées ? n oui ∑IRi .MSi ≠ 0? i=1 non I Å [PC] Exécuter I oui MM Å 0; PS Å PC PC Å ES non • Registre ES peut être remplacé par un vecteur • Chaque entrée Æ pointeur vers routine de service spécifique • Sauvegarde des registres de travail (pile) ! Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12 D. Bertrand 3 Multi programmation Différences de vitesse entre différents composants Æ temps morts Tâche B : timing ≡ timing tâche A; canaux E/S indépendants Tâche A canal entrée 1 Travail 1 2 3 1 4 2 canal sortie 2 5 3 4 5 1 2 3 4 2 3 4 5 Tâche B canal entrée 3 Travail canal sortie 4 1 1 2 3 1 1 2 4 3 2 3 4 5 5 6 Æ configuration 7 4 8 9 5 10 temps idéale !!! Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12 D. Bertrand 4 Etats des processus • Traitement concurrent : 3 états identifiés par le schéduleur • Etat de travail : usage de l'unité de travail (état de calcul) • Etat d'attente : attente d'une ressource extérieure • Etat ”prêt” : attente de l'unité de contrôle (ressource principale) • Schéduleur sert la première tâche ”prête” • Un système de priorité peut être installé système oisif (”idle”) Tâche A attente prêt Tâche B attente prêt attente Tâche C prêt 1 prêt 3 4 5 6 prêt attente prêt prêt attente 2 prêt attente attente 7 Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12 8 9 10 temps D. Bertrand 5 Usage des interruptions • Tâche passant en attente Æ contrôle donné au superviseur : o Interruption spécifique : Appel au superviseur o Le système enregistre la transition (travail Æ attente) o Le système enregistre la condition de redémarrage (ressource libre) o Le système choisit une tâche prête au travail (priorités !) o Traitement de l'interruption o Traitement de la transition d'état (choix de la tâche : schéduleur) Æ temps de commutation = coût supervision Aussi petit que possible ! Tâche A attente Tâche B Tâche C Canal 1 interrupt. prêt prêt attente prêt prêt prêt prêt de la tâche A 1 2 3 4 du canal 1 5 6 7 Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12 8 9 10 D. Bertrand 6temps Classes de processus et priorités Deux catégories principales de processus : • Liés PC : calcul en mémoire centrale; peu de E/S (”number crunching”) • Liés E/S : peu de calcul; beaucoup d'opérations E/S • Si seulement processus liés PC : temps libre processeur très petit Æ pas de gain (parfois des pertes !) avec multi-programmation • Si seulement processus liés ES : efficacité dépend de la synchronisation Mélange de processus liés PC et liés ES A prêt Tâche A Tâche B prêt prêt E/S tâche A prêt Tâche A attente prêt attente prêt prêt Tâche B prêt 1 système non balancé (optimisé pour proc. et non pour périph.) prêt E/S tâche attente 2 3 prêt 4 5 6 système bien balancé (inter. horloge) 7 Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12 temps D. Bertrand 7 Partage de ressources • Partage des périphériques”séquentiels” (imprimantes, …) difficile • Pas de problème pour les unités à accès aléatoire (régions différentes) Pour résoudre la difficulté : Système de sortie différé • Sortie envoyée vers unité de stockage secondaire (disque magnétique) • A la fin de la tâche : fichier placé dans une file de sortie • Quand l'unité est prête : traitement d'un fichier de la file de sortie S / E (tâche spéciale : le symbiont de sortie) s é t ni Remarques u s e d ” g ”spoolin • Symbiont: partie du logiciel système mais traité comme tâche utilisateur • Files définies pour différentes classes de périphériques (staging, …) • Le même ou différents symbionts peuvent traiter une classe d'unités • Le même système peut être appliqué à des files d'entrée • Des priorités peuvent être définies au niveau des files Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12 D. Bertrand 8 Unité entrée Evolution des processus Unité sortie Processus Symbiont entrée travail Schéduleur tâches File entrée Schéduleur processus prêt Schéduleur resources Requête attente Schéduleur sortie Symbiont sortie Terminaison File sortie Le système opératoire gère cette évolution : Æ tables (états du système et de ses composants) o contenu des files d'attente o états des processus o occupation mémoire/périphériques Æ algorithmes de choix (schéduleur) Æ gestion des ressources (allocation) Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12 D. Bertrand 9 Temps partagé Multi-programmation Æ optimisation de l'usage des ressources Mais … Temps de réponse ? Temps de réponse = temps lecture + temps attente file d'entrée + temps exécution + temps attente file de sortie + temps écriture temps exécution = Σ temps travail + Σ temps attente + Σ temps ”prêt” La réduction du temps d'oisiveté du processeur peut nuire au temps de réponse Exemple : • Deux tâches liées PC • Temps d'exécution différents(60 minutes ↔ 1 minute) • Tâches soumises à des moments différents Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12 D. Bertrand 10 1er cas : Tâche A Tâche B prêt 0 11 60 61 temps • Similaire à de la mono-programmation ! • Mais unité de contrôle utilisée très efficacement • Utilisateur A satisfait ! • Utilisateur B : 50 minutes d'attente pour une exécution d'une minute ! 2ème cas : Tâche A Tâche B 0 11 12 61 temps • Moins efficace (temps de commutation) • Utilisateur B satisfait (temps de réponse réduit d'un facteur 50) • Utilisateur A encore satisfait (temps de réponse accru de 1.5 %) • Temps de réponse moyen : 31 minutes (55 minutes dans le 1er cas) Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12 D. Bertrand 11 Remarques • Beaucoup de tâches courtes Æ délai pour tâches moyennes et longues • Temps d'exécution pas toujours connu a priori (erreurs, convergences, … Æ Autre technique : • Mettre un processus actif en attente après un temps donné • Activer un processus ”prêt” • Continuer avec un autre processus … interruption horloge Tâche A Tâche B Tâche C Æ Temps partagé : prêt prêt prêt prêt prêt prêt 1 2 3 4 5 6 7 8 9 10 temps • Toutes les tâches systématiquement mises au travail (quasi-parallélisme) • Tâches courtes rapidement terminées • Tâches moyennes et longues : pas de temps d'attente indéfini Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12 D. Bertrand 12 Comparaison Multi-programmation Temps partagé Gestion simultanée de plusieurs processus Systèmes multi-gestion Objet principal Multi-programmation Temps partagé Méthode Conséquence Optimisation usage Gestion de unité de contrôle plusieurs processus quasiparallélisme Optimisation temps Gestion de de réponse plusieurs processus Meilleur usage ressources Certains systèmes opératoires sont basés sur des compromis Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12 D. Bertrand 13 Systèmes interactifs • Directives de tâche données interactivement par l'utilisateur • Chaque utilisateur a ses propres unités d'accès (terminal : clavier + écran) • Les unités de l'utilisateur ne doivent pas être pilotées par un symbiont • Les commandes génèrent des interruptions et des transitions d'état Temps de réponse moyen = n . t n : nombre d'utilisateurs; t : temps d'exécution moyen d'une commande • Un tel système est en général en attente (prêt) • Chaque utilisateur a l'impression d'avoir son propre ordinateur Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12 D. Bertrand 14 Systèmes temps réel Æ Systèmes temps partagé avec des contraintes de temps strictes Systèmes demandant un temps de réponse optimal : • Contrôle de processus industriels • Contrôle de sondes spatiales • Systèmes d'assistance électronique d'automobiles • Systèmes de navigation des avions • Systèmes d'acquisition de données (physique, chimie, …) Systèmes demandant un temps de réponse rapide mais non critique : • Systèmes de réservation (avions, trains, …) • Systèmes bancaires, … Année préparatoire Licence Informatique (ULB/UMH) Charleroi. Fonctionnement des ordinateurs. Chapitre 12 D. Bertrand 15