Prácticas y Resúmenes
Resumen Primer Parcial
Resumen Segundo Parcial
Resumen Parcial Teórico
Práctica 1
- 1: Para el siguiente programa concurrente suponga que todas las variables están inicializadas en 0 antes de empezar. Indique cual/es de las siguientes opciones son verdaderas:
- 2: Realice una solución concurrente de grano grueso (utilizando <> y/o <await B; S>) para el
siguiente problema. Dado un número N verifique cuántas veces aparece ese número en un
arreglo de longitud M. Escriba las pre-condiciones que considere necesarias.
- 3: Dada la siguiente solución de grano grueso:
- 4: Resolver con SENTENCIAS AWAIT (<> y <await B; S>). Un sistema operativo mantiene
5 instancias de un recurso almacenadas en una cola, cuando un proceso necesita usar una
instancia del recurso la saca de la cola, la usa y cuando termina de usarla la vuelve a depositar.
- 5: En cada ítem debe realizar una solución concurrente de grano grueso (utilizando <> y/o
<await B; S>) para el siguiente problema, teniendo en cuenta las condiciones indicadas en el
item. Existen N personas que deben imprimir un trabajo cada una.
- 6: Dada la siguiente solución para el Problema de la Sección Crítica entre dos procesos
(suponiendo que tanto SC como SNC son segmentos de código finitos, es decir que terminan
en algún momento), indicar si cumple con las 4 condiciones requeridas:
- 7: Desarrolle una solución de grano fino usando sólo variables compartidas (no se puede usar
las sentencias await ni funciones especiales como TS o FA). En base a lo visto en la clase 3
de teoría, resuelva el problema de acceso a sección crítica usando un proceso coordinador.
En este caso, cuando un proceso SC[i] quiere entrar a su sección crítica le avisa al coordinador,
y espera a que éste le dé permiso. Al terminar de ejecutar su sección crítica, el proceso SC[i]
le avisa al coordinador.
Práctica 2
- 1: Existen N personas que deben ser chequeadas por un detector de metales antes de poder
ingresar al avión.
- 2: Un sistema de control cuenta con 4 procesos que realizan chequeos en forma colaborativa. Para ello, reciben el historial de fallos del día anterior (por simplicidad, de tamaño N). De cada fallo, se conoce su número de identificación (ID) y su nivel de gravedad (0=bajo, 1=intermedio, 2=alto, 3=crítico). Resuelva considerando las siguientes situaciones:
- 3: Un sistema operativo mantiene 5 instancias de un recurso almacenadas en una cola. Además, existen P procesos que necesitan usar una instancia del recurso. Para eso, deben sacar la instancia de la cola antes de usarla. Una vez usada, la instancia debe ser encolada nuevamente.
- 4: Suponga que existe una BD que puede ser accedida por 6 usuarios como máximo al mismo tiempo. Además, los usuarios se clasifican como usuarios de prioridad alta y usuarios de prioridad baja. Por último, la BD tiene la siguiente restricción: no puede haber más de 4 usuarios con prioridad alta al mismo tiempo usando la BD. No puede haber más de 5 usuarios con prioridad baja al mismo tiempo usando la BD. Indique si la solución presentada es la más adecuada. Justifique la respuesta.