Está en la página 1de 5

Hice este apunte porque curse con Casas y cuando termine no sabia hacer

ningn ejercicio, y aprend de los resueltos, pero me volva loca buscando


aquellos con ej parecidos a los que tenia que hacer
Se agradecen sugerencias/comentarios a dlopezseco@hotmailcom
!as de"iniciones son solo para entender los ejercicios, no para contestar teora
#r$%imamente colgare el de disco
&'nodos
UNIX maneja todos los archivos mediante inodos.
Los i-nodos son nodos que contienen informacin acerca de los archivos y punteros a
bloques donde estn contenidos los archivos.
l tama!o m"imo terico de un archivo estar dado por la capacidad de
direccionamiento que ten#a el inodo.
l tama(o te$rico m)%imo de un archivo puede ser mayor que el tama(o real del
"ilesystem ya que el mismo est relacionado con la capacidad de direccionamiento
que se obtiene a partir de los tama!os de punteros y de bloques ele#idos.
&'*odo
Punteros Indirecto o
indireccin simple
l i-nodo contiene punteros directos$ indirectos o de indireccion simple$ doblemente
indirectos o de indireccion doble$ etc. Los de indireccion simple apuntan a bloques de
punteros que apuntan a bloques con datos y as%.
j.
&e tiene ' punteros directos$ ( indirectos y ) doblemente indirecto$ un bloque de (*+
y un puntero de ,( bits
&i vemos el #rafico$ deducimos a simple vista que lo direccionamos con los punteros
directos son- ' punteros . (*+/ )( *+
0on los indirectos tenemos que hacer- ( punteros . 1cantidad de punteros en un
bloque2 . ( *b
La cantidad de punteros en un bloque se calcula como/ 3ama!o del bloque4 3ama!o
del puntero.
5ecomendacin/ 6ara hacer estos ejercicios conviene pasar todo a bytes$ para evitar
confusiones al multiplicar$ ya que *+. *+/ 7+ y 7+.*+/8+.
6ara los poco memoriosos- 9 bits/)byte
bloque
bloque
bloque
Bloque de punteros
bloque
bloque bloque
Punteros
Directos
Punteros doblemente Indirecto o
de
indireccin doble
Bloque de punteros
Bloque de
punteros
Bloque de
punteros
bloque
bloque
bloque
bloque bloque
):(; bytes/) <b
):(; *+ytes / ) 7+yte
):(; 7bytes / ) 8byte
):(; 8bytes / ) 3+yte
0antidad de punteros por bloque/ 1( . ):(; 4 1,(4922 / =)(
>hora terminemos de calcular /? ( punteros . 1=)(2 . ( . ):(; / ( 7+
6ara calcular la indireccin doble$ hay que elevar la cantidad de punteros por bloque
por ($ ya que pasamos por ( niveles de bloques de punteros y la cantidad de punteros
crece e"ponencialmente.
Indireccion doble/ ) puntero . 1=)(2@( . ( . ):(; / =)( 7+
+eneralizando la "ormula, cantidad de punteros - .tama(o del bloque/tama(o del
puntero/0n - tama(o del bloque
6ara punteros directos n/:$
6ara indirectos n/)
6ara doblemente indirectos n/( y as%A.
6ara saber el tama!o m"imo del archivo es la suma de lo que dan los niveles/ 12 3b
4 2 56 4 712 56
l tama!o m"imo de un directorio es lo mismo$ el uni" los directorios se manejan
i#ual que los archivos.
8n caso que no tengamos el tama(o de puntero
n al#unos ejercicios$ este dato falta pero nos dicen que se pueden direccionar como
m"imo (:.:::.::: bloques. ntonces tendr%amos que ver cuantos bits necesitamos
para direccional esa cantidad de bloques-
X/ tama!o del puntero
(:.:::.::: / (@X
X / lo# 1(:.:::.:::2 4 lo# ( / (;.(= redondeando siempre para arriba / (=
l problema que sur#e es que (= no es potencia de ($ entonces redondeamos hasta
la potencia mas cercana$ ,(
9ama(o :ilesystem
n cambio$ el tama!o m"imo de la particin del Bile &ystem estar relacionado con la
capacidad m"ima que yo ten#a de almacenamiento.
3am. m". terico del filesystem / cant. m". de bloques direccionables C tam. de
bloque
3am. m". real del filesystem / m%n. 1tam. m". terico del filesystemD espacio f%sico de
almacenamiento2
l tama!o m"imo de la particin del Bile &ystem estar dado por la capacidad de
almacenamiento que poseemos en nuestros discos.
8j
&i nos dicen que tenemos ' discos de ;: #b con 5aid ;.
3endr%amos que calcular cuanto es dato y cuanto es redundancia.
No voy a e"plicar 5aid$ lean la teor%a$ como ayuda memoria les pon#o cuanto se
pierde de redundancia de datos para cada 5>IE
5>IE :- No se pierde nada.
5>IE )- 6ierde la mitad de los discos 1espejado2
5>IE (- 6ierde un nFmero proporcional al lo# de la cantidad de discos 1no se
preocupen$ este nunca lo vi en un ejercicio de I nodos2
5>IE ,- 6ierde ) disco
5>IE ;- 6ierde ) disco
5>IE =- 6ierde ) disco
5>IE '- 6ierde ( discos
n este caso$ tendr%amos = discos . ;: 8b/ (:: 8+
sto seria tama!o real del filesystem.
Cantidad de accesos
j.
&i nos pide calcular la cantidad de accesos necesarios para acceder al byte (.)(;.9G,$
tenemos que ver si este byte esta dentro de los bytes apuntados por los punteros
directos.
0alculemos en que <b se encuentra el byte (.)(;.9G,4):(;/ (:)=$:GA<b
&i retomamos la primera parte del ejercicio$ ten%amos )( *+ apuntamos por los
punteros directos$ entonces no alcanHa.
0alculemos en que mb se encuentra el byte (:)=$:G4):(;/ ($:(Amb
Los indirectos direccionaban ( 7+$ y (7+I )( *+ J (.:(
Los dobles direccionaban =)( 7+ y =)( 7b I ( mb I )(*+ ? (.:( mb
l inodo puede o no estar en memoria$ si el ejercicio no lo dice$ se puede asumir que
esta en memoria
&i el i nodo esta en memoria /? &e necesitan , accesos. Eos a punteros de bloques$
ya que se encuentra en indireccin doble y uno al bloque de datos.
*ota; no es lo mismo acceder a un byte$ que leer hasta ese byte$ en ese caso-
El puntero tiene 32, en un bloque entran 512 punteros.
Si los bloques son de 2 kb, (.)(;.9G, bytes son 13! bloques rendondeando
"a cantidad de accesos es#
$ %de lo directos& ' 2 %punteros indirectos& ( 512 %punteros por bloque& ' 2 %acceso a los
bloques de punteros& ' 2 %acceso al puntero doblemente indirecto& ' ! %bloques
restantes& ) 13!'2'2) 1*2
6itmaps
Kl bitmap es un vector que tiene un bit por cada bloque de datos que hay en memoria
real. ste contiene el valor ) o : indicando si el bloque estn lleno o vac%os.
&i el ejercicio nos dice que tenemos un bitmap de ; <b y bloques de (<b$ el tama!o
terico del filesystem seria-
0antidad de bits en el bitmap . tama!o del bloque / ;.):(;.9 . (*+ / '; 7+