UTNianos

Versión completa: APORTE y DUDA Final Sistemas Operativos 29/07/2014
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Páginas: 1 2
Hola!
Subo el final de sistemas Operativos del 29/07/14

Tengo problemas para resolver el ejercicio de File System. Durante la cursada no vimos ejercicios de este estilo y no se como encararlo.
"Sea un filesystem con inodos de 10 punteros directos, 2 indirectos simples y 2 indirectos dobles; punteros de 4 bytes,
un superbloque de 4 Kb, un bitmap de bloques de 16 Kb, un bitmap de inodos de 12 Kb, entradas de directorio de 32
bytes, inodos de 128 bytes y bloques de 4 Kb..
Calcule:
­ La cantidad máxima de archivos que puede albergar el filesystem
­ La cantidad máxima teórica de hard links a un mismo archivo destino que puede contener un directorio
­ La cantidad mínima de bytes que puede tener un archivo regular
­ El máximo espacio direccionable del filesystem, teórico y real"


Ya cerro mi cursada y no me permiten postear en el campus virtual, asique ojala Adro lo vea!

Lo que deduje:
a) (cantidad maxima de archivos) Parti del dato del bitmap de inodos.
Bitmap de Inodos = 12Kb => 98304 inodos (12*1024*8) => 98304 archivos

b) (cantidad maxima teorica de hardlinks a un mismo archivo destino que puede contener un directorio)
Esta me desconcierta, me parece que va por el lado del tamaño del directorio que lo dan como dato (32 bytes) algo asi como que si el directorio es de 32 bytes y los links son de 4 bytes, entran 8 links; pero no creo que sea tan trivial, ademas se deberia suponer que no hay otra cosa en el directorio. No se AYUDA CON ESTE!!

c)La cantidad minima de bytes que puede contener un archivo regular. (??? Ni idea por donde viene esto)

d) Espacio Maximo direccionable del FS Teorico y Real

Teorico = 2^32 * 4Kb = 16Tb

Real = Cnt Bloques * Tam Bloque
Parto del bitmap de bloques 16Kb => 131072 bloques (16*1024*8)
Real = 131072 * 4Kb = 512 MB
(No estoy segura de esto ultimo)

Si alguien puede ayudar!

Gracias!!
Buenas, hago una consulta como se calcula el tamaño teorico direccionable del file system??
Gracias!
Alguien hizo el ejercicio 3?
(04-02-2015 18:43)EugenioValeiras escribió: [ -> ]Buenas, hago una consulta como se calcula el tamaño teorico direccionable del file system??
Gracias!

EugenioValeiras El tamaño teórico lo calculas viendo cuánto podes direccionar, en este caso 2^32 y lo multiplicas por el tamaño de bloque (4Kb). En este caso te da 16Tb

(05-02-2015 19:54)fele escribió: [ -> ]Alguien hizo el ejercicio 3?


fele
El Proceso A, tenes 3 marcos disponibles. Por lo tanto pones los primeros 3 (10-11-0). Estos los agregas a la TLB porque no los habías encontrado y también generan page fault. Luego viene el 3, no está en la TLB ni en memoria, genera PF y agrega al "3" reemplazando en cada cola por su algoritmo. Luego, los restantes hacen un HIT en la TLB porque los encontró primero. Te quedan 4 PF y 4 HITS.

El proceso B, son todos distintos, asi que hace 7 PF y ningún HIT en la TLB.

Obviamente, sirve tener caché (TLB) en el primer caso.

Espero estar en lo correcto, cualquier cosa chiflen!
Que tal?

Alguien me explica de donde sale el 2^32 de punteros resultantes?

Gracias
(06-02-2015 16:50)juliahn escribió: [ -> ]
(04-02-2015 18:43)EugenioValeiras escribió: [ -> ]Buenas, hago una consulta como se calcula el tamaño teorico direccionable del file system??
Gracias!

EugenioValeiras El tamaño teórico lo calculas viendo cuánto podes direccionar, en este caso 2^32 y lo multiplicas por el tamaño de bloque (4Kb). En este caso te da 16Tb

(05-02-2015 19:54)fele escribió: [ -> ]Alguien hizo el ejercicio 3?


fele
El Proceso A, tenes 3 marcos disponibles. Por lo tanto pones los primeros 3 (10-11-0). Estos los agregas a la TLB porque no los habías encontrado y también generan page fault. Luego viene el 3, no está en la TLB ni en memoria, genera PF y agrega al "3" reemplazando en cada cola por su algoritmo. Luego, los restantes hacen un HIT en la TLB porque los encontró primero. Te quedan 4 PF y 4 HITS.

El proceso B, son todos distintos, asi que hace 7 PF y ningún HIT en la TLB.

Obviamente, sirve tener caché (TLB) en el primer caso.

Espero estar en lo correcto, cualquier cosa chiflen!

Si no me equivoco, para el proceso A quedaría así:
Pag 10
*1 Acceso a TLB -> Fallo de TLB
*1 Acceso a Memoria (tabla de páginas) -> Page Fault
*1 Acceso al disco -> Se agrega la página en memoria, se agrega la entrada a la TLB y se actualiza la tabla de página (no se si estos ingresos se cuentan),Se reinicia la instrucción
*1 Acceso a la TLB -> Obtiene el número de marco
*1 Acceso a memoria

Pag 11
Idem Pág 10

Pag 0
Idem Pág 10

Pag 3
*1 Acceso a TLB -> Fallo de TLB
*1 Acceso a Memoria (tabla de páginas) -> Page Fault
*1 Acceso al disco -> Se borra de memoria y de TLB la pág 10. Se agrega la página en memoria, se agrega la entrada a la TLB y se actualiza la tabla de página .Se reinicia la instrucción
*1 Acceso a la TLB -> Obtiene el número de marco
*1 Acceso a memoria

Para las páginas que siguen, va a tener acierto en la TLB, por lo tanto:
*1 Acceso a la TLB -> Obtiene el número de marco
*1 Acceso a memoria

Para el proceso B, como bien decís, siempre se produce fallo de TLB y page fault. No sirve la TLB en ese caso particular

Si alguno detecta algún error, porfa avise. Gracias
(20-02-2015 16:32)marsow escribió: [ -> ]Que tal?

Alguien me explica de donde sale el 2^32 de punteros resultantes?

Gracias

Te pide el tamaño máximo *teórico*, que sería el máximo que banca el FS sin importar el storage que tengas (es decir, ignorando el tamaño del disco). Los punteros son de 4 bytes, es decir, de 32 bits. Con 32 bits podés identificar o direccionar 2^32 cosas diferentes (porque existen 2^32 combinaciones de números diferentes teniendo 32 bits). Si cada una de esas cosas es un bloque (porque los punteros apuntan a bloques), entonces tu tamaño máximo teórico es cantidadDeBloquesDireccionables * tamaño de bloque, es decir, (2^32) * 4kb.

¿Mespliqué?
Hola alguien hizo los teóricos de este?

Dejo lo que creo yo

1) Falso. La tabla de pags invertidas no es una por proceso sino que es una en todo el sistema y ocupa menos que el conjunto de las MPT.
2) Falso. Podría deberse a una interrupción.
3) Falso. Si bien es verdad que hay 2 algoritmos para planificar, los ULT son planificados por la biblioteca de hilos y no el SO.
4) Ni estoy seguro que quiere decir pero Falso. El SO tiene muchas formas de recuperar el control, una interrupción por ejemplo.
5) Falso. Si hay estado seguro no hay deadlock porque los recursos se asignan en orden para no bloquear.
2) Para mi va mas por el lado, de que es posible en cualquier algoritmo con desalojo. Y explicas que si llega a uno de prioridades, otro de prioridad mas alta al que se esta ejecutando.. el de ejecucion pasa a ready
5) agregaria que estado seguro implica una secuencia segura de ejecucion de los procesos
Buenas!, ¿alguno sabe como hay que resolver el ejercicio de planificación?
Buenas, me sumo a tyler87, alguien pudo resolverlo el ejercicio 1 de planificacion con hilos?
Les dejo mi resolución del ejercicio de planificación. Puede que tenga errores.

Esto es en lo que no estoy seguro, tiene que ver conceptualmente con el Round Robin Virtual:

- Asumí que como era Round Robin Virtual, al salir de la cola de entrada salida, los hilos tenían prioridad e iban a ejecutar el Q que le faltó ejecutar. Ejemplo: El KLT3 en el instante 5 se bloquea para ir a E/S, solo ejecutó 1 ut, le faltaron 2 ut para completar el Q. Este bloqueo de hilo, dá lugar al KLT4.
Como al KLT3 le faltaron 2 Q para ejecutar, luego cuando vuelva de E/S, ejecutará 2 ut y se bloqueará el proceso.
(11-02-2017 15:44)pampa833 escribió: [ -> ]Les dejo mi resolución del ejercicio de planificación. Puede que tenga errores.

Esto es en lo que no estoy seguro, tiene que ver conceptualmente con el Round Robin Virtual:

- Asumí que como era Round Robin Virtual, al salir de la cola de entrada salida, los hilos tenían prioridad e iban a ejecutar el Q que le faltó ejecutar. Ejemplo: El KLT3 en el instante 5 se bloquea para ir a E/S, solo ejecutó 1 ut, le faltaron 2 ut para completar el Q. Este bloqueo de hilo, dá lugar al KLT4.
Como al KLT3 le faltaron 2 Q para ejecutar, luego cuando vuelva de E/S, ejecutará 2 ut y se bloqueará el proceso.

wtf? eso es de otro final o que onda? jaja
(11-02-2017 20:42)Leann escribió: [ -> ]
(11-02-2017 15:44)pampa833 escribió: [ -> ]Les dejo mi resolución del ejercicio de planificación. Puede que tenga errores.

Esto es en lo que no estoy seguro, tiene que ver conceptualmente con el Round Robin Virtual:

- Asumí que como era Round Robin Virtual, al salir de la cola de entrada salida, los hilos tenían prioridad e iban a ejecutar el Q que le faltó ejecutar. Ejemplo: El KLT3 en el instante 5 se bloquea para ir a E/S, solo ejecutó 1 ut, le faltaron 2 ut para completar el Q. Este bloqueo de hilo, dá lugar al KLT4.
Como al KLT3 le faltaron 2 Q para ejecutar, luego cuando vuelva de E/S, ejecutará 2 ut y se bloqueará el proceso.

wtf? eso es de otro final o que onda? jaja

No che.. jaja Lo que pasa es que el ejercicio de planificación (el 1) dice que está implementado con Round robin VIRTUAL. Yo lo que hice fué abrir todos los KTL y ULT repetidos y dibujar todos en mi GANNT. Después mirate la imagen adjunta, capaz me falto aclarar eso jeje

Saludos!
Páginas: 1 2
URLs de referencia