Cours copiés au premier semestre
This commit is contained in:
commit
96e4f76a9c
6 changed files with 1135 additions and 0 deletions
140
OS/8-FS.tex
Normal file
140
OS/8-FS.tex
Normal file
|
|
@ -0,0 +1,140 @@
|
|||
\chapter{Systèmes de fichiers}
|
||||
|
||||
\section{Généralités}
|
||||
|
||||
\begin{itemize}
|
||||
\item Persistande des informations
|
||||
\item Partage d'informations (entre les processus, ...)
|
||||
\end{itemize}
|
||||
|
||||
La notion de fichier apporte une espace de stockage important, un
|
||||
stockage statique de l'information et une indépendance vis-à-vis des
|
||||
processus qui l'utilisent ou l'ont utilisés.
|
||||
|
||||
\subsection{Structure}
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{Fichiers~:} unité logique de stockage d'information.
|
||||
\item \textbf{Répertoire~:} organisation logique de l'information.
|
||||
\item \textbf{Partitions~:} organisation de plus haut niveau.
|
||||
\end{itemize}
|
||||
|
||||
On a une vision logique et uniformisée de l'information. Les
|
||||
caractéristiques physiques du stockage font une abstraction des
|
||||
caractéristiques physiques.
|
||||
Les formats, type du système sont choisis par le créateur.
|
||||
|
||||
\subsection{Méthodes d'accès}
|
||||
|
||||
\subsubsection{Accès séquentiel}
|
||||
|
||||
Méthode historique, basé sur le modèle des bandes magnétiques~:
|
||||
pointeur de lecteur/écriture (offset) automatiquement incrémenté. Et
|
||||
des privitives de positionnement (seek).
|
||||
|
||||
\subsubsection{Accès direct/relatif}
|
||||
|
||||
\og Random access\fg, modèle des disques durs.\\
|
||||
|
||||
Les primitives de lecture et d'écriture sont paramétrées par un
|
||||
numéro de bloc relatif. Un fichier est vu comme un enregistrement de
|
||||
blocs de taille fixe.
|
||||
|
||||
\subsubsection{Remarques}
|
||||
|
||||
\begin{itemize}
|
||||
\item Certains systèmes fournissent plusieurs méthodes d'accès,
|
||||
comme IBM.
|
||||
\item Le mode d'accès peut faire partie du type de fichier.
|
||||
\item Il est trivial d'implémenter l'accès séquentiel à partir de
|
||||
l'accès de l'accès direct.
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Table de fichiers (ouverts)}
|
||||
|
||||
Mise en cache des descripteurs de fichiers actuellement utilisés
|
||||
|
||||
\section{Organisation des systèmes de fichiers}
|
||||
|
||||
\subsection{Macro-niveaux d'organisation}
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{Partition~:} \og mini-disque\fg (chez IBM), \og
|
||||
volume\fg (chez Mac).\\
|
||||
Selon les systèmes, plusieurs partitions par disques, ou plusieurs
|
||||
disques par partitions.
|
||||
\item \textbf{Répertoire~:} analogue à une table des symboles.
|
||||
Contient des informations sur les fichiers sous-jacents (nom,
|
||||
emplacement, taille, type\ldots).
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Niveaux de répertoires}
|
||||
|
||||
\subsubsection{Niveau 1}
|
||||
|
||||
Structure simpliste d'une unique répertoire.
|
||||
|
||||
On a des problèmes d'unicité des noms (11 caractères pour MS-DOS et
|
||||
255 pour Unix).
|
||||
|
||||
\subsubsection{Niveau 2}
|
||||
|
||||
Un répertoire principal (\og MFD\fg) contient des répertoires
|
||||
utilisateurs (\og UFD\fg). Accès implicite à son propre UFD.
|
||||
|
||||
On voit apparaître la notion de session (login/password).
|
||||
|
||||
\subsubsection{Nommage}
|
||||
|
||||
\paragraph{MS-DOS~:} \verbatim{C:\dupont\test.exe}
|
||||
\paragraph{Unix~:} \verbatim{/var/spool/mail/dupont}
|
||||
\paragraph{VAX-VMS~:} \verbatim{u:[dir1.dir2]foo.com;1}
|
||||
|
||||
\section{Méthode d'allocation}
|
||||
|
||||
\subsection{Allocation contiguë}
|
||||
|
||||
Les fichiers sont stockés par blocs contigus sur le disque.\\
|
||||
|
||||
Le temps de positionnement des têtes est minimal. Accès direct et
|
||||
séquentiel faciles à implémenter.
|
||||
|
||||
Problèmes~: fragmentation interne s'il y a trop d'espace ; pas assez
|
||||
d'espace~: déplacement couteux des fichiers ; pas toujours possible.\\
|
||||
|
||||
Utilisé sur les CD et DVD.
|
||||
|
||||
\subsection{Allocation chaînée}
|
||||
|
||||
Chaque bloc se termine par un pointeur sur le bloc suivant.\\
|
||||
|
||||
Une entrée de répertoire contient un pointeur sur le premier bloc.
|
||||
|
||||
Pas de fragmentation externe, pas de limite de taille. Mais accès
|
||||
direct inefficasse. Au niveau de la fiabilité, la perte d'un pointeur
|
||||
est critique.
|
||||
|
||||
\subsection{File Allocation Table (FAT)}
|
||||
|
||||
Il y a une FAT au début de chaque partition. Il s'agit d'une table
|
||||
indexée par numéros de bloc. Chaque entrée pointe sur le numéro de
|
||||
bloc suivant.
|
||||
|
||||
Une entrée de répertoire contient un pointeur sur le premier bloc.
|
||||
|
||||
\subsection{Allocation indexée}
|
||||
|
||||
Chaque fichier possède un bloc d'index.
|
||||
|
||||
Une entrée de répertoire pointe sur le bloc d'index
|
||||
|
||||
La ie entrée du bloc d'index pointe sur le ue bloc de donnée du
|
||||
fichier.
|
||||
|
||||
La table des i-nodes est de taille proportionnelle au nombre de
|
||||
fichiers.
|
||||
|
||||
Par contre, la fragmentation interne est plus grande qu'avec
|
||||
l'allocation chaînée et un problème de taille des inodes.
|
||||
|
||||
\section{Performances des systèmes de fichiers}
|
||||
Reference in a new issue