Académique Documents
Professionnel Documents
Culture Documents
Représentation du TOGO
(IAI-TOGO)
Chargé de cours
Ahmed O. SOUROU
Ingénieur informatique / Inspecteur d’informatique
PLAN (1/1)
INTRODUCTION (suite)
1. Structure d’un OS
2. …..
CONCLUSION
Système informatique
Système informatique
DéfinItion/exemples
Définition/Exemples
Définition
Logiciel de base / ensemble de programmes / ….
Etablir une relation entre :
les différentes ressources matérielles ;
les applications ;
les utilisateurs
Exemples :
OS desktop : Windows / Mac OS (OS X) / GNU Linux …
OS Smartphone / tablettes : Android / iOS / Windows phone …
Rôle (Tâches) d’un OS
Rôle (Tâches) d’un OS
La gestion des processeurs
La gestion des processus
La gestion de la mémoire
La gestion de l’exécution des programmes
La gestion des fichiers (arborescence ; disposition physique sur le matériel)
Gestion des droits
La gestion des I/O (Entrées/sorties)
Interface conviviale à l’utilisateur
Interpréteur de commandes
Chap 2 : composition d’un OS
Chap 2 : Composition d’un OS
Noyau (Kernel)
Le système de fichiers
3.Noyau hybride : le mélange de monolithique et de micro-noyau est appelé noyau hybride, le grand
noyau étant plus compact et modulable. D’autres portions de noyau peuvent être ajoutées
dynamiquement, comme c’est déjà le cas dans Linux et OS X.
Chap 2 : Composition d’un OS
Exemple : Sh (bourne shel) / Bash (bourne again shell) / Csh (C shell) / Ksh (Korn shell) / Zsh (Zero shell)
Chap 2 : Composition d’un OS
Shell ≠ Terminal
Offre à l’utilisateur une vue abstraite sur ses données et permet de les
localiser à partir d’un chemin d’accès
Chap 2 : Composition d’un OS
Processus ≠ Programme
Exemple :
Principe : on exécute une tâche à la fin d’une autre (le processus fils fini avant
de rendre la main au processus père).
• a (all) : liste tous les processus y compris ceux dont vous n’êtes pas
propriétaires.
• g (global, general) : liste tous les processus dont vous êtes
propriétaire
• u (user) : donne davantage d’informations
• ps agu : pour avoir des informations sur tous les processus
Chap 3 : Gestion de processus
3.6. Processus en tâche de fond et au premier plan
Interprétation de la commande PS et ses options
La commande top (ou ktop) affiche les même infos mais de façon
dynamique (indique par ordre décroissant le temps machine des
processus)
Chap 3 : Gestion de processus
3.7. Les signaux
permettent d’agir sur un processus s’exécutant parallèlement à d’autres.
Lorsqu’un processus en cours d’exécution reçoit un signal, il exécute ce
que le programmeur a prévu pour ce signal. Par exemple :
L’Interrompre
Le terminer
Lui signaler qu’il faut relire un fichier de configuration …
CTRL + C
G4 : serveur linux pour alerter l’admin sur les modifications faites sur
les équipements manageables du réseau (CISCO).
18/01/2024 41
TP
G5 : Récupération et sauvegarde automatique du dernier fichier d’un
dossier (OS : Windows /script) renommer en fonction de la date
système. (sauvegarde sur une seconde partition)
G7 : serveur linux pour alerter l’admin sur les modifications faites sur les
équipements manageables du réseau (CISCO).
G8 : serveur linux pour alerter l’admin sur les modifications faites sur les
équipements manageables du réseau avec envoie d’email.
18/01/2024 42
Chap 4 : Ordonnancement de processu
Chap 4 : Ordonnancement de processus
4.1. Introduction
Rappel
Quel que soit le SE, à un instant donné, un processus est dans l'un des états
suivants :
Les transitions
•Activation : attribution d'un processeur.
•Préemption : perte du processeur.
•Attente : perte du processeur en raison de l'indisponibilité d'une ressource extérieure.
Chap 4 : Ordonnancement de processus
4.1. Introduction
Dans les SE modernes plusieurs processus sont généralement présents et actifs (en état prêt
simultanément)
ORDONNANCEMENT
Chap 4 : Ordonnancement de processus
4.1. Introduction
L’Ordonnanceur du noyau (planificateur, scheduler) est la partie (un programme)
du système d’exploitation responsable de régler les états des processus (Prêt,
Actif,…etc.) et de gérer les transitions entre ces états ; c’est l’allocateur du
processeur aux différent processus, il alloue le processeur au processus en
Certes, il s’agit là d’une évaluation subjective dans laquelle entrent en compte différents critères
à importance relative variable.
Utilisation répartie : Pourcentage du temps pendant lequel est utilisé l’ensemble des
ressources (outre l’UC, mémoire, périphérique d’E/S…)
Débit : Nombre de processus pouvant être exécutés par le système sur une période de
temps donnée.
Chap 4 : Ordonnancement de processus
4.3. les critères d’Ordonnancement
Les critères d’ordonnancement fréquemment utilisés :
Temps de rotation : durée moyenne qu’il faut pour qu’un processus s’exécute. Le temps
de rotation d’un processus comprend tout le temps que celui-ci passe dans le système. Il
est inversement proportionnel au débit.
Equité : degré auquel tous les processus reçoivent une chance égale
de s’exécuter.
Avantages :
Simple
Surcoût faible
Équitable
Inconvénients
Temps de réponse dépend du processus qui a la main (les autres
attendent tant qu’il ne rend pas la main
Pénalise les processus courts (proportion temps d’attente/ temps
Chap 4 : Ordonnancement de processus
4.5.2. L’algorithme SJF (Shortest Job Next)
A temps d’attente égale, le travail le plus court est prioritaire. Toutefois, cette solution
nécessite le calcul des priorités périodiquement et un réarrangement de la FA.
Chap 4 : Ordonnancement de processus
4.5.2. L’algorithme SJF (Shortest Job Next)
Avantage :
Supprime le problème de famine (plus un processus attend plus il
augmente ses chances d’obtenir la main).
Inconvénient :
Il faut la connaissance du temps d’exécution
Chap 4 : Ordonnancement de processus
4.5.5. L’algorithme Round Robin (Ruban rond)
Il s'agit d'un algorithme ancien, simple et fiable. Le processeur gère une liste
circulaire de processus. Chaque processus dispose d'un quantum de temps pendant
lequel il est autorisé à s'exécuter. Si le processus actif se bloque ou s'achève avant la
fin de son quantum, le processeur est immédiatement alloué à un autre processus. Si
le quantum s'achève avant la fin du processus, le processeur est alloué au processus
suivant dans la liste et le processus précédent se trouve ainsi en queue de liste.
La commutation de processus (overhead) dure un temps non nul pour la mise à jour
des tables, la sauvegarde des registres. Il est équitable mais un quantum trop petit
provoque trop de commutations de processus et abaisse l'efficacité du processeur.
Un quantum trop grand augmente le temps de réponse en mode interactif. On utilise
souvent un quantum de l'ordre de 100 ms.
Chap 4 : Ordonnancement de processus
4.5.6. L’algorithme HPF (Highest Priority First)
Les mécanismes d’attribution des priorités sont très variables ; la priorité est basée
sur la caractéristique du processus (utilisation de la mémoire, fréquence des E/S), sur
l’utilisateur qui exécute le processus, les coûts d’utilisation (Le temps de l’UC pour
les tâches de priorité supérieure est par exemple plus coûteux) ou sur un paramètre
que l’utilisateur peut spécifier. Certains mécanismes produisent des priorités qui
varient de manière dynamique : volume du temps d’exécution ; alors que d’autre
sont statiques (la priorité associée à un utilisateur).
Chap 4 : Ordonnancement de processus
4.5.6. L’algorithme HPF (Highest Priority First)
Les mécanismes d’attribution des priorités sont très variables ; la priorité est basée
sur la caractéristique du processus (utilisation de la mémoire, fréquence des E/S), sur
l’utilisateur qui exécute le processus, les coûts d’utilisation (Le temps de l’UC pour
les tâches de priorité supérieure est par exemple plus coûteux) ou sur un paramètre
que l’utilisateur peut spécifier. Certains mécanismes produisent des priorités qui
varient de manière dynamique : volume du temps d’exécution ; alors que d’autre
sont statiques (la priorité associée à un utilisateur).
Chap 4 : Ordonnancement de processus
4.5.6. L’algorithme HPF (Highest Priority First)
Notion de priorité
Principe : On souhaite aussi donner à l’utilisateur la possibilité d’influer
sur la priorité d’un processus.
Notion de priorité
Dans le cas des systèmes mon tâche, la gestion de la mémoire est assez
simple.
Il suffit de réserver une partie de la mémoire à l’OS, et l’application est
ensuite rangée dans l’espace. Cet espace est libéré si tôt que
l’application est terminée.
On exécute alors processus par processus en leur allouant l’espace à tour
de rôle.
Chap 5 : GESTION DE LA MEMOIRE
5.2. Système mono-tâche
Cela se complique un peu si l'application nécessite plus d'espace que ce
que peut fournir la mémoire vive. On segmente alors l'application en
segments de recouvrements ou "Overlays". Cette technique n'a plus
cours maintenant. Elle était utilisée à l'époque du DOS pour des
applications volumineuses. Le programmeur devait prévoir le découpage
de son application en imaginant comment ces overlays serait chargés en
mémoire les uns à la suite des autres pour qu'au cours de son exécution
l'application puisse atteindre toutes les fonctions nécessaires.
Il existe plusieurs :
Allocation contiguë (le processus est considéré comme le seul bloc indivisible : les
zones mémoires occupées sont contiguë).
Allocation non contiguë (le processus peut être stocké sur des zones mémoire
éparpillées).
Chap 5 : GESTION DE LA MEMOIRE
5.3. Méthodes d’allocation de la mémoire aux processus
5.3.1. Allocation contiguë : Partitions fixes
Chap 5 : GESTION DE LA MEMOIRE
5.3. Méthodes d’allocation de la mémoire aux processus
5.3.1. Allocation contiguë : Partitions fixes
On peut définir une file d’attente par partition, ou une file commune à
toutes les partitions
Chap 5 : GESTION DE LA MEMOIRE
5.3. Méthodes d’allocation de la mémoire aux processus
5.3.1. Allocation contiguë : Partitions fixes
Algorithme de placement pour partitions fixes : cas de plusieurs files.
Chap 5 : GESTION DE LA MEMOIRE
5.3. Méthodes d’allocation de la mémoire aux processus
5.3.1. Allocation contiguë : Partitions fixes
Algorithme de placement pour partitions fixes : cas de plusieurs files.
Assigner chaque processus à la partition de la plus petite taille
pouvant le contenir
1 file par partition
Tente de minimiser la fragmentation interne (allouer un grand espace
à un processus qui nécessite peu).
Inconvenient : certaines files seront vides s’il n’y a pas de processus
de cette taille.
Chap 5 : GESTION DE LA MEMOIRE
5.3. Méthodes d’allocation de la mémoire aux processus
5.3.1. Allocation contiguë : Partitions fixes
Algorithme de placement pour partitions fixes : cas de file unique.
Chap 5 : GESTION DE LA MEMOIRE
5.3. Méthodes d’allocation de la mémoire aux processus
5.3.1. Allocation contiguë : Partitions fixes
Worst fit offre l’espace assez nécessaire mais lente et fragmentation interne très
probable.
Chap 5 : GESTION DE LA MEMOIRE
5.3. Méthodes d’allocation de la mémoire aux processus
5.3.2. Allocation contiguë : Partitions variables
Algorithme d’allocation de la mémoire
Remarque
Pour une rapidité de l’algorithme, un classement est fait permanemment
pour ranger les espaces vides du plus petit au plus grand.
N.B : on parle de fragmentation interne, lorsque l’espace inutilisé est dans les
partitions. Tandis que pour la fragmentation externe, l’espace inutilisé est
Chap 5 : GESTION DE LA MEMOIRE
5.3. Méthodes d’allocation de la mémoire aux processus