Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Exp 2
Exp 2
Captulo 8
Gestin de Archivos y Directorios
Sistema de archivos
Requisitos de un sistema de archivos
Archivos/directorios: Tipos e Informacin
Visin lgica visin fsica: (sistemas de archivos)
MS-DOS FAT
UFS: Unix File System
Diseo interno de un sistema de archivos
Servidor de bloques
Elementos especiales:
Cerrojos
Redundancia
Recuperacin (journaling)
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
No seguro
Si el usuario accede a nivel fsico no tiene restricciones
Objetivos:
Proporcionar mecanismos de nombrado y localizacin de
datos no voltiles.
Ofrecer primitivas de acceso cmodas e independientes de
los detalles de los dispositivos fsicos
Mecanismos de proteccin
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
Cmo se
identifica y
localiza
Estructura lgica
para almacenar
informacin
Esquema de
nombrado
Mecanismo de
almacenamiento
Directorios y
archivos
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
Cmo se
almacena y
recupera
Gestin de
dispositivos
5
Archivos
Directorios
Utilidades
Proteccin
Servidor de Archivos
2. Servidor de Archivos:
Estructura lgica
Eficiencia
Consistencia
Cach de Bloques
Servidor de Bloques
3. Servidor de Bloques:
Gestin de dispositivos
Cach y buffering
Dispositivos
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
Servicios lgicos
(archivos y directorios)
Servidor de Archivos
Cach de Bloques
Servidor de Bloques
Dispositivos
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
Servidor de archivos
Para proporcionar un acceso eficiente y sencillo a los
dispositivos de almacenamiento, todos los sistemas operativos
tienen un servidor de archivos que permite almacenar, buscar y
leer datos fcilmente.
Dicho servidor de archivos tiene dos tipos de problemas de
diseo muy distintos entre s:
Definir la visin de usuario del sistema de entrada/salida,
incluyendo servicios, archivos, directorios, sistemas de
archivos, etc.
Definir los algoritmos y estructuras de datos a utilizar para
hacer corresponder la visin del usuario con el sistema
fsico de almacenamiento secundario.
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
10
Concepto de directorio
Objeto que relaciona de forma unvoca un nombre de archivo
(dado por el usuario) con su descriptor interno
Organizan y proporcionan informacin sobre la estructuracin
de los sistemas de archivos
Una coleccin de listados que contienen informacin acerca de
los archivos
Es una unidad de organizacin que proporciona el SO. Por lo
tanto son datos con un formato que el propio SO utiliza para
localizar archivos.
11
12
13
14
15
16
Servicios lgicos
(archivos y directorios)
la Estructura
Bloques de disco
Servidor de Archivos
Cach de Bloques
Servidor de Bloques
Dispositivos
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
17
18
FAT
Directorio Raz
Nombre
pep_dir
Atrib.
dir
fiche1.txt
Bytes Agrup.
5.724 27
12.103
27 <eof>
45
45
Directorio pep_dir
Nombre
carta1.wp
prue.zip
Atrib.
R
Bytes Agrup.
2.422
74
16
91
58
51 <eof>
58 <eof>
74 75
75 76
76 <eof>
91 51
19
20
FAT12
0x000
0x001
0x002
0xFEF
0xFF0
0xFF6
0xFF7
FAT16
0x0000
0x0001
0x0002
0xFFEF
0xFFF0
0xFFF6
0xFFF7
FAT32
0x00000000
0x00000001
0x00000002
0x0FFFFFEF
0x0FFFFFF0
0x0FFFFFF6
0x0FFFFFF7
0xFF8
0xFFF
0xFFF8
0xFFFF
0x0FFFFFF8
0x0FFFFFFF
21
Descripcin
Agrupacin libre
Reservado, no se usa
Agrupacin utilizada; el valor apunta a la
siguiente agrupacin
Valor reservado, no se usa
Agrupacin con sector defectuoso o
agrupacin reservada
ltima agrupacin del fichero (EOC)
Bloque
de i-nodos
Tipo y Proteccin
Nmero de enlaces
Propietario / Grupo
Tamao
Fecha: Creacin /Modificacin/Acceso
Puntero a datos 1
Puntero a datos 2
Bloque
con dir. de
bloques
Puntero
directo
Puntero
indirecto simple
Puntero a datos n
Puntero indirecto simple
Puntero indirecto doble
Puntero indirecto triple
Puntero
indirecto doble
i-nodo
22
10 x Sb
Punteros
a Bloques
de Datos
Punteros
a Bloques
de Datos
Punteros
a Bloques
de Datos
i-nodo
Punteros
a Bloques
de Datos
Punteros
a Bloques
de Datos
(Sb/4)3 x Sb
Punteros
a Bloques
de Datos
23
24
Jerarqua de directorios
Directorio plano: CP/M
rbol nico de directorios?
Por dispositivo lgico en Windows (c:\users\miguel\claves,
j:\pepe\tmp, ...)
Para todo el sistema en UNIX (/users/miguel/claves,
/pepe/tmp, ...).
Hacen falta servicios para construir la jerarqua: mount y
umount.
mount /dev/hda3 /users
umount /users
25
Directorios
Un directorio es un fichero con un
formato determinado
El contenido de un directorio es una
serie de entradas (registros), una por
cada fichero contenido en l.
Directorio FAT
Nombre
Atributos
Tipo de
Fichero
Hora
Fecha
Tamao
Nmero del
Primer Bloque
Reservado
26
27
Interpretar /users/luis/claves
[1] Traer a memoria entradas archivo con i-nodo 2
[2] Se busca dentro users y se obtiene el i-nodo 342
[3] Traer a memoria entradas archivo con i-nodo 342
[4] Se busca dentro luis y se obtiene el i-nodo 256
[5] Traer a memoria entradas archivo con i-nodo 256
[6] Se busca dentro claves y se obtiene el i-nodo 758
[7] Se lee el i-nodo 758 y ya se tienen dnde estn los datos del archivo
[8] Leer los bloques del fichero
Cundo parar?
No se tienen permisos
Se ha encontrado el i-nodo del archivo
No se ha encontrado y no hay ms subdirectorios
Estamos en un directorio y no contiene la siguiente componente del
nombre (por ejemplo, miguel).
28
dir
r-x
890
dir
r-x
7022
[1]
[5]
dir
rwx
14056
i-nodo 342
file
rw23011
i-nodo 758
[7]
[3]
.
342
..
2
gema 430
luis 256
.
2
..
2
tmp 43
users 342
Bloque
890
[2]
Bloque
14056
.
..
claves
textos
256
342
758
3265
[4]
Bloque
23011
[8]
Bloque
7022
[6]
/users/luis/claves
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
29
Bloque de datos
del directorio
.
..
claves
textos
i-nodo 256
Directorio
Bloque de datos
del archivo
256
342
758
3265
file
rw23011
Bloque
7022
Bloque
23011
i-nodo 758
Archivo
30
Enlaces
link: Un archivo con varios nombres -> control de enlaces
un nico archivo con contador enlaces en descriptor (e. Fsicos)
archivos nuevos con el nombre destino dentro (e. simblicos)
Borrado de enlaces:
a) decrementar contador; si 0 borrar archivo
b) recorrer los enlaces y borrar todos
c) borrar nicamente el enlace y dejar los dems
Problema grave: existencia de bucles en el rbol. Soluciones:
Permitir slo enlaces a archivos, no subdirectorios
Algoritmo de bsqueda de bucle cuando se hace un enlace
Limitacin de implementacin en UNIX: slo enlaces fsicos dentro del
mismo sistema de archivos.
31
Enlaces (y II)
/
usr
user
lib
pedro
luis
dat.txt
progr.c
luis
.
..
dat.txt
progr.c
usr
pru.txt
.
..
pru.txt
pedro
luis
dat.txt
pedro
23
100
28
400
user
lib
progr.c
luis
.
..
80
100
60
dat.txt
progr.c
pru.txt
dat2.txt
pedro
23
100
28
400
.
..
pru.txt
dat2.txt
80
100
60
28
nodo-i 28
enlaces = 2
descripcin
del fichero
Enlace fsico
luis
.
..
dat.txt
progr.c
luis
pedro
23
100
28
400
.
..
pru.txt
.
..
80
100
60
dat.txt
progr.c
.
..
pru.txt
dat2.txt
80
100
60
130
nodo-i 130
enlaces = 1
/user/luis/
dat.txt
nodo-i 28
enlaces = 1
descripcin
del fichero
Enlace simblico
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
pedro
23
100
28
400
32
Layout
del Sistema
de Archivos
metadatos
datos
Dispositivo
33
SO
proceso
proceso
proceso
proceso
.....
proceso
vfat
NFS
proc
Red
34
35
Informacin
del fichero
virtual
Direcciones de
las operaciones
virtuales
Direccin del
i-nodo
especfico
(del layout)
i-nodo
Direcciones de
las operaciones
especficas de SA
(del manejador)
ext2fs
Tabla de
funciones
del SA
36
VFS
Proporciona el modelo de archivo y sus servicios:
Algoritmos: Imagen lgica del fichero imagen fsica.
Gestin: Espacio de los sistemas de archivo, asignacin de bloques a
archivos y el manejo de los descriptores de archivos (i-nodos de UNIX o
registros de Windows NT).
Soporte: A cada tipo de Sistema de Archivos (ext2fs, ntfs, hpfs, ...).
proceso
ext4
i-nodo
37
<func>
<func>
<func>
<func>
<func>
Funciones
genricas
Funciones
especficas
file_systems
file_system_type
*read_super()
name
ext2"
requieres_dev s
next
file_system_type
*read_super()
name
proc
requieres_dev no
next
file_system_type
*read_super()
name
iso9660"
requieres_dev s
next
38
/mnt
SYS_MOUNT(dir,tipo,dev) {
fst = Se busca el file_system_type asociado a tipo;
dev = Dispositivo dev;
IDE:1,1
sb = fst->read_super(dev); /* Se lee el super-bloque (si falla ret error)*/
v_root = sb->get_root_dir(); /* Se obtiene el directorio raz del nuevo SF */
v_nod = v-nodo asociado al directorio dir;
v_nod->d_mount=v_root;
/* Se indica que este directorio est sobrescrito por un nuevo dir. */
}
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
39
v-nodo (/mnt)
v-nodo (/mnt)
v-nodo (/mnt)
d_mount
d_mount
d_mount
d_mount
d_mount
d_mount
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
40
41
42
v_nodo
n_open
operations
i-nodo
open_file
open_file
open_file
n_dup
offset
operations
RW
open_file
43
open_file
open_file
open_file
n_dup
offset
operations
RW
open_file
v_nodo
n_open
operations
i-nodo
BCP
BCP
fd 0
1
2
3
open_file
open_file
open_file
v_nodo
n_open
operations
0 fd
1
2
3
n_dup
offset
operations
open_file
i-nodo
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
44
45
BCP
File
operations
read:
write:
open:
open_file
open_file
open_file
fd 0
1
2
3
<func>
<func>
NULL
create:
unlink:
read_page:
follow_link:
n_dup
offset
operations
RW
i_node
operations
<func>
<func>
<func>
<func>
open_file
v_nodo
n_open
operations
i-nodo
Servidor de Archivos
Bloques de disco
Cach de Bloques
el Almacenamiento
Servidor de Bloques
Acceso a dispositivos
de bloques
Dispositivos
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
46
Servidor de bloques
Un servidor de bloques proporciona servicio a:
Servidor de Archivos: Bloques de datos de los archivos
Servidor de Memoria:
Proyeccin de ficheros en memoria (carga de ejecutables)
Gestin de swap/fallos de pgina
Servidor de Memoria
Servidor de Archivos
Cach de Bloques
Servidor de Bloques
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
47
Servidor de bloques
Se encarga de emitir los mandatos genricos para leer y escribir
bloques a los manejadores de dispositivo.
La E/S de bloques de archivo, y sus posibles optimizaciones, se
llevan a cabo en este nivel del servidor de archivos.
Las operaciones se traducen a llamadas de los manejadores de
cada tipo de dispositivo especfico y se pasan al nivel inferior
del sistema de archivos.
Esta capa oculta los distintos tipos de dispositivos, usando
nombres lgicos para los mismos. Por ejemplo, /dev/hda3
ser un dispositivo de tipo hard disk (hd), cuyo nombre
principal es a y en el cual se trabaja sobre su particin 3.
Los mecanismos de optimizacin de la E/S, como la cache de
bloques, se incluye en este nivel.
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
48
49
Descripcin
Tamao
000h
446 Bytes
1Beh
16 Bytes
1Ceh
16 Bytes
1Deh
16 Bytes
1Eeh
16 Bytes
1Feh
2 Bytes
50
Partition Entry
Offset Descripcin
Tamao
00h
Current State of Partition (00h=Inactive, 80h=Active) 1 Byte
01h
02h
1 Byte
1 Word
04h
05h
06h
08h
Type of Partition
End of Partition - Head
End of Partition - Cylinder/Sector
Number of Sectors Between the MBR and the First
Sector in the Partition
Number of Sectors in the Partition
1 Byte
1 Byte
1 Word
1 Double
Word
1 Double
Word
0Ch
51
Datos y directorios
Boot
FS
FAT FAT
info
Datos y directorios
UNIX
Boot
Super Bit
i-nodos
Blq. maps
Datos y directorios
NTFS
Boot
Super Bit
Blq. maps
Desc.
fsicos
Datos y directorios
FAT12 y 16
FAT32
52
Tamao
Tipo
53
Bloques y agrupaciones
Bloque: agrupacin lgica de sectores de disco y es la unidad
de transferencia mnima que usa el sistema de archivos.
Optimizar la eficiencia de la entrada/salida de los
dispositivos secundarios de almacenamiento.
Todos los sistemas operativos proporcionan un tamao de
bloque por defecto.
Los usuarios pueden definir el tamao de bloque a usar
dentro de un sistema de archivos mediante el mandato mkfs.
Agrupacin: conjunto de bloques que se gestionan como una
unidad lgica de gestin del almacenamiento.
El problema que introducen las agrupaciones, y los bloques
grandes, es la existencia de fragmentacin interna.
Unidad de asignacin. Puede ser 1 agrupacin=1 bloque
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
54
100 %
800
75
500
50
100
uso del
disco
ancho de
banda
50
25
0
0
256
512
1K
2K
4K
8K
16K
32K
Tamao de Bloque
55
Union
La informacin en memoria que se
guarda de cada superbloque es la que
contiene las funciones registradas para
el sistema de archivos:
struct super_operations* s_op;
56
Manejadores de dispositivos
Un manejador por cada dispositivo, o clase de dispositivo, del
sistema.
Su funcin principal es recibir ordenes de E/S de alto nivel, tal
como move_to_block 234, y traducirlas al formato que
entiende el controlador del dispositivo, que es dependiente de su
hardware.
El manejador de dispositivos funciona en modo asncrono. Se le
piden datos a leer/escribir y responde a posteriori con la
operacin finalizada.
57
Flujo de datos en el SA
read (fd, buffer, tamao)
buffer
Usuario
tamao
arc hivo lgic o
(VFS)
arc hivo lgic o
(FFS)
bloques del
archivo
Bloques lgic os
(Servidor
de bloques)
1340
1756
840
8322
bloques del
dispositivo
1340
Manejador de
disco y
dispositivo
1756
bloques del
disco
840
8322
58
Correspondencia bloques-archivos
Cmo asignar los bloques de disco a un archivo y cmo hacerlos
corresponder con la imagen del archivo que tiene la aplicacin?
Asignacin de bloques contiguos.
Sencillo de implementar y el rendimiento de la E/S es muy bueno.
Si no se conoce el tamao total del archivo cuando se crea, puede ser necesario
buscar un nuevo hueco de bloques consecutivos cada vez que el archivo crece.
Fragmentacin externa -> compactar el disco.
59
60
Gestin de bitmaps
Los bitmaps se almacenan en todo tiempo en memoria y para cada operacin
se sincronizan con el disco.
Representa de forma comprimida el estado de ocupacin
Se usan por parte de los algoritmos de asignacin
Bitmap
de i-nodos
Bloque
de i-nodos
Bitmap
de datos
61
file
rw23011
i-nodo
Bloque
de datos
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Bloques libres
Bloques libres
7,1
11
14
16
11,1 14,1
62
18
17
16,3
(A)
(B)
Incremento de prestaciones
Basados en el uso de almacenamiento intermedio de datos de entrada/salida
en memoria principal. Estos mecanismos son de dos tipos:
Discos RAM: sus datos estn almacenados slo en memoria principal.
Aceptan todas las operaciones de cualquier otro sistema de archivos y
son gestionados por el usuario.
Pseudodispositivos para almacenamiento temporal o para operaciones
auxiliares del sistema operativo. Su contenido es voltil.
Cache de datos, instaladas en secciones de memoria principal
controladas por el sistema operativo, donde se almacenan datos para
optimizar accesos posteriores.
Se basan en la existencia de proximidad espacial y temporal en las
referencias a los datos de entrada/salida.
Dos caches importantes dentro del servidor de archivos: cache de
nombres y cache de bloques.
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
63
Cache de bloques
Fundamento:
Proximidad espacial
Proximidad temporal
Dos clases de flujos de E/S:
Usan una sola vez cada bloque
Usan repetidamente los bloques
64
Proceso
Cache
Cache
Disco
Disco
65
Mem. principal
Mapa
memoria
buffer
Usuario
posicin
2
Bloques de fichero
1340 1756
Bloques de dispositivo
Cache de bloques
buffer
tamao
4
840
8322
d;1340 d;840
840
Manejador de disco
Bloq. fich.
Bloq. disp.
d;1756 d;8322
Mem. principal
1756
1340
8322
Disco
SO
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
66
Mem. principal
Mapa
memoria
buffer
Usuario
posicin
Bloques de fichero
Cache de bloques
Bloques de dispositivo
buffer
tamao
2
sf;vn;2 sf;vn;4
1340 1756
840
Manejador de disco
Bloq. fich.
sf;vn;3 sf;vn;5
Bloq. fich.
840
8322
1756
1340
8322
Disco
SO
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
67
Polticas de reemplazo
Algoritmo:
Comprobar si el bloque a leer est en la cache.
En caso de que no est, se lee del dispositivo y se copia a la cache.
Si la cache est llena, es necesario hacer hueco para el nuevo bloque
reemplazando uno de los existentes: polticas de reemplazo.
Si el bloque ha sido escrito (sucio): poltica de escritura.
Polticas de reemplazo: FIFO (First in First Out), segunda oportunidad, MRU
(Most Recently Used), LRU (Least Recently Used), etc.
La poltica de reemplazo ms frecuentemente usada es la LRU. Esta poltica
reemplaza el bloque que lleva ms tiempo sin ser usado, asumiendo que no ser
referenciado prximamente.
Los bloques ms usados tienden a estar siempre en la cache y, por tanto, no van al
disco. La utilizacin estricta de esta poltica puede crear problemas de fiabilidad
en el sistema de archivos si el computador falla.
La mayora de los servidores de archivos distinguen entre bloques especiales y
bloques de datos.
68
Polticas de escritura
Escritura inmediata (write-through): se escribe cada vez que se modifica el
bloque.
No hay problema de fiabilidad, pero se reduce el rendimiento del sistema.
Escritura diferida (write-back): slo se escriben los datos a disco cuando se
eligen para su reemplazo por falta de espacio en la cache.
Optimiza el rendimiento, pero genera los problemas de fiabilidad
anteriormente descritos.
Escritura retrasada (delayed-write), que consiste en escribir a disco los bloques
de datos modificados en la cache de forma peridica cada cierto tiempo (30
segundos en UNIX).
Compromiso entre rendimiento y fiabilidad.
Reduce la extensin de los posibles daos por prdida de datos.
Los bloques especiales se escriben inmediatamente al disco.
No se puede quitar un disco del sistema sin antes volcar los datos de la cache.
Escritura al cierre (write-on-close): cuando se cierra un archivo, se vuelcan al
disco los bloques del mismo que tienen datos actualizados.
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
69
Servidor de Archivos
S.A. especielizados:
FFS (e.g.: ext2fs)
Archivos pequeos.
Cach de Bloques
Modelos no basados en
directorios
Servidor de Bloques
Elementos especiales:
Redundancia
Recuperacin (journaling)
Data Streams (Windows)
Dispositivos
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
70
71
Grupos y metabloques
Descriptor de grupo: Direcciones de los bitmaps de bloques y nodos_i
El superbloque se replica en cada grupo
Boot
Bitmap
bloques
Bitmap
nodos_i
Tabla
nodos_i
Grupo de bloques 2
Super
bloque
Grupo de bloques n
Bloques de datos
Grupos de bloques
Boot
Bitmap
bloques
Bitmap
nodos_i
Tabla
nodos_i
Metabloque de grupos p
Grupo de bloques n
Grupo de bloques 2
Super
bloque
Bloques de datos
Metabloques de grupos
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
72
73
Alternativas de diseo
Layout XFS
Layout ReiserFS
offset
Bloque #1
Bloque #2
Contenido
del Fichero
(<128 bytes)
offset
Bloque #1
i-nodo
i-nodo
i-nodo
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
74
En cintas
Backups incrementales
75
0 4 ...
1 2 ...
1 3 ...
3-5
...
1 5 ...
1 2 ...
1 4 ...
1 3 ...
2 6 ...
1 2 ...
2 5 ...
2 4 ...
3 7 ...
1 2 ...
0-2 3-5
RAID 0
(Stripe)
RAID 1
(Mirroring)
...
0-2
5 ...
RAID 4
RAID 5
(Parity disk) (Parity blocks)
76
Sistema de discos
redundantes
RAID:
[0] Sin
redundancia.
[1] Copia de la
informacin
(discos espejo).
[4] Un disco con
paridades.
[5] Los bloques
de paridades se
distribuyen entre
los discos
77
78
n
0
n
1
Nmero de bloque
Referencias
012 3
1 00 0
Libres
012 3
0 10 1
CASO 1
Referencias
n
1
Libres
Se deja libre
Nmero de bloque
012 3
0 10 1
n
0
CASO 2
Correcto
012 3
1 02 0
n
0
n
1
Nmero de bloque
Referencias
012 3
1 01 0
Libres
012 3
0 11 1
CASO 3
n
0
Referencias
n
1
Libres
CASO 4
Se deja ocupado
79
Journaling
Para evitar la verificacin (fsck) de sistemas de ficheros de gran
tamao, que sera muy costosa, se implementa un modelo de
control transaccional basado en logging:
Toda suboperacin que modifique los metadatos y datos de
un archivo se agrupa en la misma transaccin.
Si el sistema falla, las acciones parcialmente realizadas se
deshacen o completan. Recorriendo el log.
No se garantiza que el sistema est actualizado al finalizar la
recuperacin, sino que es consistente.
Sistemas con esta filosofa son: JFS (IBM), ext3fs y la gran
mayora de sistemas de archivos modernos.
Sistemas operativos: una visin aplicada
Versin seleccionada y ampliada por J.M. Pea
80
Journaling
Cada operacin se programa asi:
TxBegin(&tid);
/* ...
Sub-operaciones
... */
TxCommit(tid);
TxEnd(tid);
Por lo general es un archivo especial dentro del S.A.
Super
block
81
Log
Atributos extendidos
Alternated Data Streams (ADS) en NTFS
Resource forks en Mac
Extensiones a los archivos normales. Pensadas para contener datos
adicionales:
Informacin de la aplicacin que lo crea/usa.
Visin reducida de una imagen, etc.
En NTFS no tienen limitacin de espacio.
Causa problemas de cara a virus y gusanos.
Invisible a las herramientas estndar del SSOO.
stuff
a.txt
b.txt
82
stuff
b.txt:oculto.txt
b.txt
Consulta
Resultado
83
84