sysexploitation cp2 [lakhrissi]

27
 Introduction au Système d’exploitation ENSA de Fès CP II 2011 Younes Lakhrissi Syst ème d’ex ploitat ion CP2 [ Y. Lak hrissi ] 2 Plan du cours I. Généralités II. Gestion des processus III. Gestion des fichiers

Upload: ilhame-alabouch

Post on 17-Jul-2015

106 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 1/27

 

Introduction auSystème d’exploitation

ENSA de Fès

CP II2011

Younes Lakhrissi

Système d’exploitation CP2 – [ Y. Lakhrissi ] 2

Plan du cours

I. Généralités

II. Gestion des processus

III. Gestion des fichiers

Page 2: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 2/27

 

Chapitre I

Généralités

1. Introduction au systèmes d’exploitation

2. Notions sur les partitions & Lancement d’unsystème d’exploitation

Système d’exploitation CP2 – [ Y. Lakhrissi ] 4

Rappel : Fonctionnement de l’ordinateur

PROCESSEUR :Lecture del’EEPROM

(programme BIOS)

BIOS :

Liste les éléments d’E/S dont leSystème d’Exploitation et laBase de registre

Chargementdu S.E. Envoid’information

à la RAM

Mise soustension del’ordinateur

Le travail peutcommencer :traduction enactionsélémentaires à

partir duclavier ou de lasouris.

I-1

Page 3: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 3/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 5

Le système d’exploitation

Un système d'exploitation (Operating System en anglais : OS) est unprogramme, un ensemble cohérent de logiciels permettant d'utiliser unordinateur et tous ses éléments.

Il est composé d’un noyau et d’un ensemble d'outils système.

Le BIOS lance le système d’exploitation.

Le système d’exploitation prend la main à la suite du BIOS.

I-1

Système d’exploitation CP2 – [ Y. Lakhrissi ] 6

Types d'OS

Différentes catégories des OS

systèmes "généralistes" : Windows, Linux, Unix, MacOS, …

systèmes "serveur" : OS/390, Windows (server edition), Linux entreprise…

systèmes embarqués : PalmOS, Symbian, …

systèmes temps réel : QNX (à base d’UNIX), Windows Mobile, RT Linux, …

systèmes pour carte à puce : Java Card…

Dans ce cours :

étudier les "grands principes" applicables à tous les OS

applications : le noyau UNIX

I-1

Page 4: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 4/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 7

Rôles du système d'exploitation

1 - Interagir avec le monde extérieur Exécution des programmes utilisateur. capable de gérer des entrées (au clavier, par le réseau), lire le résultat

(l’imprimer à l‘écran, sur papier, etc.)

2 - Effectuer les tâches de bas niveau Interaction avec les périphériques Pas besoin de programmer le protocole d'interaction pour imprimer un document

ou pour envoyer un flux à l’écran.

3 - Protéger la machine Contre des ordres corrects non voulus. (effacer tout le disque par exemple) Contre des ordres incorrects envoyés aux périphériques. Au pire, votre programme plante, pas la machine.

I-1

Système d’exploitation CP2 – [ Y. Lakhrissi ] 8

Rôles du système d'exploitation

4 - Cacher les détails de votre machine cache la complexité de gestion des taches, donne l'illusion que toutes les machines sont identiques, rend les programmes (relativement) portables.

5 - Partager la machine Le système d'exploitation donne l'illusion que

le programme tourne seul sur la machine. l'utilisateur est seul sur la machine.

I-1

Page 5: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 5/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 9

Scénario NominalI-1

Système d’exploitation CP2 – [ Y. Lakhrissi ] 10

Services d'un OS

1 - gestion de processus(processus = un programme enexécution avec son contextespécifique) création des processus gestion de leur cycle de vie,

ordonnancement, … communication inter-processus (IPC)

2 - gestion de la mémoire allocation d’espaces mémoire aux

processus, gestion de l'espace d'adresse virtuel,

I-1

Noyau du Système d’exploitation

Matériel

Gestion des fichiers

Gestion de la mémoire

Application (Logiciel, p.ex. Microsoft Word)

PilotePilote

 

Noyau du Système d’exploitation

Matériel

Gestion des périphériques (entrées/sorties)

Gestion des fichiers

Gestion de la mémoire

Logiciel d’application

Gestion des processus

PilotePilotePilote

Page 6: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 6/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 11

Services d'un OS

3 - gestion des entrées/sorties (E/S) terminaux, périphériques de stockage, cartes réseau, cartes graphiques, etc.

aspects bas niveau (gestion contrôleurs, interruption, ports,…)

aspects haut niveau :

gestion des fichiers

organisation des disques et autres stockages externes, accès aux données,ordonnancement des requêtes…

gestion du réseau

couches de protocole, …

gestion de l'IHM (Interface Homme Machine)

terminaux texte, système de fenêtres, …

4 - services divers

sécurité et cryptographie, encodage / décodage multimédia, …

I-1

Système d’exploitation CP2 – [ Y. Lakhrissi ] 12

Chapitre I - Généralités

1. Introduction au systèmes d’exploitation

2. Notions sur les partitions & lancement d’unsystème d’exploitation

Page 7: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 7/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 13

Propriétés des partitions

Une partition est caractérisée par plusieurs propriétés :

Les partitions amorçables, cela signifie qu'elle contient un système d'exploitation et que son secteur boot

peut être exécuté pour démarrer le système.

Une partition peut être visible ou cachée. Une partition cachée ne sera pas vue par le système d'exploitation exécuté.

Cacher une partition peut servir à avoir plusieurs systèmes sur le même PC.

On distingue deux types de partitions : Primaires et Logiques

I-3

Système d’exploitation CP2 – [ Y. Lakhrissi ] 14

Partitions primaires et partitions logiques

On distingue deux types de partitions :

1 - Les partitions primaires Un disque dur peut avoir jusqu'à 4 partitions primaires. Ces partitions sont

reconnues par le BIOS. imposée par l'architecture du PC

Cette limite est très contraignante. Par exemple, comment fait-on pour pouvoirutiliser 10 partitions sur un seul disque ?

2 - Les partitions logiques Une partition étendue est une partition primaire parmi les quatre possibles, qui

contient elle-même d'autres partitions. On peut les considérer comme des partitions secondaires. On les appelle

lecteurs logiques. Elles peuvent toutes avoir des caractéristiques différentes : tailles différentes, et

systèmes de fichiers différents.

I-3

Page 8: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 8/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 15

Exemple de partitionI-3

Système d’exploitation CP2 – [ Y. Lakhrissi ] 16

Le MBR (Master Boot Record)

Définition Les premiers secteurs du disque physique sont occupés par le MBR (Master Boot Record). C'est une zone qui se situe avant la première partition physique, et qui est généralement très

petite (quelques Ko seulement). Cette zone a un rôle vital pour le disque dur. Elle est partagée en deux parties :

La Table des Partitions

C'est là que sont enregistrées les informations concernant les quatre partitions primaires :emplacement, taille, propriétés (cachée, amorçable). Si on efface ces données, le PC ne saitplus où sont situées les quatre partitions, et toutes les données sont donc perdues, bien queles données elles mêmes n'aient pas été effacées.

C'est de cette table des partitions que vient la limite des 4 partitions primaires possibles.

Le système d'amorçage C'est un programme exécuté par le BIOS au démarrage du PC qui a pour rôle de lancer le

système d'exploitation du PC. Pour cela, le programme stocké dans le MBR exécute enréalité le secteur boot de la partition principale où est installé le système d'exploitation àdémarrer.

I-3

Page 9: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 9/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 17

Secteur boot d'une partition

Chaque partition contient un secteur de boot sur ses premiers secteurs. ilcontient deux parties :

1 - Des données qui indiquent les propriétés de la partition, comme par exemple le nom de

volume, ou le système de fichiers.

2 - Un programme d'amorçage qui démarre le système d'exploitation si la partition est amorçable. Si la partition n'est pas amorçable, elle contient généralement un programme qui

affiche un message d'erreur comme "Pas de système d'exploitation", au cas oùcette partition serait exécutée.

I-3

Chapitre II

Gestion des processus

1. Présentation des processus2. Ordonnancement

Page 10: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 10/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 19

Définition d’un Processus

processus = programme exécutable+

ses données et sa pile d'exécution+

son compteur ordinal+

son pointeur de pile et les autres registres

II-

Système d’exploitation CP2 – [ Y. Lakhrissi ] 20

Etats d’un processus

•J’attends le Processeur•Je suis PRÊT•Je dispose de TOUTES lesRessources nécessaires

•Je suis ELU•Je dispose du PROCESSEUR•Je suis le Seul

•J’attends un événement•J’attends une ressource

Page 11: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 11/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 21

Etats d’un processus

Transition 1 : création du processus Activable par une primitive du SE exemples :

fonctions fork() / exec() de UNIIX, fonction CreateProcess(), CreateThread() de l'API W iin32

crée une nouvelle entrée dans la Table des Processus

Transition 2 : Activable Actif décidé par le SE un module spécial du noyau :

l’ordonnanceur ou commutateur de tâches ou scheduler

ou préempteur travaille périodiquement implique une commutation de contexte : restauration

Système d’exploitation CP2 – [ Y. Lakhrissi ] 22

Etats d’un processus

Transition 3 : Actif Activable Réquisition du CPU décidée et réalisée par l’ordonnanceur implique une commutation de contexte : sauvegarde

Transition 4 : Actif Bloqué

par une primitive du système Exemple :

opération de lecture attente des données attente de l’évènement FIN d’entrée/sortie événement généré par le contrôleur d’E/S en général, une IT

implique une commutation de contexte : sauvegarde

Page 12: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 12/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 23

Etats d’un processus

Transition 5 : Bloqué Activable déblocage par un événement arrivée de la condition attendue, exemple :

fin d’Entrée-Sortie, ... libération de la ressource par un autre processus début de communication avec un autre processus

pas de commutation de contexte

Transition 6 : fin du processus par une primitive du système

appel implicite : fin du programme appel explicite : fonction exit(n) dans UNIIX

par un événement Décision du SE (en cas d’erreur) ex :: division par zéro

Décision de l’usager propriétaire du processus CTRL - C Décision de l’Administrateur Système, ex: commande Unix kill n°Processus

Système d’exploitation CP2 – [ Y. Lakhrissi ] 24

Process Control Bloc

Définition Chaque processus est représenté dans le SE par un bloc appelé process control

bloc. Le PCB est un enregistrement contenant des informations associées à unprocessus.

Parmi ces informations :

L’état du processus (bloqué, prêt, élu)

Le compteur ordinal (indique l’adresse de la prochaine instruction à êtreexécutée par ce processus)

L’allocation mémoire

La liste des fichiers ouverts

Les périphériques associés au processus

Page 13: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 13/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 25

Chapitre II - Gestion des processus

1. Présentation des processus

2. Ordonnancement

Système d’exploitation CP2 – [ Y. Lakhrissi ] 26

Ordonnancement des Processus

L'ordonnancement est à la base de la multiprogrammation

La plupart des ressources de l'ordinateur font l'objet de l'ordonnancementavant leur utilisation

Exemple : plusieurs processus sont prêts à être exécutés.

Lequel il faut choisir et selon quel critère?

Besoin de définir les critères d’ordonnancement !

Page 14: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 14/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 27

Critères d’ordonnancement

utilisation CPU : le processeur est une ressource chère, donc il faut l’utiliser au maximum

temps de réponse : en mode interactif, le temps de réponse mesure le temps qui s’écoule entre

l’émission d’une requête et le début de la réponse par le système

temps d'attente du processus : temps que passe un processus dans la queue des processus prêts

temps de retournement (turn around time) : correspond au temps depuis la soumission du travail jusqu’au résultat. C’est la

somme des temps pour avoir la mémoire + temps passé dans la queue des

processus prêts + temps des I/O + temps CPU

Système d’exploitation CP2 – [ Y. Lakhrissi ] 28

Types d’ordonnanceur

Non préemptif :

Sélectionne un processus qui s’exécute jusqu’à blocage ou libération duprocesseur.

Préemptif :

Sélectionne un processus qui s’exécute pendant un délai déterminé.

Si le processus est toujours en cours après ce délai alors il est suspendu et unautre est choisi pour prendre sa place.

Page 15: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 15/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 29

JOB Temps d’exécution

1 202 10

3 4

Quelques Algorithmes d’Ordonnancement

Algo 1- Premier Arrivé Premier Servi Le premier processus qui a besoin du CPU est servi C’est Un algorithme simple mais il n’est pas performant. L’implantation de cet algorithme peut se faire à l’aide d’une queue FIFO

Quand le CPU est libéré, on prend le processus situé à la tête

Exemple : est ce que l’ordre d’exécution des processus a une influence surle temps moyen d’exécution

Système d’exploitation CP2 – [ Y. Lakhrissi ] 30

Quelques Algorithmes d’Ordonnancement

Si on exécute les travaux dans l ’ordre 1,2,3 alors : Le Job 1 s’exécute en 20 unités Le Job 2 s’exécute en 20+10 = 30 unités Le Job 3 s’exécute en 20+10+4 = 34 unités Le temps moyen d’exécution est alors (20+30+34)/3 = 28 unités Temps d’attente : 16

Si on exécute les travaux dans l ’ordre 2,3,1 Le temps moyen d’exécution est (10+14+34)/3 = 19 unités Temps d’attente : 8

Si on exécute les travaux dans l ’ordre 3,2,1 Le temps moyen d’exécution est (4+14+34)/3 = 17 unités Temps d’attente : 6

Avez-vous une Conclusion ? … le plus court job d’abord

Page 16: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 16/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 31

Quelques Algorithmes d’Ordonnancement

Algo 2 - Le Plus Court Job d'abord

L’unité centrale est affectée au job le plus court.

Cet algorithme est optimal au sens du temps moyen d’attente

La difficulté réside dans le fait de connaître, à priori, la durée CPU d’un job.

(job limit ou estimations se basant sur le comportement antérieur des processus)

Système d’exploitation CP2 – [ Y. Lakhrissi ] 32

Quelques Algorithmes d’Ordonnancement

Algo 3 - Ordonnancement avec priorité

On associe une priorité à chaque job et la CPU est associée au job qui a la plushaute priorité. Deux job ayant la même priorité sont traités selon FIFO.

Dans le cas du plus cout job d’abord, la priorité est l’inverse du temps CPU. Plusle temps CPU est grand, plus la priorité est basse.

D’autres facteurs peuvent être utilisés pour calculer la priorité tels que : lamémoire nécessaire, le nombre de fichiers ouverts, …

Les processus qui ont une faible priorité risquent d’attendre longtemps avantd’avoir la CPU.

Une solution à cette situation est la technique du vieillissement (« AGING ») quiconsiste à augmenter graduellement la priorité des jobs qui attendent dans lesystème pendant longtemps.

Page 17: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 17/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 33

Quelques Algorithmes d’Ordonnancement

Algo 4 - Ordonnancement Circulaire ( Tourniquet / Round – Robin)

C’est un algorithme qui est utilisé en particulier pour les travaux« temps partagé ».

On définit une unité de temps appelée quantum.

La liste des jobs prêts est traitée comme une liste circulaire.

L’Ordonnanceur parcourt la queue des jobs et alloue la CPU à chaqueprocessus pour une durée qui peut atteindre le quantum.

Système d’exploitation CP2 – [ Y. Lakhrissi ] 34

TD

Page 18: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 18/27

 

Chapitre III

Gestion de Fichiers

1. Introduction

2. Types d’allocation de l'espace disque aux fichiers3. Exemples de SGF

Système d’exploitation CP2 – [ Y. Lakhrissi ] 36

Les Systèmes de Gestion de Fichiers

La partie d'un système d'exploitation qui est consacrée à : l'organisation logique d'un fichier, la représentation de l'information, la réalisation des fonctions d'accès, la protection et la sécurité.

est appelée Système de Gestion de Fichiers (SGF)

Fichier Un fichier est une collection organisée d'informations de même nature.

Un fichier est constitué d'un ensemble de blocs (enregistrement physique,granule, unité d'allocation, "block") situés en mémoire secondaire.

Page 19: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 19/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 37

Un utilisateur n'est pas concerné par l'emplacement physique d'unfichier ou par la méthode de gestion des blocs libres d'un disque.

il s'intéresse à : la manière de créer et de détruire un fichier, comment accéder aux fichiers pour les consulter ou les modifier, comment protéger ses fichiers contre les accès non autorisés, ...

L'utilisateur donne un nom logique à chacun de ses fichiers et c'est leSGF qui se charge de faire la correspondance entre le nom d'un fichieret son implantation sur un support physique.

Interface utilisateur d'un SGF

Système d’exploitation CP2 – [ Y. Lakhrissi ] 38

Les blocs du disque

Les fichiers de données sur les disques se répartissent dans des blocs de taillefixe correspondant à des unités d’entrées-sorties du contrôleur de cepériphérique.

La lecture ou l’écriture d’un élément d’un fichier implique le transfert du blocentier qui contient cet élément.

Les disques peuvent être formatés avec une certaine taille de blocs. les tailles courantes de blocs = 512 octets, 1Ko, 2Ko, 4Ko jusqu’à 16Ko. Si un disque comprend beaucoup de fichiers de petite taille et si les blocs sont de

grandes dimensions, l’espace gaspillé est considérable.

Taille minimale d’un fichiers = 1 bloc.

Choix de Taille du bloc = compromis entre la vitesse d’accès aux éléments desfichiers et l’espace perdu sur le disque.

Pour un accès rapide, … blocs de grande ou petite taille ?

⇒ blocs de grande taille.

Page 20: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 20/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 39

Gestion de l'espace libre

Dans un système informatique, les fichiers sont crées ou effacés assezfréquemment.

L'espace libéré lorsqu'on efface un fichier est réutilisé pour de nouveaux fichiers.Le système maintient alors une trace de tous les blocs libres du disque.

La création d'un nouveau fichier nécessite la recherche dans les blocs libres d'unespace suffisant pour contenir ce fichier.

Système d’exploitation CP2 – [ Y. Lakhrissi ] 40

Gestion de l'espace libre

Méthodes de gestion de l’espace libre L'espace libre d'un disque peut être géré par une table de bits. Chaque bloc est

représenté par un bit qui est à 0 si le bloc est libre, à 1 s'il est occupé.

Une autre manière de faire est de chaîner les blocs libres et en ayant unpointeur vers le premier bloc libre. Cette manière n'est pas très efficace car pourparcourir la liste, il faut lire chaque bloc (donc beaucoup de temps CPU).

Une alternative est de mémoriser les adresses de n blocs libres dans lepremier bloc libre. Ainsi les adresses d'un grand nombre de blocs librespeuvent être trouvées rapidement.

Adresse 1erbloc libre

Bloc libreBloc libre

Page 21: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 21/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 41

Allocation de l'espace disque aux fichiers

Implantation physique des fichiers en blocs fichier = une liste de blocs contenant ses données. Les fichiers conservent l’ensemble de leurs blocs suivant trois méthodes

3 méthodes sont largement utilisées pour l'allocation de l'espace disque :

1 - l'allocation contiguë,

2 - l'allocation chaînée,

3 - l'allocation indexée.

Système d’exploitation CP2 – [ Y. Lakhrissi ] 42

Allocation de l'espace disque aux fichiers

1 - L'allocation contiguë

chaque fichier occupe un ensemble de blocs dont les adresses se suivent.

Dans ce type d'allocation, un fichier est défini par son adresse de départ et salongueur. cette information est mémorisée dans l'entrée du répertoire du fichier.

Pour l'accès direct à un bloc K d'un fichier qui commence au bloc B, on peutaccéder facilement au bloc B+K.

Problèmes de ce type d'allocation

déterminer l'espace nécessaire pour un fichier. L'estimation de l'espacenécessaire lors de la création d'un fichier est difficile.

Si on alloue une petite taille, on risque d'avoir des problèmes lorsqu'on veut faire uneextension du fichier. Le système peut alors copier ce fichier dans un espace plus grandmais cela ralentit le traitement.

Si on alloue une grande taille, il y a perte de la place même si cette taille va être atteinteau cours de l'évolution du fichier.

Page 22: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 22/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 43

Allocation de l'espace disque aux fichiers

2 - L'allocation chaînée

Descriptif

Dans ce cas, chaque fichier est une liste chaînée de blocs de disque. Les blocsd'un fichier peuvent être dispersés sur tout le disque.

Un fichier est repéré par son nom et un pointeur sur le premier bloc du fichier.

On peut utiliser aussi un pointeur sur le dernier bloc pour faciliter l'extension.

Pour ajouter un nouveau bloc, il suffit de prendre un bloc de la liste des blocslibres et le chaîner au fichier.

Système d’exploitation CP2 – [ Y. Lakhrissi ] 44

Allocation de l'espace disque aux fichiers

2 - L'allocation chaînée

Problèmes

l'accès direct n'est pas efficace car il faut plusieurs accès disques pour lire le ième

bloc.

Pour atteindre un élément sur le bloc n le système doit parcourir les n-1 blocsprécédents.

la fiabilité. Que se passe-t-il si un pointeur est endommagé.

Pour résoudre ce problème on peut utiliser des listes doublement chaînées oubien mémoriser dans chaque bloc le nom du fichier et son numéro relatif.

Page 23: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 23/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 45

Allocation de l'espace disque aux fichiers

3 - L'allocation Indexée

L'allocation indexée résout le problème de l'accès direct en mettant tous lespointeurs dans un bloc appelé : BLOC INDEX.

Chaque fichier a son bloc index qui contient des adresses de blocs. La ième

entrée du bloc index pointe vers le ième bloc du fichier.

L'entrée du répertoire du fichier contient l'adresse du bloc index.

on est obligé d'avoir un bloc index même si le fichier n'a qu'un ou deux blocs.D'où perte de place.

Une variante de l’allocation Indexée : l’allocation séquentielle indexée

Système d’exploitation CP2 – [ Y. Lakhrissi ] 46

3’ - Allocation séquentielle indexée

Allocation de l'espace disque aux fichiers

Page 24: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 24/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 47

Les Répertoires

La plupart des systèmes d’exploitation adoptent une structure hiérarchique desfichiers. Chaque fichier appartient à un groupe d’autres fichiers et chaque groupeappartient lui même à un groupe d’ordre supérieur. On appelle ces groupes, desrépertoires ou des dossiers.

Le schéma de la structure générale d’un système de fichiers est un arbre, forméau départ d’un répertoire « racine » recouvrant des périphériques et notammentun ou plusieurs disques.

Dans chacun des répertoires on pourra trouver d’autres répertoires ainsi que desfichiers de données ordinaires.

Système d’exploitation CP2 – [ Y. Lakhrissi ] 48

Les répertoires sont, eux aussi, des fichiers, constitués des noms et desréférences de tous les fichiers qu’ils contiennent.

Cette structure permet de construire l’arborescence du système.

Pour désigner un fichier quelconque, il suffit de spécifier l’enchaînement desrépertoires nécessaires à son accès, à partir de la racine.

Dans le système Unix, les répertoires de cet enchaînement sont séparés par / 

Dans le système DOS, par \ 

Les répertoires et l’adressage d’un fichier

Page 25: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 25/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 49

Dans le système Unix, chaque répertoire contient aussi sa propre référence,ainsi que celle du répertoire immédiatement supérieur.

« . » désigne le répertoire courant, « .. » désigne le répertoire supérieur.

L’inclusion de ces deux références permet de désigner un fichier quelconque,relativement au répertoire courant.

Les répertoires et l’adressage d’un fichier

Système d’exploitation CP2 – [ Y. Lakhrissi ] 50

Exemples de SGF : MS-DOS

MS-DOS utilise des listes chaînées.

Il conserve le premier bloc de chacun des fichiers dans son répertoire. Il optimise ensuitel’accès des blocs suivants en gardant leurs références dans une Table d’Allocation deFichiers (FAT).

Chaque disque dispose d’une FAT qui possède autant d’entrées qu’il y a de blocs sur ledisque.

Chaque entrée de FAT contient le numéro du bloc suivant.

Exemple

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15X X EOF 13 2 9 8 L 4 12 3 L EOF EOF L BE

XX = taille du disque,

L = bloc libre 

BE = bloc endommagé,

Le fichier commençant au bloc 6, sera constitué des blocs : 6, 8, 4 et 2.

Page 26: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 26/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 51

Les répertoires du MS-DOS possèdent une entrée par fichier Structure d’une entrée :

Le numéro du 1er bloc, cluster dans la terminologie MS-DOS, indexe la Fatet permet de retrouver la suite des éléments du fichier.

TailleN°du 1erbloc

DateHeureRéservéAttributsExtensionNom dufichier

Exemples de SGF : MS-DOS

Système d’exploitation CP2 – [ Y. Lakhrissi ] 52

Exemples de SGF : UNIX

Unix répertorie chaque fichier par un numéro unique pour tout un disque.

À chaque numéro, correspond un enregistrement = un nœud d’index (i-node).

i-node comportant un nombre fixé de champs.

13 de ces champs, mémorisent l’emplacement physique du fichier.

Les 10 premiers champs contiennent les numéros des 10 premiers blocs dufichier.

…….bloc n°3bloc n°2bloc n°1Nœud d’index

Pointeur à triple indirectionPointeur à double indirectionPointeur à simple indirection

Bloc n°13Bloc n°12Bloc n°11

Page 27: SysExploitation CP2 [Lakhrissi]

5/14/2018 SysExploitation CP2 [Lakhrissi] - slidepdf.com

http://slidepdf.com/reader/full/sysexploitation-cp2-lakhrissi 27/27

 

Système d’exploitation CP2 – [ Y. Lakhrissi ] 53

i-node

Pour les fichiers de plus de 10 blocs, on UTILISE des indirections.

Le bloc n°11 contient le numéro d’un bloc composé lu i-même d’adresses deblocs de données. Si les blocs ont une taille de 1024 octets et si ils sontnumérotés sur 4 octets, le bloc n°11 pourra désigne r jusqu’à 256 blocs. Au total,le fichier utilisant la simple indirection aura alors une taille maximale de 266 blocs(10 + 256).

Le bloc n°12 contient une adresse, un pointeur, à do uble indirection,

Le bloc n°13 contient un pointeur à triple indirecti on.

Avec l’exemple ci-dessus, un fichier peut avoir une taille maximale de ??

16 Go

Exemples de SGF : UNIX

Système d’exploitation CP2 – [ Y. Lakhrissi ] 54

Exemples de SGF : UNIX

Les répertoires d’Unix disposent d’une entrée par fichier. Chaque entrée possède au moins les deux champs : le numéro du nœud d’index

et le nom du fichier.

Par exemple :

doc1371

tp1124

..95

.78