Académique Documents
Professionnel Documents
Culture Documents
Email : ikermane.mohamed@gmail.com
Hardware X Software
1
13/04/2017
Rôle et définition
Abstraction du terme « Machine » Un SE résout les problèmes relatifs à l’exploitation de l’ordinateur en
garantissant :
selon Coy:
Une gestion efficace, fiable et économique des ressources physiques de l’ordinateur
• machine réelle = Unité centrale + périphériques (processeur, mémoire…) : il ordonne et contrôle l'allocation des processeurs, des
mémoires, des icônes et fenêtres, des périphériques, des réseaux entre les programmes
• machine abstraite = machine réelle + système d'exploitation des utilisateurs qui les utilisent.
Il propose à l'utilisateur une abstraction plus simple et plus agréable que le matériel : une
• machine utilisable = machine abstraite + application machine virtuelle permettant l’interaction avec les utilisateurs en leur présentant une
2
13/04/2017
Définitions:
Classes de systèmes d’exploitation Systèmes Multi-tache
ues définitions Multi-tache (Multitasking)
• Assurer l'éxécution de plusieurs
Systèmes Multi-tache
programmes en meme temps (c-à-d.
Systèmes Multi-utilisateurs plusieurs processus)
Définitions: Définitions:
SSystèmes Multi-processeurs Systèmes Multi-utilisateurs
ulti-utilisateurs (« time-sharing » Systèmes Multi-processeurs
• système avec plusieurs processeurs
• permettre a différentes personnes de travailler avec
• parallèle
un ordinateur en même temps
• vrai multi-tache
• doit assurer qu'il y a l'éxecution d'autant de processus que • connexion par
processeurs en meme temps • via le terminal de l'ordinateur lui-même
• contrairement: système avec un seul processeur • à distance (telnet, ssh, ftp, ...)
• quasi-parallèle • donner l'impression à chaque utilisateur qu'il est seul
• arreter et reprendre les différentes processus • exige une géstion des droits
• Gestion avec le « scheduler » (ordonnancement des processus) • de fichiers (pour éviter la destruction des fichiers etc.)
• de processus
3
13/04/2017
Définitions:
SySystèmes distribués Traitement par lots
stèmes Temps réels ment par lots (Batch processing)
• doit permettre l'éxecution d'un seul • Un utilisateurs donne plusieurs
programme sur plusieurs machines commandes (« Jobs ») dans une queue
d'éxécution de programmes
• distribuer les processus et les remettre • Entièrement séquentielle
ensemble
• p.ex. pour faire plusieurs calculs pendant
la nuit
• pour gros calculs, p.ex. inversion de grandes
matrices
• p.ex. autoexec.bat
4
13/04/2017
(aspect dynamique d'un programme) Dès sa création, un processus reçoit les paramètres suivants :
Attention : ne pas confondre un processus (exécution qui PPID : identificateur du processus père
peut être suspendue, puis reprise), avec le texte d'un
UID : identificateur de l’utilisateur qui a lancé le processus
programme exécutable (aspect statique).
GID : identificateur du groupe de l’utilisateur qui a lancé le processus
5
13/04/2017
6
13/04/2017
L’état actif ou élu : Le processus est en cours L’état bloqué : Le processus est en attente d’une ressource pour
d’exécution par le processeur.
terminer. Dès sa libération il repasse à l’état Prêt.
Si le processus épuise le temps qui lui est alloué
par le SE, il est remis en file d’attente des Prêts. L’état zombie : Le processus a terminé son exécution et il ne peut
Si il a besoin d’une ressource non disponible plus évoluer mais les ressources qu’il a allouées ne sont pas encore
(opérations sur les périphériques), il est mis en
libérées
attente prolongée (Interruption : état bloqué)
jusqu’à la libération de la ressource nécessaire.
Si le processus atteint son terme (se termine) il
passe à l’état Zombie
7
13/04/2017
Chaque fois, que le processeur devient inactif, le Il s’occupe de l’allocation du processeur à un processus
sélectionné par l’Ordonnanceur du processeur. Une fois
système d’exploitation doit sélectionner un allouer, le processeur doit réaliser les tâches suivantes :
processus de la file d’attente des processus prêts, Commutation de contexte : sauvegarder le contexte du
et lui passe le contrôle. D’une manière plus processus qui doit relâcher le processeur et charger le
concrète, cette tâche est prise en charge par deux contexte de celui qui aura le prochain cycle processeur
routines système en l’occurrence le Dispatcheur • Commutation du mode d’exécution : basculer du mode
Maître (mode d’exécution du dispatcheur) en mode
et le Scheduleur (Ordonnanceur). utilisateur (mode d’exécution du processeur utilisateur)
• Branchement : se brancher au bon emplacement dans le
processus utilisateur pour le faire démarrer.
8
13/04/2017
L’Ordonnanceur
Ordonnanceur de travail : ou Ordonnanceur
Certains systèmes d’exploitation utilisent une long terme, utilisé en cas d’insuffisance de
technique d’ordonnancement à deux niveaux qui mémoire, son rôle est de sélectionné le sous
intègre deux types d’Ordonnanceurs : ensemble de processus stockés sur un disque et
• Ordonnanceur du processeur : c’est un qui vont être chargés en mémoire. En suite, il
Ordonnanceur court terme opère sur une retire périodiquement de la mémoire les
ensemble du processus présents en mémoire. Il
processus qui sont restés assez longtemps et les
s’occupe de la sélection du processus qui aura
le prochain cycle processeur, à partir de la file remplace par des processus qui sont sur le disque
d’attente des processus prêts. depuis trop de temps.
Algorithmes d’ordonnancement
d’ordonnancement - Assurer le plein usage du CPU (agir en sorte qu’il soit le moins
9
13/04/2017
répandus sont :
- Le temps d’attente moyen est la moyenne des délais
d’attente pour commencer une exécution :
• Ordonnancement Premier Arrivé Premier Servi
• Ordonnancement circulaire : Tourniquet Les algorithmes d’ordonnancement se distinguent les uns des autres du
fait que certains autorisent la réquisition de l’unité centrale alors que d’autres
• Ordonnancement circulaire à plusieurs niveaux l’interdisent. La réquisition est la possibilité de retirer à n’importe quel instant le
• Ordonnancement avec priorité processeur à un processus même si ce dernier est en cours d’exécution.
Dans cet algorithme ; connu sous le nom FIFO (First In, First Out) ;
les processus sont rangés dans la file d’attente des processus prêts selon leur
ordre d’arriver. Les règles régissant cet ordonnancement sont :
1. Quand un processus est prêt à s’exécuter, il est mis en queue de la file
Ordonnancement FCFS (first d’attente des processus prêts.
come first Served) 2. Quand le processeur devient libre, il est alloué au processus se trouvant en
tête de file d’attente des processus prêts.
3. Le processus élu relâche le processeur s’il se termine ou s’il demande une
entrée sortie
10
13/04/2017
Caractéristiques de l’Ordonnanceur
Exemple d’algorithme FCFS :
• Ordonnanceur sans réquisition
réguliers.
Ordonnancement SJF (Shortest Job First) court temps d’exécution sans réellement tenir compte de leur
11
13/04/2017
1. Quand un processus est prêt à s’exécuter, il est inséré dans la file d’attente
tête de la file d’attente des processus prêts (ce processus possède le plus petit • Cet Ordonnanceur peut être avec ou sans
cycle processeur.). Si deux processus ont la même longueur de cycle, on réquisition
applique dans ce cas l’algorithme FCFS.
• Implémentation difficile, car il n’existe aucune
3. Si le système ne met pas en oeuvre la réquisition, le processus élu relâche le
manière pour connaître le cycle suivant du
processeur s’il se termine ou s’il demande une entrée sortie. Dans le cas
processeur.
contraire, le processus élu perd le processeur également.
12
13/04/2017
est immédiatement alloué au prochain processus se trouvant en tête de la file d'attente des prêts.
valeur du quantum Q:
3. Si le processus élu continue de s'exécuter au bout de son quantum, dans ce cas le processus sera o Le choix d'un Q assez petit augmente le nombre de
interrompu et mis en queue de la file d'attente des prêts et le processeur est réquisitionné pour être commutation.
réalloué au prochain processus en tête de cette même file d’attente.
o Le choix d'un Q assez grand augmente le temps de réponse du
système
13
13/04/2017
14
13/04/2017
15