4. Introduction
• Architecture simplifiée d’un ordinateur
▫ Processeur
Elément fondamental
Chargé de l’exécution des instructions
Différentes appellations: UC (Unité Centrale), CPU (Central
Processing Unit), Processor
Caractéristiques
Famille (Constructeur): Intel, Motorola, Alpha, …
Vitesse: nombre d’instructions exécutées par seconde
(exprimée en MHZ, GHZ)
4
5. Introduction
• Architecture simplifiée d’un ordinateur
▫ Processeur
Composantes
Unité de Commande
▫ Reconnaissance des instructions
▫ Composée de registres:
▫ RI (registre d’instruction): instruction en cours
▫ CO (compteur ordinal): prochaine instruction
▫ RD: registre de données
▫ Etc..
Unité Arithmétique et Logique
▫ Unité d’exécution
▫ Composée de circuits arithmétiques (+,*,-, /) et logiques (ET, OU,..)
▫ Registre d’état (indicateur ou flag)
5
6. Introduction
• Architecture simplifiée d’un ordinateur
▫ Mémoire Centrale
Unité de stockage volatile
Composée de mots mémoire de taille fixe
Adresse unique pour chaque mot
Interface avec le processeur
Opérations
Lecture
Ecriture
Temps d’accès: temps moyen pour lire ou écrire
6
7. Introduction
• Architecture simplifiée d’un ordinateur
▫ Unités d’échange
Assure le lien entre le processeur et les périphériques
Intérêt
Différence de vitesse entre le processeur et les périphériques
(vitesse des périphériques est très réduite par rapport au
processeur)
Diversité des périphériques (Entrée, Sortie, E/S)
• Les différents composants communiquent à travers
les bus
7
8. Définition
• Le système d’exploitation est un programme (logiciel) qui
joue le rôle d’interface entre le matériel et l’utilisateur.
8
Programmes Systèmes et Applications
Système d’Exploitation
Matériel de l’ordinateur
9. Définition
• Système d’exploitation
▫ noté SE ou OS pour Operating System
▫ Logiciel fondamental
Indispensable pour exécuter des programmes
Interface Utilisateur-machine
9
10. Définition
• Un système d’exploitation est un ensemble de
programmes formant une couche logicielle dont le
but est de masquer la complexité du matériel aux
utilisateurs.
▫ Machine virtuel
• Un système d'exploitation est aussi un gestionnaire
de ressources, c'est-à-dire qu'il contrôle l'accès à
toutes les ressources de la machine
▫ Ressources physiques (UC, MC, disques…)
▫ Ressources logiques (fichiers)
10
11. Définition
• Parmi les fonctionnalités d’un système d’exploitation
▫ Gestion des fichiers
▫ Gestion du processeur et des processus
▫ Gestion de la mémoire centrale
▫ Autres fonctionnalités
Gestion des E/S
Gestion du dialogue homme-machine
11
12. Historique
• 1ère génération (jusqu’à 1955) : premiers systèmes
▫ premiers calculateurs, construits au moyen de tubes
électroniques
▫ Programmes et données sont codés en binaire, exécutés
manuellement
▫ l’ordinateur ne traite qu’un seul programme à la fois
• 2ème génération (1955-1965): traitement par lots
▫ Début des véritables OS
▫ Avec l'apparition du transistor, les ordinateurs sont plus
fiables
▫ Apparition des « jobs »
▫ Traitement par lots: enchaîner automatiquement les jobs
▫ Enchainement grâce au moniteur
12
13. Historique
• 3ème génération (19651980): système multiprogrammés
▫ Apparition des circuits intégrés
▫ Multiprogrammation: partage de processeur entre
plusieurs tâches
Programme P1: instruction11, instruction d’E/S …
Programme P2: instruction21, …
Le processeur exécute l’instruction 11, ensuite en attendant
la réalisation de l’instruction d’E/S de P1, le processeur
passe à l’exécution de l’instruction 21 du programme P2
13
14. Historique
• 4ème génération (1980-2000): explosion de la micro-
informatique
▫ Apparition des micro-ordinateurs
▫ Maturation des système d’exploitation
• 5ème génération: Génération actuelle
▫ Systèmes réseaux
Interconnexion de systèmes hétérogènes
▫ Systèmes répartis
Ensemble de machines indépendantes reliées entre elles
Ressources (physiques et logiques) réparties.
14
15. Chapitre 2. Le système de gestion de fichiers
15
Plan
SGF: Définition
Le concept fichier
Organisation Logique des Fichiers
Organisation Physique des Fichiers
Gestion de l’espace libre
Arborescence et chemins
Droits d’accès
Commandes de base LINUX
16. SGF: Définition
• Système de Gestion de Fichiers: SGF
▫ partie la plus visible d’un système d’exploitation
▫ Rôle
Gérer le stockage et la manipulation des fichiers sur une unité
de stockage (ex. disque)
Offrir les primitives pour manipuler les fichiers.
Faire la correspondance entre l’organisation logique qui décrit
le fichier, coté utilisateur, et l’organisation physique qui décrit
la représentation du fichier sur le support de stockage.
16
17. SGF: Définition
• Système de Gestion de Fichiers: SGF
▫ partie la plus visible d’un système d’exploitation
▫ Rôle
Gérer le stockage et la manipulation des fichiers sur une unité
de stockage (ex. disque)
Offrir les primitives pour manipuler les fichiers.
Faire la correspondance entre l’organisation logique qui décrit
le fichier, coté utilisateur, et l’organisation physique qui décrit
la représentation du fichier sur le support de stockage.
▫ Le fichier est l’unité logique de base d’un SGF
17
Information
logique
Information
physique
Disque
Cylindre
Piste
Secteur
Nom répertoire
Nom fichier
Indications
fichier
SGF
18. SGF: Définition
• Système de Gestion de Fichiers: SGF
▫ partie la plus visible d’un système d’exploitation
▫ Rôle
Gérer le stockage et la manipulation des fichiers sur une unité
de stockage (ex. disque)
Offrir les primitives pour manipuler les fichiers.
Faire la correspondance entre l’organisation logique qui décrit
le fichier, coté utilisateur, et l’organisation physique qui décrit
la représentation du fichier sur le support de stockage.
▫ Le fichier est l’unité logique de base d’un SGF
18
19. SGF: Définition
• Un SGF effectue généralement les tâches suivantes
▫ Fournit à l’utilisateur une interface conviviale pour
manipuler les fichiers
effectuer des opérations sur les fichiers: ouvrir, fermer,
copier, renommer, etc.
Simplifier la gestion du fichier par l’utilisateur
L’utilisateur fournit le nom et l’extension du fichier, le reste
est fourni par le SGF
▫ La gestion de l’organisation des fichiers sur le disque
(allocation de l’espace disque aux fichiers)
▫ La gestion de l’espace libre sur le disque dur
▫ La gestion des fichiers dans un environnement
Multi-Utilisateurs.
19
21. Le concept Fichier
• Fichier
▫ unité de stockage logique mise à la disposition des utilisateurs
pour l’enregistrement de leurs données : c’est l’unité d’allocation.
▫ d’un point de vue logique, l’utilisateur décrit un fichier comme
étant un ensemble d’articles ou d’enregistrements logiques
structurés et de même nature, ayant une signification particulière
vis-à-vis des traitements envisagés.
▫ ils sont généralement créés par les utilisateurs mais certains
fichiers sont générés par les systèmes ou certains outils tels que
les compilateurs
▫ décrit par un ensemble d’attributs
nom
extension
date et heure de sa création ou de sa dernière modification
Sa taille
protection
21
22. Le concept Fichier
Dans un système, il existe plusieurs types de fichiers :
• Les fichiers ordinaires (ASCII ou binaires).
• Les répertoires sont des fichiers système qui maintiennent
la structure du système de fichiers.
• Les fichiers spéciaux mode caractère sont liés aux E/S et
permettent de modéliser les périphériques d’E/S série tels
que les terminaux, les imprimantes et les réseaux.
• Les fichiers spéciaux mode bloc modélisent les disques,
les disquettes...
22
23. Le concept Fichier
• Répertoire
▫ appelé aussi catalogue ou directory
▫ un répertoire est lui-même un fichier puisqu’il est stocké sur
le disque et est destiné à contenir des fichiers
▫ De point de vue SGF, c’est un fichier qui dispose d’une
structure logique: tableau qui contient une entrée par fichier
▫ Chaque entrée peut contenir des informations sur le fichier
(attributs du fichier) ou faire référence à (pointer sur) des
structures qui contiennent ces informations
▫ Exemples
Structure du répertoire sous MS-DOS
Structure du répertoire sous UNIX
23
26. Organisation Logique des Fichiers
• Organisation Logique des fichiers
▫ On distingue alors deux méthodes pour organiser les
fichiers
Organisation à accès séquentiel
Organisation à accès direct
26
27. Organisation Logique des Fichiers
• Organisation Logique des fichiers
▫ Organisation à accès séquentiel
Les articles sont structurés de manière séquentielle
supportée par des mémoires secondaires à accès séquentiel
ou autres.
pour accéder à un article ei du fichier, il faut d’abord
accéder à ei-1, ce qui nécessite un accès préalable à ei-2,
27
28. Organisation Logique des Fichiers
• Organisation Logique des fichiers
▫ Organisation à accès séquentiel
Le SGF doit permettre de:
L’ouverture en lecture ou en écriture d’un fichier existant.
La fermeture d’un fichier préalablement ouvert.
La lecture ou l’écriture des articles d’un fichier.
28
29. Organisation Logique des Fichiers
• Organisation Logique des fichiers
▫ Organisation à accès direct
N’est supportée que par des mémoires secondaires
permettant l’accès direct aux données qui y sont stockées
comme les disques durs.
Pour accéder directement à un article du fichier, on doit
supposer que tout article puisse être spécifié par la donnée
d’une clé.
toute fonction d’accès direct à un quelconque article d’un
fichier a nécessairement besoin de la spécification d’une
valeur pour la clé.
29
30. Organisation Logique des Fichiers
• Organisation Logique des fichiers
▫ Organisation à accès direct
FIG. Article d’un fichier à accès direct
30
31. Organisation Physique des Fichiers
• Organisation Physique des fichiers
▫ considérer que la mémoire secondaire est un ensemble
fini d’unités d’allocation (des blocs de taille fixe) et
qu’un fichier occupe dans cette mémoire un segment
logique (un certain nombre de blocs alloués).
▫ On distingue trois techniques d’allocation des blocs
pour stocker un fichier sur un disque
Allocation Contiguë
Allocation Chaînée (non Contiguë)
Allocation indexée (non Contiguë)
31
32. Organisation Physique des Fichiers
• Organisation Physique des fichiers
▫ Allocation Contiguë
chaque fichier occupe un certain nombre de blocs de
mémoire secondaire qui sont consécutifs
avantage pour les fichiers dont le nombre et la taille ne
changent pas et qu’on accède toujours d’une manière
séquentielle.
Pour localiser un fichier, il suffit de mémoriser le nombre
de blocs occupés et l’adresse de son premier bloc
Inconvénient : fragmentation de l’espace mémoire
32
33. Organisation Physique des Fichiers
• Organisation Physique des fichiers
▫ Allocation Contiguë
33
Espace mémoire
34. Organisation Physique des Fichiers
• Organisation Physique des fichiers
▫ Allocation Contiguë: suppression des fichiers D et F
34
35. Organisation Physique des Fichiers
• Organisation Physique des fichiers
▫ Allocation chainée (non Contiguë)
les blocs physiques contenant les données du fichier sont
chainés entre eux.
L’information sur le chainage figure dans le premier octet
de chaque bloc alloué.
l’adresse du premier bloc alloué et celle du dernier
figurent dans le descripteur du fichier.
35
36. Organisation Physique des Fichiers
• Organisation Physique des fichiers
▫ Allocation chainée (non Contiguë)
36
Bloc1
Bloc2
Bloc n
37. Organisation Physique des Fichiers
• Organisation Physique des fichiers
▫ Allocation chainée (non Contiguë)
Avantage
Élimination du problème de la fragmentation
Inconvénient
pour atteindre un élément sur le bloc n d’un fichier, le
système devra parcourir les n-1 blocs précédents.
L’accès au fichier devient donc séquentiel.
37
38. Organisation Physique des Fichiers
• Organisation Physique des fichiers
▫ Allocation indexée (non Contiguë)
Les adresses des blocs ne figurent plus dans chaque bloc
allouée
Les adresses des blocs sont stockées dans une structure de
données, gardée en mémoire centrale
Table d’implantation
Les informations sur les adresses des blocs peuvent être
obtenues à tout moment
38
39. Organisation Physique des Fichiers
• Organisation Physique des fichiers
▫ Allocation indexée (non Contiguë)
Exemples
Les systèmes de fichiers FAT16, FAT32: utilise la FAT (File
Allocation System)
▫ Utilisé par MS-DOS, Windows95, …
Le système de fichier NTFS (New Technology File System)
utilise une structure appelée MFT (Master File Table)
▫ Utilisé par Windows 2000, NT, XP, Vista
Le système de fichier ext3fs (third extended file system)
utilise la structure I-node
▫ Utilisé par Unis, GNU/Linux
39
40. Organisation Physique des Fichiers
• Organisation Physique des fichiers
▫ Allocation indexée (non Contiguë)
Table d’implantation unique
toutes les adresses des blocs alloués au fichier figurent
comme champ particulier dans le descripteur du fichier
Inconvénient: la taille du fichier est limité au nombre
d’entrées dans la table d’implantation.
40
41. Organisation Physique des Fichiers
• Organisation Physique des fichiers
▫ Allocation indexée (non Contiguë)
Table d’implantation chainée
Pour résoudre le problème de limitation de la taille du fichier
due à l’unicité de la table d’implantation: chainer plusieurs
tables d’implantation
chaque table doit indiquer le nombre de blocs qu’elle permet
d’accéder, un lien de chaînage vers une autre table
d’implantation et des pointeurs vers les blocs de données du
fichier
41
42. Organisation Physique des Fichiers
• Organisation Physique des fichiers
▫ Allocation indexée (non Contiguë)
Table d’implantation chainée
42
43. Organisation Physique des Fichiers
• Organisation Physique des fichiers
▫ Allocation indexée (non Contiguë)
Table d’implantation à plusieurs niveaux
Pour des tables d’implantation de grande taille, il est
préférable d’organiser les tables selon une structure
hiérarchique en limitant les niveaux à deux ou trois
43
44. Organisation Physique des Fichiers
• Organisation Physique des fichiers
▫ Allocation indexée (non Contiguë)
44
45. Gestion de l’espace libre
• Deux approches utilisées par les SE pour
mémoriser l’espace libre sur le disque
▫ Approche statique
Bitmap
▫ Approche Dynamique
Par liste chainée
45
46. Gestion de l’espace libre
• Bitmap
▫ Utilise une table de bits (vecteur de bits)
▫ Nombre de bits = nombre de blocs du disque
▫ A chaque bloc correspond 1 bit dans la table
bit = 1 bloc occupé
bit = 0 bloc libre
+ trouver facilement le 1er bloc libre, ou les n blocs libres
consécutifs
- Gestion du vecteur
46
Vecteur de bits à n blocs
47. Gestion de l’espace libre
• Liste chainée: méthode standard
▫ Utilise une liste chainée composée d’éléments
▫ Chainer les blocs libres
▫ Pointeur sur le premier bloc libre
+ la liste ne conserve que les blocs libres
- Parcours de la liste
47
Liste chainée des blocs libres (méthode standard)
48. Gestion de l’espace libre
• Liste chainée : variante
▫ Les adresses des n blocs libres sont stockées dans le premier
bloc libre
▫ Les (n-1) premiers blocs sont libres,
▫ le dernier bloc contient les adresses des n autres blocs libres.
+ trouver rapidement les adresses d’un grand nombre de blocs
libres
48
Liste chainée des blocs libres (variante)