Vous êtes sur la page 1sur 571

Faculté des Sciences de Tunis

Département des Sciences de l’Informatique

SECTION IF3
(Ingénieur en Informatique)

Matière
Système d’Exploitation
2011/2012
Systèmes d'Exploitation
IF3 - 2011/2012 Y. SLIMANI 1
Présentation
 Matière
 Système d’Exploitation (SE)
 Operating System (OS)
 Objectif
 Apprendre les aspects externe et
interne d’un ordinateur
 Comment l’utiliser (Exploitation)
 Comment il fonctionne (Gestion)
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 2
Remarques (1)
 Utilité du support de cours
 Eviter de tout écrire durant les séances de
cours
 Se concentrer sur la compréhension
 Compléter le support de cours par des notes
personnelles
 Erreurs dans le support
 En principe non, mais nul n’est infaillible
 Me signaler les erreurs éventuelles

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 3
Remarques (2)
 Le support est-il complet ?
 Oui
 Tous les concepts fondamentaux des OS se
trouvent dans le support
 Mais, le contenu est synthétique

 Non
 Nécessite des explications supplémentaires
qui seront données en cours et parfois en TD
 Sinon pourquoi venir en cours

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 4
Remarques (3)
 Faut-il prendre des notes ?
 Absolument
 Tout n’est pas détaillé dans le support
 Compléments, Remarques, Explications, etc.
 Le fait de prendre des notes oblige
l’étudiant à être éveillé et à mieux
comprendre le cours

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 5
Remarques (4)
 Questions pendant les séances
de cours
 L’interaction Professeur-Etudiant est
plus que souhaitable
 Elle oblige le professeur à être à l’écoute
des étudiants
 Permet au professeur d’améliorer le
support de cours d’année en année

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 6
Remarques (5)
 Travail personnel
 Recommandations
 Révisez vos cours régulièrement
 Ne prenez pas de retard
 Faites le maximum d’exercices de TD
 Essayer de travailler les fiches de TD et les examens
des années antérieures
 Utiliser de manière intensive, selon vos
possibilités, un système d’exploitation
 Windows et surtout Unix

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 7
Travail personnel et
honnêteté (1) Source: Martin Quinson

 Principes généraux
 Ne copiez pas, ne trichez pas
 Une fraude à un examen peut entraîner
l’exclusion de l’université
 La copie d’un TP donne lieu à un ZERO
 Pas de distinction entre copieur et copié
 Pas de bonnes raisons pour copier
 En cas de problèmes ou de difficultés, me
contacter ou contacter votre assistant
 Nous sommes à votre disposition pour vous aider
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 8
Travail personnel et
honnêteté (2)
 Que signifie tricher ?
 Rendre le travail d'un de vos camarades
en mettant votre nom
 Obtenir une réponse par Google ou tout
autre navigateur et mentir en disant que
c’est votre réponse
 Récupérer du code et ne changer que les
noms de variables et fonctions ou leur
ordre et affirmer que c’est votre code
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 9
Travail personnel et
honnêteté (3)
 Permettre à un de vos camarades de
s'inspirer de votre travail (en fait de le
copier)
 Les tricheries et le plagiat peuvent être
facilement détectés
 Personne ne code la même chose de la même
manière
 Il existe des logiciels très efficaces pour la
détection de fraudes et de plagiat
 Nous les utiliserons en cas de besoin

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 10
PARTIE 1

Exploitation
d’un
ordinateur
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 11
Introduction (1)
 Structure d’un ordinateur
 2 Parties
 Matérielle ou Hardware
 Logicielle ou Software

 Partie Hardware
 Composants physiques
 Processeur, Mémoire, Ecran, Disque, …

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 12
Introduction (2)
 Partie Software
 Système d’exploitation
 Dos, Windows, Unix, Linux, MacOS, …

 Logiciels de base
 Indispensables pour exploiter un
ordinateur
 Noyau du système (système minimal)
 Chargé en MC à partir du disque à la mise en ON

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 13
Introduction (3)
 Logiciels d’application
 Suite MSOffice
 WinWord, Excel, Powerpoint, …
 OpenOffice
 Equivalent de MSOffice pour Unix (Linux)
 Navigateurs Web
 Divers applicatifs
 Skype, Jeux, Graveurs, Inscriptions en ligne, …
 Chargés en MC uniquement lors de leur
utilisation
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 14
Hardware (1)
 Composants Physiques
 Processeur
 Unité d’exécution
 Exécute des instructions machine
 Instructions codées en langage binaire
 2 grandes familles non compatibles
 INTEL
 MOTOROLA
 Vitesse d’exécution (Horloge)
 Exemple: 3.5 Ghz

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 15
Hardware (2)
 Mémoire centrale ou RAM
 Unité de mémorisation temporaire
 Volatile
 Perd son contenu en cas de coupure d’alimentation
 Taille
 Exemple: 1Go (Giga Octet)
 Vitesse
 Temps nécessaire pour lire ou écrire une information
en mémoire
 Existence d’autres mémoires (cache, …)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 16
Hardware (3)
 Périphériques
 Tout composant physique autre que le
processeur et la mémoire centrale
 Ecran, Clavier, Disque, CD, Souris, Manette de jeu,
Imprimante, Clé USB, Modem, Web Cam, …
 Chacun a ses propres caractéristiques
 Ressources Physiques
 Ensemble des composants physiques d’un
ordinateur

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 17
Exploitation
 Utilisation d’un ordinateur
 Système d’exploitation
 Lien entre utilisateur et un ordinateur
 INTERFACE
 Faciliter l’utilisation d’un ordinateur
 Logiciels (Applicatifs)
 En plus de l’OS, certains sont fournis
gratuitement
 Les autres sont achetés et/ou développés

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 18
Programmation (1)
 Objectif
 Ecrire des programmes (Applications)
qui pourront être soumis à un système
pour être exécutés sur un ordinateur en
vue d’obtenir des résultats

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 19
Programmation (2)
 Ecriture de programmes
 Langage de programmation
 Editeur de texte
 Hiérarchie des langages
 Langages machines
 Reconnaissables par un processeur
 Dépendent du type de processeur
 Incompréhensibles par un utilisateur

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 20
Programmation (3)
 Langage Assembleur
 Dépend du type de processeur
 Proche de la machine
 Utilisé pour écrire des programmes
 Compréhensibles par le programmeur
 Non exécutables par le processeur
 Performants
 Nécessité d’avoir un traducteur
 ASSEMBLEUR
 Passage du langage assembleur au langage machine

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 21
Programmation (4)
 Langages évolués
 Plus proches des utilisateurs que des
machines
 Indépendants des processeurs
 Permettent de développer des programmes
portables (?) d’une machine à une autre
 Nécessitent un traducteur (logiciel)
 COMPILATEUR, INTERPRETEUR
 Exemples
 Pascal, C, C++, Java, VB, …

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 22
Programmation (5)
 Langages spécifiques
 Temps-réel, Mobiles, VHDL, Shell, …

 Editeur de texte
 Logiciel pour produire des fichiers
texte
 Fourni(s) avec l’OS
 Editeur de texte standard
 Fourni(s) avec un langage de
programmation
 Associés à un langage de programmation

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 23
Programmation (6)
 Environnements de
programmation
 Ensemble d’outils graphiques pour faciliter
le développement d’applications
 Développer
 Compiler
 Exécuter
…
 Exemples
 VB, Visual J++, JBuilder, Eclipse, …

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 24
Notion de Programme (1)
 Programme
 Décrit une logique de résolution d’un
problème
 Problème → Algorithme → Programme
 Ecrit dans un langage bien défini
 Partie syntaxique (forme)
 Dépend du langage
 Doit être respectée sinon erreurs
 Programme = Donnée + Instructions

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 25
Notion de Programme (2)
 Partie sémantique
 Définit la logique de résolution
 Ce que fait le programme
 Peut ne pas donner le résultat attendu
 Précise l’ordre d’exécution des
instructions
 Exécution SEQUENTIELLE
 Exécuter l’instruction de rang i (dans la séquence)
que si l’instruction de rang (i-1)
i-1 a été exécutée
correctement (terminée sans erreurs)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 26
Etapes de Programmation
(1)
 Etapes de mise en œuvre d’un
programme
 Edition
 Outils nécessaires
 Langage de programmation
 Editeur de texte
Résultat de l’édition
 Programme source

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 27
Etapes de Programmation
(2)
 Compilation (ou interprétation)
 Analyse syntaxique du programme source
 Détection d’erreurs syntaxiques
 Correction et recompilation
 Analyse sémantique
 Traduire le programme source (Règles sémantiques)
 Résultat
 Programme objet ou exécutable
 Programme objet : programme non exécutable

dans l’état et nécessite une étape


supplémentaire (Edition de Liens)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 28
Etapes de Programmation
(3)
 Programme exécutable : est dans une forme
directement exécutable
 Edition de liens
 Etape de résolution des liens entre
programmes compilés séparément
 Prend plusieurs programmes objets (fichiers) pour
les rassembler et produire un programme
exécutable (fichier exécutable)
 Résultat
 Programme exécutable

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 29
Etapes de Programmation
(4)
 Chargement + Exécution
 Réalisées par un programme (câblé) du
système appelé CHARGEUR
 Détermination de l’adresse de chargement en MC
 Chargement du code exécutable en MC à l’adresse
définie par le chargeur
 Lancement de l’exécution

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 30
Source: Martin Quinson

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 31
Utilisation d’un OS
 L’OS interagit avec différentes
entités
 Utilisateurs
 Programmes des utilisateurs
 Logiciels d'application

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 32
Bibliothèques (1)
 Présentation
 Bibliothèques logicielles (Librairies)
 Rassembler des fonctions (pré-compilées)
en un fichier prêt à l’emploi
 Fonction à usage général
 Exemple: Fonctions d’entrée/sortie (stdio.h)
 Intérêt
 Ne pas réécrire du code qui a été déjà
écrit et testé (réutilisation)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 33
Bibliothèques (2)
 Types
 Bibliothèques statiques
 Réutilisées par un programme
 S’intègrent durant l’édition de liens

 Bibliothèques dynamiques
 Réutilisées par un programme
 Leur édition de liens a été déjà faite
 Incorporées aux programmes au moment
de leur exécution
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 34
Bibliothèques (3)
 Exemples de bibliothèques statiques
 Windows
 Fichiers d’extension *.h (stdio.h)
 Unix
 Fichiers d’extension *.lib ou *.a
 Exemples de bibliothèques dynamiques
 Windows
 Fichiers *.dll (Dynamically Linkable Library)
 Unix
 Fichiers *.so (Shared Object)
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 35
Interactions Utilisateur-
Système (1)
 Deux modes d’interaction
 Mode Commande ou Mode Texte
 Processus cyclique
 Le système accepte une commande de l’utilisateur
 Il analyser la commande de l’utilisateur
 Il interprète la commande et renvoie le résultat à
l’utilisateur ou un message d’erreur
 Connaître un langage de commandes
 Utilisation d’un interpréteur de
commandes : SHELL
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 36
Interactions Utilisateur-
Système (2)
 Mode Graphique
 Ecran

Fenêtre d’interaction (Window)
 Utilisation de menus et de la souris
 Mode ergonomique
 A la portée de tout le monde

 Modes complémentaires

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 37
Interactions Programme-
Système

 Point de vue programmation


 Système
 Ensemble de fonctions (services) utilisées par les
programmes utilisateurs
 Appelées dans les programmes utilisateurs
 Format d’appel prédéfini
 Fonctions de base (printf, scanf, malloc, …)
 Fonctions avancées (syscall, …)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 38
Exécution de programmes
(1)
 Exécution des programmes
 Fonction réalisée par un processeur
 Deux types de programmes qu’il faudra
différencier
 Système

Utilisateur
 Mode Système
 Privilégié, Maître, Master, Superviseur,
Système
 Réservé aux programmes du système

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 39
Exécution de programmes
(2)
Caractéristiques
 Accès à tout l’espace de la mémoire
 Exécution de toutes les instructions du processeur
(Jeu d’instructions)
 Fonctions du système peuvent être utilisées par les
programmes utilisateurs mais de manière indirecte
(appelées avec des instructions privilégiées –
spéciales -)
 Appel Système (INT, SVC, Syscall, …)

 Pas de possibilité d’exécuter directement une

fonction système

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 40
Exécution de programmes
(3)
 Mode Programme
 Non privilégié, Esclave, Slave, Utilisateur,
User, Programme
 Mode d’exécution des programmes
utilisateurs
 Restrictions
 Accès limité à la mémoire (limites de l’espace alloué
au programme)
 Utilisation partielle de l’ensemble du jeu
d’instructions du processeur

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 41
Jeu d’instructions Processeur
OS

Mode Programme

Mode Système

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 42
Exécution de programmes
(4)
 Passage du mode utilisateur au mode
système
 Appel système
 SVC (Supervisor Call), Syscall
 INT (Interrupt)
Interrupt / Fault

Système Utilisateur
Retour

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 43
Appels système (1)
 Utilité
 Permettre à un programme utilisateur
d’utiliser des fonctions du système
 Utilisables à travers des appels
spécifiques appelés Appels Système
 Exemples : Fonctions d’E/S, Horloge, …

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 44
Appels système (2)
 Offerts par les langages de
programmation
 Appel par instructions spéciales
 Exemple: Instruction INT de l’Assembleur

 Inclusion de bibliothèques ou packages


 C, C++, Java
 #include<stdio.h>
 import java.io.*;

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 45
Exemple

A traiter en TD

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 46
Logiciels (1)
 Deux catégories de logiciels
 Logiciels de base
 Logiciels d’application
 Logiciels de base (OS)
 Noyau (Kernel)
 Fonctions minimales d’un OS
 Indépendantes de toute application ou mode
d’utilisation d’un ordinateur
 Chargé en mémoire centrale lors du démarrage

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 47
Logiciels (2)
 Ensemble de services
 Extension du noyau
 Complètent un système (hors noyau)
 Utilisables à la demande (besoins)
 Résident en permanence sur disque
 Chargés en mémoire centrale sur demande

 Logiciels d'application
 Répondre à des besoins spécifiques
 Achetés et/ou développés

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 48
Exploitation d’une
machine (1)
 Achat d’un ordinateur
 Matériel
 Système pré-installé
 CD de secours
 Mise à jour du système
Ré-installation du système
 Récupération du système suite à de
mauvaises manipulations

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 49
Exploitation d’une
machine (2)
 Installation et configuration
 Installation prédéfinie
 Système de base
 Exemples: Windows, Linux
 Mise à jour du système
 Service offert par le système de base
 Rajout et/ou suppression de composants

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 50
Exploitation d’une
machine (3)
 Installation d’applicatifs
 Ne font pas partie du système de base
 MsOffice, Openoffice, etc
 Installation manuelle
 Setup, Install, …
 Installation personnalisée
 Construire son propre OS
 Choisir les services à installer
 Possibilité de modifier le système
 Recompilation du noyau de l’OS (Linux)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 51
Exploitation d’une
machine (4)
 Configuration et installation de matériel
 Modifier les caractéristiques des
équipements existants
 Ecran (Résolution), Imprimante, …
 Installer et configurer de nouveaux
équipements
 Imprimante, Scanner, Caméra, etc.

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 52
Exploitation d’une
machine (5)
 Principe général d’installation
 Mode d’installation graphique
 Affichage de menus avec des options
 Choisir les options souhaitées
 Type d’écran, résolution, couleurs, …
 Type d’imprimante, forme d’impression, …
 …
 Lancer l’installation

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 53
Applications et services
(1)
 Applications
 Ensemble de programmes (logiciels)
 Fournissent des fonctions spécifiques
 Traitement de texte, tableur, logiciel de dessins,
logiciel de vidéo, etc.
 Gestion des inscriptions, Paiement électronique,
etc.
 Pré-installés ou installation par
procédure spéciale
 Setup, Install, …

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 54
Applications et services
(2)
 Services
 Ensemble de programmes
 Gèrent des ressources ou des événements
 Comptes utilisateurs, réseau, gestion des
impressions, etc.
 Lancés automatiquement ou
manuellement
 Exemple: Antivirus
 Réveillés régulièrement ou à la suite de
l’arrivée d’événements spécifiques
 Réception de courrier électronique, MAJ logiciels

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 55
Modes d'exploitation

 Plusieurs modes d’exploitation


d’un ordinateur
 Mono-utilisateur
 Machine individuelle
 Pas de partage
 Multi-utilisateurs
 Machine accessible par plusieurs
utilisateurs
 Utilisateurs connectés à une machine
 Partage des ressources de la machine

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 56
PARTIE 2

Gestion de
Fichiers
Systèmes d'Exploitation
IF3 - 2011/2012 Y. SLIMANI 57
Introduction (1)
 Notion de fichier
 Elément fondamental pour l’utilisation
d’un ordinateur
 Paramètre de toute opération
 Créer, Editer, Compiler, Exécuter, Enregistrer, …
 Différents types
 Fichier ordinaire (simple)
 Répertoire
 Bibliothèque
…

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 58
Introduction (2)
 Structure
 Aucune sous Unix
 Fichier: suite d’octets
 Sous Windows
 Liée à une application (nom avec extension)
 Structure dépendante de l’application
 Word, XML, Mail, Vidéo, …

 Attributs
 Propriétés d’un fichier
 Stockés dans un répertoire spécial

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 59
Introduction (3)
 Exemples d’attributs
 Nom, Identificateur interne (Nombre, I-node sous
Unix), Type, Adresse physique, Taille, Droits d’accès,
Dates, …
 Opérations
 Multiples (Lire, Ecrire, Exécuter)
 Dépendent du type de fichier
 Texte, exécutable, …
 Organisés sous forme d’ARBRE
 Arborescence de fichiers
 Relation Père-Fils avec racine unique

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 60
Introduction (4)
 Appartenance
 Privée
 Accès restreint
 Publique
 Partagés entre utilisateurs, applications, etc.
 Accès
 Se fait selon des règles d’utilisation
 Droits d’accès
 Opérations permises sur les fichiers
 Utilisateurs autorisés à accéder à un fichier

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 61
SGF (1)
 Système de Gestion de Fichiers
 Elément fondamental d’un OS
 Ensemble de fonctions pour manipuler
les fichiers
 Accessibles en mode graphique et en mode
commande
 Utilisées par les utilisateurs à travers
leurs programmes

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 62
SGF (2)
 Fonctions d’un SGF
 Organisation logique des fichiers sur
support magnétique
 Arborescence (arbre de fichiers)
 Organisation physique
 Stockage de l’arborescence sur un support
 Passage du niveau logique au niveau
physique
 Relation entre nom d’un fichier et l’ensemble des blocs
physiques qui le composent sur support physique

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 63
SGF (3)
 Conservation permanente des fichiers sur
un support magnétique
 Partage et protection des fichiers

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 64
SGF (4)
 Désignation des fichiers
 Désignation symbolique
 Nommage
 Identifier un fichier dans un arbre de fichiers
 Désignation selon une arborescence
 Nom (chemin) absolu d’un fichier
 Chemin, dans l’arbre, qui permet d’identifier un
fichier depuis la racine de l’arbre
 Nom (chemin) relatif
 Chemin à partir d’un répertoire courant

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 65
SGF Unix (1)
 Présentation
 Caractéristiques d’un fichier
 Nom symbolique (nom externe)
 Peut avoir ou non une extension
 Possède un INODE unique
 Table regroupant les informations sur le fichier
 Nom interne (numéro du Inode correspondant)
 Créé lors de la création du fichier et disparaît avec
sa suppression physique

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 66
SGF Unix (2)
 Fonctionnalités
 Ouverture, Fermeture, Lecture, Ecriture,
Exécution
 Types de fichiers
 Ordinaires (-)
 Répertoire (d)
 Lien symbolique (l)
 …

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 67
SGF Unix (3)
 Unités de stockage
 Pas d’unités au sens Windows
 A: , C: , D: , E: ….

 Utilisation de la notion de PARTITION


LOGIQUE
 Sous arborescence de fichiers
 Opérations sur les partitions
 Montage (Monter une clé USB)
 Démontage (Retirer une clé USB)
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 68
Allocation de fichiers (1)
 Problème
 Fichier à stocker
 Lui allouer de l’espace sur disque
 Unité d’allocation
 BLOC (taille usuelle: 512 octets)
 Allocation par multiple de blocs

 CLUSTER (taille usuelle: 4Ko)


 Un seul fichier par cluster

 Un fichier peut occuper un ou plusieurs clusters

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 69
Allocation de fichiers (2)
 Quelle méthode d’allocation utiliser ?
 Allocation contigüe
 Allocation chaînée
 Allocation indexée

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 70
Allocation de fichiers (3)
 Allocation contigüe
 Blocs contigus sur disque pour un fichier
 Avantages
 Blocs successifs
 Rapidité d’accès aux données du fichier
 Inconvénients
 Trouver le nombre de blocs successifs
(adjacents) requis pour un fichier
 Problème de MAJ (ajout de blocs)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 71
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 72
Allocation de fichiers (4)
 Allocation chaînée
 Adresse du premier bloc
 Liens entre les blocs
 Avantage
 Eviter la contrainte de contiguïté
 Dispersion des blocs d’un fichier sur disque
 Inconvénients
 Temps d’accès plus long (liens)
 Diminution de la taille des blocs (liens)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 73
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 74
Allocation de fichiers (5)
 Allocation indexée
 Permettre un accès rapide aux blocs
d’un fichier
 Utilisation de la notion de pointeur
 Un pointeur par bloc
 Pointeurs regroupés dans un bloc spécial
(Bloc Index)
Index Blocs de
données

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 75
Allocation de fichiers (6)
 Avantages
 Séparer les blocs de données des blocs
d’index
 Pas de perte de place pour les blocs de données
 Accès plus rapide
 Accès direct
 Inconvénients
 Plus de blocs (données et index)
 MAJ des blocs d’index

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 76
-1: pointeur NULL

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 77
Allocation sous UNIX
 Méthode originale
 Structure utilisée
 Table de 13 adresses
 Adresses directe pour les 10 premiers blocs d’un
fichier
 Adresses indirectes pour la onzième entrée
 Deux niveaux d'indirection pour la douzième entrée
 Trois niveaux d'indirection pour la dernière entrée
 Taille d’un bloc en terme d’adresses
 128 adresses

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 78
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 79
Gestion espace libre (1)
 Problème
 Fichier F de taille T(F) à stocker sur
disque
 Calculer le nombre de blocs nécessaires
pour stocker F (NB)
NB
 Comment savoir s’il existe un nombre de
blocs libres  à NB
 Solution
 Représentation de l’espace libre du disque

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 80
Gestion espace libre (2)
 Solution 1
 Vecteur de bits
 1 bit par bloc
 0 : Libre
 1 : Occupé
 Solution adoptée par Macintosh et
Win2000
 Exemple
 00011100011000011…

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 81
Gestion espace libre (3)
 Solution 2
 Liste chaînée
de blocs libres
 Adoptée par
MS-DOS,
Win9x

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 82
PARTIE 3

Processus
(Aspect utilisateur)

Systèmes d'Exploitation
IF3 - 2011/2012 Y. SLIMANI 83
Processus (1)
 Présentation
 Abstraction de l’exécution d’un
programme par un processeur
 Entité dynamique
 Evolue dans le temps
 Passe d’un état initial à un état final
 Un programme est une entité statique
 N’évolue pas dans le temps
 Son état (contenu) ne change pas malgré le
changement du temps de la machine (horloge)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 84
Processus (2)
 Point de vue utilisateur
 Lancer un programme exécutable
 Système crée un processus et gère son
évolution
 Possibilités de suivre un processus
 Connaître son état
 Progresse, Arrêté, Bloqué, Suspendu, …
 Agir sur le processus
 L’arrêter définitivement (Tuer le processus)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 85
Processus (3)
 Le suspendre puis le reprendre
 Moyens d’action
 Ctrl+Alt+Del sous Windows
 Commandes sous Unix (ps)
 Seuls les processus visibles sont accessibles
 Exemples de processus
 Exécution d’une application
 Copier un fichier
 Envoi d’un message sur le réseau
 Lancer une impression

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 86
Processus (4)
 Point de vue OS
 Espace d’adressage
 Partie(s) de la mémoire centrale dans
laquelle on a chargé le code (instructions)
et les données du processus
 Etat interne du processus
 Compteur ordinal, fichiers ouverts, état du point de
vue exécution, etc.
 L’utilisateur peut agir sur certains éléments de cet
état interne (exemple: arrêter le processus)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 87
Processus (5)
 Programme vs processus
 Exécution d’un programme
 Par un seul utilisateur
 1 programme  1 processus
 Par plusieurs utilisateurs
 Même programme  Processus différents
 Même chose que classe d’objets et instance d’objet

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 88
Processus (6)

Source: Martin Quinson

Pile : Garder trace de l’exécution de fonctions


(fonctions appelantes, fonctions appelées)

Tas (Heap) : Zone de mémoire dynamique


(créer des variables durant l’exécution, allocation dynamique de mémoire)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 89
Processus (7)
 Création de processus
 2 méthodes
 Par lancement d’un programme
 Commande ou click sur l’icône du programme
 Par exécution d’instruction
 Création dynamique
 Un processus crée un autre et ainsi de suite
 Fonction fork() sous Unix (langage C)
 Méthode start() de la classe Thread de JAVA

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 90
Processus (8)
 Hiérarchie ou arbre
de processus
 Processus Père
et processus fils

Source: Martin Quinson

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 91
PARTIE 4

Sécurité et
Protection
(Aspect utilisateur)
Systèmes d'Exploitation 92
Y. SLIMANI
IF3 - 2011/2012
Introduction (1)
 Pourquoi la sécurité ?
 Système informatique
 Ensemble de ressources
 Matérielles
 Logicielles
 Ensemble de fichiers (code, données)
 Système vulnérable
 Peut être attaqué
 De l’intérieur ou de l’extérieur

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 93
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 94
Introduction (2)
 Position du problème
 Exemple système Windows
 Mise en ON (manuelle)
 Affichage du bureau
 Accès à toutes les ressources disponibles
 Accès à n’importe quel fichier
 Lire, copier, modifier, supprimer
 Installer et supprimer n’importe quelle application
 Modifier les paramètres du système et/ou des
applications
 Supprimer le système (formatter le disque)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 95
Introduction (3)
 Machine individuelle
 Ressources propres à une seule personne
 Pas de partage
 Seul le propriétaire sera pénalisé
 Besoin quand même de sécurité
 Machine partageable
 Ressources partageables
 Besoin de sécurité plus important

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 96
Sécurité (1)
 Objectifs
 Authentification
 Confidentialité
 Intégrité
 Disponibilité
 Types
 Physique
 Logique

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 97
Sécurité (2)
 Authentification
 Identité numérique
 Méthodes d’authentification
 Quelque chose que l’on connaît
 Mot de passe, Informations personnelles, …
 Quelque chose que l’on possède
 Carte à puce, …
 Quelque chose que l’on est
 Empreintes, Iris de l’œil, …

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 98
Sécurité (3)
 Quelque chose que l’on fait
 Voix, signature, …
 Authentification forte
 Combinaison de deux méthodes ou plus

 Objectifs
 N’accèdent au système que ceux qui sont
autorisés à le faire
 Déterminer le statut d’un utilisateur
 Savoir ce qu’il est autorisé à faire après avoir été
autorisé à accéder au système

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 99
Sécurité (4)
 Confidentialité
 Propriété d'une donnée qui ne doit être
diffusée qu’aux personnes autorisées
 Les informations n’appartiennent pas à
tout le monde, même si elles existent
 Restrictions d’accès
 Fichiers système
 Fichiers utilisateurs

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 100
Sécurité (5)
 Intégrité
 Propriété d'une donnée dont la valeur
est conforme à celle définie par son
propriétaire
 Domaine de variation d’une variable
 Age compris entre deux valeurs prédéfinies
 Numéro de CIN
 Doit être unique

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 101
Sécurité (6)
 Disponibilité
 Capacité d’un système à assurer ses
fonctions au moment où l’utilisateur en a
besoin
 Exemples de cas d’indisponibilité
 Composant physique défaillant
 Fichier corrompu
 Application infectée par un virus

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 102
Protection
 Qu’est ce que la protection ?
 Sécurité
 Définir des objectifs et des politiques de
sécurité
 Protection
 Mise en place de ces objectifs et de ces
politiques
 Mécanismes, Outils, Méthodes, etc.

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 103
Exemple (1)
 Système Unix (Linux)
 Utilisateur
 Dispose d’un compte sous Unix
 Propriétaire des fichiers qu’ils créent
 Peut en disposer comme il veut
 Il possède les pleins droits sur ses fichiers
 Utilisateur potentiel d’autres fichiers
 Fichiers système
 Fichiers des applications
 Fichiers des autres utilisateurs

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 104
Exemple (2)
 Rassemblés en groupes d’utilisateurs
 G1= {U1, U2, U3}; G2= {U1,U4}; G3= {U6,U8,12}
 Utilisateurs d’un fichier
 Divisés en 3 catégories
 Propriétaire : Owner (u)
 Fixe les droits d’accès sur les fichiers dont il est

propriétaire (r, w, x)
 Pour lui, pour les membres du groupe et pour les
autres
 Groupe du propriétaire : Group (g)
 Autres : Others (o)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 105
Exemple (3)
 Droits d’accès ou Permissions
 Fixés par le propriétaire mais uniquement
sur ses propres fichiers
 Droits dynamiques
 Peuvent changer dans le temps (+ ou -)
 Système assure que les droits fixés par le
propriétaire seront respectés
 L’accès à un fichier n’est donc pas systématique
 Vérifier si l’opération d’accès à un fichier est

conforme aux droits fixés par son propriétaire

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 106
PARTIE 5

Notion d’OS

Systèmes d'Exploitation
IF3 - 2011/2012 Y. SLIMANI 107
Système d’Exploitation (1)
 Operating System (OS)
 Pas de définition standard
 Dépend du point de vue
 Machine (ressources)
 Utilisateur (exploitation)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 108
Système d’Exploitation (2)
 Gestionnaire de RESSOURCES
 Ressources physiques
 UC, MC, Disque, Imprimante, etc.
 Ressources logiques
 Ensembles de données ( Fichiers )
 Offre un ensemble de SERVICES
 Gestion des ressources physiques et
logiques
 Gestion de la communication
 …

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 109
Système d’Exploitation (3)
 Exploitation
 Utiliser et rentabiliser l’exploitation des
ressources de la machine
 Offre des environnements
 De développement d’applications
 D’exploitation de ces applications
 Contrôle les accès des utilisateurs et de
leurs applications
 Au système
 Aux ressources de la machine
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 110
Système d’Exploitation (4)
 Utilisateur
 Machine Virtuelle
 Mêmes potentialités que la machine
physique
 Plus simple à utiliser
 Ergonomie du point de vue utilisation
 Ne nécessite pas de connaissances très
poussées en informatique
 Cache la complexité de la machine
physique
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 111
Système d’Exploitation (5)

Applications / Utilisateurs
Machine
Virtuelle
Operating System
Gestionnaire
de ressources
Machine Physique

Système Informatique

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 112
Etude des OS
 Pourquoi étudier les OS ?
 Logiciel fondamental
 Indispensable pour exploiter un ordinateur
 Sans OS un ordinateur est inexploitable
 Interface Utilisateur-Machine
 Structure très importante
 Utilise beaucoup d’algorithmes et de SD
 Techniques des OS utilisées dans
beaucoup d’applications du monde réel

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 113
PARTIE 6

Architecture
Physique
Systèmes d'Exploitation
IF3 - 2011/2012 Y. SLIMANI 114
Architecture vs OS
 Fonctionnement d’un OS
 Connaître l’architecture (machine physique)
qu’il gère
Pourquoi ?
 Architectures différentes
 Systèmes différents
 PC isolé, Portable, Réseau de machines, …

 Objectif
 Gestion optimale des ressources d’une
machine

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 115
Source: Joanna Moulierac, IUT Nice

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 116
Source: J. Delacroix

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 117
Processeur (1)
 Elément fondamental
 Fonction
 Exécuter des instructions machine
 Instructions codées en binaire
 Différentes appellations
 Unité Centrale (UC)
 Processeur (Microprocesseur)
 Processor
 CPU (Central Processing Unit)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 118
Processeur (2)
 Caractéristiques
 Famille (Constructeur)
 Intel,
Intel Motorola,
Motorola ARM,
ARM MIPS,
MIPS SPARC,
SPARC …
 Vitesse
 Définie par la fréquence (cycle) d’une
horloge
 Envoi régulier de tops au processeur
 Exprimée en nGHz

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 119
Processeur (3)
 Composants
 Unité de commande
 Unité de coordination
 Reconnaissance des instructions
 Composée de registres
 RI (Registre Instruction) : instruction en cours

 CO (Compteur Ordinal) : adresse prochaine

instruction
 RA (Registre Adresse)

 RD (Registre de données)

 Registres généraux: R0, R1, …

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 120
Processeur (4)
 Unité(s) de calcul
 Unité Arithmétique et Logique (UAL, ALU)
 Unité d’exécution
 Circuits arithmétiques (+, -, /, *)
 Circuits logiques (ET, OU, …)
 Registres d’états (Indicateurs ou FLAGS)
 Statut des périphériques

 Etat d’une instruction (exécution correcte, erreur)

 Mémoriser des événements qui se produisent durant

l’exécution des instructions


 …

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 121
Processeur (5)
 Unité Virgule Flottante (FPU)
 Calcul sur des flottants (nombres réels)
 Unité de Calcul Multimédia
 Calcul vectoriel (calcul graphique)
 Intel MMX, AMD 3D

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 122
Mémoire centrale (1)
 Caractéristiques
 Unité de stockage volatile
 Composée de mots mémoire
 Taille usuelle des mots : 32 (64) bits
 Adresse unique pour chaque mot
 Taille exprimée en multiple d’une certaine
unité (o= octet)
 Ko, Mo, Go, To, Po
 K=210 ; M=220 ; G=230
 T=240 (Tera) ; P=250 (Peta)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 123
Mémoire centrale (2)
 Opérations
 Lecture
 Ecriture

 Temps d’accès
 Temps moyen pour lire ou écrire une
information dans un mot quelconque de la
MC

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 124
Mémoire cache (1)
 Antémémoire
 Position
 Mémoire intermédiaire entre le
processeur et la mémoire centrale
 Caractéristiques
 Taille plus petite que celle de la mémoire
centrale
 Technologie différente
 Temps d’accès plus rapide que la MC

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 125
Mémoire cache (2)
 Intérêt
 Processeur alimenté à partir de la MC
 Instructions + Données
 Différence de vitesses
 Temps d’accès MC plus lent que celui du processeur
 Ralentissement du processeur

 Comment réduire ce ralentissement

 Mémoire cache

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 126
Mémoire cache (3)
 Caractéristiques
 Taille relativement réduite
 Temps d’accès très rapide
 Fonction
 Duplique de l’information stockée en MC
 Rapprocher les données du processeur
 Eviter, le plus possible, les accès à la MC
 Augmenter le nombre d’accès à la mémoire cache
 Réduire le nombre d’accès à la MC
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 127
Mémoire cache (4)
 Principe de fonctionnement
 Recherche de l’information dans la
mémoire cache
 Trouvée  pas d’accès à la MC
 Accès rapide (1 seul accès et rapide)
 Non trouvée  accès à la MC
 2 accès (mémoire cache puis mémoire centrale)
 Mise à jour permanente
 Rafraîchissement

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 128
Mémoire cache (5)
 Niveaux de mémoire cache
 Utilisée dans différentes parties d’un
ordinateur
 Au niveau des disques
 Temporary Internet Files
 Garder les pages Web les plus visitées
 Utilitaire SmartDrive (DOS)
 Au niveau des serveurs proxy
 Intermédiaires (mandataires) entre clients et serveurs

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 129
Mémoire cache (6)
 Au niveau serveurs de pages dynamiques
 Serveur statique
 Se limite à afficher le contenu de pages Web
 Serveur dynamique
 Utilise une base de données
 Fait des traitements pour générer les pages
avant de les afficher (le contenu est calculé)
 Au niveau des microprocesseurs
 Dans les microprocesseurs
 A coté des microprocesseurs

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 130
Mémoire cache (7)
Au niveau des périphériques (imprimante)
 Mémoire tampon
 Buffer imprimante
 Sauvegarde du ou des fichiers à imprimer
 Eviter les accès multiples à la mémoire lors de
l’impression physique

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 131
Mémoire cache (8)
 Niveau microprocesseur
 Existence de plusieurs niveaux
 Hiérarchie de mémoires caches

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 132
Mémoire cache (9)
 Niveau L1
 Le plus près du microprocesseur (intégré)
 Le plus rapide (très proche du microprocesseur)
 Le plus petit (taille)
 Autres niveaux
 Rapidité décroissante
 Taille croissante

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 133
Hiérarchie de mémoires
(1)
 Présentation
 Existence de plusieurs types de
mémoires dans un ordinateur
 Différences
 Technologies
 Fonctions
 Capacités
 Vitesses

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 134
Hiérarchie de mémoires
(2)

Source: J. Delacroix (Cours Architecture 2006/2007)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 135
Bus (1)
 Présentation
 Ensemble de liaisons physiques pour
permettre aux composants de
communiquer entre eux
 Transporter de l’information d’un
composant à un autre

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 136
Bus (2)
 Caractéristiques
 Largeur du bus
Nombre de bits transportés en parallèle
 Vitesse
 Fréquence en Hertz
 Nombre de paquets de données envoyés ou reçus
par seconde
 Débit maximal
 Largeur x Fréquence

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 137
Bus (3)
 Composants
 Bus adresse
 Transporte des adresses mémoire
 Unidirectionnel
 Bus de données
 Transporte des données du ou vers le
processeur
 Bidirectionnel

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 138
Bus (4)
 Bus de commande ou de contrôle
 Transporte les ordres et les signaux
 Bidirectionnel

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 139
Bus (5)
 Principaux bus
 Bus système
 Bus interne, Front-side bus (FSB)
 Communication avec la MC

 Bus d’extension ou d’E/S


 Communication entre composants
 Ajout de nouveaux périphériques
 Connecteurs (slots) connectés sur le bus

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 140
Unité d’échange (1)
 Fonctions
 Connexion des périphériques au bus
 Gèrent les échanges entre le processeur
et les périphériques
 Intérêt
 Eviter une liaison directe entre UC, MC et
les périphériques
 Différence de vitesse entre composants
 Diversité des périphériques

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 141
Unité d’échange (2)
 Différences de vitesses
 Processeur
 Composant de calcul à grande vitesse
 Communique avec les périphériques
 Lancer des opérations d’Entrée/Sortie d’informations
et les controler
 Mémoire centrale
 Echange de l’information avec les
périphériques
 Entrée/Sorties de données
 Accès rapide / Périphériques
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 142
Unité d’échange (3)
 Périphérique
 Vitesse très réduite
 Ralentit le processeur et la MC

 Diversité des périphériques


 Types (Entrée, Sortie, Entrée/Sortie)
 Vitesse (Lents, Rapides)
 Représentation des données
 Chaque type de périphérique a son propre
systèmes de représentation des données
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 143
Unité d’échange (4)
 Composants
 Registre de commande
 Opération à effectuer fournie par le
processeur
 Mémoire (Registres de données)
 Données à échanger avec la MC
 Registres d’état
 Informations sur l’état de l’unité d’échange
 Prête, Occupée, Erreurs, etc.

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 144
PARTIE 7

Mécanismes
de Base
Systèmes d'Exploitation
IF3 - 2011/2012 Y. SLIMANI 145
Présentation
 Fonctionnement interne d’un
calculateur
 Basé sur des mécanismes de base
 Indépendants des architectures
matérielles et des systèmes
 Contexte d’exécution d’un programme
 Adressage des données en MC
 Interruptions
 Entrées/Sorties d’informations

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 146
Contexte d’exécution (1)
 Exécution d’une instruction
machine
 Réalisée par le processeur
 Chargée à partir de la MC
 Exécution séquentielle
 Une seule instruction à la fois

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 147
Contexte d’exécution (2)
 Contexte (environnement)
 Etat avant exécution
 Contexte d’entrée (E)

 Etat durant l’exécution


 Etat après exécution
 Contexte de sortie (S)

E S
Instk

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 148
Contexte d’exécution (3)
 Contexte d’entrée (E)
 Contexte (état) des composants
 Processeur, mémoire centrale, mémoires caches,
périphériques, etc.
 Valeurs des registres du processeur, Valeurs des

mots mémoire, Etats des périphériques, etc.


 Contexte de sortie (S)
 Idem que E, mais après exécution
 S  E ( TOUJOURS !!! )
 A démontrer en TD

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 149
Contexte d’exécution (4)
 Caractéristiques d’un contexte
 Equation
(Valeur,Instant)

 Peut être sauvegardé


 Arrêt et reprise de l’exécution d’un
processus (suspendre le processus)
 A quel instant le sauvegarder
 Instant où il a une valeur bien précise

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 150
Contexte d’exécution (5)
 Instant entre la fin d’une instruction et le
début de la suivante
 Les éléments du contexte ont une valeur bien définie
(Registres, Mots, Etats)
 Arrêt (suspension) puis reprise

 POINT INTERRUPTIBLE ou
OBSERVABLE
 Opérations sur le contexte
 Sauvegarder
 Restaurer

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 151
Point interruptible

Inst. i-1 Inst. i Inst. i+1

Points Interruptibles
ou Observables

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 152
Adressage (1)
 Utilité
 Définir l’emplacement d’une instruction
et de ses données (opérandes)
 Emplacements en mémoire(s)
 Plusieurs formes
 Utilisées en programmation
 Immédiat, Direct, Indirect
 Relatif, Basé, Indexé
 Combinaisons

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 153
Adressage (2)
 Immédiat
 Pas d’adresse (utilisation directe de la
valeur d’une donnée)
 LOAD 5
 ADD -1
 Direct
 Adresse mémoire où se trouve la donnée
 LOAD X’12A9’
 SUB X’1011’

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 154
Adressage (3)
 Indirect
 Adresse d’un mot contenant l’adresse
de la donnée (symbole *)
 LOAD *X’12A9’
 SUB *X’1011’
 Plusieurs niveaux d’indirection

X’12A9’ X’13A0’
X’13A0’ 100

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 155
Adressage (4)
 Basé
 Adressage plus flexible
 Forme de l’adresse
 Base +/- Déplacement
 Intérêt
 Déplacement invariant
 Calculé par rapport à une base fictive (0)
 Base
 Peut varier au cours du temps
 Placer les données n’importe où en MC
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 156
Adressage (5)
 Indexé
 Utilise un Registre d’Index
 Index
 Déplacement par rapport à une origine
 Relatif
 Idem que l’adressage basé
 Utilise un registre

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 157
Interruptions (1)
 Signal technologique destiné
au processeur
 Objectifs
 Arrêter (interrompre) le processus en
cours pour exécuter un autre
 Revenir (éventuellement) au processus
interrompu

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 158
Interruptions (2)
 Avertir le processeur de l’arrivée d’un
événement qu’il ignore
 Exemples d’événements
 Fin d’impression
 Touche clavier (Pause, ALT+F5, …)
 Insertion d’une clé USB
 Division par 0
 Batterie vide
 …

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 159
Interruptions (3)
 Intérêt
 Réagir à l’arrivée d’un événement
 Appliquer un traitement spécifique qui
dépend du type d’événement signalé
 Traitement réalisé par le système
 Traitement prédéfini et câblé
 Traitement peut être défini par
l’utilisateur
 Cas des exceptions (voir cours Java)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 160
Interruptions (4)
 Principe général
 Sauvegarde du contexte courant
 Processus en cours d’exécution

 Chargement d’un nouveau contexte


 Processus pour réagir à l’événement qui
vient d’être signalé
 Restaurer éventuellement l’ancien
contexte après la réaction à l’IT

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 161
Interruptions (5)
 Causes
 Externes au processus en cours
 INTERRUPTION
 Exemples: Touches du clavier
 Pause, CTRL+ALT+DEL
 Internes au processus en cours
 DEROUTEMENT (TRAP)
 Déclenché par l’instruction en cours
 Exemple: Division par 0

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 162
Interruptions (6)
 Caractéristique fondamentale
 Evénement asynchrone
 Imprévisible
 Temps (à quel instant une interruption peut arriver)
 Nombre
 Effet
 Commutation de contexte
 Opération automatique (cablée)
 Sauvegarde du contexte courant
 Chargement d’un nouveau contexte

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 163
Interruptions (7)
 Instants
 Arrivée
 N’importe quel instant
 Avant
 Durant
 Après l’exécution d’une instruction
 Prise en compte (réaction)
 Commutation automatique
 Point Interruptible ou Observable

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 164
P : Processus en cours
d’exécution
Programme Q
Traitement de l’interruption
Interruption
Commutation de contexte Sauvegarde du contexte de P
Chargement du contexte de Q

Traitement de l’interruption

Restauration (éventuelle)
du contexte de P
Commutation de
contexte

Reprise de l’exécution du
processus P

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 165
Interruptions (8)
 Hiérarchisation des IT’s
 Arrivées multiples d’IT’s
 Interruptions en cascade
 Successions (infinies) de commutations de contexte
 Plusieurs IT’s au même instant
 Dans quel ordre les traiter ?
 Définir un ordre de priorité
 Q ne peut interrompre P (commutation de contexte)
que si Q est plus prioritaire de P
 Sinon attendre que P se termine puis faire la
commutation de contexte pour exécuter Q

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 166
Interruptions (9)
 Niveaux d’interruptions
 Causes des IT’s
 Causes connues à l’avance (nombre fixe)
 Niveaux d’IT’s
 Regroupement d’IT’s de même nature
 IT’s externes
 IT’s E/S
 …
 Programme d’IT associé à chaque niveau
 Interrupt Handler

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 167
Interruptions (10)
 Principe de commutation
 Hiérarchie des niveaux prédéfinie
 Utilisation d’un Registre Masque de l’UC
 Bit associé à chaque niveau
 1 : Niveau Masqué
 Ne peut pas interrompre le processus en cours
(commutation de contexte différée)
 0 : Niveau démasqué
 Commutation de contexte immédiate

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 168
IT’s en cascade (séquentiel)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 169
IT’s en cascade (priorité)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 170
Exécution d’instruction
 Principe
 UC ramène une instruction de la MC (CO)
 CO=CO+1

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 171
Exécution avec IT (1)
 Principe
 SI IT’s démasquées, l’UC vérifie s’il y a des IT’s en
attente de traitement
 Si aucune IT, exécuter l’instruction suivante
 Si oui (IT en attente)
 Interruption du processus en cours

 Exécution du programme d’IT

 Retour (éventuel) vers le processus interrompu

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 172
Exécution avec IT (2)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 173
Exemple

A traiter en TD

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 174
Entrées/Sorties (1)
 E/S
 Moyen de communication ou d’échange
 Entre programmes
 Avec le monde extérieur
 Entre les différentes mémoires

 Périphériques
 Dispositifs physiques d’E/S
 Fonction
 Transfert physique d’informations depuis ou
vers la MC

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 175
Entrées/Sorties (2)
 Types
 Entrée uniquement
 Clavier
 Sortie uniquement
 Imprimante
 Entrée/Sortie
 Disque dur

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 176
Entrées/Sorties (3)
 Modes de transfert
 Caractère
 Lent
 Transfert un seul caractère à la fois
 Exemple : Clavier
 Bloc
 Rapide
 Transfert un bloc à la fois (512 octets)
 Exemple : Disque

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 177
Entrées/Sorties (4)
 Gestion des E/S
 Périphérique
 Dispositif physique de transfert
 Ne transfert que sur ordre
 Contrôleur ou Coupleur
 Gère un type de périphérique particulier
 Commande physique d’un périphérique
 Reçoit ses ordres du processeur (par IT’s)
 Rend compte au processeur (par IT’s)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 178
Entrées/Sorties (5)
 Assure l’interface entre le processeur et le
périphérique
 Ne libère pas complètement le processeur
 Ne sait pas exécuter un programme d’E/S
 Ne peut pas prendre en charge l’exécution
d’une séquence d’instructions
 Ne peut pas accéder directement à la mémoire
 Composants nécessaires pour une E/S
 UC + Contrôleur + Périphérique

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 179
Entrées/Sorties (6)
 Pilote
 Appelé également DRIVER
 Programme qui commande le
fonctionnement élémentaire d’un
périphérique
 Gère l’interface du coupleur
 Traitement des IT’s émises par le coupleur
 Traitement d’erreurs

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 180
Entrées/Sorties (7)
 Rôle du processeur
 Commander les périphériques
 Leur donner des ordres pour faire des
opérations d’E/S
 Pas de manière directe
 Interception des IT’s en provenance de ces
périphériques
 Pas de manière directe
 Gestion des erreurs
 Problèmes au cours d’une opération d’E/S

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 181
Entrées/Sorties (8)
 Interface simple et identique pour tous
les périphériques
 Le processeur ne peut pas s’adapter à
chaque type de périphérique
 Installer un (ou plusieurs) intermédiaire(s) entre le
processeur et les périphériques
 Comportement identique du processeur quelque soit
le type de périphérique

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 182
Entrées/Sorties (9)
 Gestion par un processeur
spécialisé
 Ajout d’un processeur spécial
 Spécialisé dans l’exécution de
programmes d’E/S
 Canal ou ADM
 Canal simple
 Gère un seul Contrôleur+Périphérique(s)
 Canal multiple ou multiplexeur
 Gère plusieurs Contrôleurs+Périphériques

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 183
Entrées/Sorties (10)
 Gros ordinateurs
 Canaux d’E/S

 Ordinateurs de type PC et portables


 ADM ou DMA
 Accès Direct à la Mémoire
 Direct Memory Access
 Accède au bus système de manière autonome par
rapport au processeur

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 184
Entrées/Sorties (11)
 Notion de canal ou ADM
 Processeur spécialisé dans l’exécution de
programmes d’E/S
 Dispose de ses propres registres et d’un peu de mémoire
 Autonome par rapport au processeur central
 Décharge le processeur central de toute la gestion des opérations
d’E/S
 Exécute, de manière autonome, un programme d’E/S
 Permet une meilleure rentabilité des ressources
 Possibilité de faire, « en même temps », du calcul et du
transfert de données (E/S)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 185
Entrées/Sorties (12)
 Intérêt
Possibilité de faire deux activités
 Activité de calcul : Processeur + MC
 Activité d’E/S : Canal + Contrôleur + Périphérique + MC
 Le processeur intervient uniquement au début et à la fin de
l’E/S
 Partage de la MC avec le processeur
 Conflit d’accès (partage du bus système)
 Accès à la MC par vol de cycle

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 186
Entrées/Sorties (13)

 Relations entre processeur et canal


 Canal initialisé par le processeur par IT
 Traite l’E/S de manière autonome
 Libère le processeur durant toute la durée
d’exécution de l’E/S
 Interruption de début d’E/S
 Interruption de fin d’E/S (normale ou anormale)
 Canal rend compte au processeur par IT
 Etat de déroulement de l’E/S

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 187
Entrées/Sorties (14)
 E/S tamponnées
 Appelées Spooling
 Spool: simultaneous peripheral
operations on-line
 Exemple: documents à imprimer stockés dans un
tampon en mémoire secondaire, récupérés et
imprimés par l'imprimante selon sa propre vitesse

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 188
Entrées/Sorties (15)
 Périphérique virtuels
 Périphériques réels
 Programmation liée à ces périphériques
 Changement de périphériques implique
une modification du programme
 Programmation efficace
 Utilise directement les capacités d’un périphérique

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 189
Entrées/Sorties (16)
 Périphériques virtuels
 Appelés aussi flots d’E/S ou fichiers
d’E/S
 Cas du système Unix
 Même interface d’accès pour un clavier, un
disque, un fichier, etc.
 Programmation indépendante d’un type
de périphérique
 Moins performante, car il faut assurer une interface
entre le périphérique virtuel et le périphérique réel

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 190
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 191
Liens UC-Unités d’E/S (1)
 Communication
 Deux méthodes
 Polling
 Interruptions

 Méthode du Polling
 Initiative au programme
 E/S programmées
 Coupleur + Périphérique

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 192
Liens UC-Unités d’E/S (2)
Scrutation
 Le processeur lance une opération d’E/S
 Processeur place les données à transférer dans un
registre (RD)
 Interrogation périodique des registres du contrôleur
par l’UC (RE)
 Occupé ou prêt à recevoir une commande
 Interrogation jusqu’à ce qu’il devienne libre
 Attente active
 L’UC passe son temps à faire de la scrutation
 Ne peut rien faire tant que l’E/S n’est pas
terminée
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 193
Liens UC-Unités d’E/S (3)
 Méthode par interruptions
 Initiative au périphérique
 UC fonctionne indépendamment des
périphériques
 L’UC est libérée de toute la gestion d’une E/S
 Elle n’intervient qu’au début et à la fin
 Reçoit une interruption quand un événement
se produit
 Fin d’E/S
 Erreur
 …

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 194
PARTIE 8

Types d’OS
Systèmes d'Exploitation
IF3 - 2011/2012 Y. SLIMANI 195
Système
Monoprogrammation (1)
 Caractéristiques
 Mémoire Centrale
 1 Seul programme chargé en MC
 Mémoire partagée entre l’OS et le
programme utilisateur

OS Programme utilisateur
(processus)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 196
Système
Monoprogrammation (2)
 Processeur
 Alloué entièrement au programme
utilisateur chargé en mémoire centrale
 Pas de partage avec un autre programme utilisateur
sauf avec les programmes système
 Toutes les ressources de la machine
allouées à un seul programme utilisateur
Mauvaise gestion des ressources
 Un seul programme est incapable d’utiliser toutes
les ressources d’une machine à un instant donné

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 197
Système
Monoprogrammation (3)
Programme A

attente attente attente


début
fin
E/S E/S E/S

Programme B

attente
E/S E/S E/S
début attente attente attente fin

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 198
Système
Monoprogrammation (4)
 Inconvénients
 Rentabilité des ressources
 Espace mémoire inutilisé
 Sous-utilisation du processeur
 Opération d’E/S
 Prise en charge par un canal
 Libération du processeur
 Non utilisé durant l’E/S (Etat Idle)
 Autres composants non utilisés

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 199
Système
Monoprogrammation (5)
 Temps d’attente des programmes
 TA(Pi) = j=1..(i-1) TE(Pj)
 Déséquilibre entre temps d’utilisation du
processeur et temps d’attente
 P1 : 60 mn de calcul / 1mn E/S
 P2 : 2 mn de calcul / 1s d’E/S
 Temps d’attente de P2 : 61 mn
 Avantages
 Système simple
 Ressources allouées à un seul utilisateur

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 200
Système Multiprogrammation
(1)
 Caractéristiques
 Mémoire centrale
 Possibilité de charger plusieurs
programmes utilisateurs en MC en même
temps
 Contenu de la MC
 OS + N programmes utilisateurs (N  1)

OS P1 P2 ... Pn

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 201
Système Multiprogrammation
(2)
 Processeur
 Multiplexé (partagé) entre les programmes
(processus) chargés en MC
 Simultanéité entre calcul et E/S
 P1 fait du calcul
 P2, … , Pn en attente du processeur
 P1 lance une E/S
 Canal prend en charge l’E/S (Processeur Libre)
 Processeur alloué à P2 (Commutation de contexte)
 Et ainsi de suite …

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 202
Système Multiprogrammation
(3)
 Ressources partagées entre plusieurs
programmes utilisateurs et l’OS
 Système plus complexe
 Chargement/Déchargement de processus
 Gestion de la simultanéité
 Gestion des contextes des processus
 Meilleure utilisation des ressources de
la machine

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 203
Système Multiprogrammation
(4)
Programme A

attente attente attente


début E/S E/S E/S fin

Programme B

attente attente attente


E/S E/S E/S fin
début

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 204
Système Multiprogrammation
(5)
 Inconvénients
 Complexité du système
 Gestion de plusieurs processus
 Sécurité des processus

 Peut être non équitable


 Effet sur le temps d’attente quand le calcul
est dominant par rapport aux E/S
 P1: 60 mn (UC) + 2 mn (E/S)
 P2: 1 mn (UC) + 2 s (E/S)
 Temps d’attente de P2 : 60 mn / 1 mn
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 205
Système Multiprogrammation
(6)
 Avantages
 Meilleure gestion des ressources
 Espace mémoire mieux utilisé
 Réduction des temps d’inactivité du
processeur
 Simultanéité entre UC et Canaux d’E/S
 Remarque importante
 Libération processeur
 Fin du processus courant ou début E/S
 Effet sur le temps d’attente du processus suivant

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 206
Système Multiprogrammation
(7)
 Techniques et principes
utilisés
 Chargement de plusieurs programmes
 Gestion de l’espace mémoire
 Allocation, Libération de l’espace
 Simultanéité entre Calcul et E/S
 Existence de canaux d’E/S
 Indispensables pour permettre la simultanéité entre
calcul et E/S

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 207
Système Multiprogrammation
(8)
 Technique de Swap
 Chargement / Déchargement de
programmes (processus)
 Va et vient entre Disque et MC
 Swap in
 Disque  Mémoire Centrale
 Chargement
 Swap out
 Mémoire Centrale  Disque
 Déchargement

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 208
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 209
Système Temps-partagé (1)
 Système Time-sharing
 2 objectifs
 Gestion optimale des ressources
 Meilleur partage du processeur entre les
programmes utilisateurs
 Plus d’équité (pas de privilège)
 Principe de base
 Politique de partage du temps processeur
plus équitable

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 210
Système Temps-partagé (2)
 Principe général
 Héritage des systèmes de
multiprogrammation
 Plusieurs programmes en MC
 Existence de canaux d’E/S
 Différence
 Manière de gérer le processeur
 Plus d’équité entre processus utilisateurs
 Méthode spécifique d’allocation du processeur

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 211
Système Temps-partagé (3)
 Méthode d’allocation de l’UC
 Objectif
 Eviter le problème d’attente de libération
du processeur dans le cas des systèmes de
multiprogrammation
 Fin du processus en cours d’exécution
 Début d’une E/S
 Solution
 Retirer le processeur au processus en
cours même s’il en a encore besoin 
Préemption
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 212
Système Temps-partagé (4)
 Technique de préemption
 Principe
 Possibilité de retirer le processeur au
processus en cours même s’il en a besoin
 Ne pas attendre la fin du processus
 Ne pas attendre le début d’une E/S
 Retrait forcé
 L’empêcher de continuer son exécution
 Technique applicable à n’importe quelle
ressource (mémoire centrale, etc.)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 213
Système Temps-partagé (5)
 Principe d’allocation
 Programmes utilisateurs rangés dans une
file d’attente
 Classés par ordre d’arrivée
 Ordre d’allocation du processeur
 Premier arrivé, Premier servi
 Allocation cyclique du processeur aux
programmes de la file d’attente
P1;P2;…;Pn ; P1;P2;… ; P3;P5;…

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 214
Système Temps-partagé (6)
 Allocation du processeur pendant une
durée de temps fixe et ininterruptible
appelée QUANTUM
 Durée d’exécution indivisible sauf cas particuliers
 Meilleur partage du temps
 Allocation cyclique (un processus est sûr
d’être servi)
 Allocation par Quantum
 Equité entre processus
 Tous les processus auront la même quantité de
temps d’utilisation du processeur
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 215
Système Temps-partagé (7)
 Exemple Processus Arrivée Temps

P1 0 14
Quantum=3 P2 3 5
P3 4 6
P4 6 8

P4
P1 P2 P3 P4 P1 P2 P3 P4 P1 P1 P1
0 3 6 9 12 15 17 20 23 26 28 31 33

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 216
Systèmes Temps-réel (1)
 Système classique
 But
 Rendre un ou plusieurs services à un
utilisateur
 Exigence de l’utilisateur
 Lancer un service et attendre un résultat
 Seule exigence de l’utilisateur: Résultat
 Pas d’autres contraintes ou exigences

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 217
Systèmes Temps-réel (2)
 Système Temps-réel
 Introduire d’autres contraintes en plus
du résultat
 Contraintes temporelles
 Date de début d’un traitement
 Durée de traitement
 Date de délivrance du résultat
 La contrainte temps est plus importante
que le résultat

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 218
Systèmes Temps-réel (3)
 Problème
 Que faire si ces contraintes ne sont pas respectées ?
 Arrêter le programme, accepter le résultat, attendre, ignorer le
résultat, etc.

 Exemples d’OS temps-réel


 RT-Linux, RTOS Windows CE, RMX
 Domaines d’applications
 Industrie, Aviation, Hôpitaux, etc.

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 219
Systèmes Parallèles (1)
 Architecture classique
 1 Processeur unique
 Même horloge pour tous les processus
 1 Mémoire centrale unique
 Même espace pour tous les processus
 Modèle d’exécution (calcul)
 Séquentiel (monoprocesseur)
 1 processus à la fois
 1 seule instruction à la fois

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 220
Systèmes Parallèles (2)
 Architecture parallèle
 Une seule machine composée de
 Plusieurs processeurs
 Plusieurs horloges
 1 seule mémoire centrale
 Même espace pour tous les processus
 Modèle d’exécution parallèle
N processus qui s’exécutent en même
temps (N Processeurs)
 Accès séquentiels à la mémoire centrale

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 221
Systèmes Distribués ou
Répartis (1)
 Architecture répartie
 Plusieurs machines physiquement
séparées (distantes)
 Plusieurs processeurs (N)
 Plusieurs MC (N)
 Reliées par un réseau
 Communication avec des messages
 Avec ou sans partage de disque
 Disk shared ou Shared Nothing

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 222
Systèmes Mobiles (1)
 Informatique actuelle
 Répartie (Distribuée)
 Décentralisée
 Mobile (Nomade)
 Déplacement dans le temps et dans
l’espace
 Pervasive
 Comportement du système dépend
 De la localisation géographique
 Du type d’équipements

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 223
Systèmes Mobiles (2)
 Exemples
 Ordinateurs portables, PDA, …
 Se déplacent avec leurs propriétaires
 Architectures et systèmes mobiles
 Données mobiles

 Cartes magnétiques
 Téléphone, Bancaire, CNSS, etc.

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 224
Systèmes Mobiles (3)
 Caractéristiques des OS pour
mobiles
 Disposent de ressources limitées
 Nombre
 Type
 Capacité
 Gestion de la mobilité
 Localisation physique du mobile
 Fonctionnement dépendant d’un réseau
 Déconnexion

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 225
PARTIE 9

Processus et
Ressources
Systèmes d'Exploitation
IF3 - 2011/2012 Y. SLIMANI 226
Processus et ressources (1)
 Concepts de base des OS
 Processus
 Ressources
 Processus
 Plusieurs définitions
 Programme en exécution
 Programme lancé mais non terminé
 Encore présent dans le système
 Peut être dans un état quelconque

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 227
Processus et ressources (2)
 Entité dynamique
 Programme
 Entité statique

 Texte interprétable

 Processus
 Entité dynamique

 Abstraction de l’exécution d’un programme

 Suite d’états
 E0  E1  …  Ek  …
 Etat initial puis convergence vers un état final

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 228
Processus et ressources (3)
 Activité asynchrone
 Pas de connaissance sur
 La date de lancement d’un processus sauf si elle
programmée
 La date de fin d’un processus
 Le nombre de processus qui seront lancés
 Représentation dans le système
 Structure de données (Table)
 PCB (Process Control Block)
 BCP (Block de Contrôle de Processus)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 229
Processus et ressources (4)
Process control block

pointer
process state
process number
program counter

registers

memory limits
list of open files
.
.
.

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 230
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 231
Processus et ressources (5)
 Ressource
 Elément physique ou logique
 CPU, MC, Variable, Fichier, …

 Nécessaire à l’évolution d’un processus


 Demandée explicitement ou non
 Processeur, Canal, Mot mémoire, Fichier
 Explicitement par une fonction de l’OS
 Demande mémoire (fonction malloc de C)
 Implicitement : selon l’état du processus
 En attente d’une fin d’E/S, Attente processeur

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 232
Processus et ressources (6)
 Réutilisable ou consommable
 Mot mémoire, Ligne écran
 Allouée puis Consommée (non réutilisable)
 Allouée puis Utilisée puis Restituée, Réallouée, …
 Partagée ou non
 Accès exclusif ou non

 Possède un un état dynamique


 Occupée, Libre

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 233
Processus et ressources (7)
 Contraintes d’évolution
 Evolue selon certaines contraintes
 Exemple: Domaine de variation d’une variable
 Utilisée selon des règles précises
 Accès à la ressource peut être soumis à
certaines conditions
 Exemple: Droits d’accès à un fichier

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 234
Processus (1)
 Cycle de vie
 3 phases
 Création (génération du PCB)
 Lancement d’un programme
 Commande ou à travers le bureau
 Création dynamique de processus
 Fonction fork() sous Unix
 Vie du processus
 Existe dans le système (dispose d’un PCB)
 Géré par le système

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 235
Processus (2)
 Fin du processus (destruction du PCB)
 Fin normale
 Le processus est arrivé logiquement à sa
dernière instruction
 Fin anormale
 Erreur d’exécution, Arrêt par l’utilisateur
 Cas particulier
 Ne s’arrête jamais à cause d’une anomalie telle
que Boucle Infinie

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 236
Processus (3)
 Etats d’un processus
 Suivi de son évolution
 Depuis sa création jusqu’à sa fin normale
ou anormale
 Passe par différents états
 Tout au long de son existence, un
processus passe par différents états
 Existence de plusieurs états
 Existence de règles de transitions entre états

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 237
Processus (4)
nouveau
travail
file d'attente des travaux
création
d'un
Disque
processus

SW AP
IN SW AP
stockage sur disque OUT

chargement sur disque transfert


en mémoire en mémoire
sur disque

CPU
file d'attente CPU

E / S
file d'attente E / S

A traiter en TD
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 238
Processus (5)
Terminé
Nouveau
Interruption
Chargement Fin

Running
Ready / Prêt Exécution
Allocation

Début d’E/S ou d’un Evénement X


Fin E/S ou Arrivée d’un événement X

Wait / Attente

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 239
Exemple système Unix (1)

Source: F. Baude, Univ. Nice

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 240
Exemple système Unix (2)

A traiter en TD:
Donnez les noms
des transitions

Source: F. Harrouet, ENI Brest

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 241
Processus (6)
 Types de processus
 Processus en avant plan
 Foreground (visible)
 Processus avec lequel on dialogue
 Dialogue à travers le clavier et l’écran
 Processus en arrière plan
 Background
 S’exécute sans dialogue avec l’utilisateur
 Tâche de fond (Job)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 242
Threads (1)
 Thread
 Concept moderne des OS
 Subdivision d’un processus
 Processus = { Threads }
 Threads partagent l’espace du processus
auquel ils appartiennent
 Espace d’adressage, Ressources, …
 Processus léger
 Light process, Flot ou fil d’exécution
 Gestion plus simple qu’un processus

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 243
Threads (2)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 244
Threads (3)
 Intérêts
 Applications plus performantes
 Exécuter des tâches en parallèle
 La notion de processus n’autorise qu’une exécution
purement séquentielle
 La subdivision en threads donne la possibilité
d’exécuter plusieurs threads en parallèle
 Très adapté pour des architectures
multiprocesseurs et multicoeurs
 Exécution de plusieurs threads à la fois

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 245
Threads (4)
 Contribue à la structuration d’un
programme et d’un processus
 Décomposition en threads et non en une
seule unité (processus)
 Utiliser moins de ressources système
 Beaucoup d’éléments sont partagés entre
threads d’un même processus
 Evite la duplication inutile de ressources

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 246
Threads (5)
 Réactivité
 Plus grande réactivité
 Processus composé de deux threads
 L’un répond l’autre attend
 Adapté au parallélisme et au distribué
 Exécution de plusieurs threads sur la
même machine ou sur plusieurs machines
 Programmation multithreads

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 247
Threads (6)
 Commutation plus simple
 Moins coûteuse (contexte plus réduit)

 Communication plus simple


 Partagent les mêmes ressources
 Interagissent à travers des variables partagées
 Gestion plus simple
 Création, destruction, …

 Supporté par certains langages


 JavaThreads
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 248
Threads (7)
 Types de threads
 Non connus par l’OS
 Gérés entièrement par le processus qui les contient
 Création, ordonnancement, synchronisation,
terminaison, etc.
 Gestion à l’aide d’une bibliothèque de l’OS
 Connus uniquement de l’OS
 Se charge de leur gestion de manière exclusive
 Gestion programmée au niveau du noyau
 Gestion mixte

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 249
Processus vs Thread (1)
 Processus
 Environnement propre
 Mémoire, Fichiers, Ressources
 Contexte volumineux

 Accès aux ressources d’autres processus


 Possible selon des règles d’accès bien
précises (Protection)
 Contient au moins un thread

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 250
Processus vs Thread (2)
 Thread
 Possède
 Un état d’exécution (prêt, bloqué, …)
 Sa propre pile d’exécution
 Espace privé pour ses variables locales
 Un contexte plus léger

 Accès aux ressources du processus père


 Peut créer d’autres threads

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 251
Multi-threading
 Définition
 Disposer de plusieurs threads dans un
même processus
 Serveur http
 1 thread par client qui se connecte
 Explorateur Windows
 1 thread par fenêtre

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 252
Threads sous Java (1)
 Méthodes de création
 Par héritage de la classe Thread et par
surcharge de la méthode run()
class MonThread extends Thread {
MonThread() { MonThread p = new MonThread();
... code du constructeur ... p.start();
}
public void run() {
... code à executer dans le thread ...
}
}

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 253
Threads sous Java (2)
 Déclarer une classe qui implémente
l’interface Runnable
class MonThread2 implements Runnable {
MonThread2() {
... code du constructeur ...
} public static void main(String[] args)
public void run() { { MonThread2 p = new MonThread2();
... code à executer dans le thread ... Thread t = new Thread(p);
} t.start();
} }

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 254
PARTIE 10

Interactions
entre
Processus
Systèmes d'Exploitation 255
Y. SLIMANI
IF3 - 2011/2012
Introduction
 Système
 Ensemble de processus
 S = { P1 , …, Pn }

 Ensemble de ressources
 R = { R1 , …, Rm }
 Interactions entre processus
 Relations entre processus
 Première contrainte
 m << n

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 256
Interactions entre
processus (1)
 Classes de processus
 Processus logiquement indépendants
 Aucune relation logique prévue entre eux
dans leur code
 Totalement indépendants logiquement

 Processus logiquement dépendants


 Dépendance prévue dans le code
 Exemples
 Processus A doit s’exécuter avant Processus B

 Processus A attend un événement de B

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 257
Interactions entre
processus (2)
 Processus indépendants
 Indépendance logique, mais
 Dépendance physique
 Utilisent les mêmes ressources
 Sont dits Concurrents
 Comportement de l’un influe sur le comportement de
l’autre (utilisation de ressources partagées)
 Implique un phénomène de blocage ou d’attente
 Processus concurrents
 Leur exécution doit être contrôlée
 Peuvent donner des résultats incohérents

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 258
Concurrence (1)
P1 P2
C1 demande une
réservation d’avion sur le Interruption
vol TU781 C2 demande une
réservation d’avion sur le
vol TU781

Base de données dit qu’il


reste une seule place
Base de données dit qu’il
reste une seule place
PB: Une seule
Place est allouée à C1 et place allouée à Place est allouée à C2 et
marquée occupée deux personnes marquée occupée

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 259
Concurrence (2)
b=a
b=a
b++ P2
P1
a=b
b++
a=b
Supposons que la variable a soit égale à 0 au début; P1 travaille sur
l’ancien a et donc le résultat final sera a=1.
a=1
Résultat final : a=2 si P1 et P2 sont exécutés l’un après l’autre.
Si la variable a a été sauvegardée quand P1 est interrompu, elle ne pourrait
pas être partagée avec P2; Quel serait le résultat ? Est-il conforme à ce que
l’on attend ?
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 260
Concurrence (3)
Thread P1 Thread P2

static char a; static char a;

void echo() void echo()


{ {
cin >> a;
cin >> a;
cout << a;
}
cout << a;
}
Trouver le résultat si:
• Variable a partagée
• Variable a privée (non partagée)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 261
Concurrence (4)
 Problématique
 Concurrence peut donner des résultats
différents
 Dépendent de l’ordre d’exécution des
processus
 Séquentiel
 P1 ; P2 OU P2 ; P1
 Résultat correct
 Entrelacé (Interleaving en anglais)
 Non déterministe (Complètement aléatoire)
 Résultat peut être incorrect dans certains cas

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 262
Concurrence (5)
 Cause du problème
 Accès aléatoire (non déterministe) à des
ressources partagées
 Solution
 Eviter les mauvais entrelacements
 Les empêcher au niveau de l’exécution
 N’autoriser (éventuellement) que les
entrelacements valides
 Entrelacements qui donnent un résultat équivalent à
une exécution séquentielle

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 263
Section Critique (1)
 Introduction
 Section critique
 Séquence de code
 Utilise une ressource partagée
 Son exécution pose problème
 Doit être contrôlée
 Section non critique
 N’utilise pas de ressources partagées
 Ressources propres à un processus
 Son exécution ne pose aucun problème

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 264
Section Critique (2)
 Problème de l’exclusion
mutuelle
 2 processus Pi et Pj
 Contiennent, chacun, au moins une
section critique
 Se partagent une ressource
 Exécution de SCi empêche celle de SCj
et inversement
 S’excluent mutuellement

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 265
Section Critique (3)
 Structure d’un processus
Repeat
Section Non Critique (SNC)
Code d’entrée (PROLOGUE)

Section Critique (SC)

Code de sortie (EPILOGUE)


Section Non Critique (SNC)
forever

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 266
Section Critique (4)
Client A demande une réservation d’avion

Prologue

Base de données dit que la place P est


Section disponible
critique
La place P est affectée au client A et elle est
marquée occupée (ne pourra pas être affectée à
un autre client)
Epilogue

Ne peut être exécutée que par un seul client à la fois,


mais jamais ensemble ou de manière alternée

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 267
Section Critique (5)
 Résolution du problème de
l’exclusion mutuelle
 Trouver une solution
 Qui interdit les entrelacements
 Exécution strictement séquentielle
 Donne des résultats corrects
 Exécution non performante (séquentielle)
 Qui autorise les entrelacements valides
 Prouver que la solution est valide
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 268
Conditions de validité (1)
 Propriétés d’une solution
d’exclusion mutuelle : 4
 Exclusion mutuelle
 A tout instant, au plus un (ou k>1)
processus peut (peuvent) être dans une
section critique (SC) relative à une même
ressource partagée
 Propriété de sûreté (safety property)
 Doit être VRAIE tout le temps
 Propriété invariante (Invariant en logique)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 269
Conditions de validité (2)
 Absence de blocage
 Si une SC, relative à une ressource R, est
libre et qu’un processus demande à
accéder à sa SC qui utilise R, la solution
ne doit pas lui refuser cet accès
 Propriété de progrès (liveness property)
 Assure que la ressource sera libérée à un moment
donné
 Celui qui la détient va la libérer
 Progresse normalement (non bloqué)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 270
Conditions de validité (3)
 Attente finie
 Tout processus qui demande à accéder à
une SC et qui a été bloqué au niveau de son
prologue doit sortir de ce prologue au bout
d’un temps fini
 Propriété d’absence de famine (starvation)
 Indépendance vis-à-vis
 Du nombre de processus
 De leurs vitesses
 De leur ordre d’exécution
 Exécution non déterministe

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 271
Solutions (1)
 Plusieurs types
 Logicielles (algorithmiques)
 Matérielles
 Instructions spéciales du processeur
 Fournies par l’OS
 Utilisées par les processus utilisateurs

 Principe général
 Atomicité (accès mémoire, instructions)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 272
Solutions (2)
 Méthode générale de
résolution
 Identifier les ressources partagées
 Identifier les sections critiques
 Décrire les règles d’accès aux ressources
partagées
 Trouver une solution
 Trouver les prologues et épilogues en
fonction des règles d’accès aux ressources
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 273
Solutions (3)
 Prouver la correction de la solution
trouvée
 Vérifier les 4 propriétés d’une solution au problème
de l’exclusion mutuelle
 Faire une preuve formelle et non des tests sur
machine

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 274
Algorithmique (1)
 Algorithme 1
 2 Processus P0 et P1 et une variable turn
Processus Pi:
repeat
while(turn!=i);
SC
turn = j;
SNC Instruction vide: ne rien faire
forever
Variable turn initialisée à 0 ou 1

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 275
Algorithmique (2)
 Algorithme 2
Processus Pi:
Une variable Booléenne par
repeat processus:
flag[i] = True; flag[0] et flag[1]
while(flag[j]); Pi signale qu’il désire exécuter sa SC
Je passerais après
vous SC en faisant flag[i] =True
flag[i] = False; Considérez la séquence suivante et
dites ce qui se passe :
SNC
P0 : flag[0] = True ;
forever P1 : flag[1] = True ;

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 276
Algorithmique (3)
 Algorithme 3 (Algorithme de Peterson)
Thread Ti:
repeat
flag[i] = True;
// je veux entrer en SC
turn = j;
// je donne une chance à l’autre d’entrer
do while
(flag[j] && turn==j);
SC Initialisations :
flag[i] = False; flag[0]=flag[1]=False;
SNC
turn= i ou j
forever

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 277
Matérielles
 Solution de base (niveau
physique)
 Inhiber et Rétablir les IT’s
Process Pi:
repeat
Inhiber (Masquer) les interruptions
Section Critique
Rétablir (Démasquer) les interruptions
Section Non Critique
forever
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 278
Instruction câblée
 Instruction atomique
Test-And-Set (TAS)
bool testset(int &i)
{
if (i==0) {
i=1;
return true;
}
else return false;
}

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 279
Solutions OS
 Instructions fournies par l’OS
 Exemple
 Unix fournit un mécanisme pour résoudre
des problèmes d’exclusion mutuelle
 Les sémaphores
 Bibliothèque de fonctions pour manipuler
les sémaphores
 Voir cours Unix

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 280
Sémaphores (1)
 Présentation
 Variable entière
 Ne peut être manipulée qu’à travers 2
opérations atomiques (primitives)
 P(S) ou wait(S)
 V(S) ou signal(S)
 P et V sont les opérations
 S est une variable de type sémaphore
 Utilisé pour résoudre des problèmes
d’exclusion mutuelle ou de synchronisation
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 281
Sémaphores (2)
 Forme d’utilisation
Processus Pi:
repeat
P(S)
SC
V(S)
SNC
forever
Permettent d’encadrer une section critique (Prologue et Epilogue)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 282
Sémaphores (3)
Valeur initiale d’un sémaphore S >= 1

Processus P1: Processus P2:


repeat repeat
P(S) P(S)
SC SC
V(S) V(S)
SNC SNC
forever forever

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 283
Sémaphores (4)
 Implémentation
 Structures de données
 Variable
 Domaine: valeurs entières
 Une File d’Attente
 Primitive P
 Potentiellement bloquante
 Bloque (éventuellement)
éventuellement le processus qui
l’exécute et le met dans la file d’attente du
sémaphore associé

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 284
Sémaphores (5)
 Primitive V
 Potentiellement réveillante
 Sort un processus de la File d’Attente (s’il
existe)
existe du sémaphore associé et le met à
l’état PRÊT (réveil d’un processus)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 285
Sémaphores (6)
Pi exécute P(S) ou V(S); Pj dans FA(S)
P(S):
S=S-1;
if S < 0 { // SC occupée
Insérer Pi dans FA(S);
Etat(Pi)=“Bloqué”
}

V(S):
S=S+1;
if S  0 { // Pj dans FA(S)
Sortir Pj de FA(S);
Etat(Pj)=“Prêt”
}

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 286
Sémaphores (7)
 Règles sur les sémaphores
 Utilisés pour résoudre un problème
d’exclusion mutuelle
 Valeur initiale toujours positive
 Pas de primitives V dans un prologue
 Pas de primitives P dans un épilogue
 Possibilité d’avoir plusieurs P (ou
plusieurs V) dans un prologue (dans un
épilogue)
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 287
Sémaphores (8)
 L’ordre des P est très important dans un
prologue
 L’ordre des V dans un épilogue n’a
aucune importance
 Le code des primitives P et V n’est pas
modifiable
 La politique de gestion de la file d’attente
d’un sémaphore est inconnue

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 288
Sémaphores (9)
 Problèmes
 Famine
 Un processus ne peut jamais arriver à exécuter
sa SC
 Bloqué indéfiniment au niveau de son prologue
 Interblocage ou Deadlock
 2 processus se bloquent mutuellement
 Pi empêche Pj d’accéder à sa SC, et
 Pj empêche Pi d’accéder à sa SC
 Difficiles à programmer

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 289
Modèles de base (1)
 Producteur/Consommateur
 Modèle très classique en système
 Un processus produit des données
 Un autre processus les consomme
 Eléments du modèle
 2 ou plusieurs processus
 Zone(s) partagée(s) pour la communication
 TAMPON ou BUFFER
 Taille finie ou infinie

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 290
Modèles de base (2)
Prod Prod

1 donnée 1 donnée 1 donnée 1 donnée

Cons Cons
Si le tampon est de longueur 1, le producteur et consommateur doivent
forcément aller à la même vitesse (synchronisation)
Tampons de longueurs plus grandes que 1 donnent des comportements
différents (asynchronisme)
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 291
Modèles de base (3)
 Analyse du problème
 2 processus concurrents
 Producteur et Consommateur
 Vitesses et comportements indépendants
 Ressource partagée
 Tampon de taille finie ou infinie
 Relations entre les processus
 Définies par leur comportement, et
 Imposées par le tampon

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 292
Modèles de base (4)
 Producteur
 Ne peut déposer (produire) une donnée
dans le tampon que si :
 Le tampon est libre
 Non occupé par le consommateur

 Le tampon est non plein


 Il existe une place libre pour déposer une
donnée (le tampon peut être assimilé à un
tableau)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 293
Modèles de base (5)
 Consommateur
 Ne peut extraire (consommer) une donnée
du tampon que si :
 Le tampon est libre
 Non occupé par le producteur

 Le tampon est non vide


 Il existe une donnée à extraire (produite par le

producteur et une donnée extraite ne peut pas


être extraite une deuxième fois)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 294
Modèles de base (6)
 Lecteurs/Rédacteurs
 2 classes de processus
 Processus Lecteurs (Readers)
 Lisent un fichier F sans modifier son contenu
 Processus Rédacteurs (Writers)
 Ecrivent dans le fichier F (modifient son contenu)
 Classes disjointes
 Un processus appartient à une et une
seule classe

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 295
Modèles de base (7)
 Analyse du problème
 Classes de Processus: 2
 Lecteurs et Rédacteurs
 Ressource partagée
 Fichier
 Relations entre processus
 Exclusion mutuelle entre Lecteurs et Rédacteurs
 Un lecteur et un rédacteur ne peuvent pas accéder
simultanément au même fichier
 Exclusion mutuelle entre Rédacteurs
 Un seul rédacteur peut utiliser le fichier à la fois

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 296
Moniteurs (1)
 Outil de synchronisation
 Plus simple à programmer que les
sémaphores
 Intégré dans des langages
 Concurrent Pascal, Modula 3, Java, …
 Plus facile à gérer que les sémaphores
 Mécanisme de plus haut niveau que les
sémaphores

Systèmes d’Exploitation
Y. SLIMANI 297
IF3 - 2011/2012
Moniteurs (2)

298

Moniteur: Ressource
partagée par plusieurs
processus

Systèmes d’Exploitation
Y. SLIMANI 298
IF3 - 2011/2012
Moniteurs (3)
 Structure
 Module composé de
 Une ou plusieurs procédures externes
 Points d’accès au moniteur de l’extérieur
 Au moins un point d’accès
 Appelables de l’extérieur par des processus
 Déclarées avec le mot clé Extern Procedure
 0 ou plusieurs procédures internes
 Ne peuvent être appelées que de l’intérieur du
moniteur

Systèmes d’Exploitation
Y. SLIMANI 299
IF3 - 2011/2012
Moniteurs (4)
Une séquence d’initialisation
 Exécutée une seule fois lors du premier appel au
moniteur
Variables locales partagées
 Accessibles, uniquement à l’intérieur du moniteur,
par les procédures internes et externes
 Une file d’attente externe
 Contient les processus qui attendent d’accéder au
moniteur alors qu’il est occupé
 Un processus est en train d’exécuter une
procédure externe du moniteur

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 300
Moniteurs (5)
 Caractéristiques
 Assure lui-même son exclusion mutuelle
 Moniteur est une ressource critique
 Pas besoin de programmer son exclusion mutuelle
 Propriété de base d’un moniteur
 Etats d’un moniteur
 Libre
 N’exécute aucune procédure
 Occupé
 Exécute le code d’une procédure externe

Systèmes d’Exploitation
Y. SLIMANI 301
IF3 - 2011/2012
Moniteurs (6)
 Appel d’un moniteur
 Appel sous forme de notation pointée

NomMoniteur.NomProcedure Externe ([Par])
 M.P1()
 M.P2(x)
 File d’attente du moniteur
 Gérée selon la politique FIFO

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 302
Moniteurs (7)
 Synchronisation des processus
 Assurée par le moniteur grâce à des
variables spéciales appelées VARIABLES
CONDITIONNELLES
 Ne prennent jamais de valeur
 N’ont pas de domaine de définition
 Equivalentes aux files d’attente des sémaphores
 Une file d’attente par variable conditionnelle
 Utilisables uniquement à l’intérieur du moniteur
 Utilisées comme préfixes de deux primitives
 wait() et signal()

Systèmes d’Exploitation
Y. SLIMANI 303
IF3 - 2011/2012
Moniteurs (8)
 Opérations de synchronisation
 X : variable conditionnelle
x.wait()
* Bloque le processus qui l’exécute et le met dans la
file d’attente de X
* Le processus bloqué ne pourra reprendre son exécution
que si un autre processus exécute X.signal()

x.signal()
Réveille un processus bloqué sur la variable
conditionnelle X (se trouve dans la file d’attente de X)
* Si aucun processus dans la file d’attente, alors il
ne se passe rien
* S’il en existe plusieurs, alors réveiller un seul

Systèmes d’Exploitation
Y. SLIMANI 304
IF3 - 2011/2012
Moniteurs (9)
 Blocage et moniteurs
 Un processus est bloqué
 A l’extérieur d’un moniteur
 Le trouve occupé au moment où il l’appelle
 A l’intérieur d’un moniteur
 Accès de l’extérieur réussi
 Bloqué par la primitive x.wait()
 Moniteur libre
 Aucun processus ne l’exécute
 Un processus s’est bloqué à l’intérieur
(exécution de la primitive X.wait( ) )

Systèmes d’Exploitation
Y. SLIMANI 305
IF3 - 2011/2012
Moniteurs (10)
 Réveil et moniteur
 Processus réveillé
 Avant d’être réveillé, il est bloqué dans le
moniteur (au niveau de X.wait ( ))
 Réveillé par un autre processus qui est
lui-même est dans le moniteur
 Exécution de la primitive X.signal()
 Le processus réveillé reprend son exécution
derrière la primitive X.wait()

Systèmes d’Exploitation
Y. SLIMANI 306
IF3 - 2011/2012
Moniteurs (11)
 Le réveil pose un problème
 Exclusion mutuelle du moniteur violée
 Deux processus se trouvent en même temps dans le
même moniteur
Solutions
 L’un attend l’autre
 Celui qui a fait X.signal() n’exécute aucune autre
opération
 X.signal() doit être la dernière opération

exécutée

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 307
PARTIE 11

Gestion des
Ressources
Systèmes d'Exploitation
IF3 - 2011/2012 Y. SLIMANI 308
Introduction
 Gestion des ressources
 Fonction fondamentale des OS
 Objectifs
 Utiliser les ressources physiques et
logiques d’une machine
 Gérer le partage des ressources
 Assurer la protection des ressources
 Eléments fondamentaux pour la gestion
 Files d’attente
 Ordonnanceurs

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 309
Files d’attente (1)
 Introduction
 Terme générique
 File d’attente devant un guichet
 File d’attente d’entrée à un stade
 File d’attente de voitures

 Définition
 Ensemble d’éléments
 Organisés d’une certaine manière et qui attendent
d’être servis
 Servis dans un certain ordre
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 310
Files d’attente (2)
 FA en informatique
 Structure de données fondamentale en
informatique
 Stockage d’informations
 Règle d’entrée
 Généralement par la Queue –Queue- de la file
 Règle de sortie
 Généralement par la Tête –Head- de la file
Entrée Sortie
… 
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 311
Files d’attente (3)
 Capacité
 Taille finie
 Insertion d’un nombre fini d’éléments

 Taille infinie
 Insertion toujours possible
 Politiques de gestion
 Plusieurs politiques possibles
 LIFO, FIFO, Priorité, Random, etc.

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 312
Files d’attente (4)
 Pourquoi des files d’attente
dans un OS ?
 Ressources d’un système : { R }
 Processus : { P }
  P  >>  R 
 Comment partager { R } entre { P } ?
 Définir une politique de gestion de { R }
 Distinguer entre processus qui utilisent
une ressource A et ceux qui attendent de
l’utiliser (File d’attente)
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 313
Files d’attente (5)
 File d’attente de gestion des
ressources
 Une par ressource
 Contient les processus en attente de cette
ressource
 Instant t
 Processus Pi dans une seule file d’attente
 Passage d’une file à une autre
 Changement d’état du processus
 Changement de l’état des ressources

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 314
Ordonnanceurs (1)
 Présentation
 Gestionnaires de ressources
 Scheduler en anglais

 Types
 Ordonnanceurs à court terme
 Ordonnanceurs à moyen terme
 Ordonnanceurs à long terme

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 315
Ordonnanceurs (2)
 Ordonnanceurs à court terme
 Gèrent des processus (états prêts)
 Sélectionnent le processus à exécuter
 A qui allouer le processeur
 CPU scheduler
 Sollicités très souvent (ms)
 Combinés avec un Dispatcheur
 Dispatcheur donne le contrôle au processus
choisi par le scheduler

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 316
Ordonnanceurs (3)
 Ordonnanceurs à moyen
terme
 Moins sollicités que ceux à court terme
 Job scheduler
 Chargent ou déchargent des processus
en mémoire centrale
 Charger un processus en mémoire
centrale
 Nouveau ou ancien
 Décharger un processus sur disque

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 317
Ordonnanceurs (4)
Ordonnanceurs à long terme
 Accepter ou non des processus
utilisateurs dans le système
 Capacité du système à accepter les
travaux des utilisateurs
 Capacité dynamique

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 318
Préemption (1)
 Allocation d’une ressource
 Mise à la disposition d’un processus
 Doit en principe la restituer
 Pour être utilisée par d’autres
 Instant de libération
 Fin de l’utilisation de la ressource

 Problèmes
 Un processus risque de ne pas la restituer
 Que faire en cas de besoin urgent

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 319
Préemption (2)
 Technique de préemption ou
de réquisition
 Retirer une ressource à un processus
alors qu’il en a encore besoin
 Retrait forcé
 Pour l’allouer à un autre processus
 Re-allocation après un certain temps

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 320
Ordonnanceurs et
préemption
 Combinaison
 Ordonnanceurs préemptifs
 Utilisent la réquisition
 Peuvent récupérer une ressource allouée
à un processus à tout moment
 Ordonnanceurs non préemptifs
 N’utilisent pas la réquisition
 Récupèrent la ressource une fois que le
processus l’aura libéré
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 321
PARTIE 12

Allocation du
Processeur
Systèmes d'Exploitation
IF3 - 2011/2012 Y. SLIMANI 322
Introduction (1)
 Problématique
 1 Processeur
 Exécution d’un seul processus à la fois

 Système
 Ensemble (éventuellement vide) de
processus qui sont dans l’état Prêt
 Allocation du processeur
 Quel processus choisir parmi ceux qui sont
dans l’état prêt ?

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 323
Introduction (2)
 Critères relatifs à l’allocateur
 Point de vue utilisateur
 Temps de réponse

 Point de vue système


 Nombre de processus exécutés
 Rentabilité du processeur
 Equité
 Garantir les priorités
…

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 324
Introduction (3)
 Critères d’évaluation
 Pourcentage d’utilisation du processur
 Différencier entre périodes d’activité et
périodes d’inactivité du processeur
 Maximiser l’une et minimiser l’autre
75 %

 Débit ou Throughput
 Nombre de processus exécutés pendant
une durée bien déterminée

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 325
Introduction (4)
 Temps de arrivée fin

traitement Processus A
(Turnaround ou
temps de rotation) temps d'attente

temps de traitement

 Temps d’attente
(Waiting time) arrivée fin
 Temps de réponse
A A A A

temps d'attente

temps de traitement

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 326
Allocation Processeur (1)
 Modèle
 Phases d’un processus
 Succession de cycles
 Calcul, E/S, Calcul, E/S, …, Calcul
 On s’intéresse uniquement aux phases
de calcul et non aux phases d’E/S
 Phase de calcul ou Burst Time
 Phase d’exécution d’instructions arithmétiques
ou logiques

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 327
Allocation Processeur (2)
 Temps d’exécution connu a priori
 Fourni par l’utilisateur (estimation)
 Calcul par méthodes d’estimation

 File d’attente des processus prêts


 Diagramme de Gantt
 Représentation graphique de
l’ordonnancement de l’exécution d’un
ensemble de processus selon un
algorithme d’ordonnancement
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 328
Allocation Processeur (3)
Temps de Temps CPU Temps
Processus
Traitement (Burst Time) d‘Attente
P1 12 - 12 =0
P2 17 -5 = 12
P3 19 -2 = 17
Total 48 - 19 = 29
Moyenne (/3) 16 - 6,.. = 9,..

P1 P2 P3
0 12 17 19

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 329
Algorithmes (1)
 FCFS
 First Come First Served (FIFO)
 Critère
 Ordre d’arrivée des processus
 Classer les processus par date d’arrivée
 Caractéristiques
 Le plus simple à mettre en œuvre
 Le plus mauvais
 Donne de mauvaises performances

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 330
Algorithmes (2) cas FCFS
Processus Burst Time
P1 14
P2 3
P3 3
P4 5

File d’attente :
P4 P3 P2 P1

P1 P2 P3 P4

0 14 17 20 25

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 331
Algorithmes (3)
 SJF
 Shortest Job First ou Le plus court
d’abord
 Critère
 Plus petit temps d’exécution
 Caractéristiques
 Privilégie les petits processus
 Risque d’attente infinie pour les processus
longs (problème de famine ou starvation)
starvation
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 332
Algorithmes (4)
 Avec ou sans préemption
 Sans préemption
 Sélection du prochain processus à la fin du courant,
même s’il y a arrivée de nouveaux processus avec un
temps plus petit que celui du courant
 Avec préemption
 Vérifier le critère d’allocation à chaque arrivée de
nouveaux processus
 Comparer le temps restant du processus courant

avec le temps du ou des nouveaux processus


 Selon le cas, utilisation ou non de la préemption

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 333
Algorithmes (5) cas 1 SJF
Processus Arrivée Temps d’exécution
P1 0 7
P2 2 4
P3 4 1
P4 5 4

P1 P3 P2 P4

0 3 7 8 12 16
Arr. P2 Arr. P3
Arr. P4

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 334
Algorithmes (6) cas 2 SJF
Processus Arrivée Temps d’exécution
P1 0 7
P2 2 4
P3 4 1
P4 5 4

0 2 4 5 7 11 16
Arr. P2 Arr. P4
Arr. P3

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 335
Algorithmes (7)
 Priorité
 Priorité
 Urgence d’utilisation du processeur
 Définie par un nombre ou une lettre
 Exemples
 0..F, A..Z
 0..39 (Cas du système Unix)
 Statique ou dynamique
 Commande nice sous Unix

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 336
Algorithmes (8)
 Critère
 Processus le plus prioritaire
 Caractéristiques
 Répond à la notion d’urgence
 Risque de famine
 Privilégie les processus prioritaires

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 337
Algorithmes (9)
 Round Robin ou Tourniquet
 Introduit avec les systèmes temps-partagé
(Time Sharing)
 Eléments de base
 File d’attente des processus
 Ordonnés selon leur ordre d’arrivée
 Utilisation de la notion de QUANTUM
 Unité de temps d’utilisation du processeur
 Unité de temps ininterruptible (pas de préemption
durant un quantum)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 338
Algorithmes (10)
 Principe
 Allocation par multiple de Quantums
 Allocation du processeur au processus Pi
 Fin du quantum
 Pi terminé  Quitte la file d’attente
 Pi non terminé  Revient à la fin de la file (queue)
 Allocation du processeur au processus Pi+1
 Fin processus Pi < Fin Quantum
 Assimilée à une fin de Quantum
 Allocation du processeur au processus Pi+1

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 339
Algorithmes (11) cas 1 RR

P[0] P[1]

P[7] P[2]

P[6] P[3]

P[5] P[4]

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 340
Algorithmes (12) cas 2 RR
Processus Burst Time Quantum = 20
P1 53
P2 17
P3 68
P4 24

P1 P2 P3 P4 P1 P3 P4 P1 P3 P3

0 20 37 57 77 97 117 121 134 154 162

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 341
Algorithmes (13)
 Exemple du système Unix
 RR évolué
 Technique du RR + Priorité dynamique
 Plusieurs files d’attente
 Priorité entre files
 Un algorithme RR par file

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 342
Algorithmes (14)
 Files multi-niveaux
 1 seule file (1 niveau)
 Mélange de processus de différentes
natures
 Système, Utilisateurs, …
 Idée
 Utiliser plusieurs files
 File contient des classes de processus
 Type (utilisateur, système, …)
 Catégorie (étudiant, enseignants, administration,
…)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 343
Algorithmes (15)
 Principe général
 Fixer le nombre de files
 Nombre fixe
 Hiérarchiser les files
 Définir un ordre entre files
 Priorité d’allocation (F1 > F2 > … > Fn)
 Allocation selon le niveau d’une file dans
la hiérarchie

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 344
Algorithmes (16)
 Politique de gestion de chaque file
 Définir un ordonnanceur par file
 Peut être le même pour toutes les files
 Diversifier les ordonnanceurs
 Définir une stratégie pour les nouveaux
processus
 Entrée dans une file bien déterminée fixée à
l’avance
 Sinon définir un critère d’entrée

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 345
Algorithmes (17)
 Principe d’allocation
 Allocation
 Commencer par la file la plus prioritaire
 File de plus haut niveau non vide
 Ne passer à la file (i+1)
i+1 que si tous les
processus de la file i ont été satisfaits
 File i plus prioritaire que la file (i+1)
 Préemption entre files
 Revenir à une file prioritaire en cas
d’arrivée de nouveaux processus dans cette
file
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 346
Algorithmes (18)
 Types de files
 Simples
 Pas de liens entre files
 Problème de famine (Starvation)

 Avec liens
 Unidirectionnel
 Définir un critère de passage d’une file à une autre
 F1  F2  …  Fn

 Bidirectionnel
 F1  F2  …  Fn
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 347
Algorithmes (19)
PRIO = 0
la + élevée

PRIO = 1

PRIO = 2
la plus faible

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 348
Algorithmes (20)

PRIO = 0
la + élevée

PRIO = 1

PRIO = 2

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 349
Algorithmes à privilège
 Problématique
 Privilégient certains processus par
rapport à d’autres
 SJF avec préemption, Priorité, …
 Risque majeur
 Famine ou starvation
 Attente infinie
 L’allocation du processeur ne sera pas refusée
mais sera toujours différée dans le temps

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 350
Exemples (1)
 Windows 2000
 Priorité et préemption
 Nombre de niveaux de priorité: 32
 1 seule file gérée par RR avec priorité
 Priorité dynamique (+/-)
 Quantum plus grand pour les processus
en avant plan

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 351
Exemples (2)
 Linux
 Classes d’ordonnancement
 Processus temps-partagé
 Processus temps-réel

 Cas temps-réel
 Ordonnancement basé sur la priorité

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 352
Exemples (3)
 Cas temps-partagé
 Utilisation de la priorité avec crédit
 Fin du quantum et processus non terminé
 Perte d’un crédit
 Suspension du processus qui n’a plus de
crédit
 Tous les processus prêts suspendus
 Récupèrent tous des crédits
 Processus en background
 Priorité faible et moins de crédit

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 353
PARTIE 13

Gestion de
la Mémoire Centrale
Systèmes d'Exploitation
IF3 - 2011/2012 Y. SLIMANI 354
Introduction (1)
 Mémoire
 Espace de stockage temporaire
 Composée de mots mémoire
 Mémorisation volatile
 Passage obligatoire pour toute information
 Chargée en MC pour être manipulée
 Espace partagé
 Processus système
 Processus utilisateurs

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 355
Introduction (2)
 Gestion de la mémoire
 Problématiques
 Gestion de l’espace
 Allocation
 Libération
 Protection (accès)
 Système contre les utilisateurs
 Utilisateurs entre eux
 Contrôler les accès à une donnée
 Utilise la technique de swap

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 356
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 357
Adressage (1)
 Formes
 Physique
 Adresses réelles des mots de la MC
 0001, 12B4
 Logique
 Espace d’un programme
 Déclarations
 Chaque variable est identifiée par un nom

 Translation entre adresses physiques et


adresses logiques
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 358
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 359
Gestion Mémoire
 Structuration de l’espace
 Structure de la mémoire
 Espace système (noyau+extension)
 Espace utilisateur (user)

 Comment structurer l’espace user


 Partitionnement Fixe
 Partitionnement Variable
 Algorithmique associée
 Allocation, Libération

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 360
Partitionnement fixe (1)
 Structure
 Espace découpé en zones appelées
Partitions
 Découpage statique en partitions
 A l’installation de l’OS
 Tailles homogènes ou hétérogènes
 Mêmes tailles ou tailles différentes des partitions

OS Pa Pb ... Pk

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 361
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 362
Partitionnement fixe (2)
 Caractéristiques d’une partition
 Adresse unique (adresse début)
 Taille fixe
 Indivisible
 Ne peut contenir qu’un seul processus
 Non partageable
 Etat
 Libre (non allouée)
 Libre ne veut pas dire vide
 Occupée (allouée à un processus)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 363
Partitionnement fixe (3)
 Algorithmique
 Principe
 Processus P de taille T(P) à charger en MC
 Trouver une partition Pi tel que:
 Pi libre et Taille(Pi)  T(P) (1)
 Chargement immédiat ou différé
 Immédiat si contrainte (1) vérifiée
 Aucune partition libre mais Taille(Pi)  T(P), i
 Attendre (différer le chargement)
 Faire du swap (chargement immédiat)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 364
Partitionnement fixe (4)
 Problèmes
 Général
 Taille T(P) > à toutes les partitions (libres
et occupées)
 A priori chargement impossible
 Particulier
 T(Pi) > T(P)
 Espace résiduel (Fragment) inutilisable
 Partition indivisible

 Problème de la fragmentation interne


Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 365
Partitionnement variable
(1)
 Principe
 Pas de partitionnement initial
 Une seule partition libre (toute la mémoire)

 Partitions créés au fur et à mesure de


l’allocation (chargement)
 Partitions créées correspondent aux
processus chargés en MC
 Pas de fragmentation interne
 Taille(espace alloué) = Taille(processus chargé)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 366
Partitionnement variable
(2)
 Algorithmique
 Principe
 Processus P de taille T(P) à charger
 Trouver un espace libre égal à T(P)
 Allocation immédiate ou différée
 Terminaison des processus
 Libèrent leurs partitions
 Existence de plusieurs partitions libres au lieu

d’une seule comme dans le cas initial

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 367
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 368
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 369
Partitionnement variable
(3)
 Algorithmique
 Existence de plusieurs partitions libres
 Quelle partition choisir ?
 Algorithmes d’allocation
 First Fit
 Première partition libre
 Best Fit
 Partition qui donne le plus petit résidu
 Worst Fit
 Partition qui donne le plus grand résidu

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 370
Partitionnement variable
(4)
 Problème
 Emiettement de la mémoire
 Présence de petites partitions (fragments)
dispersées dans la mémoire
 Solution
 Compactage
 Ramasse-miettes, Garbage Collector
 Programme du système
 Récréer une seule partition libre
 Déplacements physiques des données (swap)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 371
Compactage (1)
 Position du problème
 Processus P de taille T(P) à charger en
MC
 Aucun espace contigu et libre ne peut
contenir P
 Existence de plusieurs espaces libres de
tailles < à T(P)
 Remarque
 Somme des espaces libres >> T(P)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 372
Compactage (2)
 Principe
 Déplacer les processus en MC
 Objectif
 Recréer une seule partition libre
 Regrouper tous les fragments libres
 Nécessite des swap’s (disque)
 Opération coûteuse (E/S physiques)
 Réalisée périodiquement ou sur demande
 Exemple: défragmentation du disque sous Windows

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 373
Problèmes du
partitionnement (1)
 Fragmentation interne
 Résidu dans une partition
 Inutilisable car partition indivisible
 Cas du partitionnement fixe
 Résolu en changeant de mode de
partitionnement
 Passer du fixe au variable
 Partitionnement fixe ne tient pas compte de la taille des
processus
 Partitionnement variable
 S’adapte à la taille des processus

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 374
Problèmes du
partitionnement (2)
Fragmentation externe
 Tailles des partitions < Taille processus
 Mauvais choix des tailles de partitions
 Réinstaller le système pour faire un
nouveau partitionnement (cas du fixe)
 Ne permet pas de résoudre le problème
 Critère d’allocation mémoire
 Tenir compte de 2 contraintes
Espace Contigu + Chargement Total
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 375
PARTIE 14

Mémoire
Virtuelle
Systèmes d'Exploitation
IF3 - 2011/2012 Y. SLIMANI 376
Introduction (1)
 Allocation mémoire
 Contraintes d’allocation : 2
 Chargement total d’un processus
 Recherche d’un espace contigu
 Contraintes difficiles à satisfaire en
même temps
 Question
 Ces contraintes sont-elles réelles ou
fictives ?

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 377
Introduction (2)
 Caractéristiques d’un
processus
 Structure modulaire et non linéaire
 Possibilité de charger le processus par
parties ou par morceaux
 Programme C = {Fonction Main + Autres fonctions}
 Programme JAVA = {Classes}
 Exécution d’un processus
 Ne nécessite pas son chargement total

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 378
Introduction (3)
 Taille d’un processus
 Largement supérieure à la taille de la MC
 Impossible de le charger totalement en MC
 Solutions
 Augmenter physiquement la taille de la MC
 Solution limitée par des contraintes physiques
 Autre solution
 Charger totalement un processus en mémoire

secondaire
 Le charger partiellement en mémoire centrale
pour l’exécuter

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 379
Introduction (4)
 Nouvelle formulation du problème
d’allocation mémoire
 Contrainte de chargement total est levée
 Chargement partiel (selon les besoins)
 Exemple d’un programme C
 Charger la fonction main
 Les autres fonctions seront chargées à la
demande (au moment de leur appel)
 Reste à trouver une solution à la
contrainte de contiguïté
 Mémoire Virtuelle
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 380
Mémoire Virtuelle (1)
 Hiérarchie de mémoires
 Mémoire centrale
 Extension virtuelle et non physique de la
mémoire centrale
 Extension physique
 Rajouter des modules mémoire
 Extension logique ou virtuelle
 Réserver une partie du disque pour étendre la MC
 Mémoire de type Swap
 Partie non gérée par le SGF
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 381
Mémoire Virtuelle (2)
 Espaces pour un processus : 2
 Mémoire centrale
 Mémoire swap
 Partie du disque
 Questions
 Comment structurer ces 2 espaces ?
 Où charger les processus et comment ?
 Relations entre MC et mémoire swap
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 382
Mémoire Virtuelle Paginée
(1)
 Structuration des espaces
 Mémoire Virtuelle (MV)
 Découpée en unités d’allocation : PAGES
 Page : suite contigüe d’octets (512 ou plus)
 Allocation par multiple de pages
 Allocation contigüe ou dispersée des pages
 Contiguïté n’est plus une contrainte forte à respecter
 Devient un critère de performance

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 383
Mémoire Virtuelle Paginée
(2)
 Mémoire centrale (MC)
 Même type de découpage que la MV
 Unités d’allocation : CASES
 Case : suite contigüe d’octets
 Taille(Page) = Taille(Case)
 Allocation contigüe ou dispersée
 Contiguïté n’est pas une contrainte
 Exemple
 Processeur Pentium supporte 2 tailles: 4KB ou
4MB

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 384
Mémoire Virtuelle Paginée
(3)
 Chargement des processus
 Chargés totalement sur disque
 Lui allouer le nombre de pages nécessaires
(toujours possible)
 Contigües ou dispersées
 Chargés partiellement (ou totalement) en
MC
 Lui allouer le nombre de cases nécessaires
 Contigües ou dispersées

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 385
Mémoire Virtuelle Paginée
(4)
 Exécution de processus
 Exécution virtuelle
 Utilise que des ressources virtuelles
 Processeur, MC, Disque, etc.
 Toujours possible
 Comme une exécution « à la main »
 Exécution réelle
 Processus doit disposer de toutes les
ressources physiques nécessaires à son
exécution à un instant t

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 386
Mémoire Virtuelle Paginée
(5)
 Types d’adressage : 2
 Adressage virtuel
 (Numéro de page, déplacement)
 Accès virtuel
 Toujours possible car processus chargé totalement
en mémoire virtuelle
 Adressage réel ou physique
 (Numéro de case, déplacement)
 N’est pas toujours possible
 Processus peut être chargé partiellement en MC

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 387
Mémoire Virtuelle Paginée
(6)
 Correspondance entre
adressages
 Fonction de transformation
 Définit comment passer d’une adresse
virtuelle à une adresse réelle
 Fonction partielle
 Nombre de pages supérieur au nombre de cases
 A une page on ne peut pas toujours associer
une case à un instant t

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 388
Mémoire Virtuelle Paginée
(7)
 Table de Pages
 Fonction de transformation
 Taille (# entrées) = Nombre de pages
 Une entrée par page
 Contenu d’une entrée
 Bit de présence (0 ou 1)
 Bit de modification -dirty bit- (0 ou 1)
 N° de case associée (si page présente en MC)
 Informations pour le remplacement de pages
 Autres informations (droits d’accès, etc.)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 389
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 390
Mémoire Virtuelle Paginée
(8)
 Accès à une information
 Accès en mémoire virtuelle
 Toujours possible
 Les pages d’un processus se trouvent toutes en
mémoire virtuelle
 Accès uniquement virtuel
 Existence de l’information
 Pour y accéder physiquement, il faut la faire migrer
en MC
 Swap entre disque et MC

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 391
Mémoire Virtuelle Paginée
(9)
 Accès en mémoire centrale
 Processus chargé partiellement en mémoire
centrale
 Accès physique à une donnée D
 Possible que si la page qui contient D est chargée en
mémoire centrale
 Utilisation de la Table des Pages pour le savoir
 Si page non chargée
 Déroutement
 Cause : Défaut de page
 Résolution du défaut de page par le système

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 392
Performances (1)
 Transformation d’adresses
 Opération de transformation
 Opération fréquemment sollicitée
 Exécutée à chaque accès
 Augmente le temps d’accès à une donnée
 Réalisée par le hardware
 MMU: Memory Management Unit

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 393
Performances (2)
 Utilisation de la table de pages
 Table de pages en MC
 Réside de manière permanente en MC
 2 d’accès à la mémoire pour effectuer la
transformation
 Accès à la Table de Pages
 Vérifier si défaut de page ou pas
 Accès au mot référencé
 Si pas de défaut de page

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 394
Performances (3)
 Où stocker la table de pages
 Solution 1 : Registres de l’UC
 Rapidité
 Nombre de registres limités
 Première solution utilisée

 Solution 2 : dans une ou plusieurs


mémoires
 Chargement total si taille réduite
 Augmentation du temps d’accès
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 395
Mémoire associative (1)
 Définition
 Mémoire classique
 Accessible par adresse
 Adresse  Contenu (Valeur)
 Mémoire associative
 Taille plus petite
 Technologie différente de celle de la MC
 Accès rapide (accès parallèle)
 Accessible par contenu
 Contenu (Valeur)  Adresse (?)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 396
Mémoire associative (2)
 Mémoire associative et
transformation d’adresse
 Peut être utilisée comme fonction de
transformation
 Mémoire rapide
 Cherche la présence d’une valeur
 Objectif
 Savoir si une page est chargée ou non en MC
 Cache associatif

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 397
Mémoire associative (3)
No Page No Case

3 15

7 19

0 17

2 23

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 398
Techniques de pagination
(1)
 Pagination à un niveau

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 399
Techniques de pagination
(2)
 Pagination à 2 niveaux
 Taille de la TP
 Très grande
 Nombre de pages très grand
 Nécessaire pour faire la transformation
 Difficulté de la charger totalement
 Taille de mémoire disponible limitée
 Taille de la TP
 Chargement de TP par parties
 Augmente les E/S

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 400
Techniques de pagination
(3)
 Paginer la table de pages
 Notion d’hyperpage
 Ensemble de pages
 Adressage
 (Hyperpage,Page,Déplacement)
 Table des hyperpages
 Taille réduite
 Chargée totalement en MC
 Tables de pages d’une hyperpage
 Ne charger que celles qui sont utilisées

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 401
Techniques de pagination
(4)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 402
Mémoire Virtuelle
Segmentée (1)
 Pagination
 Unité d’allocation fixe
 PAGE (taille uniforme)

 Fragmentation interne
 Uniquement dans la dernière page
 Solution
 Choisir une unité de taille variable
 SEGMENT au lieu de Page

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 403
Mémoire Virtuelle
Segmentée (2)
 Segmentation
 Correspond au découpage logique d’un
programme
 Segment
 Unité logique : partie d’un programme
 Fonction, Classe, Méthode, …
 Unité physique : suite contigüe d’octets
 Tailles variables
 Mémoire virtuelle segmentée
 Ensemble de segments virtuels

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 404
A Données
Appel(D) B
Fonction
Principale Accès(C,x)

C
D
Accès(B,y)

Données
Fonction D

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 405
Mémoire Virtuelle
Segmentée (3)
 Adressage
 Adressage virtuel segmenté
 (S,Dep)
 S: numéro de segment
 Dep: déplacement à l’intérieur du segment

 Transformation d’adressage
 Utiliser une fonction de transformation
comme dans le cas des pages

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 406
Mémoire Virtuelle
Segmentée (4)
 Table de segments

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 407
Algorithmique (1)
 Problèmes d’allocation
 Problème de placement
 Résolution d’un défaut de page
 La charger en MC
 Existence de case(s) libre(s) en MC
 Placer la page à charger dans une des cases
libres
 N’importe laquelle
 Cases = {Ressources Banalisées}
Banalisées
 Mettre à jour la Table des Pages

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 408
Algorithmique (2)
 Problème de remplacement
 Résolution d’un défaut de page
 Pas de cases libres
 Solutions
 Chargement différé
 Attendre qu’une case se libère
 On se ramène au problème de placement
 Chargement immédiat (Ex: Priorité)
 Décharger une page (libérer une case)
 Charger la page qui a fait défaut à la place de la
page déchargée

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 409
Remplacement (1)
 Position du problème
 MC saturée
 Pas de cases libres

 Défaut de page (DP) qui nécessite un


chargement immédiat
 Nécessité de faire du swap
 Décharger une page (P)  Libérer la case qui la
contient
 Remplacer (P) par celle qui a provoqué le DP (P’)
P’

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 410
Remplacement (2)
 Remplacement
 Décharger une page P
 P est appelée PAGE VICTIME
 Une page parmi celles qui sont en MC
 Libération de la case qui la contient
 Faut-il l’écrire sur disque ou non (swap-out) ?
 Connaître si elle a été modifiée ou non depuis sa
date de chargement
 Chargement de la page P’
 Problème de placement
 P’ sera chargée dans la case qui était allouée à P

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 411
Remplacement (3)
 Problème posé par le remplacement
 Page victime
 Déchargée en mémoire virtuelle
 Peut créer un défaut de page si elle est de nouveau
référencée
 Problème de choix d’une page victime
 Selon quel critère la choisir ?
 Meilleur critère
 Choisir une page qui ne sera plus référencée
 Ne provoquera plus de défaut de page à partir de
l’instant où elle a été déchargée

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 412
Algorithmes de
remplacement (1)
 Eléments de base
 Chaîne de références
 Séquence des n° de pages référencées par
un processus durant son exécution
 Exemple
 <1,1,1,4,4,5,2,3,3,3,1,1, … >
 Principe de localité d’accès
 Durant une période, un processus accède
au même sous-ensemble de pages au cours
de son exécution
 Concentration des accès dans ce sous-ensemble

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 413
Algorithmes de
remplacement (2)
 Critères de performance
 Existence de plusieurs algorithmes
 Comment savoir quel est le meilleur ?

 Meilleur algorithme
 Celui qui génère le plus petit nombre de
défauts de pages pour une chaîne de
références donnée

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 414
Algorithmes de
remplacement (3)
 Propriété d’une chaîne de
références
 Sous-séquence stable
  : période de temps
 Période de t à t+
 Sous-séquence stable durant la période 
 Processus fait référence aux mêmes pages
durant cette période
 Accès regroupés
 Exemple: Exécution séquentielle d’une fonction

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 415
Algorithmes de
remplacement (4)
 Sous-séquence non stable
 Processus fait référence à des pages de manière
aléatoire
 Exemple : appels de fonctions, méthodes, etc.
 Les sous-séquences non stables sont moins fréquentes
et moins longues que les sous-séquences stables
 Intérêt
 Possibilité de deviner les accès futurs à
partir des accès récents
 Processus entre dans une période de stabilité quand il
commence l’exécution d’une fonction, d’une méthode,
etc.

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 416
Algorithmes de
remplacement (5)
 OPTIMAL
 Critère de choix
 Page qui ne provoquera pas de défaut de
page dans le futur, ou
 Page qui repoussera le plus loin possible
le défaut de page (vers la fin du processus)
 Suppose la connaissance de la chaîne des
références futures
 Algorithme théorique de référence

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 417
Algorithmes de
remplacement (6)
 FIFO
 Critère de remplacement
 Choix de la page victime
 Première page chargée sera la première à être
déchargée en cas de défaut de page
Algorithme très simple à mettre en œuvre
 Classement des pages par date de chargement
 Garder la trace des dates de chargement

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 418
Algorithmes de
remplacement (7)
 LRU
 Least Recently Used
 Approximation de l’algorithme Optimal
 Critère de choix de la page victime
 La page la moins récemment référencée
 Idée basée sur la localité d’accès
 Page récemment référencée a plus de chance d’être
référencée de nouveau par rapport à une page
ancienne
 Classer les pages par date d’utilisation
 Garder trace des dates de référence (d’accès)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 419
Algorithmes de
remplacement (8)
 Algorithme de l’horloge
 Appelé aussi Algorithme de la Seconde
Chance (FINUFO)
 Principe
 FIFO amélioré
 Utilise deux dates
 Date de chargement et date de référence

 Pages récemment référencées ne seront pas remplacées


tout de suite (obtiennent une seconde chance)
 Garder une trace sur l’utilisation des pages (bit)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 420
Algorithmes de
remplacement (9)
 Principe
 Utilisation d’un anneau circulaire des
cases
 Nombre d’éléments de l’anneau
 Nombre de cases de la mémoire centrale
 Chaque élément de l’anneau correspond à une case
bien précise
 Numéros des cases organisés selon l’ordre croissant
 Contenu d’un élément de l’anneau
 Numéro de page chargée dans la case
correspondante

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 421
Algorithmes de
remplacement (10)
 Parcours de l’anneau selon les aiguilles
d’une montre
 Utilisation d’un pointeur
 Pointe sur la case qui suit celle dans laquelle on a
fait le dernier chargement d’une page

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 422
Algorithmes de
remplacement (11)
 Choix de la page victime
 Partir de la position courante du pointeur
 Rechercher de manière circulaire, sur l’anneau, la
première page dont le bit d’utilisation est égal à 0
 Page victime : page dont le bit est à 0
 Durant la recherche, tous les bits qui sont à 1 sont
remis à 0
 Bit à 1: page a été utilisée (référencée)
 Remise à 0 : supposer qu’elle ne sera plus
référencée (hypothèse)
 Si elle est de nouveau référencée, son bit
basculera à 1 sinon il restera à 0

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 423
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 424
Algorithmes de
remplacement (12)
 WORKING SET (WS) ou
ensemble de travail
 Basé sur une notion de fenêtre
 Fenêtre : espace de travail pour un
processus
 Définie par une taille 
 Nombre de pages de la fenêtre
 Contenu de la fenêtre (espace de travail)
 Pages « nécessaires » à un processus pour ne pas
provoquer de défauts de pages
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 425
Algorithmes de
remplacement (13)
 Critère de choix de la page victime
 Page qui ne fait partie de l’espace de
travail
 Page en dehors du working set
 Mise à jour permanente du contenu de
l’espace de travail
 Difficulté
 Choisir une taille appropriée de l’espace
de travail (fenêtre)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 426
Algorithmes de
remplacement (14)
Chaîne de
références
…2615777751623412344434344413234443444…

 

t1 t2
WS(t1) = {1, 2, 5, 6, 7} WS(t2) = {3, 4}  = 4 donnerait le même résultat
pour t2 !!!
Exemple de working set

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 427
Algorithmes de
remplacement (15)
 Anomalie de Belady
 Nombre de défauts de pages
 Dépend
 Du nombre de cases de la MC
 De la chaîne de références
 Algorithme de remplacement utilisé
 Intuitivement
 Augmentation de la taille de la MC  Diminution
du nombre de défauts de pages
 Constat
 L’augmentation du nombre de cases mémoire peut
augmenter le nombre de défauts de pages

Anomalie de Belady
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 428
Ecroulement d’un système
(1)
 Position du problème
 Appelé aussi TRASHING
 Objectif de gestion
Rentabiliser l’utilisation du processeur
 Augmenter le degré de multiprogrammation
 Plus de processus en mémoire centrale

 Moins d’espace pour chaque processus

 Augmentation du nombre de défauts de pages

 Nombre élevé d’E/S (Résolution des DP)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 429
Ecroulement d’un système
(2)
 Ecroulement d’un OS
 Très forte activité de pagination
 Nombre de défauts de pages très grand
 Succession de swaps
 Le processeur passe son temps à résoudre des
problèmes de défauts de pages (déroutements)
plutôt que d’exécuter des processus
 Cas très fréquent du système Windows

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 430
PARTIE 15

Gestion de
Disque
Systèmes d'Exploitation
IF3 - 2011/2012 Y. SLIMANI 431
Introduction
 Mémoires secondaires
 Mémoires de stockage permanentes
 Caractéristiques
 Technologie (IDE, SCSI, …)
 Taille
 Type d’accès (R, RW)
 Temps d’accès
 Fixes ou Mobiles

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 432
Disque magnétique (1)
 Présentation
 Surface magnétique
 1 ou 2 faces
 Division de la surface
 Pistes (Track)
 Pistes divisées en Secteurs (Sectors)

 Lecture/Ecriture avec des dispositifs


magnétiques
 Têtes de lecture/écriture (R/W)
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 433
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 434
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 435
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 436
Disque magnétique (2)
 Composants
 Partie électronique
 Rapide

 Partie électromécanique
 Déplacement des têtes
 Moins rapide
 Ralentit les temps d’accès
 Peut être optimisée
 Gestion des déplacements des têtes

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 437
Disque magnétique (3)
 Unité d’allocation et d’accès
 Secteur ou Bloc
 Taille usuelle : 512 octets

 Opérations
 Lecture
 Ecriture
 Spécifiques
 Déplacement des têtes de R/W

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 438
Disque magnétique (4)
 Adressage
 Information se trouve dans un secteur
 Adresse d’une information
 Triplet : (Cylindre,Piste,Secteur)
 L’information cylindre est utilisée quand on a plus d’une
surface

 Gestion d’un disque


 Espace (rentabiliser)
 Temps d’accès (minimiser)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 439
Disque magnétique (5)
 Paramètres de gestion
 Soit une opération d’accès à une
information d’adresse (p,s) sur disque
 Temps nécessaires pour l’exécuter : 4
 Temps d’attente du canal pour exécuter
l’opération
 Opérations prises en charge par un canal
 Exécutées de manière séquentielle
 Attendre (éventuellement) la libération du canal
 Occupé par une autre opération

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 440
Disque magnétique (6)
 Temps de positionnement des têtes
 Déplacement des têtes de R/W pour les positionner
sur la piste considérée
 Appelé Seek time
 Temps de latence ou de rotation
 Attendre que le secteur considéré se positionne
sous les têtes de lecture/écriture
 Temps de transfert physique
 Temps de lecture ou d’écriture de l’information

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 441
Gestion des accès disque
 Files d’attente
 Demandes d’accès stockées dans une ou
plusieurs files d’attentes
 Suite de numéros de pistes
 Une file par piste ou une file pour toutes les
pistes d’un disque
 Piste courante (dynamique)
 Piste où se trouvent, à un instant donné,
les têtes de lecture/écriture
 Piste où a eu lieu la dernière opération

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 442
Algorithmique (1)
 Position du problème
 Piste courante : PC
 File d’attente des demandes d’accès
 Choix d’un ordre de traitement
 Fixer l’ordre de traitement des demandes
d’accès
 Objectif
 Réduire au maximum les déplacements physiques
des têtes de lecture/écriture
 Réduire le nombre de mouvements mécaniques

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 443
Algorithmique (2)
 Critère de performance
 Existence de plusieurs algorithmes
 Comment décider quel est le meilleur ?

 Critère de performance
Nombre de déplacements des têtes de
lecture/écriture
 Meilleur algorithme
 Celui qui génère le plus petit nombre de
déplacements pour une file d’attente

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 444
Algorithmique (3)
 Algorithme FIFO
 Traitement des demandes dans l’ordre
de leur arrivée
 Similaire à un déplacement de cheval
 Va et vient (saut) aléatoire
 Fonction des pistes auxquelles on accède par
rapport à la piste courante
 Avant, Arrière

 Mauvaises performances

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 445
Mouvement total: 640 = (98-53) + (183-98) +...
En moyenne: 640/8 = 80

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 446
Algorithmique (4)
 Algorithme SSTF
 Plus court d’abord
 Shortest Seek Time First
 Choisir la piste qui nécessite le minimum
de déplacements par rapport à la piste
courante
 Peut causer une « Famine »
 Concentration des accès autour d’une
piste ou d’un sous-ensemble de pistes

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 447
Mouvement total: 236 (680 pour le précédent)
En moyenne: 236/8 = 29.5 (80 pour le précédent)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 448
Algorithmique (5)
 Algorithme SCAN
 Utilise la stratégie d’un ascenseur
 Balayage des pistes d’un disque dans un
sens puis dans l’autre
 En avant ou en arrière
 Traitement des demandes d’accès dans le
sens du balayage des pistes
 Changement de sens
 Arrivée aux pistes extrêmes
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 449
Mouvement total: 208
En moyenne: 208/8 = 26 (29.5 pour SSTF)
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 450
Algorithmique (6)
 Algorithme LOOK
 Problème de SCAN
 Déplacement jusqu’aux pistes extrêmes
pour changer de sens
 Déplacements inutiles
 Pas de demandes d’accès au-delà d’une certaine
piste
 Solution
 Changer de sens à n’importe quelle piste
 Piste au-delà de laquelle il n’y a plus de demandes à
traiter (nécessite des tests pour le savoir)
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 451
Algorithmique (7)
 Variantes de SCAN et LOOK
 C-SCAN
 Retour « rapide » à la piste 0 pour changer de
sens
 Retour considéré comme un seul déplacement
 On considère que les pistes du disque sont «
adjacentes » (Circulaire)
 C-LOOK
 Algorithme Look circulaire
 Aller vers la piste où il y a une demande

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 452
Exemple 1 de C-LOOK

153 sans considérer le retour (19.1 en moyenne) (26 pour SCAN)


MAIS 322 avec retour (40.25 en moyenne)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 453
Exemple 2 de C-LOOK

direction

Retour 169

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 454
Disques RAID (1)
 Performances d’accès
 Comment améliorer les temps d’accès
 Méthodes d’allocation de l’espace disque
 Exemple du système Unix (voir cours Unix)
 Utilisation de nouveaux types de disques
 RAID (Redundant Array of Inexpensive/Independent
Disks)
 Objectifs
 Redondance des données
 Parallélisation des E/S

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 455
Disques RAID (2)
 Types de disques RAID
 5 niveaux de disques
 Raid 0 à Raid 4
 Raid 0
 Découpage d’un ensemble de données en partitions
de tailles égales
 Distribution des partitions sur différents disques
 Pas de redondance

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 456
Disques RAID (3)
 Raid 1 (Niveau 1)
 Utilisation de disques miroirs
 Un disque miroir pour chaque disque
 Ecriture sur tous les disques pour assurer la
cohérence
 Lecture de n’importe quel disque

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 457
PARTIE 16

Système de
Gestion de Fichiers
Systèmes d'Exploitation
IF3 - 2011/2012 Y. SLIMANI 458
Introduction (1)
 Notion de fichier
 Elément de base d’un système
 Ensembles d’informations destinés à être
 Stockés
 Utilisés
 Organisations des fichiers
 Organisation logique
 Vue utilisateur
 Arbre de fichiers
 Organisation physique
 Implantation de l’arbre sur un support physique

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 459
Introduction (2)
 SGF
 Elément fondamental d’un OS
 Interface entre un utilisateur et les
fichiers
 Ensemble de services internes (fonctions)
 Transparents par rapport à l’utilisateur
 Ensembles de services externes (fonctions)
 Visibles à l’utilisateur
 Peut les utiliser soit à travers des interfaces
graphiques soit à travers ses programmes et
applications

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 460
SGF (1)
 Organisation d’un disque
 Détermine le fonctionnement d’un SGF
 Structure logique d’un disque
 Partitions physiques et logiques

 Partitionnement physique
 Espace disque divisé en partitions
 SGF propre à chaque partition
 Répertoire propre à chaque partition
 Ensemble des fichiers de la partition

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 461
SGF (2)
 Intérêts
 Sécurité
 Fichiers séparés
 Possibilité d’installer plusieurs systèmes
d’exploitation
 Inconvénient
 Perte d’un peu d’espace
 Informations sur le partitionnement

 Partitionnement logique
 « Eclater » un disque dur

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 462
SGF (3)
 Outils de partitionnement
 FDisk, Partition Magic, GParted, etc.

 Partition
 Partie d’un disque
 Types
 Primaire ou principale
 Possibilité d’avoir au maximum 4 (contrainte du
BIOS), dont une seule peut être active
 Seule la primaire est amorçable sous Windows
 Sous Linux, elles sont toutes amorçables
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 463
SGF (4)
 Etendue
 Introduite pour dépasser la limite de 4 partitions
primaires
 Une partition primaire parmi les 4 peut être

décomposée en partitions logiques


 Doit contenir au moins une partition logique
 Logique
 Propriétés
 Amorçable
 Visible ou cachée
 Active ou non

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 464
SGF (5)
Secteur Boot d’une partition
 Un secteur boot par partition
 Premiers secteurs (blocs) de la partition
 Contenu
 Propriétés de la partition (SGF utilisé)
 Secteur d’amorçage si elle contient un OS
 Secteur MBR
 Master Boot Record
 Premiers secteurs d’un disque
 Cylindre 0, Tête 0, Secteur 1
 Situé avant la première partition physique
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 465
SGF (6)
Contenu
 Informations sur le disque
 Fabricant, Numéro de série, Nombre d’octets
par secteur, Nombre de secteurs par cluster, etc.
 Table des partitions primaires
 Taille, propriétés
 Système d’amorçage
 Programme exécuté par le BIOS

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 466
SGF (7)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 467
SGF (8)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 468
SGF (9)
 Systèmes de fichiers
 Existence de plusieurs systèmes
 FAT32
 Windows
 Reconnu par Linux
 Peut gérer des disques de 2 To
 NTFS
 Utilisé par Windows NT, 2000, XP, 7
 Reconnaissable par Linux

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 469
SGF (10)
 Linux Ext2 (Ext2FS)
 Non reconnu par DOS et Windows
 Linux Ext3 (Ext3FS)
 Extension de Ext2FS
 Disques de 4 To
 Journalise les opérations sur les fichiers
 Récupération rapide en cas de corruption
 Linux Swap
 Système pour la mémoire virtuelle

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 470
SGF (11)
 Répertoire
 Organisation d’un ensemble de fichiers
 Les structurer (organiser) sous forme d’un
arbre (graphe acyclique) de fichiers
 Relation entre les éléments de cette arborescence
 Relation Père/Fils
 Un père peut avoir 0 ou plusieurs fils
 Un fils a un et un seul père
 Seul un répertoire peut jouer le rôle de Père
 Existence d’une seule racine pour un arbre

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 471
SGF (12)
 Deux répertoires fondamentaux
 Répertoire racine
 Plus petit arbre possible
 Répertoire courant ou répertoire de base
 Représente une base pour toute opération sur
les fichiers sauf indication contraire
 Toutes les opérations seront définies à partir de
ce répertoire courant
 Peut évoluer dans le temps

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 472
PARTIE 17

Sécurité et
Protection
(Aspects système)

Systèmes d'Exploitation
IF3 - 2011/2012 Y. SLIMANI 473
Introduction
 Sécurité
 Définir des objectifs et des politiques
de sécurité
 Protection
 Mise en place de ces objectifs et
politiques
 Mécanismes, Outils, Méthodes, etc.

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 474
Protection (1)
 Protéger l’accès au système
 Accès physique
 Mise en ON (manuelle)
 Reconnaissance physique de la machine
 Reconnaissance des composants de la machine
 Aucun accès au système
 Ressources physiques et logiques non accessibles
 Pas d’affichage du bureau, ni de la fenêtre de
commandes

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 475
Protection (2)
 Accès logique
 Mise en place d’une procédure d’accès
 Procédure de login
 Accès soumis à des conditions
 Acceptation ou refus de l’accès
 Accès n’est plus libre (cas Windows)
 Accès uniquement pour les utilisateurs autorisés

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 476
Protection (3)
 Technique utilisée
 Authentification
 Existence de comptes pour les utilisateurs
 Compte dans une machine
 Donne « accès », selon certaines conditions, aux

ressources de cette machine


 Caractéristiques d’un compte
 Nom et Mot de passe
 Groupe, Privilèges particuliers, …
 …

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 477
Protection (4)
 Protection des ressources
 Protection de l’accès au système
 Accès maîtrisé ( par authentification)
 Et après
 Ne pas laisser l’utilisateur faire n’importe quoi
 Réglementer l’utilisation des ressources du système
 Accès aux ressources
 Définir des règles (droits) d’utilisation des
ressources (physiques et logiques)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 478
Protection (5)
 Principe fondamental
 Need to Know
 Permettre à une entité d’accéder uniquement à ses
propres données et aux données dont elle a besoin
 Liberté d’accès à ses propres fichiers
 L’accès aux autres données est soumis à des
conditions qui doivent être respectées

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 479
Protection (6)
 Protection des données en MC
 Mémoire centrale partagée
 Données et processus système(s)
 Données et processus utilisateurs

 2 niveaux de protection
 Protéger le système contre les utilisateurs
 Protéger les espaces utilisateurs entre eux

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 480
Protection (7)
 Mécanismes
 Utilisation de deux registres limites
 Adresse début de l’espace alloué à un processus
 Adresse fin de cet espace
 Font partie du contexte d’un processus
 Accès autorisés uniquement dans les
limites définies par ces deux registres
 Impossibilité d’accès à la zone système
 Système non protégé
 MS-DOS et Windows

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 481
Protection (8)
 Mécanisme de contrôle de base
 Assuré par la MMU
 Memory Management Unit
 Circuit physique qui gère les accès à la mémoire
centrale
 Exemple
 Eviter qu’un programme utilisateur accède à la

zone système et aux autres zones de la mémoire


 S’assurer qu’il reste dans l’espace qui lui a été
alloué par le système (comparaison d’adresses)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 482
Protection (9)
 Notion de domaine
 Modèle abstrait de protection

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 483
Protection (10)
 Notion d’anneau de protection
 Introduite par le système MULTICS

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 484
Protection (11)
 Matrice d’accès
 Définit les modalités d’accès aux
ressources
 Non accessible directement par les users
 Modalités d’utilisation
 Matrice accessible que par des processus
système ou utilisateurs autorisés (root sous
Unix)
 Permet à l’OS de vérifier les accès
 Comparaison entre accès demandés et accès autorisés

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 485
Protection (12)
 Définition des droits d’accès
 Permissions, Policies, Right access,
Capacités, Capabilities
 Définis par les utilisateurs propriétaires
des fichiers, objets, …
 Qui accède à Quoi et Pour faire Quoi
 Peuvent changer au cours du temps
 Modifiables uniquement par ceux qui les
déterminent
 Propriétaires des ressources (fichiers sous Unix)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 486
capacités
du
domaine D2

capacités sur le fichier F2

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 487
Protection sous UNIX (1)
 Principes
 Utilisateur
 Tout utilisateur a un compte Unix
 Il est propriétaire des fichiers qu’il crée
 Il est utilisateur potentiel des autres fichiers
(ceux qu’il n’a pas crée)
 Utilisateurs rassemblés en groupes
 G1 = {U1, U2, U3}
 G2 = {U1,U4}
 G3 = {U6,U8,12}

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 488
Protection sous UNIX (2)
 Utilisateurs d’un fichier
 Divisés en 3 catégories
 Propriétaire : Owner
 Fixe les droits d’accès sur ses propres fichiers
 Droits: R, W, X
 Il les fixe pour lui, pour les membres de son
groupe et pour les autres
 Groupe du propriétaire : Group
 Autres : Others

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 489
Protection sous UNIX (3)
 Droits d’accès
 Fixés par le propriétaire uniquement
 Droits dynamiques
 Système assure que les droits fixés par
le propriétaire seront respectés à tout
instant
 Accès à un fichier n’est pas systématique
 Vérifier si l’opération d’accès à un fichier est conforme
aux droits fixés par le propriétaire de ce fichier

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 490
PARTIE 18

Structuration
des OS
Systèmes d'Exploitation
IF3 - 2011/2012 Y. SLIMANI 491
Structuration des
systèmes (1)
 Intérêt de la structuration
 Définir des normes, des règles, des
méthodes, des techniques, des outils
pour faciliter
 La Conception
 Le Développement
 La Maintenance
 L’Evolution des systèmes (et des
applications)
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 492
Structuration des
systèmes (2)
 Types de structuration
 Monolithique
 Par couches ou par niveaux
 Machines Virtuelles

 Client/Serveurs
 Micro-noyau
 …

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 493
Structure monolithique (1)
 Forme
 Ensemble indissociable de fonctions
 Coopèrent pour réaliser des fonctions
plus complexes
 Chaque fonction est visible par toutes les
autres (accessible directement)
 Aucune transparence
 Coopération par appel de procédure
 Absence de structuration
 Un seul programme exécutable

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 494
Structure monolithique (2)
 Exemples
 MS/DOS, Win--, Unix
 Principe de fonctionnement
 Déclencher un appel système
 Appel d’une fonction du noyau
 Exécution de la fonction en mode système

 Retour au processus appelant

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 495
Structure monolithique (3)
 Synthèse
 Structure complexe
 Mélange de fonctions très diversifiées
 Manque de flexibilité
 Evolution très difficile
 Maintenance complexe
 Système : Boîte noire
 Difficile (voire impossible) de comprendre son
fonctionnement interne

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 496
Structure en couches (1)
 Principe
 Décomposer un système en couches
 Hiérarchiser les couches
 Couche la plus basse
 Matériel
 Couche la plus haute
 Applications utilisateurs
 Hiérarchie des couches correspond à une
logique

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 497
Structure en couches (2)
 Fonctionnement
 Couche i utilise les services (fonctions)
de la couche (i-1)
i-1 et fournit des
fonctions (services) pour la couche (i+1)
i+1
 Je définis (i) à partir de (i-1)
i-1
 Tu (i+1)
i+1 utilises ce que j’ai (i) défini
 Tu (i+1)définis,
i+1 et ainsi de suite
 Exemples
 THE (Dijkstra), MULTICS, UNIX, …

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 498
Structure du système THE

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 499
Utilisateur

Utilisateur Shell Prog. d’app

Shell Prog. d’app Gest. de fichiers


Allocation de ressources
Gest. de fichiers

Gestion des E/S


Gestion des périphériques
et des Interruptions Gestion de la Mémoire

Gestion des IT et des processus


Matériel
Matériel
Mono-utilisateur
mono tâche Unix

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 500
Couches Fonctionnelles
Programmes
utilisateur

Interface Programmes d’application


utilisateur (éditeur, tableur, base de données, ...)
Programmes systèmes (compilateur,
chargeur, ...)

Système d’exploitation

Langage machine
Microprogramme

Machine physique
(mémoire centrale, processeur, périphériques, …)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 501
Avantages et
Inconvénients (1)
 Avantages
 Hiérarchie
 Connaissance restreinte de fonctionnalités
par couche
 Contrôle propre à chaque couche
 Confinement des erreurs (dans une couche)

 Développement
 Simultanéité (coût, rapidité, test, …)
 Facilité d’intégration

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 502
Avantages et
Inconvénients (2)
 Inconvénients
 Efficacité
 Passage obligé par la hiérarchie
 Appel de fonctions de bas niveau
 Modèle théorique
 Bon principe de conception
 Impose de la rigueur et de la discipline du point de vue
développement
 Pas toujours suivi en pratique
 Problème de coût (temps, financier, …)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 503
Exemples (1)
 Système MS/DOS
 Caractéristiques
 Fonctionnalités maximales avec le minimum
de ressources
 Mono-utilisateur, mono-tâche
 Pas de modularité dans sa conception
 Non structuré
 Ne supporte pas de fonctionnalités complexes
 Adaptation très complexe

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 504
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 505
Exemples (2)
 Système UNIX
 Mono ou Multi-utilisateurs
 Multi-tâches
 Structure du système
 Noyau (Kernel)
 Nombre élevé de fonctionnalités
 Muni d’interfaces
 Programmes (Services) du système
 Complément du noyau

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 506
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 507
Structure Client/Serveur (1)
 Structure du système
 Noyau
 Réduit au minimum
 Fonctions essentielles de base

 Ensembles de Serveurs
 Réalisent des fonctions plus complexes
 Serveurs de fichiers, Serveurs d’impression,
Serveurs de courriers, etc.

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 508
Structure Client/Serveur (2)
 Eléments du système
 Clients (utilisateurs de services)
 Serveurs (fournisseurs de services)
 Communication entre clients et
serveurs
 Envoi de messages
 Client vers Serveur : Requête
 Serveur vers Client : Réponse
 Communication à travers le noyau

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 509
Exemple: WinNT

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 510
Source: Tanenbaum

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 511
Structure micro-noyau (1)
 Objectif
 Réduire le noyau en terme de taille
 Réduction des fonctionnalités de base
dépendantes du noyau
 Evacuer certaines fonctions vers une
hiérarchie supérieure (sous-système)
 Fonctions placées dans un espace utilisateur
 Construire des sous-systèmes à partir du
micro-noyau

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 512
Structure micro-noyau (2)
 Système de base
 Noyau minimal
 Fonctions de base
 N’est pas le système final
 Ensemble de services
 Définis à partir du micro-noyau
 Définir son propre système

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 513
Structure micro-noyau (3)
 Avantages
 Interface plus simple
 Configurable
 Possibilité de mettre des serveurs au
dessus du micro-noyau
 Utilisation des services du micro-noyau
 Plus performant
 Système fonctionne même en cas de
panne d’un serveur
 Reprise à chaud sans redémarrage

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 514
Structure micro-noyau (4)
 Adaptée à la répartition
 Répartition
 Absence de centralisation
 Système global composé d’un ensemble de
sous-systèmes
 Utilisables à distance à travers le réseau

 Exemples
 Chorus, Argus, Amoeba, Mach

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 515
Exemple: OS/2 d’IBM

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 516
Exemples de micro-noyaux

Source: Wikipedia

Source: Cours C. Kaiser, CNAM Paris


Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 517
Micro-noyau enrichi

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 518
Machines Virtuelles (1)
 Constat
 Système lié à une architecture
 Accès aux ressources physiques de cette
architecture
 Problème
 Machine i Système i
 Que se passe-t-il si on change de machine ?
 Peut-on définir un OS pour tout type de
machine ?

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 519
Machines Virtuelles (2)
 Solution
 Approche logicielle
 Définir une couche qui offre plusieurs
machines physiques virtuelles
 Faire fonctionner un OS sur chacune de
ces machines
 Idée
 Séparer la fonction de gestion de la
fonction d’utilisation

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 520
Machines Virtuelles (3)
 Principe
 Ressource Virtuelle
 Tout ce qui n’est pas physique
 A priori aucune contrainte
 Nombre, type, etc.
 Machine virtuelle (MV)
 Créée par couche(s) logicielle(s)
 Mêmes potentialités que la physique (MP)
 Mêmes ressources, même jeu d’instructions, …
 Plusieurs MV sur la même MP

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 521
Machines Virtuelles (4)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 522
Machines Virtuelles (5)
 Exemples
 SUN, APPLE, Linux permettent de faire
fonctionner Windows sur leurs plates-
formes
 Fournissent un environnement
reconnaissable par Windows sous Intel
 Virtual Box, VMWare

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 523
PARTIE 19

Evolution des
OS
Systèmes d'Exploitation
IF3 - 2011/2012 Y. SLIMANI 524
Evolution (1)
 Historique
 Plusieurs périodes
 Evolution technologique
 Evolution conceptuelle

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 525
Evolution (2)
 Périodes
 Premiers systèmes
 Systèmes Batch
 Systèmes Multiprogrammés
 Systèmes Temps-partagé
 Ordinateurs Personnels (PC)
 Systèmes Réseaux

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 526
Evolution (3)
 Systèmes Parallèles
 Systèmes Répartis ou Distribués
 Systèmes Mobiles
 Grilles de calcul et de données
 Architectures multicoeurs
 Cloud computing

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 527
Début
 Découverte des OS
 Fonctionnalités communes à tous les
programmes
 Programmation de ces fonctionnalités
 Mises à la disposition des users
 Entrée/Sortie
 Amorçage du système

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 528
Systèmes Batch (1)
 Caractéristiques
 Début des véritables OS (50)
 Soumission de lots de Job’s (Programme)
 Opération manuelle
 Réalisée par un Opérateur
 Exécution Job/Job
 Opération automatique (Moniteur)
 Moniteur résident en MC (premier OS)
 Exécution d’un seul Job à la fois

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 529
Bandes
magnétiques Disques

Lecteur de
Console opérateur
cartes

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 530
Systèmes Batch (2)
 Fondements
 Premiers concepts des OS
 Repris par tous les systèmes
 Evolution
 Avancées technologiques
 Techniques de développement de logiciels

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 531
Systèmes Batch (3)
 Concept de Moniteur
 Programme résident en MC
 Lecture des Job’s
 Suite de cartes perforées
 Interprétation des cartes
 Début; Données+Instructions; Fin

 Chargement en MC du Job à exécuter


 Moniteur donne le contrôle au Job chargé

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 532
Systèmes Batch (4)
 Exécution d’un Job jusqu’à
 Fin du Job
 Déclenchement d’une E/S
 Erreur (arrêt du Job)

 Moniteur reprend le contrôle


 Le donne au même Job (fin d’E/S)
 Ou au Job suivant
 Exécution séquentielle de Job’s
 Enchaînement automatique de l’exécution des Job’s

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 533
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 534
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 535
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 536
Systèmes Batch (5)
 Propriétés exigées
 Protection mémoire
 Job’s ne doivent pas accéder au moniteur

 Gestion du temps
 Eviter qu’un Job utilise le temps
indéfiniment
 Boucle infinie
 L’arrêter (interrompre) en cas de besoin

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 537
Systèmes Batch (6)
 Exécution des instructions
 Deux classes d’instructions machine
(Modes)
 Celles exécutées uniquement par le moniteur
 Instructions Privilégiées
 Mode Moniteur
 Celles exécutées par les Job’s utilisateurs
 Instructions non privilégiées
 Mode Utilisateur
 Passage de mode à mode selon des règles

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 538
Systèmes Batch (7)
 Interruptions
 Elément fondamental des OS
 Assurent, selon des conditions précises, le
transfert de contrôle entre
 Système d’exploitation
 Périphériques d’Entrées/Sorties
 Programmes utilisateurs

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 539
Systèmes
Multiprogrammés (1)
 Caractéristiques
 Défaut des systèmes batch
 Très mauvaise utilisation des ressources
 Exécution Job/Job
 Ralentissement dû aux E/S
 Evolutions technologiques
 Utilisation de disques (vs bandes)
 Grandes capacités
 Accès direct aux données (non séquentiel)
 Temps d’accès rapide

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 540
Systèmes
Multiprogrammés (2)
 Apparition des canaux d’E/S
 Processeurs autonomes spécialisés pour l’exécution
de programmes d’E/S
 Evolution des mémoires centrales
 Plus grandes capacités
 Temps d’accès plus rapide
 Multiprogrammation
 Multiprogrammer l’utilisation de la
machine par plusieurs programmes
 Faire du calcul en même temps que les E/S

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 541
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 542
Systèmes
Multiprogrammés (3)
 Propriétés exigées
 Les mêmes que pour le Batch
 Mais plus importantes
 Protection
 Système par rapport aux utilisateurs
 Mais aussi utilisateurs entre eux
 Interruptions
 Rôle plus important

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 543
Systèmes
Multiprogrammés (4)
 Nouveauté
 Spooling ou Spoule
 Anticipation
 Stocker les Job’s (programmes) sur un
support externe (Disque)
 Les charger, sans intervention d’un
opérateur humain, en MC pour exécution
 Quand charger ?
 Combien faut-il charger ?
 Quels programmes charger ?

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 544
Systèmes
Multiprogrammés (5)
 Principe
 Simultanéité entre calcul et E/S
 Processeur : Calcul
 Canal : E/S

 Pénalise certains programmes


 Programmes qui font peu de calcul
 Exécutés après de longs programmes de calcul
 Trouver un équilibre
 Répartir équitablement les ressources entre les
programmes
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 545
Systèmes Temps-Partagé
ou Time-sharing (1)
 Systèmes multiprogrammés
 Meilleure exploitation des ressources
 Pas d’interactivité avec les utilisateurs
(user passif)
 Soumission, récupération des résultats
 Mauvaise répartition des ressources
d’une machine entre utilisateurs
 Exemple: temps processeur

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 546
Systèmes Temps-Partagé
ou Time-sharing (2)
 Idée
 Garder les principes des systèmes
multiprogrammés
 Partager équitablement le temps
 Accès simultané et interactif au
système à l’aide de TERMINAUX
 Légers: Clavier/Ecran
 Terminaux esclaves
 Lourds: PC, Stations, …
 Terminaux intelligents

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 547
Terminaux Esclaves

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 548
Terminaux Intelligents

Ordinateur central
Serveur

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 549
Systèmes Temps-Partagé
ou Time-sharing (3)
 Propriétés exigées
 Nouvelles exigences
 Communication entre users
 Gestion plus complexe
 Partage du processeur et de la mémoire centrale
 Interactivité plus grande
 Utilisateur présent de manière permanente pendant
l’exécution de ses programmes
Temps de réponse acceptable à l’échelle
humaine
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 550
Ordinateurs Personnels
 Caractéristiques
 Evolution de la technologie
 Diversité des domaines d’application
 Ordinateur à la portée de tous
 Puissance de + en + grande
 Mobilité

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 551
Systèmes Réseaux (1)
 Caractéristiques
 Evolution des technologies de
communication
 Evolution des ordinateurs
 Plus petits, plus puissants
 Développement de l’Internet
 Notion de machine SERVEUR
 Utilisateurs
 Deviennent des clients vis-à-vis des serveurs

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 552
Systèmes Réseaux (2)
 Idée
 Interconnecter des ordinateurs
 Réseau Local (LAN)
 Réseau Mondial (WAN)

 Aspect communication
 Gestion de la communication
 Protocoles de communication
 TCP/IP, …

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 553
Systèmes Temps-réel
 Caractéristiques
 Contrainte temporelle en plus de la
contrainte de résultat
 Durée de traitement
 Date de délivrance d’un résultat
 Embarqués, le plus souvent, dans des
dispositifs physiques
 Avion, portable, …

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 554
Systèmes Parallèles
 Caractéristiques
 Plusieurs processeurs
 Plusieurs horloges
 1 seule mémoire centrale
 Même espace pour tous les programmes
 Modèle d’exécution parallèle
 N programmes en même temps (N UC’s)
 Accès séquentiel à la mémoire centrale
 Synchronisation et communication entre
programmes
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 555
Systèmes Distribués ou
Répartis
 Caractéristiques
 Machine composée de N sites hétérogènes
 Site = 1 machine
 Connexion des sites à travers un réseau
 Communication par messages
 Sites sont distants les uns par rapport aux autres
 Utilisation d’un middleware
 Système au dessus des OS
 Gère l’hétérogénéité et la communication entre sites

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 556
Systèmes Mobiles
 Caractéristiques
 Ordinateurs portables
 Systèmes incorporés à des composants
physiques
 Téléphone portable
 Cartes à puces (banque, voiture, …)

 Capacités limitées (ressources)


 Connexion continue à un réseau
 Problème de déconnexion

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 557
Grilles de calcul
 Caractéristiques
 Relier des machines, à travers un réseau,
à une échelle +/- grande
 Super machine virtuelle
 Utilisent un middleware spécifique
 Types
 Grilles de calcul (Grid Computing)
 Grilles de données (Data Grid)

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 558
Architectures multi-cœurs
(1)
 Présentation
 Nouvelles architectures
 Définitions un peu confuses
 Core, Core 2 Duo, Dual Core, …
 Objectif
 Intégrer de la puissance de calcul sur une
seule puce
 Offrir la puissance de calcul des machines
parallèles
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 559
Architectures multi-cœurs
(2)
 Terminologie
 Cœur ou Core
 Architecture qui remplace le Pentium
 2
 Version du cœur
 Duo
 Nombre de cœurs
 Exemple
 Core 2 Quad

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 560
Architectures multi-cœurs
(3)
 Architecture
 Processeur Double cœur ou Dual Core
 Un seul processeur muni de 2 Cœurs
(Unités de Calcul) sur la même puce
 Différent d’un biprocesseur
 2 Processeurs distincts
 Partage de la mémoire cache (L2)
 Commune aux cœurs
 Intermédiaire entre cœurs et bus système

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 561
Architectures multi-cœurs
(4)
 Accès mémoire
 Découplage des accès mémoire
 Traitements parallèles sur des données différentes
 Bus de données
 1 seul cycle pour traiter des données de
128 bits (2*64 bits)
 Désactivation de cœurs non utilisés
 Réduction de la consommation d’énergie

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 562
Architectures multi-cœurs
(5)
 Systèmes d’exploitation
 Gestion plus complexe
 Gestion des contextes
 Gestion des accès (Cache et MC)
 Communication

 Programmation
 Parallèle, Distribuée, Pipe-line

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 563
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 564
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 565
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 566
Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 567
Cloud Computing (1)
 Caractéristiques
 Extension du grid computing (grilles de
calcul)
 Grid computing
 L’accent est mis sur les aspects architecture
 Cloud computing
 L’accent est mis sur les aspects applicatifs
 Appelé aussi Calcul dans les nuages

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 568
Cloud Computing (2)
 Objectif
 Déplacer des traitements informatiques
sur des serveurs distants

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 569
Références (1)
 Quelques références
d’ouvrages de base sur les OS
 A. SILBERSCHATZ, P. GALVIN, G. GAGNE. Operating System
Concepts. International Student Version, 8th Edition, Wiley,
February 2009.
 A. SILBERSCHATZ, P. GALVIN, G. GAGNE. Operating System
Concepts with Java, 8th Edition, Wiley, February 2010.
 Andrew S. TANENBAUM. Systèmes d'exploitation, 3 ème édition,
Octobre 2008, Edition Pearson Education.
 W. STALLINGS. Operating Systems: Internals and Design Principles,
5ème Edition, 2005, Prentice-Hall.
 Daniel P. BOVET, M. CESATI. Understanding the Linux Kernel,
Second Edition, December 2002, Edition O'Reilly Media.

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 570
Références (2)
 Kay A. ROBBINS, S. ROBBINS. UNIX Systems Programming:
Communication, Concurrency and Threads, 2003, Prentice-Hall.
 W. RICHARD STEVENS, Stephen A. RAGO. Advanced Programming in
the UNIX Environment, 2nd Edition, 2005, Addison-Wesley.
 U. RAMACHANDRAN, William D. LEAHY Jr. Computer Systems: An
Integrated Approach to Architecture and Operating Systems, First
Edition, July 2010, Addison Wesley.

Systèmes d’Exploitation
IF3 - 2011/2012 Y. SLIMANI 571

Vous aimerez peut-être aussi