Академический Документы
Профессиональный Документы
Культура Документы
Guide du cours
I. Introduction
II. Rappels
III. Qu’est ce qu’un système d’exploitation ?
IV. Historique des systèmes d’exploitation
V. Structuration d’un système d’exploitation
VI. Fonctionnalités d’un système d’exploitation
VII. Conclusion
Leçon 2 : Gestion des processus
I. Introduction
II. Généralités sur les processus
III. Activités des processus
IV. Stratégie d’ordonnancement
V. Les processus sous unix
VI. Conclusion
Leçon 3 : Gestion de la mémoire centrale
I. Introduction
II. Généralités sur la mémoire centrale
III. Méthodes de partitionnement
IV. Les stratégies d’allocation
V. Conclusion
Leçon 4 : Systèmes de gestion des fichiers
I. Introduction
II. Fichiers et répertoires
III. Gestion des disques
IV. Organisation logique des fichiers
V. Organisation physique des fichiers
VI. Conclusion
I. Introduction
II. Rappels
1. Définitions
2.1. Le processeur
La mémoire centrale est divisée en cases de taille fixe (par exemple 8 bits)
utilisées pour stocker instructions et données d’un programme. En principe, la taille
d’une case mémoire pourrait être quelconque ; en fait, la plupart des ordinateurs en
service aujourd’hui utilisent des emplacements mémoire d’un octet (byte en anglais,
soit 8 bits, unité pratique pour coder un caractère par exemple).
Activité :
nous mène à dire que le SE est formé d’un ensemble de parties ou couches. La
structuration d’un SE est sa représentation en couches.
Réside en mémoire
De petite taille
Gérer le processeur
Gérer la mémoire
Gérer les interruptions
Matériels
Noyau
Autres couches
Utilitaires
Applicatifs
Services
d’un système d’exploitation
Un processus est une entité créé lors de l’exécution d’un programme. Cet
entité possède un cycle de vie allant de sa création jusqu’à sa terminaison.
Au cours de son cycle de vie, un processus transite d’un état à un autre. Ces
états peuvent être résumés maintenant comme suit :
Créé
Terminé
Actif
Prêt
Bloqué
Figure 2 - Cycle
Figure de vie
3 - Cycle de d'un processus
vie d'un processus
Entre autre, les processus peuvent coopérer entre eux pour réaliser une tâche
commune. Cette coopération nécessite parfois une synchronisation et une
communication inter-processus.
Nous avons déjà vu que la mémoire centrale est composée de cellules utilisées
pour stocker les données et les instructions d’un programme. En effet, l’exécution
d’un programme se fait en mémoire centrale en allouant un espace suffisant pour en
contenir les données (constantes et variables) et les instructions du code source.
Un fichier peut être défini comme étant une unité de stockage logique
de l’information.
Pratiquement, le fichier est le seul et unique moyen logique pour
sauvegarder les données.
Un fichier peut avoir les attributs suivants : nom, taille, type, protection,
date, propriétaire,…
Un fichier peut être classé en deux catégories selon la nature des
informations y contenues : fichiers programmes et fichiers de données.
La gestion des fichiers est l’ensemble des actions relatives à leur existence :
création, édition, recherche, duplication, suppression, impression, compression,…
L’utilisateur peut ainsi communiquer avec la machine à travers des ordres et des
commandes lancées par les périphériques d’entrée et à travers aussi des résultats
aperçus par le biais des périphériques de sortie.
6. Services spécifiques
Parmi les services spécifiques d’un SE, on peut citer les tâches d’exploitation
standards de programmation (éditeurs de textes, traducteurs, éditeurs de liens,
compilateurs,…), de gestion de fichiers (formatage de volumes, copies de volumes et
de fichiers, tris de fichiers, conversion de support, archivage de supports,…) , de
gestion de tâches d’administration du système (gestion de mots de passe, gestion et
contrôle des accès , installation de nouvelles applications ou versions d’un logiciel,
outils d’évaluation de performances,…), de gestion de tâches d’un bureau (outils de
communication, outils de bureautique,…),etc.
VII. Conclusion
Cours : 3h
Volume horaire
TD : 1,5h
I. Introduction
La gestion des processus est l’une des fonctionnalités les plus importantes et
critiques d’un système d’exploitation. La gestion des processus rassemble des
activités relatives au traitement du processus. Ce chapitre traitera en premier lieu le
cycle de vie d’un processus. En second lieu, nous verrons les stratégies
d’ordonnancement des processus à travers des algorithmes et des exemples. Nous
traiterons, en dernier lieu, les processus sous le système unix.
Un processus est identifié par un numéro unique que l'on appelle le PID
(Process IDentifier)
Une ressource est une entité nécessaire à l’exécution d’un processus. Elle peut
être une ressource matérielle (imprimante, disque, processeur,…) ou bien une
ressource logicielle (fichier, base de données, programme,…).
Les ressources privées sont les ressources propres au processus. Pour cela,
elles ne posent pas de problèmes.
Les ressources partageables posent des problèmes d’accès puisque il y-a
compétition entre les processus pour les acquérir.
Une ressource (si elle est bien sûr disponible) est allouée au processus lors de
sa création.
Créé
Terminé
Actif
Prêt
Bloqué
La reprise est une suite éventuelle à la suspension d’un processus. Dans ce cas le
processus appelant réveillera son processus fils suspendu et ce après modification
éventuelle de son contexte.
- Le temps d’attente moyen est le temps est la moyenne des durées de temps
que les processus ont passé dans la file d’attente des processus à l’état prêt.
On l’appelle aussi FIFO (pour first in first out) ou premier arrivé premier servi.
Cet algorithme traite les processus selon l’ordre de leur soumission (date arrivée)
sans prendre compte de leur temps d’exécution. L’organisation de la file d’attente
des processus prêt est donc tout simplement FIFO.
Processeur
… P4 P3 P2 P1 Terminé
File d’attente « prêt »
SJF, ou la plus courte durée d’exécution, choisit les processus ayant le plus court
temps d’exécution sans réellement tenir compte de leur date d’arrivée. Cet
algorithme est non implémentable à cause de l’aspect statistique de ses calculs.
On procède ici à un recyclage des processus sur le processeur tant que les
processus ne sont pas terminés.
Lorsque un processus est élu on lui attribue une tanche de temps fixe appelé
quantum laquelle il s’exécute Au bout de ce temps on ne poursuit plus l’exécution
du processus on lui retire donc le processeur et on le réinsère dans la file des
processus prêt. Là il devra attendre sa prochaine élection.
Processeur
… P4 P3 P2 P1 Terminé
2. Application
Processus P1 P2 P3 P4
Date d’arrivée 0 1 2 3
Durée d’exécution 5 4 2 2
Pour chaque stratégie d’ordonnancement : FCFS, SJF, Round Robin déterminer les
grandeurs suivantes : le temps de traitement moyen TTM et le temps d’attente
moyen TAM.
a. Stratégie FCFS
Afin de calculer les deux grandeurs TTM et TAM, nous devons tout d’abord
tracer le diagramme de GANTT qui représente le graphique d’occupation du
processeur selon la politique d’allocation.
Diagramme de GANTT :
P1 P2 P3 P4
0 5 9 11 13 temps
Donc :
TTM = ((5-0)+(9-1)+(11-2)+(13-3)) / 4 = 32 / 4 = 8
TAM = ((0-0)+(5-1)+(9-2)+(11-3)) / 4 = 19 / 4 = 4,75
b. Stratégie SJF
Diagramme de GANTT :
P3 P4 P2 P1
2 4 6 10 15 temps
Donc :
c. Stratégie tourniquet
On suppose ici que le quantum est égal à 1. C'est-à-dire que chaque processus
possède un intervalle de temps qui vaut 1 unité de temps durant laquelle il est élu
par l’ordonnanceur pour exécution.
Diagramme de GANTT :
P1 P2 P3 P4 P1 P2 P3 P4 P1 P2 P1 P2 P1
0 1 2 3 4 5 …………………………………………. 11 12 13 temps
Donc :
Le noyau gère une table des processus, listable par la commande ps avec une
entrée par processus, et contenant des informations sur celui-ci. Cette entrée est
allouée à la création du processus et retirée à son achèvement.
Sous UNIX, l'horloge de l'ordonnanceur délivre 100 tops, ou cycles mineurs, par
seconde et un quantum, ou cycle majeur, correspond à plusieurs tops (par exemple
100, soit 1 seconde).
VI. Conclusion
Ce chapitre était consacré à la gestion des processus. Après avoir été élu par
l’ordonnanceur, un processus se charge en mémoire centrale pour s’exécuter. La
mémoire centrale représente le lieu d’exécution des processus. Le prochain chapitre
traitera en détail la gestion de la mémoire centrale.
Systèmes d’exploitation 1
Travaux Dirigés N° 1
Exercice 1
Dans un système monoprocesseur, on considère les processus suivants:
Processus Date d’arrivée Durée d’exécution
P1 0 8
P2 1 2
P3 2 4
P4 3 5
P5 3 6
D se présente à l’instant 5.
Dans chacun des cas suivants, montrez comment les 4 processus vont utiliser le
processeur, déterminez le temps de traitement moyen et le temps d’attente moyen :
a. Si l’ordonnanceur fonctionne selon Premier Arrivée Premier Servi.
b. Si l’ordonnanceur fonctionne selon la plus courte durée d’exécution.
c. Si l’ordonnanceur utilise l'algorithme du tourniquet, avec un quantum de 2.
I. Introduction
zone système
zone utilisateurs
Le « Va-et-vient » est une technique qui consiste à déplacer les zones de la mémoire
sur le disque afin d’avoir de zones libres.
1. Partitions fixes :
2. Partitions variables :
Ici les parties de l’espace mémoire sont de tailles variables. La zone mémoire
allouée à un processus redevient libre après la distribution du processus. Ces espaces
forment des partitions (de tailles) variables.
1. Stratégie First-Fit :
Il s’agit de choisir, pour satisfaire une demande, le premier trou, dans l’ordre des
adresses, dont la taille est supérieure ou égale à la demande (autrement dit, on
cherche à allouer le premier trou qui convient). La figure suivante est un exemple
d’allocation selon ce principe.
2. Stratégie Best-Fit :
Il s’agit de choisir, pour satisfaire une demande, le plus petit trou dont la taille soit
suffisante pour répondre à la demande. On peut ainsi espérer ne pas fragmenter les
gros trous afin de satisfaire les demandes gourmandes en espace mémoire. La figure
suivante est un exemple d’allocation selon ce principe.
3. Stratégie Worst-Fit :
Il s’agit de choisir, pour satisfaire une demande, le plus grand trou dont la taille
est largement supérieure à la demande. On peut ainsi espérer aboutir à un restant
dont la taille est suffisante pour satisfaire les petites demandes en espace mémoire.
La figure suivante est un exemple d’allocation selon ce principe.
V. Conclusion
Systèmes d’exploitation 1
Travaux Dirigés N° 2
Exercice 1
Dans le cadre d’un schéma de partitionnement de la mémoire centrale, on suppose
une allocation de type partition variable. La mémoire centrale est structurée de la façon
suivante :
Système
Libre (300K)
occupé
Libre (100K)
occupé
Libre (200K)
occupé
Libre (500K)
On suppose avoir la séquence suivante des demandes d’allocation : 150k, 200k, 100k, 300k,
150K. Donner l’état final de la mémoire avec les techniques First-fit, Best-fit et Worst-fit.
Conclure.
Exercice 2
On Considère les 5 processus du tableau suivant :
Système
Libre (300K)
occupé
Libre (700K)
occupé
Libre (500K)
occupé
Libre (200K)
occupé
Libre (300K)
Cours : 1,5h
Volume horaire
TD : 1,5h
I. Introduction
1. Le concept fichier
Un fichier est un objet abstrait à partir duquel on peut lire et écrire des
informations sans se soucier de l’emplacement physique du contenu du fichier.
Fichier classique
ASCII : peut être affiché et imprimé sans modification, facile à modifier
par un éditeur de texte, exemple : .txt, .html, .bat
Binaire de données : nécessite un programme décodeur, contiennent
souvent des données structurées, exemple : .doc, .excel, .gif
Binaire exécutable : possède une structure binaire qui définie les
composantes d’un programme exécutable.
Fichier spéciaux d’E/S divisé en fichier spéciaux octet et fichier spéciaux bloc
octet : terminaux, imprimantes, réseaux
bloc : disque (exemple /etc/hdd1)
Les catalogues : fichiers spéciaux dont le contenu permet de cataloguer
l’arborescence des fichiers sur le disque.
Soit par le système. Certains fichiers sont générés par les systèmes ou certains
outils tels que les compilateurs.
2. Le concept répertoire
Un répertoire est considéré comme un fichier puisqu’il est stocké sur le disque
et est destiné à contenir des fichiers.
1. Présentation
Un disque dur est un support de stockage des données. Un disque dur contient
un axe central autour duquel les plateaux tournent à une vitesse de rotation
constante. Toutes les têtes de lecture/écriture sont reliées à une armature qui se
déplace à la surface des plateaux, avec une à deux têtes par plateau (une tête par
face utilisée). L’armature déplace les têtes radialement à travers les plateaux pendant
qu’ils tournent, permettant ainsi d’accéder à la totalité de leur surface.
2. Partitionnement
L’information sur le partitionnement d’un disque est stockée dans son premier
secteur (secteur zéro), le MBR (Master Boot Record).
Deux types de partitionnement :
Primaire : On peut créer jusqu’à 4 partitions primaires sur un même disque.
Etendue : est un moyen de diviser une partition primaire en sous-partitions
(une ou plusieurs partitions logiques qui se comportent comme les
partitions primaires, mais sont créées différemment (pas de secteurs de
démarrage)).
3. Formatage
alors deux méthodes d’organisation logiques des fichiers selon qu’on veuille accéder
aux données séquentiellement ou directement.
1. Organisation séquentielle :
L’accès aux données d’un fichier se fera d’une façon séquentielle. Ce type
d’organisation peut être adapté aussi bien par des mémoires secondaires à accès
exclusivement séquentiel (exemple : les bandes magnétiques) que par des mémoires
à accès direct (exemples : les disques durs).
Dans un fichier, on regroupe les données d’une même entité logique
(exemple : un étudiant parmi les étudiants d’un institut) dans un même article. Les
composants d’un article sont alors des champs de type simple (exemple : le CIN de
l’étudiant) ou d’un type composé (exemple : l’adresse de l’étudiant avec un nom de
rue, un code postal et un nom de ville).
Succ
e1 e2 …. ei ei-1 en X
La représentation des articles d’un fichier dans une organisation à accès direct
doit permettre selon les besoins un accès tantôt séquentiel et tantôt direct (voir
même calculé). Seules des mémoires secondaires du genre disque dur permettent
l’accès direct aux données. La figure suivante schématise une telle organisation.
fichier
clé Info
.
.
Clé
.
Recherche .
k
.
.
1. Blocs contigus :
pour les fichiers dont le nombre et la taille ne changent pas et dont l’accès est
séquentiel. En effet, il suffirait pour localiser un fichier, de mémoriser pour chaque
fichier un nombre (celui des blocs occupés) et l’adresse de son premier bloc.
Malheureusement, cette technique d’implantation présente un inconvénient
majeur que constitue la fragmentation de l’espace mémoire.
Espace
mémoire
2. Blocs chaînés :
Dans une implantation chaînée, les blocs sont liés entre eux. Cette information
supplémentaire sur le chaînage doit être sauvegardée dans le descripteur du fichier
ou dans le bloc mémoire. On mémorise aussi dans le descripteur du fichier l’adresse
du premier bloc alloué et éventuellement celui du dernier bloc.
Pour pallier l’inefficacité des méthodes précédentes pour le cas des accès
directs, l’idée est de rassembler toutes les adresses dans une table d’implantation.
Ces adresse rassemblées peuvent se présenter sous plusieurs formes ; une table
unique, des tables chaînes ou encore des tables à plusieurs niveaux.
VI. Conclusion
Systèmes d’exploitation 1
Travaux Dirigés N° 3
Exercice 1
Soit un disque dur ayant les caractéristiques suivantes :
Caractéristique Performance
Taille d’un secteur 512 octets
Nombre de plateaux 5
Nombre de têtes 10
Nombre de cylindres 100 000
Nombre de secteurs par piste 4 000
Quelle est la capacité d’une piste, d’un cylindre, d’une surface, et du disque ?
Exercice 2
Soit le fichier td3.doc décrit avec le système MS-DOS par l’entrée suivante :
ds.doc … … 4
Etant donné le descripteur du fichier suivant :
Bibliographie