Telechargé par Benina Dakite

système d exploitation

publicité
Cours sur les systèmes d’exploitation
Institut Universitaire Professionnel
Filière Réseaux et Télécommunications (RxTL)
Semestre 4
Année universitaire 2020/2021
Prof Dr. Meina AMAR
Prof Dr. Meina AMAR
1
Les systèmes
d’exploitation
Prof Dr. Meina AMAR
SsD
2
Système d’exploitation
Les systèmes informatiques
Les fonctions de base d’un système d’exploitation
Historique
Les fonctions de base d’un système d’exploitation
Présentation
Les fonctions de base d’un système d’exploitation
Système UNIX
Définition
logicielles
Une unité pour effectuer les traitements, également appelée unité centrale ou processeur,
Une unité pour contenir les programmes à exécuter qui est le lieu de travail dans un ordinateur
communément appelée mémoire centrale,
Des périphériques de stockage permanent pour y enregistrer les travaux effectués en mémoire
centrale tel que le disque dur,
Des dispositifs pour entrer et récupérer des données appelés périphériques d'entrée-sortie (E/S): un
écran, une souris, un clavier, un lecteur de disquettes et un lecteur de CD-ROM ou DVD-ROM.
matérielles
Les systèmes informatiques sont constitués d'un ensemble de composantes matérielles et logicielles.
Les logiciels (Programmes) sont, pour leur part, généralement classés dans deux grandes catégories :
Les programmes systèmes : contrôlent le fonctionnement des différentes composantes de l'ordinateur
Les programmes d'applications: développés pour répondre aux besoins spécifiques des utilisateurs
Prof Dr. Meina AMAR
3
Prof Dr. Meina AMAR
4
Prof Dr. Meina AMAR
5
Système d’exploitation
Les systèmes informatiques
Les fonctions de base d’un système d’exploitation
Historique
Les fonctions de base d’un système d’exploitation
Présentation
Les fonctions de base d’un système d’exploitation
Système UNIX
Définition
Un système d'exploitation, ou logiciel système, ou
Operating System (OS), est un logiciel qui, dans un
appareil électronique, pilote les dispositifs
matériels et reçoit des instructions de l'utilisateur
ou d'autres logiciels (ou applications). Ces logiciels
doivent être adaptés à un système d'exploitation
Prof Dr. Meina AMAR
6
Système d’exploitation
Les systèmes informatiques
Les fonctions de base d’un système d’exploitation
Historique
Les fonctions de base d’un système d’exploitation
Présentation
Les fonctions de base d’un système d’exploitation
Système UNIX
L'activité principale du système d'exploitation est de gérer les ressources matérielles
(processeur, mémoire centrale, imprimante, disque dur, ...) en permettant leur
allocation et leur partage.
Ce dernier point augmente les performances du système en autorisant à plusieurs
programmes d'applications d'utiliser simultanément différentes parties de la machine.
Prof Dr. Meina AMAR
7
Système d’exploitation
Les systèmes informatiques
Les fonctions de base d’un système d’exploitation
Historique
Les fonctions de base d’un système d’exploitation
Présentation
Les fonctions de base d’un système d’exploitation
Système UNIX
Première génération (années 50)
Des énormes machines pour des tâches pointues
Concepteurs, programmeurs, opérateurs et responsable d’entretien formaient une seule et même équipe
Programmation = construction d’un tableau de connexion !
Ordinateurs réservaient à une seule tâche à la fois
Mode d’opération :
L’opérateur réserve la machine sur le planning
L’opérateur prend sa table de connexion et la branche sur la machine
L’opérateur récupère les résultats sur papier
Grande optimisation : lecteur de carte perforées
Prof Dr. Meina AMAR
8
Système d’exploitation
Les systèmes informatiques
Les fonctions de base d’un système d’exploitation
Historique
Les fonctions de base d’un système d’exploitation
Présentation
Les fonctions de base d’un système d’exploitation
Système UNIX
Seconde génération (années 60)
Ordinateurs de plus en plus fiable grâce aux transistors et au principe de l’unité centrale
Distinction entre les précédents métiers
Programmeur écrit des programmes sur papier, ensuite fait perforer ses carte par une machine dédiée
Programmeur donne sa pile de cartes perforées à l’opérateur puis se prend une grande pause café dans
l’attente des résultats sur papier
L’opérateur rajoute des « piles génériques » utilisées par les programmeurs (bibliothèques de calcul etc.)
Goulot d’étranglement :
Temps d’unité centrale perdu si l’opérateur doit rechercher les bonnes « piles » (d’autres cartes perforées)
Temps perdu par le programmeur car s’il y a la moindre erreur même petite, il doit tout recommencer
Prof Dr. Meina AMAR
9
Système d’exploitation
Les systèmes informatiques
Les fonctions de base d’un système d’exploitation
Historique
Les fonctions de base d’un système d’exploitation
Présentation
Les fonctions de base d’un système d’exploitation
Système UNIX
Progrès des architectures
Partage des tâches au niveau matériel :
Machines dédiées à la lecture de carte perforées sur bande magnétique
Machines plus performantes en calculs numérique avec E/S sur bande magnétique
Traitement par lots : déconnexion du temps d’E/S du temps de programmation
E/S en différées : imprimantes déconnectées de l’ordinateur (périphérique externe)
Problèmes d’optimisations : comment placer plusieurs tâches sur une bande afin de sorte que
les temps d’attentes moyen soient minimisés
Prof Dr. Meina AMAR
10
Système d’exploitation
Les systèmes informatiques
Les fonctions de base d’un système d’exploitation
Historique
Les fonctions de base d’un système d’exploitation
Présentation
Les fonctions de base d’un système d’exploitation
Système UNIX
Troisième génération (années 70)
Circuit intégrés
Intégration de systèmes dédiés dans une seule architecture
On commence à trouver des systèmes compatibles, pouvant utiliser les mêmes logiciels,
différenciés seulement par les capacités matérielles (IBM…) :
Portabilité
Facilité de développement (équipe unique de concepteurs du SE, OS « operating system »
en anglais)
Faiblesse, les SE sont de grosses « usines à gaz » comprenant des millions de lignes de
code avec donc pleins de bogues…
elle a vu la création de la société Intel, la naissance du système Unix et la mise en place du
11
Prof Dr. Meina AMAR
réseau de communication Arpanet ancêtre d'Internet.
Système d’exploitation
Les systèmes informatiques
Les fonctions de base d’un système d’exploitation
Historique
Les fonctions de base d’un système d’exploitation
Présentation
Les fonctions de base d’un système d’exploitation
Système UNIX
Progrès de cette génération
Multi-tâches/utilisateurs : partage de la mémoire entre plusieurs tâches et utilisateurs :
problèmes de protection d’accès mémoire
partage du temps entre les différents tâches et utilisateurs
Spooling = opérations d’E/S exécuté en ligne
Les racines des SE actuels se trouvent dans les SE développés pour les systèmes de 3ème
génération
Prof Dr. Meina AMAR
12
Système d’exploitation
Les systèmes informatiques
Les fonctions de base d’un système d’exploitation
Historique
Les fonctions de base d’un système d’exploitation
Présentation
Les fonctions de base d’un système d’exploitation
Système UNIX
Quatrième génération (années 90)
Progrès majeur, les GUI « Graphical user interface »
possible grâce au nouveau faible coût des terminaux
(moniteurs) graphiques
plus grande facilité d’utilisation
mais pas de concepts vraiment nouveaux…
Windows, Mac OS, OS/2 etc.
la première version de Linux, un système d'exploitation gratuit
et incluant les sources, qui va révolutionner l'informatique au
21ème siècle
Prof Dr. Meina AMAR
13
Système d’exploitation
Les systèmes informatiques
Les fonctions de base d’un système d’exploitation
Historique
Les fonctions de base d’un système d’exploitation
Présentation
Les fonctions de base d’un système d’exploitation
Système UNIX
Le micro-ordinateur
Les minis ordinateurs
Les super calculateurs
• PC (ordinateur personnel)
• serveurs multiprocesseurs
auxquels on peut connecter
(grâce à un réseau local)
plusieurs terminaux qui peuvent
être géographiquement éloignés
• Utilisé généralement pour les
systèmes bancaires, les
assurances etc
• ont souvent leur système
propriétaire fourni par le
constructeur.
• désigne les machines
comportant un très grand
nombre de processeurs et
réservées à des calculs
scientifiques longs et
complexes.
• les centres de recherche
spatiale
• Les SP de IBM
• la Paragon de Intel (2 000
processeurs)
– peut supporter plusieurs SE tels
que Ms-Dos, diverses versions
d'Unix et de Windows.
• le Macintosh
– ne peut supporter que le
système du Macintosh Mac-OS
– interface graphique très
sophistiquée
• le portable
• la station de travail
– Puissant
– graphique haut de gamme
– OS400 et AIX pour les
ordinateurs IBM
– VMS pour les machines de type
VAX (DEC)
Prof Dr. Meina AMAR
14
Système d’exploitation
Les systèmes informatiques
Les fonctions de base d’un système d’exploitation
Historique
Les fonctions de base d’un système d’exploitation
Présentation
Les fonctions de base d’un système d’exploitation
Système UNIX
Le système d’exploitation d’un
ordinateur est un programme servant
d’interface entre le matériel et les
utilisateurs. Son but est de rendre le
maniement de l’ordinateur facile et de
proposer une utilisation efficace de
celui-ci
Utilisateur
Liaison
Ressources logicielle
Les logiciels sont des séquences d’instructions que l’on appelle
souvent programmes.
Ordinateur: Machine permettant
de stocker des informations et
d’effectuer des calculs
(beaucoup plus rapide que
l’humain)
Liaison
SE
Ressources matérielle
Cet ordinateur regroupe un certain nombre de composants que
nous appellerons matériel (hardware)
Prof Dr. Meina AMAR
15
•
Système d’exploitation
Les systèmes informatiques
Les fonctions de base d’un système d’exploitation
Historique
Les fonctions de base d’un système d’exploitation
Présentation
Les fonctions de base d’un système d’exploitation
Système UNIX
On peut faire une décomposition de l’ordinateur selon les 4 grandes classes suivantes :
– Les utilisateurs (et leurs programmes),
– Les programmes d’application
– Le système d’exploitation,
– Le matériel
Utilisateurs
Système
d’exploitation
Ressources
Machine virtuelle
Prof Dr. Meina AMAR
16
•
•
•
Système d’exploitation
Les systèmes informatiques
Les fonctions de base d’un système d’exploitation
Historique
Les fonctions de base d’un système d’exploitation
Présentation
Les fonctions de base d’un système d’exploitation
Système UNIX
Le système d’exploitation (ou OS, pour « Operating System ») est chargé d’assurer la liaison entre :
– Les ressources matérielles via les pilotes (« drivers »); c’est une application qui sert d’interface entre l’SE et le matériel
(carte réseau, etc.) ; sans pilote, chaque application devrait apprendre à parler à tous les matériels
– L’utilisateur
– Les applications
Le SE permet ainsi à l’utilisateur de s’affranchir de la complexité du matériel en communiquant à travers une interface
homme machine (IHM, GUI en anglais)
Les buts sont donc :
– masquer le matériel
– rendre la machine plus « friendly »
– Fournir des méthodes standards d’accès aux ressources mémoires/calculs
– Permette un usage efficace des ressources indépendamment du programme à exécuter
– Permettre un usage honnête aux utilisateurs honnêtes (protection fichiers/programmes, comptes utilisateurs, etc.)
Prof Dr. Meina AMAR
17
Système d’exploitation
Les systèmes informatiques
Les fonctions de base d’un système d’exploitation
Historique
Les fonctions de base d’un système d’exploitation
Présentation
Les fonctions de base d’un système d’exploitation
Système UNIX
En résumé
• Dans un ordinateur, le système d'exploitation
• gère le ou les processeurs ainsi que la mémoire.
• l'interface avec l'utilisateur
• Il fait fonctionner les périphériques (clavier,
souris, surface tactile, écran, disque dur, lecteur
de DVD, lecteur de cartes mémoire...).
• Gère les fichiers et les accès
• Dans un appareil photo, il fait fonctionner les
différents mécanismes, gère l'affichage de l'écran et
détecte les actions de l'utilisateur. Etc.
Utilisateurs
Programmes
Interface utilisateur
Système d’exploitation
Pilotes (Drivers)
Ordinateur / Matériel
Il est stocké pour partie en mémoire centrale en partie sur le disque dur
Prof Dr. Meina AMAR
18
Système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Exemple
Un système informatique complexe peut être composé d’une multitude de périphériques.
Imaginez ce qui se passerait si trois programmes s’exécutant sur la même machine tentaient d’imprimer leur
résultat simultanément:
Aurait-on une ligne provenant de chacun des programmes ? un caractère ? On voit ici que le rôle du système
d’exploitation dans la répartition des périphériques aux différents utilisateurs est essentiel
C’est donc le SE qui stocke les données allant vers l’imprimante et qui s’occupe de gérer une file d’attente.
Prof Dr. Meina AMAR
19
Les fonctions de base d’un
système d’exploitation
Prof Dr. Meina AMAR
20
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
SE: Modèle en couches
Le noyau du système
d’exploitation
Appelé en anglais le Kernel, il
représente les fonctions fondamentales
du système d'exploitation telles que:
Application (Logiciel, p.ex. Microsoft Word)
Gestion des fichiers
Gestion des périphériques (entrées/sorties)
Gestion de la mémoire
Gestion des processus
Noyau du Système d’exploitation
Pilote
Prof Dr. Meina AMAR
Pilote
Matériel
Pilote
21
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
La principale tâche du système d'exploitation concerne l'allocation du processeur aux processus.
Il s’agit de décider quel processus s’exécute à un moment donné, à quel moment interrompre le
processus, quel sera le suivant, et de quoi il a besoin comme ressources pour son exécution. Le
système d'exploitation doit gérer deux types de processus : les siens et ceux des utilisateurs.

Processus
Programme en cours d’exécution
Un processus possède:
- son propre espace d’adressage: programme, données…
- Une entrée dans la Table des Processus: sert pour la
reprise après suspension
Prof Dr. Meina AMAR
22
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Exemple
Pour pouvoir comprendre la différence entre un processus et un programme
exécutable, nous allons considérer l'exemple suivant : Considérons le cas d'un
Informaticien préparant un gâteau d'anniversaire pour sa fille :
•Il a une recette
•Il dispose de tous les ingrédients (farine, sucre, œufs, ..)
Dans cette analogie :
•La recette est assimilée à un programme (un algorithme traduit en une suite
d'instructions)
•L'Informaticien joue le rôle du processeur (CPU)
•Les ingrédients représentent les données
Le processus est l'activité de cet informaticien qui lit la recette, trouve les données et fait
Prof Dr. Meina AMAR
23
cuire le gâteau.
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Ainsi, dans l'exemple précédent :
•Le fils de l'informaticien peut arriver en pleurant car piqué par une abeille. L'informaticien marque l'endroit où il se
trouve dans le processus de préparation du gâteau (l'état du processus en cours est sauvegardé). Cela lui permettra de
poursuivre le processus à partir du bon endroit quand il aura fini de soigner son fils : On dit qu’il y a sauvegarde de
contexte du processus de préparation de gâteau (ou processus cuisine) ou sauvegarde de l’état du processus de
préparation de gâteau.
•Il cherche un livre sur les premiers soins et commence à soigner son fils. Le processeur est passé d'un processus (la
cuisine) à un autre (les soins médicaux).
Chacun de ces processus a un programme propre : livre de recettes pour le processus « la cuisine » et livre sur
les premiers soins pour le processus « les soins médicaux »
Quand la piqûre est soignée, notre informaticien va reprendre sa recette à l'endroit où il l'avait abandonnée. On dit
qu’il y a restauration de contexte du processus « la cuisine ».
Le même programme peut s'exécuter plusieurs fois donnant ainsi un processus différent pour chacune de ces
exécutions
Prof Dr. Meina AMAR
24
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Donc, chaque processus se caractérise par :
Son programme exécutable
Ses données
Sa pile d'exécution.
Son compteur ordinal. Le compteur ordinal d’un processus est différent de celui de
l’ordinateur(l’ordinateur a un seul compteur ordinal qui indique la prochaine instruction qu’il va
exécuter). Le compteur ordinal d’un processus indique la prochaine instruction à exécuter dans le
programme exécutable de ce processus.
Son pointeur de sommet de pile de la pile d’exécution.
Les autres registres
Toutes les autres informations nécessaires à l'exécution d'un programme
Prof Dr. Meina AMAR
25
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
•A un instant donné, le processeur n’exécute réellement qu'un seul programme.
•En revanche, pendant une seconde, il peut exécuter plusieurs programmes.
•Par exemple, s’il y a dix (10) programmes en cours d’exécution, le processeur peut exécuter chaque
programme pendant 1s/10=0.1s.
•Comme cette durée (0.1s) n’est pas perceptible par l’homme, cela procure aux utilisateurs l'impression de
parallélisme.
•En vérité, le vrai processeur commute entre plusieurs processus
Prof Dr. Meina AMAR
26
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Un processus peut se trouver dans l'un des états suivants :



•
•
Elu (en cours d'exécution)
Bloqué (attente d'un événement pour pouvoir continuer)
Prêt (suspendu provisoirement pour permettre l'exécution d'un autre
programme)
Un processus peut se bloquer en attendant des données. Par exemple attente d’une saisie au
clavier.
Un processus élu (en cours d'exécution) peut être arrêté, même s'il peut poursuivre son
exécution : le système d'exploitation décide d'allouer le processeur à un autre processus
Prof Dr. Meina AMAR
27
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Introduction aux
processus
la multiprogrammation
La multiprogrammation permet au processeur de se partager entre tous les processus actifs.
Ainsi, quand le processeur atteint une instruction d'entrée-sortie (les périphériques ayant une
vitesse de transfert et d'exécution bien inférieure à celle du processeur), il interrompt le
programme en cours sitôt les paramètres de l’entrée/sortie transmis au périphérique et passe à
l'exécution d'un autre programme
La multiprogrammation nécessite
le partage du processeur entre les programmes
mais également le partage de toutes les ressources disponibles de l’ordinateur (mémoires,
périphériques...).
Prof Dr. Meina AMAR
28
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Introduction aux
processus
Un programme a une existence statique, il est stocké sur le
disque puis chargé en mémoire afin d’être exécuté.
Le processus en revanche a un contact direct avec le processeur
en effet c'est l'entité exécutée par le processeur.
Le processus est créé par le système d'exploitation ou
l'utilisateur au moment où l'exécution du programme doit
commencer, comme illustré à travers la figure
Une fois le processus terminé, il est supprimé par le système
d'exploitation. Toutefois un seul programme peut nécessiter
plusieurs processus pour son exécution.
Prof Dr. Meina AMAR
29
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Introduction aux
processus
Les fonctionnalités du système d’exploitation en matière de gestion de processus sont :
La création, suppression et interruption de processus
L'ordonnancement des processus afin de décider d'un ordre d'exécution équitable entre
les utilisateurs tout en privilégiant les processus du système.
La synchronisation entre les processus ainsi que la communication
La gestion des conflits d'accès aux ressources partagées
La protection des processus d'un utilisateur contre les actions d'un autre utilisateur.
Prof Dr. Meina AMAR
30
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Description d'un
processus
Etats d'un processus:
Un processus est une suite d'instructions, il a des données en entrée et en sortie. Du fait qu'il s'exécute et
qu'il peut être interrompu, il est décrit par un état courant (en attente, suspendu, terminé.)
Un processus peut passer par plusieurs états avant de finir son exécution. On distingue les
quatre états suivants :
•En exécution : le processus est en cours d'exécution au niveau du processeur
•prêt : le processus est prêt et pourra s'exécuter dès qu'il sera sélectionné par le
système d'exploitation.
•En attente : le processus est en attente ou bloqué car il attend des données ou la
libération d'une ressource afin de poursuivre son exécution. Pendant ce temps le
processeur est attribué à un autre processus.
•Terminé : le processus a terminé son exécution.
Prof Dr. Meina AMAR
Plusieurs processus
peuvent se trouver
dans l'état prêt ou en
attente, le système
d'exploitation
les
place alors dans une
file d'attente (une par
état) au niveau de
laquelle
ils
vont
attendre leur tour.
31
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Description d'un
processus
Six transitions peuvent avoir lieu entre ces états, elles sont illustrées dans la figure
La transition 1 a lieu quand le processus ne peut plus poursuivre son exécution car il a
besoin d'une ressource non disponible par exemple : il passe à l'état en attente
La transition 2 a lieu quand le processus a terminé le temps imparti par le système
d'exploitation pour son exécution. Un processus ne s'exécute pas forcément jusqu'à la fin car le
système d'exploitation a d'autres processus à exécuter. Cette transition a également lieu si un
processus plus urgent doit prendre la main
La transition 3 signale que le système d'exploitation a sélectionné un processus pour l'exécuter.
La transition 4 indique que le processus a fini son exécution.
La transition 5 a lieu sitôt que le processus n'a plus de raison d'être bloqué; par exemple les
données deviennent disponibles. Le processus passe à l'état prêt.
La transition 6 a lieu quand l'événement attendu par le processus ne peut se réaliser. Il est donc
inutile de faire patienter davantage ce processus, autant le terminer.
Prof Dr. Meina AMAR
32
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Description d'un
processus
La transition 2
La transition 1
La transition 4
La transition 5
La transition 6
La transition 3
Lorsqu'un processus est interrompu suite à l'exécution d'une instruction d'entrée-sortie, expiration du
quantum ou exécution d'un processus plus urgent, on parle d'interruption logicielle.
Prof Dr. Meina AMAR
33
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Structure de l'espace
mémoire
L'espace mémoire utilisé par un processus est divisé en plusieurs zones. On trouve en particulier :
Le segment de code
Le segment de données
La pile
• Le segment de code
représente le programme à
exécuter. Il est toujours placé
dans des zones fixes de la
mémoire, c'est-à-dire au
début de la zone disponible
(puisqu'il n'est pas ammené à
augmenter de taille durant
l'exécution du processus)
• Au dessus du segment de
code se trouve le segment de
données. Ce segment est
traditionnellement composé
d'un segment de données
initialisées et d'un segment
de données non initialisées
qui est créé dynamiquement.
• Pour stocker les données
obtenues en cours
d'exécution, le système
utilise un segment pile. Ce
segment est généralement
situé en haut de l'espace
d'adressage et il croît vers les
adresses basses (pile
renversée)
Prof Dr. Meina AMAR
34
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Structures de données
Les systèmes d'exploitation manipulent deux structures de données principales pour gérer les processus créés sur une machine :
le bloc de contexte d'un processus
et
la table des processus.
Le contexte d'un processus également appelé bloc de contexte
ou de contrôle est une structure de données qui décrit un
processus en cours d'exécution.
La table des processus contient toutes les informations
indispensables au système d'exploitation pour assurer une
gestion cohérente des processus.
•Le compteur ordinal : adresse de la prochaine instruction à
exécuter par le processeur
•Les contenus des registres généraux : ils contiennent les
résultats calculés par le processus
•Les registres qui décrivent l'espace qu'il occupe en mémoire
centrale (l'adresse de début et de fin par exemple)
•Le registre variable d'état qui indique l'état du processus
•D'autres informations telles que la valeur de l'horloge, la
priorité du processus,
Elle comporte
Prof Dr. Meina AMAR
•une entrée par processus qui rassemble toutes les
informations concernant un processus
•des informations sur son occupation mémoire
.
35
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Ordonnancement de
processus
Le système d'exploitation applique un programme pour gérer l'ordre d'exécution des processus, appelé :
scheduler, dispatcher ou ordonnanceur.
• Ordonnanceur: le module du noyau du système d'exploitation qui
choisit les processus qui vont être exécutés par les processeurs
d'un ordinateur.
• Critères d’ordonnancement:
• L’ordre d’arrivée
• Durée d’exécution
• La priorité
Prof Dr. Meina AMAR
36
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
L’ordonnancement de processus s’articule autour de 2 composantes :
Ordonnancement de
processus
L'ordonnancement des processus
ATTENTION !!!!
permet d'optimiser le temps de
réponse
système
d'exploitation
On ne s’intéresse pas à la durée totale d’un processus mais au Si
tempslependant
n'applique
aucun
algorithme
lequel il va garder le processeur :
d'ordonnancement, on se retrouve
L’algorithme d’ordonnancement
à appliquer
: il organise les
jusqu’à ce qu’il
se termine
avec un système monoprocesseur et
descripteurs de processus dans un ordre qui reflète la stratégie
jusqu’à qu’il fasse une E/S
les processus courts sont pénalisés par
appliquée
jusqu’à ce que l’OS décide que ce n’est plus son tour
l'exécution de processus assez longs.
La file d’attente des processus : elle regroupe les descripteurs
des processus prêts. C’est à partir de cette file que
l’ordonnanceur choisit le processus à exécuter.
Prof Dr. Meina AMAR
37
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
L'ordonnanceur
L'ordonnanceur dispose de plusieurs algorithmes d'ordonnancement qui
correspondent à différentes politiques d'organisation des processus :
équitable,
avec priorité,
plus court d'abord.
Il agit sur la file des processus prêts
Organise en appliquant un algorithme donné.
L'ordonnanceur ne change pas de politique d'ordonnancement. Chaque système
d'exploitation applique un algorithme choisi par les concepteurs.
Prof Dr. Meina AMAR
38
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
L'ordonnanceur
 L'ordonnanceur est sollicité à la fin de l'exécution de chaque processus.
Il s'exécute lui-même et sélectionne un processus pour l'exécution.
Généralement il sélectionne celui qui est en tête de la file car les processus
sont déjà dans l'ordre.
En effet, à chaque création de processus, le processus créé doit rejoindre
la file des processus prêts et c'est lors de son insertion que l'ordonnanceur
applique son algorithme.
Prof Dr. Meina AMAR
39
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Stratégie
d’ordonnancement
Les critères permettant de comparer les stratégies d’ordonnacement:
•Le taux d’utilisation de l’unité centrale: le rapport entre la durée pendant laquelle l’unité
centrale est active et la durée totale.
•Le temps de traitement moyen: la moyenne des intervalles de temps séparant la soumission
et l’accomplissement d’un processus.
•Le temps d’attente moyen: la moyenne des intervalles de temps séparant le lancement de
processus et sa mise en exécution.
•Temps d'éxécution= (tfin exec-tarrivé)
•Temps moyen d'exécution= ΣTexe / Nbre de processus
•Temps de rotation = Date de fin d'exécution - Date d'arrivée
•Le temps de réponse :la moyenne des dates de fin d'exécution.
•Un bon algorithme d’ordonnacement doit:
•Maximiser le taux d’utilisation de l’UC et le débit;
•Minimiser le temps moyen de traitement;
•Minimiser le temps moyen d’attente;
•Minimiser le temps de réponse
Prof Dr. Meina AMAR
40
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Algorithmes
d’ordonnancement
• Deux types d’algorithmes d’ordonnancement:
• Les algorithmes non-préemptifs (sans réquisition) empêchent l’appropriation du processeur par un
processus avant la fin du processus courant
• Les algorithmes préemptifs (avec réquisition) : possibilité d’appropriation du processeur par un
processus avant la fin du processus courant
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Algorithmes
d’ordonnancement
Actuellement, on distingue de nombreuses approches pour l’ordonnancement, les plus connues sont :
Algorithme non-préemptif
. FIRQT IN FIRST OUT (FIFO)
le plus court d'abord (SJF Shortest Job First)
Algorithme préemptif:
Shortest Remaining Time (SRT)
l’ordonnancement circulaire (tourniquet ou Round Robin)
 à priorité
Prof Dr. Meina AMAR
42
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Algorithmes
d’ordonnancement
Exercice d’application
Soient les processus suivants décrits par une durée d'exécution estimée en millisecondes.
Pour chacun des algorithmes suivants :
Processus Durée d’exécution
SJF
P1
3
FIFO
priorité
P2
5
tourniquet
P3
2
nous calculons
P4
6
Le temps de réponse :la moyenne des dates de fin d'exécution.
Le temps d'attente :la moyenne des délais d'attente pour commencer une
P5
4
exécution.
Prof Dr. Meina AMAR
43
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Algorithmes
d’ordonnancement
L'ordonnancement FIFO : First In First Out
La politique FIFO agit de la manière suivante : le premier processus arrivé est le premier
servi. Il n'y a aucun effort à faire de la part de l'ordonnanceur, il suffit d'insérer le
processus à la fin de la file.
Temps de réponse TR = (3+8+10+16+20)/5 = 57/5 = 11.4 ms
Temps d'attente TA = (3+8+10+16)/5 = 37/5 = 7.4 ms
Appliquer la politique FIFO revient à faire de la monoprogrammation en
quelque sorte, pourtant cette politique est souvent retenue du fait
de sa simplicité
de sa faible consommation en temps processeur.
Prof Dr. Meina AMAR
44
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Algorithmes
d’ordonnancement
L'ordonnancement selon le plus court d'abord (SJF Shortest Job First)
Cette politique compare les processus sur la base de leur durée d'exécution et exécute le
plus court en premier. Le SJF est appliqué dans les systèmes qui régissent les processus
industriels où une chaîne d'exécution doit se terminer le plus rapidement possible.
Temps de réponse TR = (2+5+9+14+20)/5 = 50/5 = 10 millisecondes
Temps d'attente TA = (2+5+9+14)/5 = 30/5 = 6 millisecondes
Prof Dr. Meina AMAR
45
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Algorithmes
d’ordonnancement
L'ordonnancement circulaire : le tourniquet (Round Robin)
•Le premier processus de la file est exécuté durant une période précise fixée par le système, appelée quantum.
•Une fois le processeur alloué, ce processus s'exécute jusqu'à ce que sa tranche de temps soit écoulée ou qu'il se bloque.
•Il est alors interrompu et mis à la fin de la file d'attente (fonctionnement circulaire).
•Les processus sont placés dans la file selon leur ordre d'arrivée.
Temps de réponse TR = (6+11+17+18+20)/5 = 72/5 = 14.4 ms
Temps d'attente TA = ((8)+(2+7+4)+(4)+(6+5+3)+(8+5))/5 = 52/5 = 10.4 ms
Le tourniquet est une technique des systèmes à temps partagé puisque chaque processus
s'exécute pendant la même durée à chaque fois. Le quantum de de l'ordre de quelques
dizaines de millisecondes
Prof Dr. Meina AMAR
46
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Algorithmes
d’ordonnancement
L'ordonnancement avec priorités
Cette stratégie permet de distinguer entre les processus sur la base de leurs priorités. Si l'utilisateur ou le
système d'exploitation exprime une priorité pour les processus (une priorité est un nombre) il faut que le
processus de plus haute priorité soit exécuté le premier.
Temps de réponse TR = (6+10+15+17+20)/5 = 68/5 = 13.6 ms
Temps d'attente TA = (6+10+15+17)/5 = 48/5 = 9.6 ms
Prof Dr. Meina AMAR
47
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Algorithmes
d’ordonnancement
Premier arrivé premier servi
Le plus court d’abord
Priorités
Tourniquet
48/118
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Algorithmes
d’ordonnancement
• Ce qu’il faut retenir :
– Un processus au plus par processeur en même temps
– Chaque processus est créé, exécuté puis meurt
– Un ordonnanceur permet de faire exécuter plusieurs processus « en même temps » (point
du vue humain)
– Un programme  processus
• Parfois, cela sature (beaucoup de « gros » processus) il faut donc attendre que
l’ordonnanceur redonne la main au processus désiré
49/118
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Diagramme de Gantt
• Représentation graphique de l’exécution de plusieurs processus affecté àplusieurs ressources au cours
du temps..
• Le diagramme de Gantt est un outil utilisé (souvent en complément d'un réseau PERT) en
ordonnancement et en gestion de projet et permettant de visualiser dans le temps les diverses tâches
composant un projet.
0
1
Arrivées P1
CPU
HD1
2
3
4
5
6
P2 P3
Proc.1
Proc.2
Proc.1
Proc.1 Proc.3
Proc.2
Objectif
Choisir l’algorithme d’ordonnancement : minimiser ou
maximiser un critère
Prof Dr. Meina AMAR
51
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
• utilisation de la mémoire :
quels emplacement sont
libres, sont utilisés, et par
qui ?
• quel programme reçoit de
la mémoire: quand et
quelle quantité est mise à
disposition ?
Prof Dr. Meina AMAR
52
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Mémoire virtuelle
• La mémoire virtuelle permet d'exécuter simultanément plus de
programmes que ce que la mémoire centrale peut contenir.
• Chaque programme n'a pas besoin que la totalité des informations
qu'il manipule soit présent dans la mémoire centrale,
• une partie des informations sont stockées dans la mémoire de
masse (en général dans un fichier ou une partition de disque dur)
habituellement plus importante mais plus lente et sont transférées
en mémoire centrale lorsque le programme en a besoin,
Prof Dr. Meina AMAR
53
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Le disque dur est un support auxiliaire qui a pour objectif de
conserver de manière permanente les programmes exécutés en
mémoire centrale (celle-ci étant volatile).
La gestion de la mémoire secondaire inclut ainsi la gestion des
fichiers c'est pour cela que l'on parle de SGF : Système de
Gestion des Fichiers. Le système de fichiers doit offrir des
primitives afin de créer, copier, lire, supprimer... ces fichiers. Il
doit également gérer l'espace occupé par les fichiers ainsi que
l’espace libre.
Prof Dr. Meina AMAR
54
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Gestion de la Mémoire
La Mémoire centrale contient tous les programmes
en cours exécution  Gestion de l’espace
d’adressage des processus (a chaque processus
correspond une plage d’adresses).
La mémoire centrale est un espace de taille importante
organisé en mots (ensemble d'octets) et destiné à accueillir les
données à traiter par l'unité centrale.
L'unité centrale charge les instructions à exécuter dans les
registres du processeur à partir d'adresses en mémoire
centrale. De même après exécution, les résultats sont placés en
mémoire centrale.
Il s’agit ici de gérer l’allocation de cette mémoire aux
programmes (attribution, libération de mémoire), les règles
d’adressage et de veiller à ce que les programmes en mémoire
ne puissent pas interférer entre eux
Prof Dr. Meina AMAR
55
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Entrées/ Sorties
Différents types de periph: claviers, video
show,ecran, …
Pilotes des Périphériques
Prof Dr. Meina AMAR
56
Système d’exploitation
La gestion des processus
Les fonctions de base d’un système d’exploitation
La gestion de la mémoire
Les fonctions de base d’un système d’exploitation
Les entrées-sorties
Les fonctions de base d’un système d’exploitation
La gestion des fichiers
Fichiers
Le SE présente les periph de stockage de manière
abstraite.
Exple d’appels systèmes sur les fichiers: création,
suppression, ouverture, fermeture, lecture, ecriture,
recherche
Prof Dr. Meina AMAR
57
Types de systèmes
Prof Dr. Meina AMAR
58
•
•
•
•
•
Système d’exploitation
Historique
Les fonctions de base d’un système d’exploitation
Présentation
Les fonctions de base d’un système d’exploitation
Système Windows
Les fonctions de base d’un système d’exploitation
Système UNIX
Types de systèmes
Systèmes d’exploitation pour ordinateurs
– Windows
– MacOS
– Linux
Systèmes d’exploitation pour serveurs
– Linux
– Windows serveur
Systèmes pour smartphones et tablettes
– Ios
– Android
– Windows phone
Systèmes d’exploitation pour routeur
– Cisco : Ios
Système embarqué
– système électronique et informatique
autonome qui est dédié à une tâche particulière
– Ce ne sont pas des PC, mais des architectures
similaires (x86) basse consommation
Prof Dr. Meina AMAR
59
Système d’exploitation
Historique
Les fonctions de base d’un système d’exploitation
Prészntation
Les fonctions de base d’un système d’exploitation
Système Windows
Les fonctions de base d’un système d’exploitation
Système UNIX
Prof Dr. Meina AMAR
60
Système d’exploitation
Historique
Les fonctions de base d’un système d’exploitation
Présentation
Les fonctions de base d’un système d’exploitation
Système Windows
Les fonctions de base d’un système d’exploitation
Système UNIX
Prof Dr. Meina AMAR
61
Shell : Un interpréteur de commandes, est un programme faisant partie des
composants de base d'un système d'exploitation. Son rôle est de traiter les
commandes tapées au clavier par l'utilisateur.
API : point de contact entre un logiciel applicatif et le système d'exploitation est appelé
interface de programmation (anglais Application Programming Interface).
Ce peut être des fonctions mises à disposition dans des bibliothèques logicielles, ou des
logiciels serveur qui répondent aux requêtes envoyées par les logiciels applicatifs
Un pilote (anglais driver) est un programme qui contient les instructions à
exécuter pour utiliser un certain périphérique informatique.
Les pilotes sont fournis par l'auteur du système d'exploitation (pilotes
génériques)
Par le fabricant du périphérique pour un OS.
Prof Dr. Meina AMAR
62
Téléchargement