Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS...

26
Problemas de Sistemas de Archivo SO2 Abril 2.000 PROBLEMAS RESUELTOS Cuesti´ on 1 Dado un disco de cabeza m ´ ovil con 200 cilindros, numerados de 0 a 199 se considera que: Actualmente sirve una solicitud en el cilindro 143. Previamente se solicit´ o el acceso al cilindro 125. La cola de solicitudes se mantiene en orden FIFO: 86, 147, 91, 177, 94, 150, 102, 175, 130. Se pide: Determinar el movimiento total de la cabeza necesario para satisfacer estas solicitudes con los siguientes algoritmos de planificaci ´ on de disco: FCFS. SSTF. SCAN. LOOK. C-SCAN. Cuesti´ on 2 Dado un disco de cabeza m ´ ovil con 200 cilindros, numerados de 0 a 199 y con un tiempo promedio de acceso (rotaci ´ on + transferencia) de 20 unidades de tiempo se trata de determinar el tiempo total de servicio que se requiere para atender las siguientes peticiones: (0,30), (40,10), (45,40), (60, 60), (100,50), (120, 5), (140, 100), (160, 120) donde la primera componente de cada petici ´ on se refiere al instante de tiempo en el que se efect ´ ua dicha petici ´ on y la segunda componente indica el cilindro al que se pretende acceder. Se considera que el tiempo de posicionamiento entre cilindros contiguos es igual a 1 unidad de tiempo. Aplicar para el c´ alculo del tiempo total de servicio los siguientes algoritmos: FCFS. SSTF. SCAN. LOOK. 1

Transcript of Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS...

Page 1: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

ProblemasdeSistemasdeArchivo

SO2

Abril 2.000

PROBLEMAS RESUELTOS

Cuestion 1

Dadoun discodecabezamovil con200cilindros,numeradosde0 a 199seconsideraque:� Actualmentesirveunasolicitudenel cilindro 143.� Previamentesesolicito el accesoal cilindro 125.� La coladesolicitudessemantieneenordenFIFO:86,147,91,177,94,150,102,175,130.

Sepide:� Determinarel movimientototaldela cabezanecesarioparasatisfacerestassolicitudesconlossiguientesalgoritmosdeplanificaciondedisco:

– FCFS.

– SSTF.

– SCAN.

– LOOK.

– C-SCAN.

Cuestion 2

Dadoundiscodecabezamovil con200cilindros,numeradosde0 a199y conuntiempopromediodeacceso(rotacion+ transferencia)de20 unidadesdetiemposetratadedeterminarel tiempototal deservicioqueserequiereparaatenderlassiguientespeticiones:

(0,30),(40,10),(45,40),(60,60), (100,50),(120,5), (140,100),(160,120)dondela primeracomponentedecadapeticionserefiereal instantedetiempoenel queseefectuadichapeticion y la

segundacomponenteindicael cilindro al quesepretendeacceder. Seconsideraqueel tiempodeposicionamientoentrecilindroscontiguosesiguala 1 unidaddetiempo.

Aplicar parael calculodel tiempototal deserviciolossiguientesalgoritmos:� FCFS.� SSTF.� SCAN.� LOOK.

1

Page 2: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

� C-SCAN.

Nota: El cabezaldel discoseencuentrainicialmenteposicionadoen el cilindro 0 y el serviciode las peticionesserealizaenel sentidodenumerosdecilindro crecientes.

Cuestion 3

Dadaunaestructuradediscodedoblecaracon80cilindrosy 18sectoresporpistay untamanodesectorde512bytes,sepide:� Determinarla capacidaddeldisco.� Dadala correspondenciaentresectoresfısicosy logicos,setratadedeterminarla direccion fısica(cilindro, cabeza,

sector)delnumerodesectorlogico1234.� De formaanalogasedeseadeterminarcualesel numerodesectorlogicoasociadoa la direccion fısica(47,1, 15).

Cilindro Cabeza Sector Sectorlogico0 0 0 0

........ ........ ........ .............0 0 17 170 1 0 18

........ ........ ........ .............0 1 17 351 0 0 36

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

........ ........ ........ .............79 1 17 2879

Cuestion 4

Dadoun discode20 Mb decapacidadtotal conlos siguientesparametros:� Clusters(bloques)detamano1K. Sectoresde512bytes.� Numerosdebloquede16 bits.

Sepide:� Calcularel numerodebloquesnecesariosparala gestion debloqueslibresmediante:

– Lista enlazada.

– Mapadebits.� Determinarla estructuradeldiscosi lo utilizamosenteramenteparaMS-DOS:

– Calcularel numerodesectoresreservadosa la FAT y sucopia.

– Calcularel numerodesectoresreservadosparael directorioraız (considerarun maximode512entradas).

– Determinarel numerodeclustersdedatosdisponibles.� Calcularel mejor y peorcasoen el numerode accesosa bloquesde discoparaleer el 33���

clusterde un ficheroMS-DOSsituadoenel directorioraız enel siguientecaso:

– Suponiendoquela cachedela FAT enmemoriaes1K.

2

Page 3: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

� Realizarel mismocalculosi el ficheroseencuentraenel directorio\PRUEBA quecontiene33 entradasentotal.

NOTA: En los dosultimosapartadosdeestacuestion 4 seasumira quelas lecturasen la FAT y enel directorioraızobtienenun bloqueentero,enlugardeun solosector.

Cuestion 5

Determinarel tamano maximoteorico (sin tenerencuentael tamano realquetendra el dispositivo sobreel quedebaresidirel fichero)deun ficheroUNIX, especificandolosbloquesdireccionadosconcadatipo depuntero.Losparametroscorrespondena los siguientesvalores:� Punterosazonasdedatosde32 bits.� Tamanodebloque1K (1 zona= 1 bloque).� Estructuradenodo-i:

– 10 punterosdirectos.

– 1 punteroindirecto.

– 1 punteroindirectodoble.

– 1 punteroindirectotriple.

Realizarel mismocalculoparaun ficheroenMINIX conlos siguientesparametros:� Punterosazonasdedatosde16 bits.� Tamanodebloque1K (1 zona= 1 bloque).� Estructuradenodo-i:

– 7 punterosdirectos.

– 1 punteroindirecto.

– 1 punteroindirectodoble.

Cuestion 6

Determinarla estructuradeun discode20 Mb enMINIX conlos siguientesparametros:� Punterosazonasdedatosde16 bits.� Tamanodebloque1K (1 zona= 1 bloque).� Tamanodenodo-ide32 bytes.� Numeromaximodenodos-i:512.

Sepide:� Especifiqueclaramentetodaslasestructurasdedatosqueformanel sistemadearchivosy los bloquesqueocupan.� En casode resultardanadala estructuradel mapade bits de zonas,piensela forma de reconstruirlacon la infor-macion de la quesedisponeen el restode estructurasdel sistemade archivos(sesuponequeestasseconservaninalteradas).

3

Page 4: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

Cuestion 7

SupongaquesehadesarrolladounaversiondeMINIX enla cualel tamanodelbloquesehacambiadoa128bytes(1bloque= 1 zona).

Supongatambienquesedisponede un discoduro (/dev/hd5) formateadocon bloquesde 128 bytes,con capacidadparaalmacenar10240bloquesconun numeromaximodeficherosposiblesigual a127.

Enestediscoexistentresdirectorios:

Directorio/ Con10entradas(todaslasentradasincluidas)Directorio/bin Con16entradas(ıdem)Directorio/lib Con20entradas(ıdem)

La longitud de todoslos ficheroses de 768 bytes,salvo dosficheros,/bin/mediano y /bin/grande cuyaslongitudesrespectivasson1024bytesy 10240bytes.

SE PIDE:

1. Comoesta estructuradoel disco.

2. Numerodebloquesparael mapadenodos-i.

3. Numerodebloquesparael mapadezonas.

4. Numerodebloquesdenodos-i.

5. Numerototaldezonasdedatos.

6. Numerodenodos-iutilizados.

7. Numerodezonasutilizadaspara:

(a) Contenerdatosconvencionalesdeficherosregulares.

(b) Contenerentradasdedirectorios.

(c) Contenerreferenciasa otrosbloques.

Justifiqueadecuadamentesusrespuestas.

Cuestion 8

Enel sistemaoperativo MINIX seintroducenlos siguientescambiosenel disenodel sistemadeficheros:� El tamanodebloquesereducea32 bytes.� El tamanodeunaentradadedirectoriosereducea8 bytes(2 bytesparael numerodenodo-iy 6 parael nombredelfichero).� El tamano del nodo-isereducea 16 bytes.Los primeros8 bytesseempleanparaalmacenarinformacion general(atributosde fichero),representadaen la figurapor XX, y los 8 bytesrestantesparaalmacenarlos punterosa laszonaspertenecientesal fichero:dospunterosdirectos,un indirectosimpley un indirectodoble,tal y comomuestrala figura:

XXnumerodezona0numerodezona1

indirectoindirectodoble

4

Page 5: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

A continuacion se indican los contenidosde los bloquesde un dispositivo de bloquesquecontieneun sistemadeficherosMINIX. El tamanodeestedispositivo debloquesesde32K y el numeromaximodeficherosquepuedeconteneres99. Unicamentesehanrepresentadolos contenidosrelevantesparala resolucion del problema,indicandoseconun –los camposvacıos. La leyendasuperior B- i indica queel numerode bloqueesel i, y el restoindica el contenidodelbloque.

B- 7000000

XX57–––

B- 8XX58–––

XX596061–

B- 15XX64–––

XX88–––

B- 17XX65666768XX90–––

B- 616263––––––––––––––

B- 6769707172737475767778798081828384

B- 68858687–––––––––––––

B- 571 .1 ..2 bin3 users

B- 582 .1 ..4 cc5 mined

B- 593 .1 ..6 dso007 dso01

B- 608 dso029 dso0310 dso0411 dso05

B- 6212 dso0613 dso0714 dso0815 dso09

B- 6316 dso1017 dso1118 dso1219 dso13

B- 6416 .3 ..20 msh.c– –

B- 8817 .3 ..21 msh.c– –

SEPIDE:

1. Obtenerel arboldedirectorioscontenidoenel dispositivo debloques.

2. Indicar, ordenadamente,los numerosdebloquea los quesehadeaccederal ejecutarla llamadaopen("/users/dso11/msh.c", O RDONLY)

y el motivo porel queseaccedeadichosbloques.

3. Indicarel tamanoenbloquesdel fichero/users/dso10/msh.c.

NOTA: En estacuestion seasumequeel nodo-in�

0 ocupaespacioenel areadenodos-i.En la practicaestenodo-ino utiliza espacioenningun sistemaUNIX, ya queel valor ceroseutiliza paraindicarqueunaentradadedirectoriohasidoborrada.Sinembargo,enesteproblemalos calculosseranmassencillossi asumimosquetambienocuparaespacio.

Cuestion 9Sedeseadisenarun sistemadearchivo UNIX paraunosdiscosde320Kb cuyosbloquesvana serde1 Kb (1 zona=

1 bloque).

5

Page 6: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

SEPIDE:

1. ¿Cual podraserel tamanomınimodeun punteroa zona?

2. ¿Cuantospunterospodranubicarseenunamismazona?

3. Si senecesita32 bytespor cadanodo-i y de ellos 16 puedendestinarsea punterosa zona,¿ que esquemade lossiguientesespreferibley porque?

(a) Quetodoslospunterosseandirectos.

(b) Todoslospunterosdirectos,exceptoun punteroindirectosimple.

(c) Todoslospunterosdirectos,exceptodospunterosindirectossimples.

(d) Todoslospunterosdirectos,exceptoun punteroindirectosimpley otro indirectodoble.

Cuestion 10Setieneun dispositivo dealmacenamientode32 Kb, conbloquesde512bytes(1 zona= 1 bloque).Estedispositivo

vaaserinicializadoparapoderutilizar unsistemadearchivo similaral deMINIX conentradasdedirectoriode16bytes,un maximo de31 archivosy nodos-ide 16 bytesde los cuales60 bits puedendedicarsea punterosdirectosa zona. Sesuponequeel tamanodelos punterosazonaesel mınimo posible.

SEPIDE:

1. Decidir comoquedaraestructuradoel disco.Esdecir, cuantosbloquessededicana cadaunadelasestructurasquemantieneel sistemadearchivo.

2. ¿Cual serael tamanomaximodeun archivo ?

3. Asumiendoqueno sepermitecrearenlacesfısicos,¿cuantasentradaspodra tenercomomaximo un directorio?¿Cuantosbloquespodra llegaraocupar?

4. ¿Cuantosbloquespuedenllegara quedarlibressi secreael maximonumerodearchivosposible,perotodoselloscontamanomınimo?

5. Determinarcomoquedaran los mapasde bits de nodos-iy dezonasdespuesde realizarlas accionesquesecitana continuacion (y eneseorden). Sesuponequeun 1 enel mapadebits indicaqueel elementorepresentadoestalibre. Ademas,sesuponequesiempreseutiliza el nodo-io zonalibre connumeromasbajo.

Comentartambienquebloquestieneasignadoscadaarchivo.

Lasaccionessonlassiguientes:� Inicializarel disco.� Crearun directorio/dir1.� Crearun directorio/dir2.� Creary escribirun archivo/dir1/a de2.000bytes.� Borrarel directorio/dir2.� Creary escribirun archivo/dir1/b de4.900bytes.� Creary escribirun archivo/dir1/c de3.500bytes.� Borrarel archivo/dir1/a.� Anadirdatosal archivo/dir1/c. Seanade1 Kb al final delarchivo.

6. Determinarel contenidode los archivosdetipo directorioquehayanquedadotrasrealizarlasaccionescitadasenel puntoanterior.

6

Page 7: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

Cuestion 11Dadoun discodecabezalmovil con100cilindros,numeradosdel0 al 99 donde:� Actualmenteseesta sirviendounapeticion sobreel cilindro 50.� La peticionanteriorfue realizadasobreel cilindro 30.� Quedanlassiguientepeticionespor atender:81,23,95,70 y 48.

SEPIDE:

1. Determinarcuantoscilindrosserecorreranparaservirestaspeticionesutilizando:SSTFy LOOK.

2. Decidir si algunade lasdosestrategiasanterioresesla optima. En casonegativo, describirunaestrategia optimaparael casoenqueseconozcanlaspeticionesaatender. Decidir si estaestrategiasiguesiendovalidasi lleganmaspeticionesmientrasseestansirviendolasya encoladas.

Cuestion 12Setieneunsistemadearchivo UNIX sobreundispositivo conlosdirectoriosqueacontinuacionsedescribeny donde

solo sehanusadolos nodos-iqueaparecenentalesentradasdedirectorio.Ademas,sesuponequecuandosenecesitacrearun nuevo archivo, esteutiliza el nodo-i libre con el numeromas

pequenoposible.

1 .1 ..2 users4 unix5 dev6 bin

2 .1 ..10 felipe12 alfonso

5 .1 ..11 tty013 tty111 console

6 .1 ..20 ls21 cat22 less23 sh

10 .2 ..23 mysh25 ed

12 .2 ..

SEPIDE:

1. Dibujar la estructuradedirectorios.

2. Determinarcomo quedaran,dandosu contenido,los archivos tipo directoriotrasrealizarsobreel sistemalos si-guientesmandatos:

$ cp /users/felipe/mysh /users/alfonso/sh$ ln /users/alfonso/sh /users/alfonso/bash$ mv /users/felipe/ed /bin$ rm /dev/tty0$ rm /bin/sh$ ln -s /unix /users/alfonso/sistema$ cp /users/felipe/* /users$ mv /bin/cat /unix

Nota: Sesuponequeel usuarioqueefectua estasoperacionesposeelos derechosde accesonecesariosparaqueningunadeellasprovoqueun error.

7

Page 8: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

SOLUCIONES

Cuestion 1

1. Algoritmo FCFS:Laspeticionessesirvenenordendellegada.

Cil. actual Cil. a servir Desplaz. (cil.)143 86 143- 86 = 5786 147 147- 86 = 61147 91 147- 91 = 5691 177 177- 91 = 86177 94 177- 94 = 8394 150 150- 94 = 56150 102 150- 102= 48102 175 175- 102= 73175 130 175- 130= 45

TOTAL: 565

2. Algoritmo SSTF:Sesirveprimeroaquellapeticionqueimpliqueunmenordesplazamiento.El asterisco(*) simbo-liza la posicionactualdela cabezadelectura/escritura.El cilindro a serviraparecesubrayado.

Cil. actual Cilindr ospendientes Desplaz. (cil.)

143 86,91,94,102,130,*, 147, 150,175,177 147- 143= 4147 86,91,94,102,130,*, 150, 175,177 150- 147= 3150 86,91,94,102,130, *, 175,177 150- 130= 20130 86,91,94,102, *, 175,177 130- 102= 28102 86,91,94, *, 175,177 102- 94 = 894 86,91, *, 175,177 94 - 91 = 391 86, *, 175,177 91 - 86 = 586 *, 175, 177 175- 86 = 89175 *, 177 177- 175= 2

TOTAL: 162

3. Algoritmo SCAN: Ya queel ultimo cilindro servidofue el 125y nosencontramosenel 143,supondremosqueladireccion de servicioesascendente.Serealizandospasadas,la primeraascendenteen la queservimostodasloscilindrosentrela posicionactualy el final deldisco(cilindro 199).Trasestopartimosdelcilindro 199endirecciondescendentey servimostodoslos cilindrospendientes.

Dir ec.servicio Cilindr osservidos Desplaz. (cil.)Ascendente 147,150,175y 177 199- 143= 56Descendente 130,102,94,91 y 86 199- 86 = 113

TOTAL: 169

4. Algoritmo LOOK: Igual queel anterior, peroal servirenordenascendenteno llegamosal final del discosinoqueinvertimosel sentidodeservicioal llegaral cilindro 177.

Dir ec.servicio Cilindr osservidos Desplaz. (cil.)

Ascendente 147,150,175y 177 177- 143= 34Descendente 130,102,94,91 y 86 177- 86 = 91

TOTAL: 125

8

Page 9: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

5. Algoritmo SCAN circular (C-SCAN):Suponemossentidodeservicioascendente.Al llegaral ultimo cilindro deldisco(el 199), volvemosal cilindro 0 sin servir ningunapeticion y desdeallı iniciamosde nuevo el servicioenordenascendente.

Dir ec.servicio Cilindr osservidos Desplaz. (cil.)

Ascendente 147,150,175y 177 199- 143= 56Descendente Ninguno 199- 0 = 199Ascendente 86,91,94,102y 130 130- 0 = 130

TOTAL: 385

Cuestion 2Emplearemoslassiguientesabreviaturas:� CA: Cilindro actual.� CS: Cilindro aservir.� Desp: Desplazamientoencilindrosdesdeel actualal quedebeserservido.� TS: Tiempodeserviciodelcilindro aservir. Incluyeposicionamiento,rotaciony transferencia.Suvalorsera igual,

enesteproblema,a: ������� �� ���������������� ��� �! #"$ &% �(' ���)�*���+�-,/.1. Algoritmo FCFS:

Inst. CA Cola petic. CS Desp TS

0 0 30 30 30 5050 30 10, 40 10 20 4090 10 40, 60 40 30 50140 40 60, 50,5, 100 60 20 40180 60 50, 5, 100,120 50 10 30210 50 5, 100,120 5 45 65275 5 100, 120 100 95 115390 100 120 120 20 40430 120 Vacıa - - -

2. Algoritmo SSTF:

Inst. CA Cola petic. CS Desp TS

0 0 *, 30 30 30 5050 30 10,*, 40 40 10 3080 40 10,*, 60 60 20 40120 60 5, 10,50, * 50 10 30150 50 5, 10, *, 100 10 40 60210 10 5, *, 100,120 5 5 25235 5 *, 100, 120 100 95 115350 100 *, 120 120 20 40390 120 Vacıa - - -

3. Algoritmo SCAN:SuponemosqueunavezsehaprogramadounaoperacionSEEKsobreel controladordedisconohaymaneradeabortarla.Ademas,cuandono quedenpeticionesenel sentidoactual,seprogramaun SEEKhastael final del discoenesesentido.

9

Page 10: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

Inst. CA Cola petic. CS Desp TS

0 0 0 , 30 30 30 5050 30 10, 0 , 40 40 10 3080 40 10, 0 , 60 60 20 40120 60 5, 10,50, 0 199 139 139259 199 5, 10,50,100,120, 1 120 79 99358 120 5, 10,50,100, 1 100 20 40398 100 5, 10,50, 1 50 50 70468 50 5, 10, 1 10 40 60528 10 5, 1 5 5 25553 5 Vacıa - - -

4. Algoritmo LOOK:

Inst. CA Cola petic. CS Desp TS

0 0 0 , 30 30 30 5050 30 10, 0 , 40 40 10 3080 40 10, 0 , 60 60 20 40120 60 5, 10,50, 1 50 10 30150 50 5, 10, 1 , 100 10 40 60210 10 5, 1 , 100,120 5 5 25235 5 0 , 100, 120 100 95 115350 100 0 , 120 120 20 40390 120 Vacıa - - -

5. Algoritmo C-SCAN:SuponemosqueunavezsehaprogramadounaoperacionSEEKsobreel controladordedisconohaymaneradeabortarla.Ademas,cuandonoquedenpeticionesenel sentidoactual,seprogramaunSEEKhastael final del discoenesesentido.

Inst. CA Cola petic. CS Desp TS

0 0 0 , 30 30 30 5050 30 10, 0 , 40 40 10 3080 40 10, 0 , 60 60 20 40120 60 5, 10,50, 0 199 139 139259 199 5, 10,50,100,120, 1 0 199 199458 0 0 , 5, 10,50,100,120 5 5 25483 5 0 , 10, 50,100,120 10 5 25508 10 0 , 50, 100,120 50 40 60568 50 0 , 100, 120 100 50 70638 100 0 , 120 120 20 40678 120 Vacıa - - -

Cuestion 3

1. Capacidad del disco. Tendremosque averiguarcuantossectorestiene el disco y despues multiplicar la cifraobtenidaporel tamanodel sector. Ası:

Num. sectores = Num. caras * Num. cilindros * Sectores/ pista2.880 = 2 * 80 * 18

La capacidaddel discoenKb sera: 2.880* 0.5= 1.440Kb yaqueel tamanodesectoresdemedioKb.

10

Page 11: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

2. Dir eccion fısicadel bloque logico1234. Suponemosunsolosectorporbloque.

Lasdireccionesfısicastienenla siguienteestructura:

(num. cilindro, num. cara,num. sector)

Ademas,la numeracionsesiguedel siguientemodo:hastaqueno sehannumeradotodoslos sectoresdeunacarano sepasaa la siguientecaradel mismocilindro y hastaqueno sehayannumeradotodaslascarasdeun cilindrono sepasaal siguiente.

Portanto,paraobtenerla direccion fısicaefectuaremoslo siguiente:

(a) Dividiremosla direccion logicaporel numerodesectoresporpista.O sea:

1234div 18 = 68

1234mod18 = 10

Estoquieredecirqueconla direccion logica1234sehanpodido“llenar” 68 carasy seesta referenciandoelundecimosector(ya queempezamosa numerarlosa partir decero)dela sexagesimanovenacara.

(b) Dividiremosel numerodecaras“completas”obtenidoenel puntoanteriorporel numerodecarasporcilindroqueadmiteel disco.Ası:

68 div 2 = 34

68 mod2 = 0

Estoseinterpretacomoquehemospodido“completar”34cilindrosy estamosenla primeracaradeltrigesimoquinto.

Portanto,la direccion fısicapedidaes:( 34,0, 10 )

Esdecir, cilindro 34,cara0, sector10.

3. Dir eccion logicapara la dir eccion fısica( 47,1, 15 ).

Suponiendodireccionesfısicasdela forma( i, j, k ), bastaconaplicarla formula:243 �5 �-�6�6768!�:9;�=<;>?��@BAC�D7E>GF*>H��8�7E9JIK9 2ML F�NO�P9�QEl resultadoobtenidoes:243 �R'6S � '=T ��@ ' �D,U�PVHW/Q �X'6S � '6T ��Y SZ�R'*S � ' W ' . �(' W/, SConlo queel numerodebloquelogicoesel 1725.

Cuestion 4

1. Bloquesnecesariossi seutiliza lista enlazada. La lista enlazadapropiamentedichautiliza un punteroal finalde cadabloqueparaenlazarlocon el siguientebloquelibre. O sea,se utilizan los propiosbloqueslibres paramantenerlosen la lista. Por tanto,no esnecesarioningun bloqueadicionalparamantenerel control sobrequebloquestenemoslibres.

Enalgunoscasos,paracompactarla lista,seutilizanunospocosbloqueslibresparaguardar(demanerasimilaraunındiceenlazado)todoslosnumerosdelosbloquesdisponibles.Estonoaportaningunavariacional casocomentadoenel parrafoanterior, puesestosbloquessevanliberandoa medidaquesevanasignandobloquesdisponibles.Alfinal, si seasignantodoslosbloquesa ficheros,no quedaningunbloquededicadoamantenerla listaenlazada.

11

Page 12: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

2. Bloquesnecesariossi seutiliza mapade bits.

El tamanodebloqueesde1.024bytes,conlo queencadabloquetendremos8.192bits paramantenerel mapa.

Nuestrodiscotiene20 Mb. Esorepresenta20* 1.024bloques,o sea,20.480bloques.

Portanto,utilizandomapadebits necesitamos:

243 � ,/.U� ' .G,�VT � ' .G,�V � ,$.T � ,\[ S 0^] 3 IKN�_*`a���3. Estructura del disco.

(a) Tamanodela FAT (ensectores):Comoutilizamosnumerosdeclusterde16 bits, enun sectorde512bytessepodranmantener256numerosdecluster. Portanto,tendremos256entradasdela FAT encadasector.El numerodeclustersennuestrodiscohasidocalculadopreviamentey esigual a 20480. (En la practicaesligeramenteinferior, puestoquela informacion mantenidaen la cabecerano seorganizaenclusters,sinoensectores,y no puedeutilizarseparamantenerficheros.Sin embargo, estono afectademasiadoa la horadeefectuarlos calculos:el numerocorrectodeclusterses20383comoveremosdentrodeun momento,peroaldividirlo entre256y redondearlohaciaarribadarael mismoresultado.)Portanto: � >GbdcMegf � h `�b[ 7EIi`g�=<;�=F/�� 2 <�F*> L >H�*8$�6�67E<;N*F � ,$./V T ., S$j �T .

(b) Directorioraız (ensectores):UnaentradadedirectorioMS-DOSocupa32 bytes.Portanto,enun sectortendremos:

� 2 <�F�> L >H��8/�6�*7#<;N*F � � >Gbk ;�;� � ���� >Gb �;" � �� ml# � SH' ,] , �X'=jSi el directorioraız mantieneunmaximode512entradas,deberemosasignarle:2 `�b[n�=�*7#<;N*F���� � SH' ,'=j � ] ,

(c) Clustersdedatos:Del totalde20480bloquesqueposeeel disco,tenemosreservadoslos siguientes:� Porel sectordearranqueprimarioo MBR (MasterBoot Record):1 sector(mediobloque).� Porel sectordearranquedela particionDOS:1 sector(mediobloque).� Porla FAT y sucopia:80+ 80 = 160sectores(80bloques).� Porel directorioraız: 32 sectores(16bloques).

O sea,entotal 97bloques.Portanto,paraclustersdedatostendremos20480- 97 = 20383clusters.

4. Mejor y peor casopara leer el cluster 33�

de un archivo del dir ectorio raız.

Mejor caso

Tarea Accesos Acumul.

Lecturay busquedadelarchivo enel primerbloquedel 1 1directorioraız. Encontramosla entradadedirectoriodeesearchivo enesteprimerbloquedel raız. Obtenemos,portanto,el numerodelprimerclusterdel archivo.Recorridodela FAT parabuscarel trigesimotercercluster 0 1del archivo. Todoslos numerosdeclusterexploradosseencuentranenla cacheparala FAT.Accesoal clusterpedido. 1 2

12

Page 13: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

Peor caso

Tarea Accesos Acumul.Lecturay busquedadelarchivo enlossectoresdeldirectorioraız(Existen16 bloquesen el raız). Encontramosla entradade di-rectoriodel archivo enel ultimo bloquedeldirectorio.

16 16

Recorridode la FAT parabuscarel trigesimotercerclusterdelarchivo. Todoslos numerosdeclusterexploradosseencuentranendistintosbloquesdela FAT y, ademas,el primerodeellosnoestabaenla cache.

32 48

Accesoal clusterpedido. 1 37

5. Idem pero suponiendoqueel archivo seencuentraen\PRUEBA.

Mejor caso

Tarea Accesos Acumul.

Lecturay busquedadeldirectorio\PRUEBA enel primerbloquedel directorioraız. Econtramossuentradadedirectorioenesteprimerbloque.Leemossuentradadedirectorioy obtenemossuprimernumerodecluster.

1 1

Buscamosla entradadelarchivo enel primerclusterdeldirecto-rio \PRUEBA y lo encontramos.

1 2

Recorridode la FAT parabuscarel trigesimotercerclusterdelarchivo. Todoslos numerosdeclusterexploradosseencuentranenla cacheparala FAT.

0 2

Accesoal clusterpedido. 1 3

Peor caso. Recuerdesequeen un clusterde 1Kb podemosguardarhasta32 entradasde directorio. Estoimplicaqueel directorio\PRUEBA necesitadosclusters.

Tarea Accesos Acumul.

Lecturay busquedadel directorio\PRUEBA enlos bloquesdeldirectorio raız. Encontramosel directorioen el ultimo bloquedel directorioraız. Conello obtenemosel numerodesuprimercluster.

16 16

Buscamoselarchivoentrelasprimeras32entradasdeldirectorio\PRUEBA y no lo encontramos.

1 17

Buscamosenla FAT el numerodel siguienteclusterdeldirecto-rio. No esta enla cache.

1 18

Leemosla ultima entradadel directorio (en el segundode susclusters)y encontramosallı el archivo buscado.

1 19

Recorridode la FAT parabuscarel trigesimotercerbloquedelarchivo. Todoslos numerosdeclusterexploradosseencuentranendistintosbloquesdela FAT y, ademas,el primerodeellosnoestabaenla cache.

32 51

Accesoal clusterpedido. 1 52

13

Page 14: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

Cuestion 5Paradeterminarel tamano maximodeunarchivo enunsistemaUNIX debemostenerencuentadoscifras:� El numeromaximodebloquesquepuedellegarseamantener. Estosedeterminaapartirdel tamanodelospunteros

a zona,ya queno podremostenerunaparticion dediscomayorqueestelımite y un archivo no puedeextendersepor masdeunaparticion.� Cuantospunterosa zonapuedenllegarsea guardara partir deun nodo-i,teniendoencuentalos nivelesdeindirec-cion quepuedenmantenerse.

El tamanomaximodelarchivo sera el menordeestosdosvalores.Veamoslos doscasospresentados:� UNIX .

Segunel lımite debidoal tamanodepuntero,tenemosqueel tamanomaximoserıa:

tam.particion= 2o�p bloques= 4 Gbloques�Mq

4 Tbytes

Segunel numerodepunterostendremos:

En unamismazonapodra llegara haber1024/ 4 = 256punterosa zona,ya queunazonatiene1024bytesy cadapunteroocupa4.

Portanto,el numerodepunterosazonasera:

Tipo de puntero Punterosdir ectosDirectosennodo-i. 10Indirectosimple. 256Indirectodoble. 256p = 65.536Indirectotriple. 256o = 16.777.216

TOTAL: 16.843.018

Portanto,estacifra obtenidaesmenorquela anteriory el tamano maximodel archivo serade:

16.843.018bloques= 16.842.018Kb�Mq

16’064Gbytes� MINIX .

Debidoal tamanodepuntero,el tamanomaximoesenestecaso:

tam.particion= 2r&s bloques= 64 Kbloques�4q

64Mbytes

Segunel numerodepunterostendremos:

Enunazonapodrahaber1024/ 2 = 512punterosazona,yaqueunazonatiene1024bytesy cadapunteroocupa2.

Tipo de puntero Punterosdir ectos

Directosennodo-i. 7Indirectosimple. 512Indirectodoble. 512p = 262.144

TOTAL: 262.663

Estohaceun total de262.663bloques�4q

256’5Mbytes.

Enestecaso,el lımite lo proporcionael tamano dela particion. Conestoel tamano maximoquedaen64Mbytes.

14

Page 15: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

Cuestion 6

1. Estructura del disco.

Un discoMINIX tienelassiguientespartes:

(a) Bloquedearranque:1.

(b) Superbloque:1.

(c) Mapadebits paranodos-i:1.Necesitamosunbit porarchivo. Comoel discounicamentevaa permitir 512archivos,bastacon512bits. Enla practica,el autordeMINIX anadio unaentradamasenel mapadebits, correspondienteal nodo-i0. Portanto,enel mapaexistirıanrealmente513bits, aunqueendiscosolo senecesitarıa espacioparaguardar512nodos-i.Enestesistemaunbloquetiene1024bytes(8192bits),conlo queel mapacabeenunsolobloque.

(d) Mapadebits parazonas:3.Un discode20 Mb tiene20480bloquesde1 Kb. Encadabloquecaben8 * 1024bits. Portanto,setendra:243 � ,/.U� ' .t,�VT � ' .G,�V � ,/.T � ,\[ S 0u]

(e) Bloquesparanodos-i:16.Comocadanodo-iocupa32 bytes,enun bloquecabran1024/ 32 = 32 nodos-i.Si vamosa tener512nodos-i,necesitaremos:

243 �wv SH' ,] ,yx �('=j(f) Bloquesparadatos:20458.

Unicamentehayquedescontarlos bloquesvistosenlos puntosanterioresdela capacidadtotaldeldisco.243 � ,/.$V T .{z|@ ' � ' � ' � ] � '6j Q � ,/./V T .{z},t, � ,$./V S$T2. Reconstruccion del mapade bits de zonas.

Suponiendoqueel restodeldiscono haresultadodanado,sepodrıa realizarlo siguiente:

(a) Reinicializartodoel mapadebitsdezonasdemaneraquetodoslaszonasdediscoaparezcancomolibres.

(b) Siguiendoel mapadebitsparanodos-i,recorrertodoslosnodos-iutilizados.Paracadaunodeelloshabraqueconsultarsuspunterosdirectosa zonay marcartaleszonascomoocupadasenel mapade bits quesedano.Lo mismoparalos punterosindirectosimplee indirectodoble,bajandohastael nivel de zonade punterosdirectos. De estamaneratodaslas zonasutilizadaspor todoslos archivossonmarcadasen el mapade bitscomo“en uso”.

Unavezterminadosestosdospasos,el mapadebits parazonasestara recuperado.

Cuestion 7Dadoquehacambiadoel tamanodelbloque,esnecesarioenprimerlugarcalcularla cantidaddeelementosquepuede

contenerun bloqueenfunciondesutipo:

tipo debloque tamanodel elemento numerodeelementos

mapasdebits 1 bit 1024nodos-i 32 bytes 4entradasdedirectorios 16 bytes 8referenciasa zonas 2 bytes 64datos 1 byte 128

15

Page 16: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

1. Comoesta estructuradoel disco

Bloquedearranque-Superbloque-Mapadenodos-i-Mapadezonas-Nodos-i-Datos

2. Numerodebloquesdelmapadenodos-i.1El numeromaximodenodos-inecesariosesigual a 127. Por lo tanto,bastaun solobloqueparacontenerel mapadenodos-i,puestoquetienecapacidadpara1024bits.

3. Numerodebloquesdelmapadezonas.10El numerototal de zonas(bloques)es igual a 10.240. Como cadabloquetiene capacidadpara1024 bits, sonnecesarios10 bloquesparaalbergartodoel mapadezonas.

4. Numerodebloquesdenodos-i.32El numeromaximodenodos-inecesariosesigual a 127.Puestoqueun bloquetienecapacidadpara4 nodos-i,sonnecesarios32 paracontenertodoslosnodos-i.

5. Numerototaldebloquesdedatos.10.195Sehanconsumidoenlosapartadosanteriores1, 10y 32bloques.Juntoconlosbloquesdearranquey superbloque,dan un total de 45 bloquesconsumidos.Siendoel total de bloquesigual a 10.240,quedan10.195bloquesdedatos,loscualessepuedenutilizar paraalbergardatosconvencionales,entradasdedirectorioso referenciasaotrosbloques.

6. Numerodenodos-iutilizados.41Un nodo-iporcadadirectorioo ficheroregular.

Directorioraız (/) 1Directorio/bin 1Directorio/lib 1Ficherosregularesde/ 10 - 2 (. y ..) -2 (/bin y /lib) 6Ficherosregularesde/bin 16- 2 (. y ..) 14Ficherosregularesde/lib 20 - 2 (. y ..) 18TOTAL 41

7. Numerodebloquesutilizadospara:

(a) Contenerdatosconvencionalesdeficherosregulares.304El numerodeficherosregularesesigual a 38. (41 menos3 directorios).La ocupacion endiscode los datosdeestosficherosesla siguiente:

36 ficherosregularesde768bytes(6 bloques) 2161 ficheroregularde1024bytes(8 bloques) 81 ficheroregularde10240bytes(80 bloques) 80TOTAL 304

(b) Contenerentradasdedirectorios.7Directorioraız (/) 10 entradas 2Directorio/bin 16entradas 2Directorio/lib 20 entradas 3TOTAL 7

(c) Contenerreferenciasa otrosbloques.4Los ficherosregularesde768bytesno utilizan los punterosindirectosdel nodo-i,puestoqueocupan6 zonasy enel nodo-ienMINIX existen7 referenciasdirectas.El fichero/bin/medianonecesita8 zonasdedatos.Lasprimeras7 zonassonreferenciadosdirectamenteenel nodo-i.El bloquenumero7 necesitala referenciasimpleindirectadel nodo-i. Estareferencianecesitauna zonadedatos, cuyosprimerosdosbytesapuntana la zonanumero7 del fichero,y el restodel bloqueno seutiliza.El fichero/bin/grandenecesita80 zonasdedatos.

16

Page 17: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

Lasprimeras7 zonassonreferenciadasdirectamenteenel nodo-i.

Las64zonassiguientesnecesitanla referenciasimpleindirectadelnodo-i.Estareferencianecesitauna zonade datos, queseutiliza completamente.

Las ultimas9 zonasnecesitanla referenciadobleindirectadel nodo-i. Estareferencianecesitauna zonadedatos, cuyosprimerosdosbytesapuntana otra zona de datos, quecontienelas ultimas9 referenciasdelfichero.

Cuestion 8El primerpasopararesolverel problemaconsistiraendeterminarquebloquessonutilizadosparamantenerlosnodos-i

y otrasestructurasal principio deldisco.Veamos:� Supondremosqueel bloquedearranquesiguesiendounico:1.� Necesitamostambienunbloqueparael superbloque:1.� Mapadebits paranodos-i:1.

Comounicamentenecesitamos100nodos-iy un bloquetiene32* 8 = 256bits,bastaconun bloqueparamantenerestainformacion.� Mapadebits parazonasdedatos:4.

Si el dispositivo tiene32 Kb y el tamano de bloqueesde 32 bytes,tendra 1024bloques.Si cadabloquepuedemantener256bits,el mapanecesita1024/ 256= 4 bloques.� Bloquesparanodos-i:50.

Si hay100nodos-iy encadabloquecaben2, necesitaremos100/ 2 = 50 bloques.� Bloquesparadatos:967.

Los bloquesya citadoscontabilizanun total de57. Si el dispositivo tiene1024,la diferencia1024- 57 = 967serala cantidaddebloquesparadatos(zonas)quetendrael dispositivo.

Conestosabemosque:� Los bloquesdel0 al 6 seutilizan paramantenerel bloquedearranque,el superbloquey los mapasdebits.� El bloque7 sera el primeroquemantenganodos-i.Enconcretomantendra los nodos-i0 y 1. Engeneral,el bloquei entre7 y 56,mantienelos nodos-i:(2*i - 14) y (2*i - 13).� El bloque57sera el primeroquemantengazonasparadatos,directoriosy zonasdepunterosazona.

1. Arbol dedir ectorios.

Veamossobreque archivos mantenemosinformacion. Segun lo dicho anteriormentelos bloques7, 8, 15 y 17mantienenlos nodos-i(0, 1), (2, 3), (16,17) y (20,21).

Contrastandoestainformacionconlos bloques57a 60,62 a 64 y 88,puededecirseque:� El bloque57 mantieneel directorioraız, puestoqueutiliza el nodo-i1 y susentradas. y .. apuntana dichonodo-i.Tieneunicamentedossubdirectorios:bin (nodo-i2) y users (nodo-i3).� Consultandoel nodo-i 2, vemosqueel directorio/bin esta guardadoen la zona58 y quesolo tieneesazona.Mantienedosentradas:cc (nodo-i4) y mined (nodo-i5), peronopodemosdecirnadamassobreellasporqueno sabemosnadadesusnodos-i.

17

Page 18: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

� Consultandoel nodo-i3 vemosqueel directorio/users esta guardadoenlaszonas59,60,62 y 63 (enesteorden),yaqueel numero61 seutiliza comopunteroindirectoazona.Portanto,estedirectoriotiene16entradasquecorrespondena., .., y 14archivoscuyonombrevadedso00adso13.� El bloque15 nosproporcionalos nodos-i16 y 17, correspondientesa los directorios/users/dso10 y/users/dso11 respectivamente.Ambosocupanunazonaunicamente.En amboscasosencontramosununicoarchivomsh.c dentrodecadadirectorio.El bloque17mantienelosnodos-ideestosdosarchivos.Deberemosusarloparatenerunaideadel tamanodeambosarchivos.

Por lo dichohastaahora,la estructuradedirectoriosdebeserla siguiente(seadjuntael numerodenodo-icorres-pondienteacadaarchivo):

/1

... ...

bin2

users3

cc4

mined5

dso006

dso1016

dso1117

dso1319

msh.c20

msh.c21

2. Ejecucion deopen( "/users/dso11/msh.c", O RDONLY ).

Veamosqueaccesosdebenrealizarse:

Bloque Explicacion

57 Lecturadeldirectorioraız. Encontramosentradausers.8 Lecturadelnodo-i3. Encontramosnumerosdezonadondeleer

el directoriousers.59 Buscamosenlasprimerasdosentradasel archivodso11.

No lo encontramos.60 Buscamosenlassiguientescuatroentradas.Tampocotenemossuerte.61 Leemosla zonaquemantienelos siguientespunterosdirectos.62 Buscamosenlassiguientescuatroentradas.No lo encontramos.63 Buscamosenlassiguientescuatroentradas.Encontramosentrada.

Sabemosqueel numerodenodo-ies17 y queestaraenel bloque15.15 Encontramosquela zonaparael directoriodso11 esel 88.88 Buscamosentradamsh.c enel directorioy la encontramos.

El nodo-iacargarpararealizarla aperturaesel 21.17 Leemosel nodo-i21 enel bloque17. Conestoterminamos.

3. Tamano enzonasde/users/dso10/msh.c.

18

Page 19: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

Sabemosquecadazonadediscopuedemantener16punterosa otraszonas.

Partiendodela informaciondel nodo-i20,enel bloque17,podemossaber:� Laszonas65 y 66 sonlasdosprimerasdelarchivo.� El numero67 esunpunteroindirecto.En el semantienenlossiguientes16 numerosdezona.� El numero68esunpunterodobleindirecto.Sucontenidonosdalosnumerosdetreszonasmasquecontienenyapunterosdirectos.Portanto,sabemosqueel archivo tendra32zonasmas(cuyosnumerosestanguardadosenlaszonas85 y 86).El numero87 esun punteroindirecto.No sabemosnadadesucontenido.Sin embargo,comomınimo tendraun punterodirectovalido y comomaximo16.

Acumulandolo dichoanteriormentetendremos:� Queel ficheroutiliza las zonas67, 68, 85, 86 y 87 comozonascon punterosa zona. Por tanto,5 zonassenecesitanparaesto.� Queel fichero utiliza 2 + 16 + 2*16 = 50 zonasde datos,referenciadospor el nodo-i o por las zonasdepunteros67, 85 y 86, mientrasquela zona87 aportara entre1 y 16 zonasmas. O seaseempleanentre51 y66 zonasdedatos.

Estohacequeel totaloscileentre56y 71zonas.

Cuestion 9

1. Tamano mınimo del puntero a zona.

Enel discotendremos320bloques,yaquesucapacidadtotalesde320Kb y el tamanodebloque(y dezona)esde1Kb.

Para mantener320 bloquesnecesitamosal menos9 bits, ya que 2~ = 256 (con 8 bits unicamentese puedenreferenciar256bloquesdiferentes)mientrasque2� = 512(con9 bits sepodrıanreferenciar512bloques).

2. Punterospor zona.

Enunazonapodremosmantener:

2 � � � >Gb�[ �tN 2 >� >Gb�[ �:` 2 <;�6F*N � T � ' .t,�VY � Y ' .:[ , 0 Y ' .���` 2 <;�6F�N/�3. Tipo depunterosen el nodo-i.

Si tenemos16 bytesparapunteros,podremosllegara mantenerenun mismonodo-i:

2 � � '6j � TY � ' , TY �(' V:[n, 0 ' V���` 2 <;�6F�N/�Lasalternativaspresentadasseconviertenası enlassiguientes:

(a) 14 punterosdirectos.Permiteun tamanomaximodelarchivo de14 Kb, perolos numerosdebloqueestantodosaccesiblesunavezsecargael nodo-ienmemoria.El unicoproblemaesqueel tamanomaximodel archivo esexcesivamentepequeno.

(b) 13 punterosdirectosy unoindirectosimple.Estaopcionesla masadecuada,puestoquesi el tamanodelarchivo nosuperalos13Kb, todossuspunterossemantienenenel nodo-i.En casodequeel archivo seamayorbastaconmantenerun punteroindirectosimpleyaqueestoadmitirıa910punterosdirectosmas.Obviamente,comola capacidaddeldiscoesde320bloques,nuncasellegarıaa requerirmasbloquesdepunteros.

19

Page 20: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

(c) 12 punterosdirectosy 2 indirectossimples.No esconveniente,puestoqueel segundopunteroindirectonuncaseusarıa y seobligarıa a usarun bloquedepunterosparalos archivosconmasde12 Kb, mientrascon la opcion anteriorestono eranecesariohastasobrepasarlos13 Kb.

(d) 12 punterosdirectos,1 indirectosimpley 1 indirectodoble.Ocurrelo mismoqueenel casoanterior.

Cuestion 10

1. Estructura del disco.

El discotendra: o�p#��r;�!p&�� r&p = 64 bloques.

Estossedescomponendel siguientemodo:� 1bloquedearranque.� 1 superbloque.� 1bloqueparael mapadenodos-i.Tendremos31nodos-i,por tantonecesitamos31bitspara“mapearlos”.Ademas,enMINIX el nodo-inumerocero,a pesardeno existir, ocupabaespacioenel mapa.Por tanto,habra 32 bits enel mapa.Conun bloquetenemossuficiente.� 1bloqueparamapadezonasdedatos.Comomaximotendrıamos64 bits (algunosno hacenfaltapuestoqueestanocupadospor el bloquedearran-que,el superbloque,los mapas,etc.).Conun bloquevolvemosa tenerbastante.� 1bloqueparanodos-i.Tendremos31 nodos-iy cadaunodeellosnecesita16 bytes.Por tanto,senecesitan496bytesparaalmace-narlos,conlo queseusaraun bloque.� 59bloquesparadatos.Del totalde64 bloquesdeldisco,5 yaestanocupados.Portanto,quedan59 paradatos.

2. Tamano maximo de archivo.

Necesitamosconocercuantosbloquespodremosreferenciarmediantelos 60 bits que mantieneun nodo-i parapunterosdirectos.

El tamanodeun punteroa bloquesera:

64 bloques0 2s bloques0 punterosde6 bits

Tenemos60bits disponibles.Ası tendremos:60 / 6 = 10 punterosdirectos.

Comocadabloqueesde512bytes,el archivo podra llegara 5 Kb .

3. Maximo numero de entradasenun dir ectorio.

Enprincipio estevalorno esta limitado. Unicamentedependedelnumerodearchivosquesepuedancrear.

En nuestrocaso,solo podremoscrear 31 archivos. Si todos los archivos se encontraranen el directorio raıztendrıamos:� Lasentradas. y .. quesereferirıanal propioarchivo deldirectorioraız.� 30 entradasmasqueacogerıanal restodearchivos.

Estosuponeun total de32 entradas. Comocadaentradanecesita16 bytes,estosupondrıa 512bytes;o lo queeslo mismo,1 bloque.

20

Page 21: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

4. Maximo numero de zonaslibr essi secreantodoslos archivosposibles.

Podremosllegar a crear31 archivos. De ellos, al menosuno sera un directorio(el directorio raız). Los treintarestantespuedenserarchivosregulares.

EnUNIX sepermitecrearun archivo delongitudcero.Esmas,estetipo dearchivosno requierenningunazonadedatos.Portanto,si los30 archivosregularestienentamanomınimono estanocupandozonasdedatos.

Portodolo anterior, estosarchivossolamenteocuparanla zonanecesariaparael directorioraız. Comotenıamos59zonasparadatos,quedaranlibres58zonas.

5. Mapas de bits.

Enel mapadebitsparanodos-itenemosla siguientesituacion:� El nodo-i0 seconsideraenuso.Apareceenel mapacomousado,peroenla practicano existetal nodo-i.� El nodo-i1 mantieneel directorioraız.� El nodo-i2 mantieneel directorio/dir1.� El nodo-i3 mantieneel archivo/dir1/b.� El nodo-i5 mantieneel archivo/dir1/c.

Respectoal mapade bloquesde datos(zonas),sabemoslo siguiente(recuerdeseque la primerazonadel mapacorrespondeal primerbloquededatos;ennuestrocasoel 5):� El directorioraız esta enla zona5.� El directorio/dir1 esta enla zona6.� El archivo/dir1/b esta enlaszonas7, 12,13,14,15,16,17,18,19 y 20.� El archivo/dir1/c esta enlaszonas21,22,23,24,25,26,27,8 y 9.

Los mapasdebitsseran:

Mapa denodos-i Mapa de zonas

0 0 0 0 1 0 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 1

0 0 0 0 0 1 1 00 0 0 0 0 0 0 00 0 0 0 0 0 0 11 1 1 1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 11 1 1 – – – – –

6. Contenidode los archivosdir ectorio del punto anterior .

Sera el siguiente:

1 .1 ..2 dir1

2 .1 ..3 b5 c

Cuestion 11

1. Cilindr osrecorridosconSSTFy LOOK .

SSTF

21

Page 22: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

Cil. actual Cilindr ospendientes Desplaz. (cil.)

50 23. 48, *, 70,81,95 50 - 48= 248 23,*, 70, 81,95 70 - 48= 2270 23,*, 81, 95 81 - 70= 981 23,*, 95 95 - 81= 1495 23, * 95 - 23= 72

TOTAL: 121

LOOK

Dir ec.servicio Cil. servidos Desplaz. (cil.)

Ascendente 70,81y 95 95 - 50 = 45Descendente 48 y 23 95 - 23 = 72

TOTAL: 117

2. Algoritmo “ optimo”

Ni el LOOK ni el SSTFdanel mejorresultadoposibleparalaspeticionesquenosplanteael problema.Si el sentidoinicial deserviciofueradescendenteel LOOK proporcionarıaunresultadooptimo.

Dadoun conjuntoestaticodepeticiones,el recorridooptimoserıa el siguiente:

Conocidoel conjuntode peticionesy el cilindro dondeesta actualmentela cabeza,servirlasen el sentidohaciaaquelextremoquequedemas cerca del cilindro actual. Una vezllegadoal cilindro de la ultima peticion en talsentido,invertir el sentidodeservicioy pasara servir las peticionesrestantes.

En nuestrocaso,las peticionesen los extremos(la de menory mayor cilindro, respectivamente)son sobreloscilindros 23 y 95. El cilindro actualesel 50. Por tanto,el “extremo” mascercanoesel cilindro 23, con lo queprimeroserviremosenordendescendentey despuesenascendente.Ası,

Dir ec.servicio Cil. servidos Desplaz. (cil.)

Descendente 48 y 23 50 - 23 = 27Ascendente 70,81y 95 95 - 23 = 72

TOTAL: 99

No obstante,estealgoritmono funcionarıa bien a medidaquefueranllegandonuevaspeticionesya quedeberıanrecalcularselos “extremos” con cadanueva peticion y raramentese atenderıan peticionesalejadasdel cilindroactual.

Cuestion 12

1. Estructura de dir ectorios

22

Page 23: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

/

unixusers bin

felipe alfonso sh ls cat less tty0 console tty1

ed mysh

dev

2. Estadofinal de los dir ectorios.

1 .1 ..2 users21 unix5 dev6 bin

2 .1 ..10 felipe12 alfonso8 mysh

5 .1 ..13 tty111 console

6 .1 ..20 ls22 less25 ed

10 .2 ..23 mysh

12 .2 ..3 sh3 bash7 sistema

23

Page 24: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

CUESTIONES Y PROBLEMAS PROPUESTOS

Cuestion 1Decidir si lassiguientesafirmacionessobreel sistemadearchivosUNIX sonverdaderaso falsas:� La creaciondeun enlacefısicomedianteel mandatoln implica la utilizaciondeun nuevo nodo-i.� La creaciondeun enlacesimbolico medianteel mandatoln -s no requiereel usodeun nuevo nodo-i.� El mandatomv nuncaimplica el usodenodos-ilibresni la liberaciondenodos-ienuso.� Paraqueun nodo-ipuedaliberarse,debeneliminarsetodoslos enlacesfısicosy simbolicossobreesenodo-i.� Dadoun archivo /dir1/a, la ejecucion del mandatorm /dir1/a siempreimplica la liberacion desunodo-i.

Sesuponequeel usuariotienesuficientesderechosdeaccesoa dichoarchivo.

Cuestion 2¿QueproblemasplantearıaenUNIX la posibilidaddecrearenlacesfısicossobrearchivosdetipo directorio?

Cuestion 3Explicarcomopodrıandarsemultiplesnombresa un mismoarchivo en sistemasdearchivo Windows 95 / 98 (FAT16 /FAT32).

Cuestion 4Decidir si lassiguientesafirmacionessobrealgoritmosdeplanificaciondepeticionesa discosonverdaderaso falsas:� Si un manejadorde discono sueletenermasde unao dospeticionespendientes,en la practicaseplanificacon

estrategiaFCFS.� ConunaestrategiaFCFSel tiempodeesperadeunapeticionenla coladelmanejadoresel mınimoposible.� La estrategia SSTFesinjustaporquepuedemarginarlaspeticionessobrelos cilindrosmasinternoso externosdeldisco.� Enun sistemamultiprogramadosepodra tenermasdeunapeticionpendientedelmismohilo deejecucion.� Enun sistemamultiprogramadono sepodra tenerdospeticionespendientessobreel mismocilindro.

Cuestion 5Decidir si lassiguientesafirmacionessobreestructurasdedirectoriossonverdaderaso falsas:� El sistemadearchivosdeMS-DOSesunejemplodeestructuradedirectoriosdedosniveles.� El sistemadearchivosdeUNIX esun ejemplodeestructuradedirectoriosengrafoacıclico.� Unaestructuradedirectoriosengrafogeneralnopermitequediferentesusuariosprotejansusarchivos.

24

Page 25: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

� MS-DOSfuerzaaquetodoslosdispositivosdealmacenamientoestenmontadossobreelmismoarboldedirectorios.� Unaestructuraengrafoacıclico permitemantenervariosenlacessobreun mismoficheroregular.

Cuestion 6Setieneun sistemaDOSdondeel tamano declusteresigual a 4 Kb (8 sectores)y enel quelasprimeras52 entradas

dela FAT tienenlos siguientesvalores:

0 X1 X2 EOF3 44 55 66 77 88 99 10

10 1111 1212 EOF

13 1414 1515 1616 1717 1818 1919 2020 2121 2222 EOF23 EOF24 EOF25 EOF

26 2427 EOF28 EOF29 3030 EOF31 3432 EOF33 3634 2835 3836 4037 4138 32

39 2940 3741 4242 4443 5044 4745 4646 3347 4948 4549 EOF50 4851 FREE

A continuacionselistantresdirectoriospresentesenesedisco.Susentradastendranel siguienteformato(sesuprimenlosbytesreservadosy los camposdefechay horadeultima actualizacion):

Nombre Extension Atributos Primercluster Longitud

El campoatributosserepresentaraenbinario.EnMS-DOS,losochobitsdeestecampotienenel siguientesignificado:

Res. Res. Archivable Directorio Etiqueta Sistema Oculto Sololect.

Los directoriosmencionadostienenel siguientecontenido:

. 00010000 2 0

.. 00010000 54 0IO SYS 00000111 3 40.755DISCO C 00001000 0 0MSDOS SYS 00000111 13 38.158DOS 00010000 23 0COMMAND COM 00000001 43 56.539ARCHIVOS 00010000 27 0

. 00010000 23 0

.. 00010000 2 0CONFIG SYS 00000000 34 8.034LABEL EXE 00000000 31 9.566ATTRIB EXE 00000000 39 11.284DELTREE EXE 00000000 35 11.173

. 00010000 27 0

.. 00010000 2 0A DAT 00000000 25 4.034B 00000000 26 2.342

SEPIDE

25

Page 26: Problemas de Sistemas de Archivo - lauenbo.galeon.comlauenbo.galeon.com/probsT4.pdf · PROBLEMAS RESUELTOS Cuestion´ 1 Dado un disco de cabeza movil´ con 200 cilindros, numerados

1. Dibujar la estructuradedirectorios.

2. Utilizandolasentradasqueseconocendela FAT, decirqueclusterspertenecena cadaarchivo. ¿Puededetectarsealgunainconsistencia?

3. Comentarque salidadarıa el mandatoDIR (sin argumentos)si nosencontramosenel directoriomantenidoen elcluster2.

4. Si se suponeque el directorio que se encuentraen el cluster2 funcionacomo directorio raız, comentarcomoquedarıa la FAT y los directoriostrashaberrealizadolassiguientesacciones:

C:> DEL \DOS\CONFIG.SYSC:> COPY \ARCHIVOS\A.DAT \A.BAK

suponiendoquela asignaciondeclusterslibresseintentarealizarconaquellosquetenganmenornumerodecluster.

5. ¿ Que pasarıa si la entrada35 de la FAT apuntaraal bloque35 e intentaramosejecutarel mandatoDELTREE ?¿Quepasaengeneralsi unaentradadela FAT apuntaa ella misma?

6. Suponiendoqueel discoestudiadotieneunacapacidadde 40 Mb, guardaFAT original y unacopia(punterosde16 bits) y el directorioraız puedemantener512entradas,darla estructuradeldiscoy mencionarcuantosclustersosectorestendracadaparte.

7. Comentarcuantoespaciosedesperdiciadebidoa fragmentacion internaencadaunodelos archivosqueaparecenenel enunciado(Sin tenerencuentael apartado4).

8. Suponiendobloques(y zonas)de 4 Kb y un discode igual capacidad,con punterosa zonade 16 bits, entradasdedirectoriode16 bytes,un maximode1024archivos,nodos-ide32 bytescon7 punterosdirectos,un indirectosimpley unodoble:� IndicarcomoseestructurarıaestemismodiscobajoMINIX.� Suponiendoquecontieneunicamenteestosmismosarchivosy directorios,darel contenidodelosarchivosde

tipo directoriosuponiendoque:

– Los archivossecrearonpor niveles(primerotodoslos queaparecenen el directorioraız y despueslosarchivosquecuelgandesusdossubdirectorios).Dentrodeunmismonivel sesiguio ordenalfabetico.

– Siempreseuso el nodo-imasbajodisponible.

– El discono contenıaningunarchivo previamentey no sehanborradoni creadomasarchivos.� Compararlascifrasdefragmentacioninternaenestesistemaconlasdelanterior. ¿Enquearchivosdifiere?

26