Skip to content
Snippets Groups Projects
Commit 5d2a71cd authored by Guillaume Chanel's avatar Guillaume Chanel
Browse files

Updates after first reading

parent c7fe49f4
No related branches found
No related tags found
No related merge requests found
......@@ -6,10 +6,10 @@
## Historique
<div class="cols">
<small>
<div style="font-size: 0.7em">
- Les systèmes de fichiers ont été conçu pour accéder, avec une interface simple, à des périphériques de stockage de masse (persistents)
- Premiers périphériques de stockage de masse étaient basé sur des disques magnétiques appelés *Hard Disk Drive*
- Les premiers périphériques de stockage de masse étaient basés sur des disques magnétiques appelés *Hard Disk Drive*
- La plus petite unité de lecture/écriture adressable est le secteur
- Adressable par le triplet CHS :\
{ Cylinder, Head, Sector }
......@@ -21,7 +21,7 @@ D. Cylindre = coupe transversale des plateaux \
E. Pistes = groupe de secteurs contigüs \
F. Secteur angulaire
</small>
</div>
<div>
![](images/hdd.png) <!-- .element width="90%" -->
......@@ -69,12 +69,16 @@ Premier disque dur conçu en 1956 pour le super-computer IBM 305 Ramac
- la plupart des périphiques de stockage à base de flash sont similaires (clés USB, cartes SD, etc.)
Notes:
SSD -> solid state drive
Les disque dure SSD utilisent des "floating gates transistors", transistor à grille flottante, qui matiennent l'état. On parle de cellule mémoire.
--
## Structure d'un disque
- Un disque est divisé en unités de taille identique appelées **secteurs**
- La taille typique d'un secteur est 512 bytes, mais il existe des secteurs plus grands (2KB, 4KB, etc.)
- La taille d'un secteur dépend du support: **512 bytes**, 2KB, **4KB**, etc.
- Un secteur est la plus petite unité physique pouvant être lue ou écrite
- La lecture ou l'écriture d'un secteur est une opération **atomique**
......@@ -85,18 +89,19 @@ Premier disque dur conçu en 1956 pour le super-computer IBM 305 Ramac
## UNIX et blocs
- Dans un OS de type UNIX, on parle de blocs plutôt que de secteurs
- Dans un OS de type UNIX, on parle de blocs plutôt<sup>1</sup> que de secteurs
- **But : s'abstraire du type de périphérique**
- Tout périphérique dont on peut lire/écrire les données par unités de 512, 1024, etc. bytes est géré par le module noyau de
gestion de lecture/écriture par blocs
- La taille d'un bloc est potentiellement plus grande que la taille d'un secteur
- Permet d'être indépendant du type de périphérique $\rightarrow$ généricité
<small>1: Microsoft appelle un bloc un *cluster*</small>
--
## Secteurs, blocs et clusters
- L'unité d'allocation de base des systèmes de fichiers n'est pas le secteur, mais une unité plus grande (ou égale) appelée **bloc**<sup>1</sup>
- **Un bloc est une collection contiguë de secteurs**
- Un système de fichiers (FS) divise l'espace disque en blocs de taille égale
- Généralement, un bloc fait entre 1KB et 8KB
......@@ -105,9 +110,6 @@ gestion de lecture/écriture par blocs
![](images/block_and_cluster.png)<!-- .element width="80%" -->
<small>1: Microsoft appelle un bloc un *cluster*</small>
--
## Interface périphérique bloc
......@@ -143,9 +145,9 @@ Exemple : périphérique de 10MB (1024 * 1024 * 10 bytes), taille de bloc de 102
- Quelle est l'intervalle des offsets des bytes du bloc numéro 17 ? \
`$[1024*17,1024*(17+1)-1] = [17408,18431]$` <!-- .element: class="fragment" data-fragment-index="0" -->
- Dans quel bloc se trouve le byte localisé à l'offset 7000 du périphérique ? \
`$7000/1024 = 6.8359375 = 6$` <!-- .element: class="fragment" data-fragment-index="1" -->
`$\lfloor{7000/1024}\rfloor = \lfloor{6.8359375}\rfloor = 6$` <!-- .element: class="fragment" data-fragment-index="1" -->
- À quel offset du bloc est localisé le byte se trouvant à l'offset 7000 du périphérique ? \
`$7000 \% 1024 = 856$` <!-- .element: class="fragment" data-fragment-index="2" -->
`$7000 - 6 * 1024 = 856 = 7000 \% 1024$` <!-- .element: class="fragment" data-fragment-index="2" -->
![](images/addressing_example.png)<!-- .element width="70%" -->
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment