UTNianos

Versión completa: [APORTE] Final Sistemas Operativos 25/02/14 - RESUELTO
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Subo mi resolución del Final de Sistemas Operativos que se tomó el 25/02/14.

El V o F fue corregido por ayudantes de la materia, por lo cual puedo dar fé de que está bien.

Respecto a los ejercicios prácticos, no fueron corregidos, por lo cual mi resolución no es 100% confiable.

Saludos!

Alan.

[attachment=8827]
[attachment=8826]
[attachment=8828]
Puede ser que en el final hayan aclarado que para el ejercicio de deadlock donde dice NECESIDAD MAXIMA se hayan confundido y sea PEDIDOS MÁXIMOS porque sino no me cierra la solución y tampoco me dan los resultados.


Gracias
No no, esta bien el ejercicio.

Saludos!
Pregunta si hay alguien viendo este final todavía. Es posible como alternativa para el Práctico A que una forma de hacer la resolución sea que al ejecutar una instrucción atómica la prioridad del proceso pase a 0? En este caso luego de hacer el WAIT PC podría terminar el Check y hacer el SIGNAL, provocando que PA pueda correr la validación antes que tenga que reiniciar.

O el proceso de herencia de prioridades no se puede ver directamente afectado por un proceso sino que debe ser una solución aportada por el Planificador de Corto Plazo? En cuyo caso la solución que aporta el compañero es la única que veo como válida.
A mi criterio el ejercicio de Deadlock está mal. La alternativa recomendada es la 2. Si se usan drones hay que recordar que no vuelven a recuperarse porque el enunciado dice que se pierden. Por lo tanto si se intenta hacer uso de Drones adicionales el sistema no quedará en un Estado Seguro.
Hola... estuve viendo este final... y la parte de asignación de recursos me parece q no es correcta...

Para el punto 2 completo aclara q los "drones" se perderan luego de cada ataque o defensa... por lo tanto:
la opcion i no se puede completar... ya q no me alcanza la cantidad de drones... (en la resolucion no se tiene en cuenta esto de los drones y la dan como valida)
la opción ii si considero q se va a defender asignando esos recursos pero luego de la defensa volveran a estar disponibles(ya q no usa drones) podre obtener una secuencia segura... por lo tanto esta seria la recomendable... (en la resolución no tienen en cuenta que los recursos vuelven )

para el punto B indica q cree q asignado 10 tanques mas lo hara mas fuerte... yo interpreto que los asigna a la matrix de maximos no a la de asignados...
como q indica q si ese ataque se hace en un futuro con 60 tanques en lugar de 50 sera mas fuerte... por lo tanto si solo lo modifico en la de asignaciones maximas. pero no se los asignos puedo ejecutar los ataques A2 A1 y A3 en estado seguro...

si alguno tiene la posta por favor publiquen... gracias!!!
Buenas,

Sobre la i) tenes razon. Si los drones se pierden, ese ataque no se puede completar. La opcion es la otra.
Sobre ii) las matrices de máximos muy rara vez cambian. Lo que dice el enunciado es que se asignan 10 mas al ataque 3. Es decir, de los 50 máximos que tenias, te pidieron 15 originalmente. Bueno, ahora te piden 10 mas.
En la parte ii) del de deadlock no me queda claro si esos 10 tanques extra para el ataque 3 entran en la matriz de necesidad o en la de asignados.
Si van a la de asignados, el estado no es seguro.
Si van a la de necesidad, el estado si va a ser seguro.
En realidad va en las dos. Si asignas 10 tanques mas (sumas 10 en asignados), necesitas 10 menos a futuro (restas 10 en necesidad)
Hola, una consulta, donde esta explicado en la teoria lo de la Herencia de Prioridades? En Stallings lo explica? Gracias!
entonces cuál sería la respuesta correcta del 2b? de por sí el estado actual no es seguro (si el Ataque 1 pide todos los tanques no los podrá entregar en ningún caso salvo que se ejecuten los otros ataques antes).

Yo diría que no los asigne y realice primero el ataque 2, libere dichos recursos, luego el ataque 1, libere los recursos y luego el ataque 3, de esta forma no habría deadlock (y quedarías con un mínimo de 2 drones si se piden todos los recursos). Es correcto?
Revivo el thread!
Tengo una consulta sobre la parte teórica, el primer V o F:

"En paginación con memoria virtual, la lectura de una variable podría implicar tres accesos a disco."
En la resolución dice:
"V. Esto sucede en los casos de paginación jerárquica de varios niveles. En este caso se tiene un acceso a la página, uno a la tabla de páginas externas y luego a la tabla de páginas internas (y a las sucesivas tablas si es que hay más niveles)"

Lo que dice en la resolución, ¿no vendrían a ser accesos a memoria y no a disco? Se supone que para poder ejecutar con memoria virtual, las estructuras administrativas tienen que estar en memoria, no?
Alguien que la tenga clara que me pueda dar una mano? ;)
(21-12-2015 22:13)Red16 escribió: [ -> ]Revivo el thread!
Tengo una consulta sobre la parte teórica, el primer V o F:

"En paginación con memoria virtual, la lectura de una variable podría implicar tres accesos a disco."
En la resolución dice:
"V. Esto sucede en los casos de paginación jerárquica de varios niveles. En este caso se tiene un acceso a la página, uno a la tabla de páginas externas y luego a la tabla de páginas internas (y a las sucesivas tablas si es que hay más niveles)"

Lo que dice en la resolución, ¿no vendrían a ser accesos a memoria y no a disco? Se supone que para poder ejecutar con memoria virtual, las estructuras administrativas tienen que estar en memoria, no?
Alguien que la tenga clara que me pueda dar una mano? ;)


Las tablas de páginas multiniveles se hace precisamente porque hay casos donde la Tabla te puede ocupar toda la memoria.

Cito de Stallings (p 345):
Cita:En la mayoría de sistemas, existe una única tabla de página por proceso. Pero cada proceso puede ocupar una gran cantidad de memoria virtual. Por ejemplo, en la arquitectura VAX, cada proceso puede tener hasta 231 = 2 Gbytes de memoria virtual. Usando páginas de 29 = 512 bytes, que representa un total de 222 entradas de tabla de página por cada proceso. Evidentemente, la cantidad de memoria demandada por las tablas de página únicamente puede ser inaceptablemente grande. Para resolver este problema, la mayoría de esquemas de memoria virtual almacena las tablas de páginas también en la memoria virtual, en lugar de en la memoria real. Esto representa que las tablas de páginas están sujetas a paginación igual que cualquier otra página.


Cuando dice que las almacena en memoria virtual quiere decir que pueden estar en el disco. Lo único que siempre se mantiene en memoria es la Tabla Raiz (o outter como le llaman).

Si tengo 3 niveles:
1 Acceso a memoria a la Tabla Raiz.
Si la página que busco de la Tabla de segundo nivel no está cargada en memoria la tengo que ir a buscar disco. La traigo a memoria y la leo.
Si ahora la página de la Tabla de 3er nivel que busco tampoco está en memoria, idem que el paso anterior.

Hasta ahora tuve 2 accesos a disco solo para leer la Tabla de Páginas... ahora con la entrada a la Tabla que necesito tengo que leer la página donde se encuentra la variable... si no está en memoria... otro acceso a disco.

Y puede llegar el caso en que las páginas que reemplazas para traer las anteriores hubiesen estado modificadas (en paginación bajo demanda). Acá sería un acceso a disco mas por cada paso para primero grabar la página que expulsás.
En el punto i del ejercicio de deadlock me da los dos quedan en estado inseguro, a ustedes también? Después se podría justificar que como los drones se pierden el que tiene menos posibilidad de entrar en deadlock es la opción 2. Se justificaría de esa manera? O como hicieron para que les cierre en modo seguro el algoritmo del banquero?
URLs de referencia