Está en la página 1de 15

UNIVERSIDAD PONTIFICIA DE SALAMANCA EN MADRID

Facultad de Informtica
Escuela Universitaria de Informtica

Departamento de Lenguajes, Sistemas Informticos e Ingeniera de Software

SISTEMA DE GESTIN DE FICHEROS.


EJERCICIO N1.

Una unidad de disco tiene 300 cilindros numerados del 0 al 299, 4 cabezas de Lectura/Escritura y 18
sectores por pista, de 512 bytes cada uno. El disco gira a 3600 rpm y el tiempo medio de
posicionamiento es de 30 milisegundos.
La velocidad de transferencia de datos es de 4 Mb/seg.
1) Calcular la capacidad del Disco en Mb.
2) Calcular la direccin del bloque del Cilindro 20, Superficie 2 y Sector 10.
3) Calcular el tiempo necesario para leer 3.540 bytes, distribuidos aleatoriamente en el disco.
EJERCICIO N 2.

Una unidad de disco tiene 305 cilindros, 4 cabezas de Lectura/Escritura y 15 sectores por pista de 512
bytes cada uno.
El tiempo de Latencia tl = 0,02 segundos.
El tiempo medio de posicionamiento es de 30 milisegundos.
La velocidad de transferencia es de 2 Mb/seg.
1) Calcular la capacidad del disco en Mb.
2) Calcular el tiempo necesario para la lectura 12 sectores situados consecutivamente en la misma
pista.
3) Calcular el tiempo que se necesitar para la lectura de 15 sectores distribuidos aleatoriamente en
el disco.
EJERCICIO N 3.

Dado un sistema operativo cuya forma de almacenamiento de la informacin en un soporte de acceso


directo se basa en el mtodo de asignacin contigua, determinar en qu bloques se deben ubicar los
ficheros F1 de 3.000 bytes y F2 de 6.000 bytes. Realizar la asignacin por todos los mtodos de
asignacin contigua conocidos, pero de forma independiente para cada uno de los ficheros.
El tamao del bloque es de 512 bytes y en el momento de realizar la asignacin, los bloques que estn
ocupados en el disco son los siguientes:
3, 4, 5, 6, 15, 16, 17, 18, 33, 34, 35, 36, 50, 51, 52, 53,....

Definir la lista de espacio libre mediante un vector de bits, que represente la situacin anteriormente
definida.

SISTEMA DE GESTIN DE FICHEROS

UNIVERSIDAD PONTIFICIA DE SALAMANCA EN MADRID


Facultad de Informtica
Escuela Universitaria de Informtica

Departamento de Lenguajes, Sistemas Informticos e Ingeniera de Software

EJERCICIO N 4.

Supuesto un sistema operativo, que gestiona el espacio en disco utilizando la asignacin contigua.
En un momento determinado, se realiza la siguiente llamada al sistema:
READ (F1,8)

Dicha llamada significa, que se quiere leer del fichero F1, el registro lgico n 8.
Sabiendo que en el directorio actual tenemos adems de otras entradas la siguiente:
Nombre
F1

tamao
6540

bloque comienzo en disco

bytes

acceso
Slo lectura

60

Sabiendo que el registro lgico tiene un tamao de 128 bytes, que un bloque en el disco tiene un
tamao de 512 bytes, el disco tiene 300 cilindros, 4 caras tiles y 17 sectores por pista.
Indicar a qu pista, cara y sector del disco habr que acceder para poder leer del fichero F1 el
registro lgico 8.
EJERCICIO N 5.

Un sistema operativo gestiona el espacio en disco mediante un vector de 5 punteros. Los tres
primeros apuntan a bloques de datos, el 4 puntero se utiliza para indexacin a un nivel y el 5 para
indexacin a dos niveles.
Si el tamao de bloque (tanto de ndice como de datos) es de 1024 bytes y el tamao de cada puntero
es de 8 bytes, calcular el espacio mximo en disco que se puede gestionar con esta estructura.
EJERCICIO N 6.

Dado un sistema operativo cuya forma de almacenamiento se basa en el mtodo de asignacin


contigua, determinar en qu bloques se deberan ubicar un fichero F1, cuyo tamao es de 12
registros lgicos y otro F2 de 3.400 bytes.
Realizar la asignacin de forma independiente para cada estrategia de asignacin de espacio
contiguo, teniendo en cuenta, que el tamao del registro lgico para el fichero F1 es de 512 bytes y
el tamao del bloque 1 Kbyte.
El almacenamiento de estos dos ficheros en el disco, se realizar, primero el F1 y despus el F2,
indicando en cada momento la situacin actual de la lista de espacio libre, que en el momento inicial
es la que figura a continuacin:
LISTA DE ESPACIO LIBRE
N. BLOQUES
CONTIGUOS

2
2

6
1

SISTEMA DE GESTIN DE FICHEROS

9
6

18
1

40
10

60
3

70
6

80
12

UNIVERSIDAD PONTIFICIA DE SALAMANCA EN MADRID


Facultad de Informtica
Escuela Universitaria de Informtica

Departamento de Lenguajes, Sistemas Informticos e Ingeniera de Software

EJERCICIO N 7.

Una unidad de disco gestionada por asignacin contigua, dispone de 256 cilindros, 16 pistas por
cilindro y 9 sectores de 512 bytes por pista. El tiempo medio de posicionamiento es de 0,2 seg., la
velocidad de transferencia de 5 Mb/seg. y la velocidad de rotacin del disco de 3600 rpm. En un
instante determinado, el espacio disponible est indicado por el siguiente mapa de bits:
1 1 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 1 1 0 1 1 1...

1) Calcular la capacidad del disco en Mb.


2) Suponiendo que los bloques son de un sector, para un fichero F1 con un tamao de 1.280 bytes y
registros lgicos de 128 bytes:
a) Exprese mediante una lista de espacio libre por direccin base y desplazamiento, la
disponibilidad de espacio en el disco tras ubicar F1 con la estrategia del mejor ajuste.
b) Ubicado F1, indicar el tiempo invertido por el sistema en leer el fichero.
c) Calcular en que cilindro, cara y sector estar ubicado el registro lgico numero 7.
EJERCICIO N 8.

Un disco magntico dispone de 2 platos, 200 cilindros y 16 sectores por pista, cada sector tiene 512
bytes. El bloque se define con un tamao de 2 sectores. La tabla de espacios libres para un momento
determinado es:
DIRECCIN BASE
DESPLAZAMIENTO

0
4

15
1

35
0

62
8

97
7

125
0

Se desea resolver los siguientes puntos:


1) Indicar en qu bloques se grabaran los ficheros mencionados a continuacin y cmo se
modificara la tabla al grabar los ficheros:
a) Si se graba un fichero F1 de 5250 bytes, con asignacin contigua y estrategia del peor ajuste.
b) Si se graba un fichero F2 de 3000 bytes, de forma contigua y con la estrategia del mejor
ajuste.
2) Posteriormente se desean leer 500 bytes a partir del byte 2000 del fichero F2. Indicar qu cilindro,
superficie y sector tendremos que leer del disco.
3) Finalmente se quiere disear un sistema de archivos para ese disco que no utilice la asignacin
contigua, sino una combinacin entre asignacin directa e indexada.
Para ello se utilizan en el directorio tres punteros de seguimiento de ficheros, los dos primeros se
utilizan para asignacin directa y el tercero se utiliza para la asignacin indexada.
El proyecto consiste en utilizar punteros ndices de 8 bytes y se desea justificar el nivel de
indexacin necesario que tenemos que desarrollar, para poder utilizar un fichero cuyo tamao
mximo pueda grabarse en el disco citado en el enunciado del problema.

SISTEMA DE GESTIN DE FICHEROS

UNIVERSIDAD PONTIFICIA DE SALAMANCA EN MADRID


Facultad de Informtica
Escuela Universitaria de Informtica

Departamento de Lenguajes, Sistemas Informticos e Ingeniera de Software

EJERCICIO N 9.

Un sistema utiliza el siguiente mtodo de asignacin de espacio en disco:

En la entrada de directorio del fichero, existe un campo, que contiene la direccin del primer
bloque del fichero, que es siempre un bloque ndice.
En cada bloque ndice, se almacena un conjunto de punteros de 16 bits cada uno, que apuntan
directamente a bloques de datos.
Los bloques de ndices estn asociados por una lista enlazada.

Sabiendo que cada bloque del disco tiene un tamao de 512 bytes, calcular:
a) El tamao mximo de espacio en disco que puede gestionarse mediante este mtodo de
asignacin.
Para un fichero de 37.527 registros lgicos de 80 bytes de longitud cada registro:
b) El nmero total de bloques utilizados por el sistema para ubicar el fichero en el disco.
c) El nmero total de registros adicionales que podra tener el fichero, sin que el nmero de
bloques ndices asignados por el sistema al fichero aumente.
d) El nmero total de bloques utilizados por el sistema, para ubicar el fichero en el disco, si los
bloques ndices estn asociados mediante una lista doblemente enlazada.
EJERCICIO N 10.

Un dispositivo de disco magntico esta formado por 6 platos, 200 cilindros (numerados de 0-299) y
10 sectores por pista de 512 bytes cada uno. Los bloques del disco son de 1Kb y la velocidad de
transferencia es de 3MB por minuto. El tiempo de posicionamiento de las cabezas es de 12ms y la
velocidad de rotacin del disco es de 3.600 r.p.m.
En un instante determinado, la tabla de bloques libres es la siguiente:
N. DE BLOQUE
SIGUIENTES LIBRES

1.250
6

3.872
5

8.931
2

11.120
1

a) Calcular el tiempo en grabar un fichero de 17.621 bytes.


b) Si el disco se gestionase mediante asignacin indexada de forma que el bloque inicial tuviese 6
ndices, 4 para apuntar directamente a bloques de datos, el 5 que apunte a una tabla de ndices
de 1 nivel y el 6 a una tabla de 2 niveles. Cada ndice ocupa 128 bytes. Indique razonadamente
los ndices que tendramos que seguir, para localizar el byte 16.250 de un fichero.
EJERCICIO N 11.

Un sistema operativo gestiona sus ficheros con registros de longitud fija sin tramos. Los sectores son de
512 bytes y el disco tiene 18 cabezas de 3000 cilindros y 9 sectores por pista.
En este sistema se estudian dos mtodos de asignacin de espacio en disco: (i) asignacin indexada
con bloques ndice doblemente enlazados y (ii) asignacin indexada con dos niveles de bloques
ndice.

SISTEMA DE GESTIN DE FICHEROS

UNIVERSIDAD PONTIFICIA DE SALAMANCA EN MADRID


Facultad de Informtica
Escuela Universitaria de Informtica

Departamento de Lenguajes, Sistemas Informticos e Ingeniera de Software

Para cada uno de los sistemas anteriores, calcular:


a) El tamao mximo de fichero en este disco.
b) El nmero de accesos necesario para leer el registro lgico 1.100 del fichero F1 que comienza en el
bloque 1.800 del disco. El tamao de registro lgico para F1 es de 150 bytes.
c) La posicin fsica de comienzo de F1 y de su primer bloque de datos.
EJERCICIO N 12.

Un sistema utiliza un vector de n punteros en la entrada de directorio de cada archivo, para acceder a
los distintos bloques asignados al archivo. Los cuatro primeros punteros del vector, apuntan
directamente a bloques de datos, mientras que el resto de los punteros, se utiliza para indexar a
distintos niveles (el quinto puntero tendr un solo nivel de bloques ndice, el sexto puntero tendr
dos niveles de bloques ndice, el sptimo puntero tendr tres niveles de bloques ndice, etc.).
El tamao de los punteros es tal, que permite tener 4.294.967.296 punteros distintos y en cada
bloque se pueden almacenar un mximo de 256 punteros.
a) Calcular cuantos punteros como mximo podr tener el vector en la entrada de directorio de
cada archivo.
NOTAS:

El nmero mximo de punteros en el vector de punteros deber elegirse de tal forma, que la
suma del total de bloques de las estructuras que direccionan los punteros, no exceda del
nmero mximo de bloque direccionables.
Para facilitar las operaciones aritmticas se aportan los siguientes datos:
28 = 256 216 = 65.536 224 = 16.777.216
232 = 4.294.967.296
b) Dado el nmero mximo de punteros de la entrada de directorio de cada archivo, calculado en el
punto anterior, calcular el tamao mximo de fichero expresado en Mb.
c) En un sistema que sigue el anterior mtodo de asignacin de espacio en disco, una aplicacin
procesa un archivo con una longitud de registro lgico de 250 bytes y utilizando agrupacin de
registros por bloques, con registros de longitud fija sin tramos (bloques fijos). En un instante
determinado, se requiere leer el registro lgico nmero 37.525 (los registros lgicos del archivo
comienzan a numerarse a partir de cero). Sabiendo que el archivo se encuentra ubicado en un
disco con las siguientes caractersticas fsicas:
Tiempo medio de posicionamiento 20 msg.
Velocidad de rotacin del disco
7.500 rpm.
Velocidad de transferencia
500 Kbytes/sg.
Tamao del bloque fsico (sector) 1.024 bytes.
Calcular el tiempo que transcurre, desde el momento en que ya se ha leido la entrada de
directorio correspondiente al archivo, hasta que tiene cargado en memoria el bloque que contiene
dicho registro.

SISTEMA DE GESTIN DE FICHEROS

UNIVERSIDAD PONTIFICIA DE SALAMANCA EN MADRID


Facultad de Informtica
Escuela Universitaria de Informtica

Departamento de Lenguajes, Sistemas Informticos e Ingeniera de Software

SOLUCIN DEL EJERCICIO N 1.

1) Calcular la capacidad del disco en Mb.


Capacidad = Ncilindros x Nsuperficies x Nsectores x NBytes por Sector
Capacidad = 300 x 4 x 18 x 512 = 11.059.200 Bytes
Sabiendo que un Mb = 1.048.576 tendremos: 11.059.200 / 1.048.576 = 10,547 Mb
2) Calcular la direccin del Bloque en el disco, que corresponde al Cilindro 20, Superficie 2 y
Sector 10.
Bloque = k + s(j + ip) = 10 + 18(2 + 4 x 20) = 10 + 18 x 82 = 1486
3) Calcular el tiempo que ser necesario para leer 3540 bytes, distribuidos aleatoriamente en el
disco.
N Sectores = 3540 / 512 = 6,91 redondeando, 7 Sectores.
T = N Sectores * (tp + tl + tr) = 7(30 + tl + tr)
T = 7(30 + 8,333 + 0,122) = 7 x 38,455 = 269,185 mseg.
Para calcular el Tiempo de latencia (tl) tendremos:
Si a 3600 rpm

tl =

60 x 1000
tl

1 / 2 * 60 * 1000 600
=
= 8,33 mseg.
3600
72

Para calcular el tiempo de transferencia (tr) tendremos:


4 * 2 20
Vt = 4 Mb/seg. = 4 x 220 Bytes/seg. =
4 * 2 11 sectores/seg.
9
2
Si a 4 x 211
1000 mseg.
1
tr
1000
1000
1000

0,122 mseg.

tr =
11
4 * 2048 8192
4*2
SOLUCIN AL EJERCICIO N 2.

1) Calcular la Capacidad del disco en Mb.


Capacidad = NCilindros x NSuperficies xNSectoresxNBytes / Sector
Capacidad = 305 x 4 x 15 x 512 = 305 x 60 x 512 = 9.369.600 Bytes.
Sabiendo que 1 Mb = 1.048.576 tendremos: Cap =

9.369.600
= 8,935 Mb.
1.048.576

2) Calcular el tiempo necesario, para la lectura de 12 Sectores situados consecutivamente en la


misma pista.
Tiempo de Acceso Ta = tp + tl + tr = 30 + 20 + 0,244 = 50,244 mseg.

SISTEMA DE GESTIN DE FICHEROS

UNIVERSIDAD PONTIFICIA DE SALAMANCA EN MADRID


Facultad de Informtica
Escuela Universitaria de Informtica

Departamento de Lenguajes, Sistemas Informticos e Ingeniera de Software

Para calcular el tiempo de transferencia (tr) tendremos:


2 21
tr = 2 Mb/seg. = 2 * 220 = bytes/seg. = 9 = sect./seg.
2
12
Si a 2
1000 mseg.
1000
1000
tr = 12 =
= 0,244 mseg.
4096
2
1
tr
Para transferir sectores situados consecutivamente el nico tiempo que se repetir por sector,
ser el de transferencia, por lo tanto:
Ta(12 sect.) = 30 mseg. + 20 mseg. + 12 x 0,244 mseg.
= 30 mseg + 20 mseg + 2,928 = 52,928 mseg.
Para transferir 15 sectores distribuidos aleatoriamente:
Ta(15 sect.) = 15 x 50,244 = 753,66 mseg.
SOLUCIN AL EJERCICIO N 3.

Tabla de bits:
0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1.....
_A_
_____B_____
__________C__________
_________D________

redondeando son 6 bloques.


redondeando son 12 bloques.

F1: 3000/512 = 5,8


F2: 6000/512 = 11,6

PRIMER AJUSTE
B
C

F1
F2

MEJOR AJUSTE
B
D

PEOR AJUSTE
C
C

SOLUCIN AL EJERCICIO N 4.

Factor de bloqueo = 512/128 = 4


F1

60
0 1 2

61
62
3 4 5 6 7 8

1 2 3

4 5 6 7 8 9 Posiciones

1 bloque 2 bloque 3 bloque


Bloque relativo =

9( posicion)
= 2,25
4( fbloqueo)

Bloque absoluto = Bc + 2Br = 62 Ba


b = k + sj + ips
b/ps = i + (k + sj)/ps
62/17x4 = 62/68 = 0 + 62/68 Cilindro = 0

(k + sj)/s = j + k/s
62/17 = 3 + 11/17

Superficie = 3 y Sector = 11

SOLUCIN AL EJERCICIO N5.


1

SISTEMA DE GESTIN DE FICHEROS

UNIVERSIDAD PONTIFICIA DE SALAMANCA EN MADRID


Facultad de Informtica
Escuela Universitaria de Informtica

Departamento de Lenguajes, Sistemas Informticos e Ingeniera de Software

DATOS

DATOS

DATOS

DATOS

...........
..........
127

DATOS

...........
...........

DATOS

127

DATOS

DATOS

.........
.........
127

127

N PUNTEROS
N PUNTEROS
CAP. MAX.

=
=

DATOS

Tama odebloque
(RDODEF)
n bytesporpuntero

1024
= 128 PUNTEROS.
8

= 3 x 1024 + 128 x 1024 + 128 x 128 x 1024 =


= 16.911.360 bytes /1.048.576 = 16,127 Mb.

SOLUCIN DEL EJERCICIO N 6.

1024

FACTOR DE BLOQUEO = RDODEF


512
F1 = REG.LOG./FACTOR BLOQUEO = 12/2

3400

F2 = RDOEXC
1024
AL PRIMER AJUSTE
F1
2
6
15
18
40
60
70
80

2
6
15
18
44
60
70
80

= 6 BLOQUES

= 4 BLOQUES
AL MEJOR AJUSTE

F2
2
1
0
1
10
3
6
12

=2

F1
2
1
0
1
6
3
6
12

2
6
15
18
40
60
70
80

SISTEMA DE GESTIN DE FICHEROS

AL PEOR AJUSTE

F2
2
1
0
1
10
3
6
12

2
6
15
18
40
70
80

F1
2
1
0
1
10
6
12

2
6
9
18
40
60
70
86

F2
2
1
6
1
10
3
6
6

2
6
9
18
44
60
70
86

2
1
6
1
6
3
6
6

UNIVERSIDAD PONTIFICIA DE SALAMANCA EN MADRID


Facultad de Informtica
Escuela Universitaria de Informtica

Departamento de Lenguajes, Sistemas Informticos e Ingeniera de Software

SOLUCIN DEL EJERCICIO N 7.

1) Calcular la capacidad la capacidad del disco en Mb.


Cap = Ncil. x Nsup. x Nsect. x NBytes/sect.
Cap = 256 x 16 x 9 x 512 = 18.874.368 Bytes.
Cap = 18.874.368 / 1.048.576 = 18 Mb.
2) Suponiendo que los bloques son de un sector, para un fichero F1 con un tamao de 1280 bytes y
registros lgicos de 128 bytes:
a)

Exprese mediante una lista de espacio libre por direccin base y desplazamiento, la
disponibilidad de espacio en el disco tras ubicar F1 con la estrategia del mejor ajuste.
512

Factor de bloqueo =
= 4 Registros lgicos.
128
N de bloques para F1 =

1280
= 2,5
512

3 bloques.

Segn el mapa de bits en el momento de la asignacin del fichero F1, utilizando la estrategia
de mejor ajuste, quedar situado en los bloques 15, 16, y 17.
La lista de espacio libre expresada por la direccin base y desplazamiento quedar de la
forma siguiente:
DIRECCIN BASE
3
7
20

b)

DESPLAZAMIENTO
1
4
0

Una vez ubicado, indicar el tiempo invertido para leer el fichero F1.
El tiempo para leer 3 sectores del disco ser:
T = (tp + tl + 3tr)= 200 mseg +

1 2 * 60 * 10 3
+ 3tr =
3600

= 200+8,33+3x0,097=200+8,33+0,29=208,62 mseg.
Para calcular tr tendremos:
Vt=5Mb/seg = 5 * 2 20 Bytes/seg =
Si a 5*2 11

10 3 mseg.

1000
10 3
=
= 0,097 mseg.
11
10240
5*2
El registro lgico n 7, quedar ubicado en el bloque numero 16, por lo tanto su direccin
ser:

c)

5 * 2 20
= 5 * 2 11 Sect/seg.
9
2

16
16
16
=
=0+
16 * 9 144
144

tr

tr =

16
7
=1+ Direccin = ( 0, 1, 7)
9
9

SISTEMA DE GESTIN DE FICHEROS

UNIVERSIDAD PONTIFICIA DE SALAMANCA EN MADRID


Facultad de Informtica
Escuela Universitaria de Informtica

Departamento de Lenguajes, Sistemas Informticos e Ingeniera de Software

SOLUCIN AL EJERCICIO N 8.

1.

Teniendo en cuenta que 1 bloque est formado por 2 sectores del disco:
1 Bloque = 2 x 512 = 1024 bytes.
El fichero F1 ocupa 5250/1024 = 6 bloques.
Por lo tanto se grabar en los bloques 62,63,64,65,66,67.
El fichero F2 ocupa 3000/1024 = 3 bloques.
Por lo tanto se grabar en los bloques 68,69,70.
2.
Si queremos leer 500 bytes a partir del byte 200 del fichero F2, tendremos que leer:
0

1024

68

2000 2048

69

2500

3072

70

71

Necesitamos leer los bloques 69 y 70.


Partiendo de la formula del algoritmo de establecimiento de los bloques en el disco tendremos:
b = k + sj + ips
Como 1 bloque es igual a dos sectores, los valores de s y p sern los siguientes:
s = 8 bloques por pista y p = 4 pistas por cilindro.
Para el bloque n69 tendremos:
69
69
5

2
luego el cilindro ser el n 2.
8 * 4 32
32
5
5
0
luego la superficie ser la 0 y el bloque el 5.
8
8

3.

Por lo tanto se leern el cilindro 2, superficie 0 y los sectores (10,11).


Para el bloque 70 como es contiguo, se leern el cilindro 2, superficie 0 y los sectores (12,13).
Para disear un sistema de archivos en el disco, segn nos pide el enunciado, tendremos que
realizar los siguientes clculos:
Primeramente calcularemos la capacidad del disco:
C = 4 * 200 * 16 * 512 = 6.553.600 bytes.
Con los dos primeros punteros se pueden controlar 2.048 bytes, por lo tanto nos quedan
todava:
6.553.600 - 2.048 = 6.551.552 bytes.
Esto supone que:

6.551552
.
= 6.398 bloques.
1.024

Para conseguir direccionar todos esos bloques con el tercer puntero, utilizaremos un
determinado nivel de indexacin.
Teniendo en cuenta que los punteros ndices ocupan 8 bytes, por cada bloque se consiguen:
1.024 / 8 = 128 ndices.
Por lo tanto con una indexacin de un solo nivel se pueden direccionar solamente 128 bloques.
Para direccionar un total de 6.398 bloques, ser preciso pasar a un segundo nivel, con el que se
podrn direccionar: 128 * 128 = 16.384 bloques.
Con una indexacin de dos niveles sera suficiente para direccionar los 6.398 bloques.

SISTEMA DE GESTIN DE FICHEROS

10

UNIVERSIDAD PONTIFICIA DE SALAMANCA EN MADRID


Facultad de Informtica
Escuela Universitaria de Informtica

Departamento de Lenguajes, Sistemas Informticos e Ingeniera de Software

SOLUCIN AL EJERCICIO N 9.

a)

Teniendo en cuenta que los punteros tienen una longitud de 16 bits, el numero mximo de
bloques que se pueden gestionar ser el siguiente:
N MXIMO = 2 16 = 2 6 * 2 10 = 64*1024 = 65536 bloques.
Como el tamao de bloque es de 512 bytes:
TAMAO MXIMO

= 65536 * 512 = 33.554.432 bytes.

Dividiendo por 1.048.576 bytes = 1 Mb.


TAMAO MXIMO

33.554.432
= 32 Mb.
1.048.576

b) Teniendo en cuenta que los registros lgicos son de una longitud de 80 bytes:
512/80= 6,4 que redondeando por defecto, nos da 6 registros lgicos por cada registro fsico.
37.527/6 = 6.254,5 que redondeando por exceso, nos da 6255 bloques de datos ocupados por
el fichero.
Dado que un puntero de los bloques ndices se utiliza para mantener la lista enlazada de bloques
ndice, el n de punteros a bloques de datos por bloque ndice ser:
16 bits por puntero equivale a 2 bytes por puntero.
(512/2)-1 = 255 punteros a datos por bloque ndice.
6.255/255 = 24,5 que redondeando por exceso nos da 25 bloques ndices, que se necesitan para
el fichero.
Total bloques = 25 + 6.255 = 6.280 bloques.
c)

En el ltimo bloque de ndices el n de punteros libres a bloques de datos es:


(25 * 255) - 6.255 = 6.375 - 6.255 = 120 punteros libres.
Por lo tanto se podran utilizar 120 bloques de datos adicionales, manteniendo el mismo n de
bloques ndice, adems como el n de registros lgicos por bloque es 6, el n total de registros
adicionales, que podra tener el fichero, sin que el n de bloques ndices aumente sera:
REGISTROS ADICIONALES

d)

= 6 * 120 = 720

Si los bloques ndices estn asociados mediante una lista doblemente enlazada, se utilizarn dos
punteros para el enlace de cada uno de los bloques ndices, por lo tanto el n total de bloques
utilizados por el sistema, para ubicar el fichero en el disco ser:
(512/2)-2=256-2=254 punteros a datos por bloque ndice.
6.255/254= 24,6 que redondeando por exceso nos da 25 bloques ndices, que se necesitan para
el fichero.
Total bloques = 25 + 6.255 = 6.280 bloques.
El n total de bloques no vara con respecto al clculo realizado para una lista enlazada.

SISTEMA DE GESTIN DE FICHEROS

11

UNIVERSIDAD PONTIFICIA DE SALAMANCA EN MADRID


Facultad de Informtica
Escuela Universitaria de Informtica

Departamento de Lenguajes, Sistemas Informticos e Ingeniera de Software

SOLUCIN AL EJERCICIO N 10.-

a)

Teniendo en cuenta que los bloques son de 1 kb, es decir, 1.024 bytes, tendremos que el
fichero de 17.621 bytes ocupar: 17.621 / 1.024 = 17,2 18 bloques.
Para calcular el tiempo que se tardar en grabar el fichero tendremos:
tl = 0,5*60*1.000 / 3.600 = 300 / 36 = 50/6 =8,33 msg.
tr = (60*1.000) / 3*1.024 = 625 / 32 = 19,53 msg.
El disco solo posee 18 bloques libres, por lo tanto, se grabar en ellos.
Dichos bloques estn formando 4 conjuntos separados por ello la cabeza grabadora se tendr
que colocar cuatro veces, es decir, 4 posicionamientos y 4 latencias y adems tendr que
grabar 18 bloques, es decir, 18 transferencias.
El tiempo total de la grabacin ser:
Tiempo total = 4(tp+tl)+18tr = 4(12

b)

50
625
) 18 *
432,88msg .
6
32

Para calcular el bloque correspondiente al byte 16.250 tendremos:


16.250 / 1.024 = 15,86 bloque 16.
Como cada ndice ocupa 128 bytes el n de ndices por bloque de uno o dos niveles ser:
1.024 / 128 = 8 ndices por bloque.
Los cuatro primeros ndices del bloque inicial apuntan directamente a bloques de datos, es
decir, del 0 al 3.
El 5 ndice apunta a un bloque con 8 ndices, que sealan a 8 bloques, es decir, del 4 al 11.
El 6 apunta a un bloque de primer nivel de 8 ndices, cada uno de los cuales apunta a un
bloque de ndices de segundo nivel, como tenemos que llegar al bloque 16, tendremos que
tomar el ndice inicial 6, el primer ndice del primer nivel y el cuarto del segundo nivel.

SOLUCIN AL EJERCICIO N 11.

En primer lugar calcularemos el tamao del disco para poder saber como sern los bloques ndice:
El disco tiene 18 cabezas * 3000 cilindros * 9 sectores lo que da un total de 486.000 sectores.
Si suponemos bloques de un sector, son 486.000 bloques.
El tamao de un puntero del bloque ndice debe poder incluir estos 486000 bloques, para ello:
2n 486.000, de donde se obtiene que n es 19 bits en el puntero, lo que equivale a unos 3 bytes.
Puesto que un bloque tiene 512 bytes, en cada bloque ndice caben 512 / 3 = 170 punteros.
a) Para calcular el tamao mximo de fichero.
i) En este tipo de asignacin de espacio, el tamao del fichero est condicionado por el tamao
del disco. En este caso el disco es de 486.000 bloques * 512 bytes/bloque = 237, 30 Mb.
Para poder direccionar 486.000 bloques, son necesarios 2.893 bloques ndice cada uno de los
cuales apuntan a 168 bloques de datos, se pierden dos punteros por el enlazado doble
(Recuerde que se deben direccionar 486.000 bloques de datos menos 2.893 bloques ndice).
Esto supone que queda un espacio para datos de 486.000 bloques menos 2.893 bloques, lo
que suponen 483.107 bloques * 512 bytes = 235,9 Mb de tamao de fichero.
ii) En el caso de asignacin indexada en rbol, el nivel de indexacin si supone un lmite al
tamao de fichero; por lo tanto, est limitado por este nivel y por el tamao del disco.
SISTEMA DE GESTIN DE FICHEROS

12

UNIVERSIDAD PONTIFICIA DE SALAMANCA EN MADRID


Facultad de Informtica
Escuela Universitaria de Informtica

Departamento de Lenguajes, Sistemas Informticos e Ingeniera de Software

Con una indexacin a dos niveles y bloques ndice de 170 punteros, se pueden direccionar
1702 bloques de datos, lo que nos da 28.900 bloques de 512 bytes = 14,11 Mb de tamao
de fichero.
Esta cifra es muy inferior al tamao del disco, por lo que se corresponde con el tamao de
fichero mximo.
b) A continuacin calcularemos al nmero de accesos necesarios para acceder al registro 1.100 del
fichero:
Si el fichero tiene registros de 150 bytes de longitud fija sin tramos, en cada bloque de 512 bytes
caben 512 / 150 registros, lo que son 3 registros/bloque.
Para acceder al registro 1100 del fichero se debe acceder, por lo tanto, al bloque 1100 / 3 = 367
del fichero.
i) Como cada bloque ndice apunta a 168 bloques de datos, es necesario utilizar 3 bloques
ndice (equivale a 504 bloques de datos) y el bloque de datos. En total 4 accesos.
ii) En la asignacin indexada, el nmero de accesos es siempre constante, un bloque ndice por
cada nivel de indexacin y el bloque de datos. En total 3 accesos.
c) La posicin de comienzo del fichero es la misma en los dos tipos de asignacin, el bloque
nmero 1.800 del disco. La posicin fsica de este bloque es:
1.800 / p*s 1.800 / (18 * 9) = 11, resto 18. 18 / s 18 / 9 = 2, resto 0
Lo que equivale a la posicin (11, 2, 0).
En cuanto a la posicin del primer bloque de datos, no se puede calcular con la informacin
disponible, porque sera necesario conocer el contenido del primer bloque ndice para calcularla.
SOLUCIN AL EJERCICIO N 12.

a) Dado que el tamao de los punteros es tal que permite tener 4.294.967.296 punteros distintos:
4.294.967.296 = 232 luego el tamao de los punteros es de 32 bits (4 bytes).
Teniendo en cuenta que un puntero es una direccin de bloque, el nmero mximo de bloques
direccionables es 232.
Los cuatro primeros punteros apuntan directamente a bloques de datos, por lo que el nmero
total de bloques direccionables con un vector de 4 punteros es 4 < 232 .
El quinto puntero apunta a un bloque ndice de 1 nivel, que almacena 256 punteros a bloques de
datos. El nmero total de bloques direccionables con un vector de 5 punteros es:
4 BD (bloques de datos) + 1 BI (bloque ndice) + 256 BD (bloques de datos) = 261 < 2 32.
El sexto puntero apunta a un bloque ndice de dos niveles, que almacena 256 punteros a bloques
ndice, cada uno de los cuales almacena 256 punteros a bloques de datos. El nmero total de
bloques direccionables, con un vector de 6 punteros es:
4 BD + 1 BI + 256 BD + 1 BI + 256 BI + (256*256) BD = 66.054 < 2 32

SISTEMA DE GESTIN DE FICHEROS

13

UNIVERSIDAD PONTIFICIA DE SALAMANCA EN MADRID


Facultad de Informtica
Escuela Universitaria de Informtica

Departamento de Lenguajes, Sistemas Informticos e Ingeniera de Software

El sptimo puntero apunta a un bloque ndice de tres niveles, que almacena 256 punteros a
bloques ndice, cada uno de los cuales, almacena 256 punteros a bloques ndice y cada uno de los
cuales almacena 256 punteros a bloques de datos. El nmero total de bloques direccionables, con
un vector de 7 punteros es:
66.054 Bloques + 1 BI + 256 BI + (256*256) BI + (256*256*256) BD = 16.909.063
66.054
+1
+ 256
+ 65.536
+ 16.777.216
= 16.909.063 < 2 32
El octavo puntero apunta a un bloque ndice de cuatro niveles, que almacena 256 punteros a
bloques ndice, cada uno de los cuales almacena 256 punteros a bloques ndice, cada uno de los
cuales almacena 256 punteros a bloques ndice y finalmente cada uno de los cuales apunta a 256
punteros a bloques de datos. El nmero total de bloques direccionables con un vector de 8
punteros es:
16.909.063 Bloques + 1 BI + 256 BI + (256*256) BI + (256*256*256) BI + (256*256*256*256) BD =
=4.328.719.368
16.909.063 Bloques + 1 + 256 + 65.536 + 16.777.216 + 4.294.967.296 = 4.328.719.368 > 2 32

Este nmero excede a 232 ya que el ltimo sumando es igual a 232, luego el vector de punteros
podr tener como mximo 7 punteros.
b) Los bloques de datos direccionables con 7 punteros en la entrada de directorio son:
4 + 256 + (256*256) + (256*256*256) = 16. 843.012 bloques.
4 + 256 + 65.536 + 16.777.216 = 16.843.012 bloques.
Para calcular el tamao del bloque:
4 (Bytes/puntero)*(256 Punteros/bloque) = 1.024 Bytes /Bloque
Con lo que el tamao mximo de fichero en Mb es:
(16.843.012 Bloques*1.024 Bytes/Bloque) / (1.024*1.024Bytes/Mb) = 16.448 Mb.
16.843.012*1.024 / 1.024*1.024 = 16.843.012 / 1.024 = 16.448,25 => 16.448 Mb.
c) Para calcular el nmero de registros lgicos del archivo:
1.024 / 250 = 4,09 => 4 registros lgicos / Bloque
37.526 / 4 = 9.381,5 => 9.382 Bloques, para contener 37.526 registros lgicos.
Se desea acceder al 37.525 y se indica, que se empieza a numerar por el cero, por lo tanto, se
necesitan 9.382 Bloques.
Directamente del directorio se puede acceder a los cuatro primeros bloques, 4 < 9.382.
Con un nivel de indexacin, se puede acceder a los (4 + 256) < 9.382.
Con dos niveles de indexacin, se puede acceder a los (4 + 256 + 256*256) > 9.382.
Por lo tanto, se necesitan dos niveles de indexacin para localizar el bloque que contiene el
registro lgico al que se quiere acceder, con lo que ser necesario realizar tres accesos a disco,
(2 a bloques ndice y uno a bloque de datos).

SISTEMA DE GESTIN DE FICHEROS

14

UNIVERSIDAD PONTIFICIA DE SALAMANCA EN MADRID


Facultad de Informtica
Escuela Universitaria de Informtica

Departamento de Lenguajes, Sistemas Informticos e Ingeniera de Software

El tiempo de cada acceso ser Tacceso = TPosicionamiento + TLatencia + TTransferencia


TPosicionamiento = 20 msg.
7.500 revoluciones

500 Kb
1.024 Kb

60.000 msg.
TLatencia

1.000 msg.
TTransferencia

TLatencia = (60.000*0,5) / 7.500 = 4 msg.

TTransferencia = (1.024*1.000) / (500*1.024) = 1.000 / 500 = 2 msg.

TAcceso = 20 msg. + 4 msg. + 2 msg. = 26 msg.


Como hay que realizar tres accesos, tendremos 3*26 = 78 msg.

SISTEMA DE GESTIN DE FICHEROS

15

También podría gustarte