You are on page 1of 4

En un sistema de ficheros UNIX con un tamao de inodo de 128 bytes, un tamao de bloque de 1024 bytes, y donde la zona de inodos

ocupa 2048 bloques Cuntos bloques ocupa el mapa de bits de inodos libres? 1 En primer lugar calculamos cuantos inodos caben en un bloque 1024 (bytes por bloque) / 128 (bytes por inodo) = 8 inodos por bloque 2 El nmero total de inodos ser por tanto: 2048 x 8 = 2^11 * 2^3 = 2^14 inodos 3 Por cada inodo tenemos un bit en el m apa de bits de inodos, luego el tamao del mapa de bits ser: 2^14 bits / 2^3 bits/porbyte = 2^11 = 2^11 bytes/ 2^10 bytes por bloque = 2 bloques El espacio libre del disco se puede gestionar mediante una lista de bloques libres o mediante un mapa de bits. Suponiendo que las direcciones del disco requieren d bits, y que el disco tiene b bloques, de los cuales l estn libres, indicar en qu condiciones la lista de bloques libres utiliza menos espacio que el mapa de bits. El mapa de bits corresponde a un a lista de bits en el que cada un indica si un bloque est ocupado o libre. Por lo tanto, su tamao ser igual a tantos bits como numero de bloques exista e independiente del numero de bloques libres, es decir b bits .. La lista de bloques libres es una li sta enlazada de bloques en el cada uno contiene tantas direcciones de bloques libres como pueda. Si no consideramos los punteros de enlace entre bloques de la lista, el tamao que ocupa la lista de bloques libres ser lo que ocupa cada direccin por el num ero de bloques libres, es decir, d x l bits .. la condicin para que la lista de bloques libres ocupe menos espacio que el mapa de bits es: d x l < b En un sistema de ficheros con tamao de bloque de N bytes (N > 2^10) y direcciones de bloque de 4 bytes se crean dos ficheros. El fichero A necesita N/2 bytes, y el fichero B 3N/2 bytes. Indicar el numero de bloque de datos y de ndice ocupados por cada fichero y la fragmentacin interna (en bytes) que se produce para los siguientes mtodos de asignacin, ind icando por separado la fragmentacin en bloque de datos y en bloques ndice: Asignaciones: enlazada, indexada, con ndices multinivel (2 niveles), con ndices combinados (k=1), utilizada en el sistema de ficheros de UNIX (ndices combinados con k=10) Mtodo Bloque de Datos Fichero A B Enlazada 1 2 Indexada 1 2 Multinivel 1 2 Ind. Combinad 2 1 UNIX 1 2 Bloques ndice A B 0 0 1 1 2 2 0 1 0 0 Frag. Int. Datos Frag. Int. Indices A N/2 N/2 N/2 N/2 N/2 B N/2 - 4 N/2 N/2 N/2 N/2 A B 0 0 N-4 N 2x4 2 x (N 4) (N 4) + (N 2 x 4) 0 N-4 0 0

Calcular el tamao mximo que puede tener un fichero en Unix considerando un tamao de bloque de 512 bytes. Nota: las direcciones de bloque son de 4 bytes. 1 Para resolver esta cuestin es necesario: conocer la estructura de inodo en Unix Calcular el nmero de bloques que pueden direccionarse desde un bloque ndice. Como el tamao de bloque es 512 bytes y las direcciones son de 4 bytes, obtenemos 512/4 = 128 d irecciones por bloque 2 El nmero total de bloques ser: 10 + 128 + 128^2 + 128^3 (= bloques mximos que puede tener un fichero) . 3 El tamao mximo se obtiene multiplicando el numero de bloques por el tamao de cada bloque (512 bytes), lo cual nos da un tamao ligeramente superior a 1 GB. Lo anterior del punto dos lo que de x 512 bytes = ms o menos 1 GB

Consideremos un disco con un tamao de N Gbytes. Responder razonadamente a las siguientes cuestiones: a) Si sobre un disco tenemos un sistema de fic heros de MS-DOS (FAT) indicar cul es el tamao de bloque mnimo necesario para poder direccionar todos los bloques del disco 1 GB = 2^30 bytes. El sistema de ficheros de MS -DOS (FAT) utiliza direcciones por bloque de 16 bits. Esto permite direccionar 2^16 bloques. El tamao de bloque mnimo es: Tamao de disco / num. De bloques = N x 2^30 / 2^16 = N x 2^14 bytes. b) Si tenemos un sistema de ficheros FAT32 y el tamao de bloque es 1 Kbyte, indicar cul es el mximo valor que puede tomar N. FAT32 permite direccionar 2^32 bloques. El tamao mximo de disco que podemos direccionar con bloques de 1Kbyte (2^10) es: 2^32 x 2^10 = 2^42 bytes = 2^12 x 2^30 bytes = 2^12 Gbytes. Por tanto el valor de N es 2^12. c) Si montamos un sistema de ficheros UNIX, el ta mao de bloque es b, y la longitud de una direccin de bloque es de 4 bytes, indicar cul es el tamao mximo que podemos darle a un solo fichero Dado un tamao de bloque b bytes y direcciones de bloques de 4 bytes, en cada bloque se pueden
direccionar p = b/4 bloques.. Atendiendo a la estructura del inodo de Unix, el tamao mximo de un fichero ser: (10 + p + p^2 + p^3) x b bytes, es decir, numero de bloques de datos multiplicado por el tamao de un bloque. d) Suponiendo la situacin de la cuestin anter ior c, indicar cuantos bloques del disco estaran ocupados por este fichero si se consideran tambin los bloques de ndice utilizados . Debemos considerar los bloques ocupados por datos (los del apartado anterior) ms los bloques ocupados por los ndices. --) el primer nivel de indexacin utiliza 1 bloque ndice. --) el segundo nivel utiliza 1 + p ndices --) el tercer nivel utiliza 1 + p + p^2 ndices . La solucin es (10 + p + p^2 + p^3) + (1) + (1 + p) + (1 + p + p^2) bloques. En el SO UNIX se conoce el nombre simblico de un fichero de un fichero. A partir de esta informacin, contestad a las siguientes cuestiones. a) Cmo se obtiene el numero de inodo asociarlo al nombre de fichero? Un fichero de tipo directorio consiste en una tabla que asoc ia a cada nombre simblico de fichero su nmero de inodo. Dado un nombre de fichero es necesario recorrer dicha tabla -, en caso de que exista una entrada con ese nombre de fichero obtendremos el nmero de inodo l eyendo el campo asociado correspondiente. Hay que tener en cuenta que el numero de inodo puede ser cero, lo que indica que el nombre de fichero ha sido previamente borrado b) Cmo conoce el SO que permisos tiene concedidos un usuario en particular sobre este fichero? Una vez conocido el nmero de inodo es necesario consultar en estos dos tipos de informaciones. En primer lugar debemos clasificar al usuario que intenta acceder al fichero en uno de los tres grupos siguientes: propietario, grupo o resto de u suarios. Esto se hace comparando el usuario que accede con los campos relativos a UID y GUID propietarios del fichero, informacin que aparece en el inodo. En segundo lugar deberemos consultar el tipo de permisos concedidos a esa clase de usuario (lectura, escritura y o ejecucin). Informacin que tambin aparece en el inodo. c) en qu condiciones podemos eliminar definitivamente el contenido de este fichero (liberar los bloques que ocupa) cuando solicitemos borrado desde el Shell? La orden Shell para borrar un fichero (un nombre de fichero realmente) utiliza la llamada al sistema unlink. Esta llamada consiste en marcar como borrado dicho nombre de fichero en la entrada del directorio correspondiente (es decir, poner su nmero de inodo asociado a 0) y decr ementar el contador de enlaces (no simblicos) que aparece en el inodo. Cuando este contador llega 0 podemos liberar todos los bloques de datos asociados al fichero. d) Cmo varia la informacin del inodo si creamos un nuevo enlace simblico al fichero? No vara. Un enlace simblico supone la creacin de un nuevo fichero, que por tanto tiene asignado un nuevo inodo, cuyo contenido es el nombre del fichero al cual lo hemos enlazado.

8 a) Supongamos un sistema de ficheros que implementa una FAT con direccion es de bloque de 24 bits y un tamao de bloque de 1 Kbyte, Cual es el tamao mximo en Gbytes que podra tener dicho sistema de ficheros? El tamao mximo del sistema de ficheros ser: Tam_max = 2^24 (numero bloques) x 2^10 (tamao bloque) = 2^34 bytes = 2^4 Gbytes = 16 Gbytes b) dada una particin de 2 Gbytes y un sistema de ficheros FAT con direcciones de bloque de d bits y tamao de bloque de 4 KBytes, cul debera ser el valor mnimo de d para que el sistema de ficheros pueda abarcar toda la particin? Debemos hallar el menor valor de d que cumple la expresin, 2^d (num bloques) x 4 x 2^10 (tam bloque) >= 2 x 2 ^30 (tam particin) . 2^d x 2^2 x 2^10 >= 2 x 2^30 . 2^d+2+10 >= 2^31 . Operando con los exponentes tenemos d + 2 + 10 >= 31 d >= 19 .. la solucin es d = 19 . c) en un sistema de ficheros Unix con tamao de bloque b bytes y direcciones de bloque 4 bytes, indicar cul es el tamao mximo de un solo fichero. el numero de punteros que cabe en un bloque es p = b/4. El numero de bloques que podemos asociar a un fichero es: 10 + p + p^2 + p^3 y el tamao total del fichero ser (10 + p + p^2 + p^3) x b d) relacionado con el apartado anterior, si duplicamos el tamao de bloque (ahora es de 2 x b bytes) y si TAMviejo es el tamao mximo de un fichero en el apartado anterior y TAMnuevo es el tamao mximo de un fichero en este apartado, indicar cul es el valor N que cumple TAMnuevo = N + TAMviejo Al duplicar el tamao de bloque, el nmero de punteros que caben en un bloque tambin se duplica y pasara a ser 2p. Por lo tanto: TAMviejo = (10 + p + p^2 + p^3) x b, TAMnuevo = (10 + 2p + (2p)^2 + (2p)^3) x 2b . Restando ambas expresiones obtenemos: N = (20 10)b + p(4 1)b + p^2(8 1) + p^3(16 1)b . = 10b + 3pb + 7p^2b + 15p^3b = (10 + 3p + 7p^2 + 15p^3) x b Se dispone de un disco de 2 MBytes de capacidad sin formatear (lo que suman todos los bloques). Se pretende realizar sobre el un formateo para que adopte el sistema de ficheros descrito a continuacin: Sector de arranque | Superbloque | Mapa de bits | Bloques de i -nodos | Bloques de datos . Tamao de bloque: 512 bytes Tamao de puntero a bloque: 2 bytes Datos de control del sistema de ficheros: Sector de arranque: 1 bloque Superbloque: 1 bloque Map a de bits: Un mapa de bits de bloques libres y otro de bloques ocupados .. Hay 500 i -nodos y los campos de cada uno de ellos son: UID y permisos: 10 bytes Tamao del fichero: 4 bytes Fecha ultima actualizacin: 4 bytes . 4 entradas de referencia directa a bloques del fichero.. 2 entradas de referencia indirecta simple 1 entrada de referencia indirecta doble a) calcular el tamao mximo efectivo del disco, una vez formateado que puede ser usado para datos de usuario.. Tamao de un disco (2 megabytes = 2 x 1024 x 1024) divido entre el tamao del bloque 512 butes nos dice el numero de bloques que tenemos y que en este caso es de 4 K bloques . --) los bloques usados por el sistema de ficheros son: . Sector de arranque: 1 bloque . Superbloque: 1 bloque . Mapa de bits: 4 Kbits (tantos como bloques) divido entre 8 bits/byte son 512 bytes. Como el tamao del bloque es tambin de 512 bytes, cada mapa de bits necesita un bloque. Hay dos mapas de bits, entonces necesitamos 2 bloques Bloques de i -nodos: tamao de bloque (512 bytes) dividido entre el tamao del i-nodo (32 bytes), da como resultado que en cada bloque podemos almacenar 16 i -nodos. Si tenemos que almacenar un total de 500 i -nodos necesitaremos 500/16 bloques, esto es bloques mas .. Luego el sistema e mplea 36 bloques quedando libres para el usuario 4 x 1024 36 = 4060 bloques b) nmero mximo de directorios que pueden ser almacenados en este disco si todo el disco son ficheros de tipo directorio, tantos como i -nodos: 500

Sea un dispositivo de almacenamiento de capacidad indeterminada, dividido en bloques de 2 Kbytes, siendo la direccin de cada bloque de 64 bits. Cada fichero almacenado en el dispositivo tiene asociado un descriptor con la informacin siguiente: Tipo de fi chero (fichero o directorio) 1 byte . Propietario 3 bytes tamao en bytes 4 bytes 1 puntero directo que apunta a bloques de datos 1 puntero indirecto simple que apunta a un bloque de punteros directos 1 puntero indirecto doble que apunta a un bloque de punteros indirectos simples El dispositivo de almacenamiento presenta la siguiente estructura fsica: 1 bloque de arranque . N bloques con el mapa de bits de todos los bloques del dispositivo 1 bloque con el mapa de bits de los descriptores de los ficheros P bloques de descriptores . Q bloques ocupados por los ficheros el tamao del fichero va a venir determinado por los siguientes parmetros. 1 el campo del tamao de fichero que aparece en el descriptor del fichero. Su tamao es de 4 bytes, por lo que el mximo tamao de un fichero ser de 2^32/2^11 = 2^21 bloques ya que el tamao de bloque es de 2 Kbytes (= 2^11 bytes) 2 El nmero de bloques a los que se puede tener acceso a travs del descriptor de fichero. Se utilizan direcciones de 64 bits (8 Bytes) para cada bloque y adems el tamao de bloque es de 2 Kbytes (2^11 bytes). Cada bloque ndice permite almacenar 2^11 / 2^3 = 2^8 = 256 direcciones. El nmero mximo de bloques direccionables ser: 1 (puntero directo) + 256 (ndice indirecto simple) + 256^2 (ndice indirecto doble) = 65793 bloques 3 el tamao de puntero. Como mximo se podrn direccionar 2^64 bloques. 4 el nmero de bloques reservado para los ficheros. El nmero mximo de bloques que puede tener este disco coincide con el tamao m ximo (en bits) del mapa de bits de todos los bloques del dispositivo que es: T = N (bloques del mapa de bits) x 2^11 (tamao de bloque en bytes) x 8 (bits/byte) bloques .. Si T es el mximo del disco (en bloques), los reservados para almacenar ficheros son: Q = T 1 N 1 P La restriccin sobre el tamao mximo de un fichero vendr dada por el menor tamao obtenido de entre los cuatro casos anteriores.

You might also like