Академический Документы
Профессиональный Документы
Культура Документы
Sistemas de Archivos 2
Servicio de nombrado
Servicios de almacenamiento
Servicios de directorio
Sistemas de Archivos 3
Sistemas de Archivos 4
Sistemas de Archivos 5
Es el caso de UNIX
No hay diferencia entre el directorio raz y cualquier otro a
otro nivel
Para referirse a un archivo completo es necesario saber su
nombre y el nombre de todos los directorios, desde la raz
hasta el que lo contiene (camino absoluto), o bien desde el
directorio actual (camino relativo)
UNIX puede trabajar con cualquier jerarqua de directorios,
pero existe una estandarizada
Sistemas de Archivos 6
Sistemas de Archivos 7
Contigua
Por bloques
Sistemas de Archivos 8
Tablas de bloques
Mantener una tabla con los
bloques de cada archivo
Se guarda el nombre del
archivo junto con el primer
bloque que ocupa
El resto de los bloques se
obtiene utilizando una
estructura de datos especial
(FAT)
Para buscar un bloque hay
que recorrer todos los
anteriores
Sistemas de Archivos 9
Bloques enlazados
Se guarda el nombre del
archivo junto con el primer
bloque que ocupa
Cada bloque guarda qu
bloque es el siguiente
Para buscar un bloque hay
que recorrer todos los
anteriores
Los bloques de datos
contienen informacin del
sistema de archivos, no
solo del usuario
Sistemas de Archivos 10
Nodos ndice
Junto con el nombre del
archivo se guardan
punteros a todos sus
bloques
Cuntos bloques
ocupar el archivo?
En caso de que el
archivo sea muy grande
podemos usar distintos
niveles de indireccin
usando para ello
bloques de
almacenamiento
Sistemas de Archivos 11
Sistemas de Archivos 12
Sistemas de Archivos 13
-C
eb
02
00
20
be
5e
69
65
69
65
65
72
00
-s
3c
e0
00
20
5b
eb
73
20
6e
20
73
79
00
00 00 00 00 00 00 00 00
00
02
40
32
0e
fe
6f
6c
6f
6e
79
2e
00
00
00
20
1f
10
20
6c
20
6c
72
74
00
00
|.<.mkdosfs......|
|...@............|
|......)..{@
|
|
FAT12
..|
|.[|.".t.V.......|
|^..2.......This |
|is not a bootabl|
|e disk. Please |
|insert a bootabl|
|e floppy and..pr|
|ess any key to t|
|ry again ... ...|
|................|
00 00 00 00 00 00 55 aa
|..............U.|
00
00
20
20
bb
54
6f
65
6f
64
20
2e
00
02
00
20
20
07
68
74
61
74
0d
74
20
00
01
00
20
20
00
69
61
73
61
0a
6f
0d
00
01
00
20
0e
cd
73
62
65
62
70
20
0a
00
Sistemas de Archivos 14
Sistemas de Archivos 15
FAT-16
FAT-32: Capacidad de direccionamiento 2^32 bloques de 1K/bloque
Sistemas de Archivos 16
Sistemas de Archivos 17
Directorio raz
Sistemas de Archivos 18
Sistemas de Archivos 19
-C
e5
ff
e5
76
e5
8d
41
6f
41
8d
41
6f
41
8d
-s
2e
ff
2e
00
52
30
61
00
52
30
61
00
52
30
00
00
00
00
50
0b
00
00
54
0a
00
00
54
13
00
00
00
00
20
00
0f
00
20
00
0f
00
20
00
00
ff
00
78
00
00
00
74
00
23
00
74
00
26
c3
ff
c3
00
00
10
b5
00
00
00
55
00
00
00
ff
ff
69
74
0b
00
76
00
09
00
76
00
10
00
ff
ff
00
00
66
00
00
00
66
00
00
00
66
00
|...s.w.p........|
|................|
|...a.r.c.h....i.|
|v.o.2...t...x.t.|
|.RCHIV~1SWP ...f|
|.0.0...f.0......|
|Aa.r.c.h.i....v.|
|o.1...t.x...t...|
|ARCHIVO1TXT ...f|
|.0.0...f.0..#...|
|Aa.r.c.h.i...Uv.|
|o.2...t.x...t...|
|ARCHIVO2TXT ...f|
|.0.0...f.0..&...|
Sistemas de Archivos 20
00 00 00 00 00 00 00 ff
00 00 00 00 f0 ff 00 00
00 00 00 00 00 00 00 00
/dev/fd0
00 00 00 00
00 00 00 00
00 00 00 00
Sistemas de Archivos 21
Los dos primeros clusters estn reservados, por lo tanto hay que
restar 2 al nmero de cluster lgico:
Las operaciones a realizar sern:
-C
45
6e
32
00
-s
73
69
2e
00
20
72
00
00
63
63
00
00
6f
68
00
00
6e
69
00
00
74
76
00
00
65
6f
00
00
|Este es el conte|
|nido del archivo|
|2.txt...........|
|................|
Sistemas de Archivos 22
Sistemas de Archivos 23
Nodos ndice
Sistemas de Archivos 24
Tipos de archivos
Sistemas de Archivos 25
Sistemas de Archivos 26
Bsqueda de un archivo
Sistemas de Archivos 27
Sistemas de Archivos 28
Superbloque
Sistemas de Archivos 29
Un dispositivo de
almacenamiento es una
secuencia de bloques de
almacenamiento sin ningn
significado especial
Cada sistema de archivo escribe
en esos bloques la informacin
necesaria para mantener los
archivos, directorios, etc.
(Metainformacin)
El proceso de creacin de un
sistema de archivos se llama
formateado
Por ejemplo, para formatear un
disquete con el sistema de
archivos ext2 se emplea la
siguiente orden mkfs.ext2
# mkfs.ext2 -v /dev/fd0
mke2fs 1.27 (8-Mar-2002)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
184 inodes, 1440 blocks
72 blocks (5.00%) reserved for
the super user
First data block=1
1 block group
8192 blocks per group, 8192
fragments per group
184 inodes per group
Writing inode tables: done
Writing superblocks and
filesystem accounting
information: done
#
Sistemas de Archivos 30
Sistemas de Archivos 31
Superbloque
# dumpe2fs /dev/fd0
dumpe2fs 1.27 (8-Mar-2002)
Filesystem volume name:
<none>
Last mounted on:
<not available>
Filesystem UUID:
685cf75c-936d-4802-9813243a7e9a3902
Filesystem magic number: 0xEF53
Filesystem revision #:
1 (dynamic)
Filesystem features:
filetype sparse_super
Filesystem state:
clean
Errors behavior:
Continue
Filesystem OS type:
Linux
Inode count:
184
Block count:
1440
Reserved block count:
72
Free blocks:
1396
Free inodes:
170
First block:
1
Block size:
1024
Fragment size:
1024
Blocks per group:
8192
Fragments per group:
8192
Inodes per group:
184
Inode blocks per group:
23
Last mount time:
Thu Jan 1 01:00:00 1970
Last write time:
Sat Apr 10 22:24:18 2004
Mount count:
0
Maximum mount count:
29
Last checked:
Sat Apr 10 22:10:04 2004
Check interval:
15552000 (6 months)
Next check after:
Thu Oct 7 22:10:04 2004
Reserved blocks uid:
0 (user root)
Reserved blocks gid:
0 (group root)
First inode:
11
Inode size:
128
Sistemas de Archivos 32
-C
00
11
00
-s
00
87
00
|..........y@..y@|
|..y@............|
|................|
ed
7f
00
00
41
8a
00
00
00
79
00
00
|.A........y@..y@|
|..y@............|
|................|
|................|
00
40
00
00
00
00
00
00
04
00
00
00
00
00
00
00
00
00
00
00
a6
00
1c
00
8a
00
00
00
79
04
00
00
40
00
00
00
7f
02
00
00
8a
00
00
00
79
00
00
00
40
00
00
00
Sistemas de Archivos 33
-C
02
0c
6c
d4
00
-s
00
00
6f
03
00
0x7000 -n 1024
00 00 0c 00 01
02 02 2e 2e 00
73 74 2b 66 6f
08 02 6c 65 63
00 00 00 00 00
/dev/fd0
02 2e 00
00 0b 00
75 6e 64
74 75 72
00 00 00
00
00
00
61
00
00
00
00
73
00
02
14
0c
00
00
00
00
00
00
00
00
0a
00
00
00
00
02
00
00
00
|................|
|................|
|lost+found......|
|....lecturas....|
|................|
struct ext2_dir_entry_2 {
__u32 inode; /* Inode number; 0: unused */
__u16 rec_len; /* Directory entry length */
__u8 name_len; /* Name length */
__u8 file_type;
char name[up to 255]; /* File name */
};
Sistemas de Archivos 34
-C
0c
0c
71
00
-s
00
00
75
00
0xa400 -n 1024
00 00 0c 00 01
02 02 2e 2e 00
69 6a 6f 74 65
00 00 00 00 00
/dev/fd0
02 2e 00
00 0d 00
2e 74 78
00 00 00
00
00
74
00
00
00
00
00
02
e8
00
00
00
03
00
00
00
0b
00
00
00
01
00
00
|................|
|................|
|quijote.txt.....|
|................|
El nodo ndice del archivo quijote.txt es el 0x0D (13d). Buscamos ese nodo
ndice y obtenemos que su bloque de datos asociado es el 0x2A. Su posicin
en el disco ser 0x2A*0x400=0xA800
# hexdump
0000a800
0000a810
0000a820
0000a830
0000a840
*
0000ac00
-C
45
61
20
6f
00
-s
6e
20
6e
0a
00
0xA800 -n 1024
20 75 6e 20 6c
6d 61 6e 63 68
6f 6d 62 72 65
00 00 00 00 00
00 00 00 00 00
/dev/fd0
75 67 61
61 20 64
20 6e 6f
00 00 00
00 00 00
72
65
20
00
00
20
20
71
00
00
64
63
75
00
00
65
75
69
00
00
20
79
65
00
00
6c
6f
72
00
00
|En un lugar de l|
|a mancha de cuyo|
| nombre no quier|
|o...............|
|................|
Sistemas de Archivos 35
Ejemplo: contabilidad
i-node
Propsito
Directorio raz
12
lecturas
13
quijote.txt
Sistemas de Archivos 36
Ejemplo: contabilidad
Sistemas de Archivos 37
Sistemas de Archivos 38
Sistemas de Archivos 39
ext2
proc
devpts
ext2
ext2
rw
rw
rw
rw
rw
Sistemas de Archivos 40
Enlaces
Sistemas de Archivos 41
Enlaces duros
# ln ArchivoOriginal.txt duro1
# ln ArchivoOriginal.txt duro2
# ln ArchivoOriginal.txt duro3
# ls ali
total 21
2 drwxr-xr-x
3 root
415172 drwxr-xr-x
4 root
12 -rw-r--r-4 root
12 -rw-r--r-4 root
12 -rw-r--r-4 root
12 -rw-r--r-4 root
11 drwx-----2 root
Sistemas de Archivos 42
Enlaces blandos
# ln -s ArchivoOriginal.txt blando1
# ln -s ArchivoOriginal.txt blando2
# ln -s ArchivoOriginal.txt blando3
# ls -ali
total 18
2
415172
12
13
14
15
11
drwxr-xr-x
drwxr-xr-x
-rw-r--r-lrwxrwxrwx
lrwxrwxrwx
lrwxrwxrwx
drwx------
3
4
1
1
1
1
2
root
root
root
root
root
root
root
root
root
root
root
root
root
root
1024
4096
11
19
19
19
12288
Apr
Apr
Apr
Apr
Apr
Apr
Apr
12
12
12
12
12
12
11
18:25
17:59
18:10
18:25
18:25
18:25
19:57
.
..
ArchivoOriginal.txt
blando1 -> ArchivoOriginal.txt
blando2 -> ArchivoOriginal.txt
blando3 -> ArchivoOriginal.txt
lost+found
Sistemas de Archivos 43
-C
ff
e8
00
72
00
-s
a1
c2
00
69
00
00 00 00 00 8b 6e 2d 48
00 00 00 00 00 00 00 00
7a
01
63
74
00
40
00
68
00
00
e8
00
69
00
00
c2
00
76
00
00
7a
00
6f
00
00
40
00
4f
00
00
|..........z@..z@|
|..z@............|
|........ArchivoO|
|riginal.txt.....|
|................|
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
|.....n-H........|
|................|
Sistemas de Archivos 44
Sistemas de Archivos 45
Sistemas de Archivos 46
Correccin de inconsistencias
Sistemas de Archivos 47
Sistemas de Archivos 48
Sistemas de Archivos 49
Transacciones
6.
Sistemas de Archivos 50
Transacciones: fundamentos
Sistemas de Archivos 51
Sistemas de Archivos 52
Si la transaccin finaliza, se
hace una marca especial en el
registro de transacciones
(commit)
Hecho esto se copian las
modificaciones a su destino
final y se elimina la transaccin
del registro
Si se produce un fallo durante
la copia, el sistema detectar
que hay una transaccin
inconclusa y la finalizar
Sistemas de Archivos 53
Sistemas de Archivos 54