tamaño: 113531B

Anuncio
Sistemas Operativo - ITIS
Junio 2010
Sistemas Operativos
Parte Práctica
Problema 1
Un disco duro de la empresa para la que trabaja, ha dejado de arrancar el sistema operativo
debido a un fallo en el mismo. Utilizando un disco de arranque Linux se consiguió obtener un
volcado de la MBR de dicho disco en el archivo mbr.txt utilizando la orden dd if=/dev/hda
count=1 bs=512 | hexdump -C >mbr.txt. El contenido de dicho archivo se muestra a
continuación.
00000000
00000010
00000020
00000030
00000040
00000050
00000060
00000070
00000080
00000090
000000 a0
000000 b0
000000 c0
000000 d0
000000 e0
000000 f0
00000100
00000110
00000120
00000130
00000140
00000150
00000160
00000170
00000180
00000190
000001 a0
000001 b0
000001 c0
000001 d0
000001 e0
000001 f0
00000200
eb
bf
38
83
ff
75
00
e8
52
83
66
5c
0c
73
44
ca
c0
88
3b
08
b8
00
7c
06
52
69
bb
00
01
c1
ff
ff
48
1b
6e
c6
00
02
20
34
72
e1
8b
08
b4
0a
ff
c1
e8
54
44
d1
01
01
be
be
55
73
01
00
00
ff
ff
ff
90
06
00
10
00
b2
fb
01
49
01
1e
c7
42
f6
00
e2
02
0a
08
8a
02
8e
85
94
42
6b
00
00
07
0c
83
05
d0
50
7c
49
20
80
a0
f6
81
74
44
44
cd
c2
66
02
66
66
7d
6c
cd
db
7d
7d
20
00
b4
00
fe
fe
fe
fe
bc
57
09
74
01
ea
40
c2
fb
37
7c
06
13
80
31
88
89
31
3c
0c
13
31
e8
e8
00
52
0e
00
ff
ff
ff
ff
00
b9
75
19
00
59
7c
80
55
66
c7
00
72
0f
c0
e8
04
d2
8a
5a
72
f6
40
30
47
65
cd
00
ff
ff
ff
ff
7c
e5
13
38
00
7c
3c
74
aa
8b
04
70
05
84
88
88
66
66
54
8a
2a
31
00
00
65
61
10
00
3f
59
70
56
fb
01
83
2c
00
00
ff
54
75
4c
10
66
bb
ea
f0
f4
a1
f7
0d
74
8c
ff
eb
be
6f
64
ac
00
00
1f
61
ad
50
f3
c5
74
00
00
74
b4
43
10
00
31
00
00
40
40
44
74
c0
0b
c3
fc
0e
99
6d
00
3c
d9
00
80
23
ee
07
a4
10
f6
02
31
02
41
a0
be
c7
c0
70
e9
66
89
7c
04
e2
bb
8e
f3
be
7d
00
20
00
0a
00
07
0b
0d
50
cb
e2
a0
fa
c0
88
bb
41
05
44
89
eb
8d
89
44
66
88
06
00
06
a5
8a
e8
48
45
75
da
1a
17
e6
6b
1f
bd
f4
b5
90
8e
c2
aa
7c
7c
02
44
7d
00
44
08
31
54
8a
70
48
1f
7d
2a
61
72
f4
0a
1f
42
4b
8a
fc
be
cd
07
90
d8
52
55
84
c6
01
04
b4
be
04
31
d2
0b
4c
8e
7c
61
e8
00
72
72
c3
00
80
a3
cb
0a
be
07
18
b4
f6
8e
be
cd
c0
44
00
66
08
05
31
c0
66
89
0a
c3
60
ff
38
eb
64
6f
00
00
07
03
02
00
1b
b1
8b
03
c2
d0
7f
13
75
ff
66
89
cd
7c
d2
88
f7
44
fe
31
1e
26
00
fe
20
72
00
80
00
00
00
55
7c
04
f5
02
80
bc
7d
5a
05
01
89
44
13
c6
88
d0
34
0c
c1
db
b9
42
eb
47
44
00
00
01
00
fe
fe
aa
|. H ....|. P . P ....||
|... PW ...........|
|8 n .|. u ..........|
|... It .8 , t .......|
|... ............|
| u .... Y |..1......|
|. .. @ | <. t ... R ..}|
|.4.... tT . A .. U .. Z |
| RrI .. U . uC . A |.. u .|
|... t7f . L ...|. D ..|
| f .. D |..... D ... f .|
|\.. D .. pf1 .. D . f . D |
|.. B .. r ... p .}....|
| s .. . .. .. . .. . .. |. |
| D .. f1 ... @f . D .1..|
|........ @ . D .1...|
|... f .. f . D | f1 . f .4|
|. T . f1 . f . t .. T .. D .|
|; D .} <. T ..... L ...|
|... l . Z . t ... p ..1.|
|..... r *.... H | ‘..|
|....1.1..... a .& B |
||..}. @ .....}.8..|
| .. .} . 0. . .} . *. .. G |
| RUB . Geom . Hard D |
| isk . Read . Error .|
|........ <. u .....|
| . . . . . . . . . . .. . . . . |
| . . . . . . ? . . . .. . . . . |
|...... Y .... B ....|
|...... pa #.. K ....|
|...... V ... k ... U .|
Consultando documentación en Internet se sabe que que el formato de la MBR es el mostrado
a continuación.
Posición
+000h
+1BEh
+1CEh
+1DEh
+1EEh
+1FEh
Contenido
Codigo de arranque
Primera entrada en la tabla de particiones
Segunda entrada en la tabla de particiones
Tercera entrada en la tabla de particiones
Cuarta entrada en la tabla de particiones
Número mágico
Tamaño (en decimal)
446 bytes
16 bytes
16 bytes
16 bytes
16 bytes
2 bytes
En donde el formato de cada entrada en la tabla de particiones viene dado a continuación.
11
Sistemas Operativo - ITIS
Posición
+00h
+01h
+04h
+05h
+08h
+0Ch
Junio 2010
Contenido
Estado de la partición.
Inicio de la partición en formato CHS.
Tipo de partición.
Fin de la partición en formato CHS.
Distancia del primer sector.
Número de sectores en la partición.
Tamaño (en decimal)
1 byte
3 bytes
1 byte
3 bytes
4 bytes
4 bytes
El estado de la partición indica si una partición determinada es o no activa. Todos los bits
permanecen a 0, salvo el octavo, que vale 0 si es una partición inactiva, o 1 si es partición
activa. El tipo de partición es un código predefinido de un byte cuyos posibles valores se
muestran en el listado siguiente. Por otra parte, tanto la distancia del primer sector como el
número de sectores en la partición están expresados en formato little endian (los bits más
significativos ocupan posiciones de memoria más altas).
0
1
2
3
4
5
6
7
8
9
a
b
c
e
f
10
11
12
14
16
17
18
1b
1c
1e
Vacı́a
FAT12
XENIX root
XENIX usr
FAT16 <32M
Extendida
FAT16
HPFS/NTFS
AIX
AIX bootable
OS/2 Boot Manag
W95 FAT32
W95 FAT32 (LBA)
W95 FAT16 (LBA)
W95 Ext’d (LBA)
OPUS
FAT12 oculta
Compaq diagnost
FAT16 oculta <3
FAT16 oculta
HPFS/NTFS ocult
SmartSleep de A
Hidden W95 FAT3
Hidden W95 FAT3
Hidden W95 FAT1
24
39
3c
40
41
42
4d
4e
4f
50
51
52
53
54
55
56
5c
61
63
64
65
70
75
80
NEC DOS
Plan 9
PartitionMagic
Venix 80286
PPC PReP Boot
SFS
QNX4.x
QNX4.x segunda
QNX4.x tercera
OnTrack DM
OnTrack DM6 Aux
CP/M
OnTrack DM6 Aux
OnTrackDM6
EZ-Drive
Golden Bow
Priam Edisk
SpeedStor
GNU HURD o SysV
Novell Netware
Novell Netware
DiskSecure Mult
PC/IX
Old Minix
81
82
83
84
85
86
87
88
8e
93
94
9f
a0
a5
a6
a7
a8
a9
ab
af
b7
b8
bb
be
Minix / old Lin
Linux swap / So
Linux
Unidad C: ocult
Linux extendida
Conjunto de vol
Conjunto de vol
Linux plaintext
Linux LVM
Amoeba
Amoeba BBT
BSD/OS
Hibernación de
FreeBSD
OpenBSD
NeXTSTEP
UFS de Darwin
NetBSD
arranque de Dar
HFS / HFS+
BSDI fs
BSDI swap
Boot Wizard hid
arranque de Sol
bf
c1
c4
c6
c7
da
db
de
df
e1
e3
e4
eb
ee
ef
f0
f1
f4
f2
fb
fc
fd
fe
ff
Solaris
DRDOS/sec (FATDRDOS/sec (FATDRDOS/sec (FATSyrinx
Datos sin SF
CP/M / CTOS / .
Utilidad Dell
BootIt
DOS access
DOS R/O
SpeedStor
BeOS fs
GPT
EFI (FAT-12/16/
inicio Linux/PA
SpeedStor
SpeedStor
DOS secondary
VMware VMFS
VMware VMKCORE
Linux raid auto
LANstep
BBT
Se sabe además que el formato CHS (cylinder, head, sector) indica una posición en disco a
través de la terna <cabecera, sector, cilindro>, ocupando un byte la cabecera y dos bytes
el sector y cilindro. Partiendo de la información disponible, conteste a las siguientes preguntas.
1. Como parte del proceso de recuperación del disco se necesita obtener la información básica
sobre sus particiones. Obtenga, de manera razonada, los siguientes datos.
Número de particiones definidas.
Tamaño de las particiones en sectores.
Tipo de partición (primaria, extendida o lógica).
Sistema de archivos que contiene cada partición.
(1 punto)
12
Sistemas Operativo - ITIS
Junio 2010
RESPUESTA:
Se interpreta directamente el volcado de la MBR siguiendo el formato especificado en el
enunaciado.
Partición 1:
•
•
•
•
Tipo de partición: Primaria
Sistema de archivos: NTFS (código 07h)
Tamaño de la partición: 1A 1F 80 07 → 07 80 1F 1A = 125.837.082 sectores.
Tamaño de la partición en bytes: 125.837.082 sectores * 512 bytes/sector =
64.428.585.984 bytes = 60 GB.
Partición 2:
•
•
•
•
Tipo de partición: Primaria
Sistema de archivos: FAT 32 (código 0Ch)
Tamaño de la partición: 17 42 A3 03 → 03 A3 42 17 = 61.030.935 sectores.
Tamaño de la partición en bytes: 61.030.935 sectores * 512 bytes/sector = 31.247.838.720
bytes = 29 GB
Partición 3:
•
•
•
•
Tipo de partición: Primaria
Sistema de archivos: EXT (código 83h)
Tamaño de la partición: E6 4B CB 02 → 02 CB 4B E6 = 46.877.670 sectores.
Tamaño de la partición en bytes: 46.877.670 sectores * 512 bytes/sector = 24001367040
bytes = 22 GB
Partición 4:
• Tipo de partición: Extendida (código 05h)
• Sistema de archivos: No puede saberse, serı́a necesario un volcado del primer
sector de esta partición.
• Tamaño de la partición: 6B 8A 0A 00 → 00 0A 8A 6B = 690795 sectores.
• Tamaño de la partición en bytes = 690795 sectores * 512 bytes/sector = 353687040
bytes = 337 MB
La visualización del particionado con la herramienta fdisk es como sigue:
Dispositivo Inicio Comienzo Fin Bloques Id Sistema /dev/sda1 * 1 7833 62918541
7 HPFS/NTFS /dev/sda2 7834 11632 30515467+ c W95 FAT32 (LBA) /dev/sda3 11633
14550 23438835 83 Linux /dev/sda4 14551 14593 345397+ 5 Extendida /dev/sda5
14551 14593 345366 82 Linux swap / Solaris
2. La primera partición del disco duro anterior se formatea con un sistema de archivos similar
a Linux en el que el tamaño de bloque es de 1024 bytes y los punteros ocupan 32 bits.
Partiendo del disco recién formateado, con el directorio de trabajo en su directorio raı́z,
se realizan las siguientes operaciones.
cat " Hola " > archivo1 . txt
ln -s archivo1 . txt archivo2 . txt
ln archivo1 . txt archivo3 . txt
mkdir directorio
mv archivo1 . txt directorio
rm archivo3 . txt
Complete la tabla adjunta indicando el contenido de los bloques de datos del disco después
de realizar dichas operaciones.
(1 punto)
RESPUESTA:
13
Bloque
Contenido
2
2
directorio
5
archivo2.txt 4
.
..
1
2
Hola
P. indirecto
Nodo ı́ndice
Tipo
Enlaces
Tamaño
P. directos
3
REG
1
4
2
4
SYM
1
12
3
5
DIR
2
1024
4
6
.
5
..
2
archivo1.txt 3
4
5
Cuadro 4: Bloques de datos.
3
archivo1.txt
6
Cuadro 3: Tabla de nodos ı́ndice.
2
DIR
3
1024
1
7
7
8
8
9
9
10
10
Ejercicio de Sistemas Operativos. Ingenierı́a Técnica en Informática de Sistemas. Junio 2010
Solución ejercicio 1
11
12
13
14
15
Descargar