Title: Sistemas Operativos I
1S.O.I Temario Curso 04/05
- Horas
- INTRODUCCIÓN 5
- PROCESOS Y THREADS 8
- GESTIÓN DE MEMORIA 8
- ENTRADA/SALIDA 4
- GESTIÓN DE FICHEROS 4
2Tema 4. Sistemas de Ficheros
- INTRODUCCIÓN
- Aspectos básicos
- Ficheros
- Directorios
- IMPLEMENTACIÓN
- Aspecto de un Sistema de Ficheros
- Almacenamiento de ficheros
- Estructura de los directorios
- Gestión del espacio en disco
- Fiabilidad del Sistema de Ficheros
- Rendimiento del Sistema de Ficheros
3Introducción
Descripción
Contenido
int open(nombre, modo) ? Descriptor de
Fichero read (df, ...), write (df, ...), lseek
(df, ...) stat (df, ...), fstat (nombre) close
(df)
4Introducción
cp /usr/pepe/uno.txt /tmp/copia.txt
dforg open (/usr/pepe/uno.txt, O_RDONLY,
0) dfdst open (/tmp/copia.txt, O_WRONLY
O_CREATE O_TRUNC, 0600) do leidos read
(dforg, buf, 4096) write (dfdst, buf,
leidos) while (leidos 4096) close (dforg)
close (dfdst)
Otras cuestiones Organizaciones Tipo
Normal, Directorio, Octeto, registro, árbol,
... Especial, Pipe, ... Extensiones Acceso
Secuencial/Directo
5Introducción ( Directorios )
Descripción
open, read, write, lseek, stat, fstat,
close crear, borrar, renombrar, ... (Ficheros /
Directorios)
6Implementación ( Aspecto de un Sistema de
Ficheros )
7Implementación ( Almacenamiento de Ficheros )
Asignación de bloques contiguos vs dispersos
1
2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
7 8 9 0 1 2 3
Pros
- Fácil registrar Ubicación (Inicio..Fin)
- Eficiencia en acceso secuencial y directo
Contras
- Dificultad para crecer
- Crear con el tamaño máximo
- desperdicio, se conoce?
- Buscar un hueco mayor y copiarlo allÃ
- Complejo elegir dónde ubicar el fichero
PolÃticas similares a gestión de memoria
8Implementación ( Lista encadenada distribuida )
1
2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
7 8 9 0 1 2 3
A 6, 2 B 5, 12 C 10, 13
Pegas
- Acceso directo ineficiente (muchos accesos)
- readByte (A, último) ? Bloques 6, 8, 4 y 2
- Poca fiabilidad
- Bloque 8 erróneo ! ? Inaccesibles 4, 2, ...
- Más complejo calcular el acceso directo
- readByte (A, 3070) y bloques de 1024B
9Implementación ( Lista encadenada centralizada
global )
A
B
C
1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
EOF
FAT
2
8
Acceso directo muy eficiente si toda la FAT está
cargada en M.P.
4
Problemas? Historia de MSDOS
BAD
10Implementación ( Lista encadenada centralizada
local )
Dónde?
Sólo necesario tener en M.P. las FAT de los
ficheros abiertos !
Tamaño FATs?
FAT de 512B, punteros de 2B son 256 punteros
11Implementación ( Bloques de Ãndices encadenados
Unix )
256
12Implementación ( Estructura de los Directorios )
MSDOS Ejemplo de disquetes de 360K
LÃmite sólo para \
Inconveniente de nombre y descripción juntos?
13Implementación ( Estructura de los Directorios
UNIX like )
nombres
Gestión de entradas?
14Implementación ( Directorios Nombres de longitud
variable )
?
rm fstat.txt ?
15Implementación ( Directorios Ficheros
compartidos )
link (/usr/jim/memo, /usr/ast/note)
16Implementación ( Directorios Ficheros
compartidos )
link (/usr/jim/memo, /usr/ast/note)
17Implementación ( Gestión del espacio en disco )
- Tamaño del bloque Cilindro Pista - Sector
40MB - 160KB - 0,5KB ? 40GB
Sea 32.768 Bytes por pista 16,67 mseg de
Trotación 30 mseg de Tposicionarse
18Implementación ( Gestión del espacio en disco )
- Gestión de bloques libres
- Implentar eficientemente int pedirBloque() y
liberarBloque(int) - Mantenerse en disco como información permanente
19Implementación ( Gestión del espacio en disco )
Disco de 40GB y bloques de 1K gt Mapa de 5MB
Todo en M.P.?
- Lista encadenada distribuida
- Pedir bloque libre ? 1 acceso a disco (L)
20Implementación ( Gestión del espacio en disco )
- Lista encadenada centralizada (Bloques de Ãndices
libres)
Formatear!
Pedir 3 bloques
Liberar bloque 41
21Implementación ( Tamaño de la lista de bloques
libres )
Con disco de 20MB y bloques de 1K ? 20480
bloques Si ptrBloque son 2B ? LBLibres
(204392)/1024 40 bloques
LBLibres
Bloques (libres / ocupados)
20479
40 41 42
0 39
Con 2 ó 3 bloques en MP sà hay eficiencia
Con un solo bloque en MP hay eficiencia
80 511
41 1023
22Implementación ( Fiabilidad )
Fiabilidad Protección frente a imponderables (Hw
/ Sw)
scandisk fsck
23Implementación ( Fiabilidad Copias preventivas )
Lentos y Voluminosos !
999
www.exabyte.com
- Volcados incrementales
- Volcar cambios desde volcado anterior
- Un disco lógico y dos fÃsicos
RAID ?
24Implementación ( Fiabilidad Consistencia SF )
Algoritmo?
?
Dejar uno
?
?
Replicarlo
25Implementación ( Fiabilidad Consistencia SF )
enlaces
Algoritmo?
- Recorrer nodos
- entradas enlaces
26Implementación ( Rendimiento Caché de bloques )
- Tipos de bloques
- nodo-i, ptr, datos
?
Caché bloques
27Implementación ( Rendimiento otras mejoras )
- Leer (traer a cache) por adelantado prefetch
- Asignar bloques contiguos a ficheros zona n
bloques
- Ubicación de inodos más distribuida