Sistemas de ficheros - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Sistemas de ficheros

Description:

El programa de arranque: la BIOS supondr que el MBR contiene c digo ejecutable ... Tama os calculados en MINIX dados: T (n mero de bloques del sistema de archivos) y ... – PowerPoint PPT presentation

Number of Views:53
Avg rating:3.0/5.0
Slides: 27
Provided by: joanvi
Category:

less

Transcript and Presenter's Notes

Title: Sistemas de ficheros


1
Sistemas de ficheros
MS-DOS
2
MS-DOS
  • Estructura del disco en MS-DOS

Partición 1
Partición 2 (MS-DOS)
Partición 4
Partición 3
Sector de arranque primario MBR (Master Boot
Record)
FAT
Direct. raíz
Copia de FAT
Bloques de datos
Sector de arranque secundario
3
MS-DOS
  • Estructura del disco en MS-DOS
  • Sector de arranque primario (MBR Master Boot
    Record). Es un sector (512 bytes). Contiene
  • El programa de arranque la BIOS supondrá que el
    MBR contiene código ejecutable si los dos últimos
    bytes del MBR son 0xAA55. Sólo puede llegar hasta
    el byte 0x1BD (446 bytes).
  • La tabla de particiones se encuentra en 0x1BE
    indica el principio, el tamaño y el tipo de cada
    partición. Se manipula con comandos como fdisk
  • 0x1BE, primera partición.
  • 0x1CE, segunda partición.
  • 0x1DE, tercera partición.
  • 0x1EE, cuarta partición.

4
MS-DOS
  • Organización de una partición MS-DOS
  • La partición contiene
  • Cabecera información previa a la zona de datos.
    Está organizada en sectores (512 bytes) y
    contiene
  • Sector de arranque
  • FAT (File Allocation Table) tabla que describe a
    qué fichero pertenece cada cluster de datos.
    Contiene una entrada por cada cluster de datos.
    Los clusters libres y defectuosos se marcan con
    un código especial.
  • Copia de la FAT para mejorar la fiabilidad
  • Directorio raíz es el único directorio que no se
    implementa como un fichero.
  • Zona de datos donde se almacenan los ficheros. Se
    organiza en clusters (2N sectores contiguos).

5
MS-DOS
  • Sector de arranque de MS-DOS
  • El sector de arranque de MS-DOS contiene
  • Información sobre el sistema de archivos como
  • Número de bytes por sector.
  • Número de sectores por cluster.
  • Tamaño del directorio raíz.
  • Número de tablas FAT.
  • Tamaño del dispositivo.
  • Código para iniciar el s.o.
  • Búsqueda del directorio raíz.
  • Carga de los ficheros io.sys y msdos.sys.
  • Transfiere control al io.sys.

6
MS-DOS
  • La FAT (File Allocation Table)
  • MS-DOS organiza los ficheros como una lista
    enlazada, pero los punteros no se encuentran en
    el cluster, sino en una estructura de datos
    denominada (FAT) localizada en los primeros
    sectores del disco.
  • La FAT contiene una entrada por cada cluster de
    datos. Esta entrada puede indicar
  • Si el cluster está libre (código especial)
  • Si el cluster es defectuoso (código especial)
  • En el caso que el cluster esté ocupado, indica el
    siguiente cluster o final de fichero (código
    especial) si es el último.

7
MS-DOS
  • La FAT (File Allocation Table)

DIRECTORIO
reservado
0
Tamaño del disco
Nombre fichero
1er cluster
reservado
1
...
EOF
2
13
3
f1
...
6
2
4
f2
...
5
9
5
f3
...
10
8
6
6
8
4
2
f1
libre
7
4
8
12
9
5
9
12
f2
3
10
error
11
EOF
12
10
3
13
f3
EOF
13
libre
14
8
MS-DOS
  • Ejemplos de FAT

Tamaño FAT, utilizando FAT32
9
MS-DOS
  • La FAT análisis
  • El acceso directo sigue siendo costoso de
    implementar (aunque no tanto como en la
    asignación enlazada) debido al elevado número de
    desplazamientos del cabezal del disco
  • Ejemplo lseek (fd, 32768,0)
  • Si la FAT no se encuentra completa en memoria
    son necesarios en el peor caso 33 accesos a
    bloques. No obstante, colocar parte de la FAT en
    una cache en memoria mejora significativamente el
    caso medio.
  • Diseño poco elegante en una misma estructura de
    datos se mezcla información de diferentes
    ficheros.
  • Baja fiabilidad la pérdida de un bloque de la
    FAT puede ocasionar la pérdida del disco entero.
  • Posible mejora replicar la FAT.

10
MS-DOS
  • Directorios en MS-DOS
  • Estructura de directorios árbol.
  • Los directorios son ficheros con un número
    arbitrario de entradas excepto el directorio raíz
    que está en la cabecera del disco y tiene un
    tamaño máximo prefijado (Ejemplo 224 entradas
    para disquetes de 3.5).
  • La entrada de directorio contiene todos los
    atributos del fichero de forma residente excepto
    los datos, para los cuales sólo se indica el
    primer cluster (la FAT proporciona el resto de
    punteros).

11
MS-DOS
  • Entrada de directorio en MS-DOS
  • Contiene
  • Nombre del fichero
  • Extensión .exe, .txt, etc. (Ext.)
  • Atributos del sistema, ocultos, etc.
  • Tiempo de última modificación (Tiempo),
  • Fecha de creación (Fecha).
  • Puntero al primer cluster de datos.
  • Tamaño del fichero (Tamaño).

8
3
1
10
2
4
2
2
Bytes
Nombre
Ext.
Reservado
Tamaño
Atributos
Fecha
Tiempo
1er cluster
12
MS-DOS
  • Evolución de los sistemas de archivo basados en
    MS-DOS
  • FAT12 (DOS anteriores a la versión 4.0 y
    disquetes)
  • Valores de cluster en la FAT son de 12 bits.
  • Máximo número de clusters direccionables 4078
    (18 valores reservados)
  • Nombre de fichero 8 3 caracteres.
  • El número de entradas del directorio \ está
    limitado.
  • FAT16 (DOS posteriores a la versión 4.0)
  • Valores de cluster en la FAT son de 16 bits.
  • Máximo número de clusters direccionables 65518.
  • Valores límite de las particiones 65518 tamaño
    del cluster.

13
MS-DOS
  • Evolución de los sistemas de archivo basados en
    MS-DOS
  • VFAT (Windows 95 OSR1 y DOS 7.x)
  • Valores de cluster en la FAT son de 12 ó 16 bits.
  • Long File Names (LFN) nombre del fichero (255
    caracteres), alias atributos adicionales (RO
    Hidden System Vol Label).
  • Acceso a disco utilizando las rutinas de 16 ó 32
    bits (high-speed protected mode).
  • FAT32 (Windows 95 OSR2)
  • Valores de cluster en la FAT son de 28 bits.
  • No está limitado el tamaño ni el número de
    entradas en \.
  • Teóricamente puede soportar discos con 268
    millones de clusters (2TB). Tamaño de la FAT?

14
MS-DOS
  • Evolución de los sistemas de archivo basados en
    MS-DOS
  • FAT32 (Windows 95 OSR2)

15
Sistemas de ficheros
Unix / Minix
16
Unix
  • Estructura de datos nodo-i (i-node)
  • Estructura de datos donde se registran todos los
    atributos de un fichero excepto el nombre.
  • Utiliza asignación indexada de bloques con
    punteros a bloques directos, indirectos,
    doblemente indirectos y triplemente indirectos.
  • Estructura de datos nodo-i análisis
  • Acceso aleatorio eficiente El número máximo de
    accesos a disco está limitado a 4.
  • Los punteros indirectos sólo se utilizan para
    ficheros grandes y muy grandes (que son escasos).
  • Para los ficheros pequeños el acceso es muy
    eficiente.
  • Diseño elegante y fiable cada fichero tiene su
    estructura de datos separada.

17
Unix
  • Nodos-i

NODO-I
Modo
Núm. enlaces
UID
GID
datos
longitud
Tiempo creación
datos
Tiempo modificación
Tiempo acceso
datos
10 punteros directos
datos
datos
datos
1 puntero indirecto
datos
1 ptr indirecto doble
1 ptr indirecto triple
datos
etc.
18
Unix
  • Directorios en UNIX
  • La estructura de directorios es un grafo acíclico
    dirigido (DAG).
  • Los directorios son ficheros.
  • La entrada de directorio (denominada enlace) no
    tiene ningún atributo residente sólo el nombre
    del fichero y una referencia al nodo-i (número de
    nodo-i ).
  • El nombre del fichero incluye la extensión (total
    14 bytes por defecto, pero con posibilidad de
    especificar nombres más largos en la
    configuración del sistema).

2
14
Bytes
Nombre de fichero
Núm nodo-i
19
Minix
  • Nodo-i en Minix

tipo directorio, regular, especial bits de
permiso
modo
propietario
grupo
datos
instante modif.
tamaño
datos
nº de enlaces
En una zona de 1024 bytes caben 512 referencias
de 2 bytes
7 zonas
32 bytes
0
datos
1
2
datos
3
512 zonas
4
5
datos
. . .
datos
. . .
6
i
indirecto
datos
datos
di
doble indirecto
. . .
5122 zonas
16 bits
datos
. . .
datos
20
Minix
  • Directorios en MINIX
  • La entrada de directorio es de 16 bytes
  • 2 para nodo-i y 14 para nombre
  • Cuando se crea un directorio, se crean las
    entradas . y .. automáticamente.
  • El nodo-i 1 describe al directorio raíz
  • Cuando se borra una entrada se marca con el
    nodo-i 0

/
1
.
1
..
3
usr
etc
usr
home
4
home
5
etc
4
.
987
.
unx
os2
1
..
4
..
278
unx
987
os2
21
Minix
  • Estructura del disco en MINIX
  • Un partición Minix se construye sobre un
    entramado de bloques de tamaño fijo. La
    estructura de la partición consta de
  • La cabecera estructurada en grupos de bloques con
    las estructuras de datos del sistema de ficheros
  • Los bloques de datos estructurados en zonas. Las
    zona es la unidad de asignación. 1 zona 2N
    bloques. En la distribución estándar, una zona
    equivale a un bloque.

22
Minix
  • Estructura del disco en MINIX
  • Bloque de arranque contiene el programa de
    arranque que carga el sistema operativo y le
    transfiere control.
  • Superbloque es una estructura de datos con la
    descripción de la estructura del disco tamaño y
    ubicación de cada elemento.
  • Mapa bits nodos-i es un vector de bits que
    indica los nodos-i libres y ocupados. Existe un
    bit por cada nodo-i.
  • Mapa bits zonas es un vector de bits que indica
    las zonas libres y ocupadas. Existe un bit por
    cada zona.
  • Bloques de nodos-i contienen las estructuras de
    datos nodos-i. Una por cada fichero. El número de
    nodos-i depende del tamaño de la partición. El
    nodo-i 0 no se utiliza.
  • Bloques de datos bloques que almacenan bloques
    de datos de ficheros regulares, directorios y de
    referencias a otros bloques.

23
Minix
  • Superbloque de MINIX

Número de bloques
Asignado al crear el sistema de archivos. Puede
ser menor que el tamaño de la partición
Número de nodos-i
Asignado al crear el sistema de archivos. Es
fijado por el usuario o se asigna un valor
calculado por defecto
Número de bloques para el mapa de nodos-i
Número de nodos-i / Número de bits por bloque
Número de bloques para el mapa de zonas
Número de zonas de datos / Número de bits por
bloque
Primer bloque de datos
2 (arranque y superbloque) Número de
bloques para el mapa de nodos-i Número de
bloques para el mapa de bloques Número de
bloques de nodos-i
Número mágico
Un valor numérico que sirve para garantizar
que esta partición contiene un sistema de
archivos MINIX
24
Minix
  • Tamaños estándar en MINIX
  • Bloque (Zona) 1024 bytes
  • Referencia a bloque 2 bytes
  • Enlace en directorio 16 bytes
  • Nodo-i 32 bytes
  • Cálculo del tamaño del fichero máximo
  • Con punteros de 16 bits, tamaño de zona de 1Kb y
    la estuctura del nodo-i descrita el tamaño del
    fichero máximo es el mínimo entre las siguientes
    cantidades
  • 216 1Kb 64 Mb
  • 71Kb (1Kb / 2) 1Kb (1Kb / 2)2 1Kb
  • 7 Kb 512 Kb 262.144 Kb 262.633 Kb (aprox.
    256.5 Mb)

25
Minix
  • Cálculo de la estructura de una partición en
    MINIX
  • Tamaños calculados en MINIX dados
  • T (número de bloques del sistema de archivos) y
  • F (número de nodos-i máximo sin incluir el
    cero)
  • Bits_Por_Bloque 10248 8192
  • Enlaces_Por_Zona 1024 / 16 64
  • Referencias_Por_Zona 1024 / 2 512
  • Nodos-i_Por_Bloque 1024 / 32 32
  • Bloques_Mapa_Nodos-i ?F / Bits_Por_Bloque?
  • Bloques_Mapa_Zonas ?Zonas de datos /
    Bits_Por_Bloque?
  • Bloques_Nodos-i ?F / Nodos-i_Por_Bloque?
  • Bloques_De_Datos T - 2 - Bloques_Mapa_Nodos-i -
    Bloques_Mapa_Zonas -
    Bloques_Nodos-i

26
Minix
  • Zonas y bloques en Minix
  • Para direccionar particiones de gran tamaño,
    Minix permite agupar los bloques de datos en
    zonas.
  • Una zona 2N bloques. El valor N se almacena en
    el superbloque.
  • El primer bloque de datos (valor almacenado en el
    superbloque) se reajusta para que coincida con el
    comienzo de una zona.
  • Ejemplo
  • Bloque 1024 bytes
  • Zona 4 Bloques
  • Enlaces_Por_Zona 4096 / 16 256
  • Referencias_Por_Zona 4096 / 2 2048
Write a Comment
User Comments (0)
About PowerShow.com