La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

UTFSM - Sistemas Operativos

Presentaciones similares


Presentación del tema: "UTFSM - Sistemas Operativos"— Transcripción de la presentación:

1 UTFSM - Sistemas Operativos
Ayudantía 5: exercises

2 Procesos concurrentes
Supongamos el siguiente código para la ejecución concurrente de los procesos Proceso_A y Proceso_B: ¿Qué función cumple cada uno de los semáforos? ¿En qué orden se ejecutan las secciones de los procesos indicadas por A1,A2,B1,B2? Ayudantía Sistemas Operativos -

3 Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Trenes Una línea férrea une dos ciudades A y B, donde existe una sección del tramo que tiene una única vía, tal como se indica en la figura: Existen trenes que viajan de A a B y de B a A. En la sección de vía única del tramo se deben coordinar los trenes para que en determinado instante sólo existan trenes viajando en un único sentido. Especifique en pseudo-código los procesos existentes y cómo se coordinan. Ayuda: La solución debe tener un sólo semáforo. Ayudantía Sistemas Operativos -

4 Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Verdadero/falso Soportar Interrupciones vectorizadas significa contar con una arquitectura que tenga un registro especial (Status) que el sistema operativo debe leer para conocer la causa de la interrupción. En un sistema de interrupciones vectorizadas, la causa de la interrupción esta determinada por la dirección en el vector de interrupciones a la cual es transferido el control del programa Los registros de trabajo del procesador constituyen la memoria mas rápida de un sistema computacional. Verdadero API (Application Program Interface) es sinónimo de Llamada al Sistema (System Call). Las llamadas al sistema son propias de cada sistema operativo. La API es una biblioteca con llamadas estándares que permite a las aplicaciones abstraer de como se generan las llamadas al sistema a través de interrupciones por software y de como se transfieren los parámetros y resultados entre el espacio de direcciones de los procesos y el núcleo, y viceversa. Toda llamada al sistema se ejecuta en modo kernel. Ayudantía Sistemas Operativos -

5 Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Verdadero/falso Multiprogramación es sinónimo de Multiprocesamiento. Multiprogramación es la ejecución (pseudo‐) concurrente de varias aplicaciones, no siendo necesaria la existencia de múltiples procesadores. En cambio, el Multiprocesamiento requiere de la existencia de varios procesadores. En términos generales, un sistema de IPC (Comunicación entre Procesos) basado en paso de mensajes es mas eficiente que uno basado en memoria compartida. Al contrario. Paso de mensajes requiere la intervención del kernel. Usar memoria compartida solo requiere el apoyo del kernel durante la creación En un sistema operativo de un procesador, la utilización de threads no mejora ningún tiempo. Solo permite dar mayor orden lógico a los desarrolladores de aplicaciones. Al contrario. La utilización de threads permite crear más rápido y con menos recursos instancias de ejecución concurrente, siendo la sincronización y comunicación entre threads más ágil que entre los procesos. Ayudantía Sistemas Operativos -

6 Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Verdadero/falso La planificación con prioridades puede producir espera indefinida en los procesos, problema que puede ser solucionado implementando una política con expropiación (preemptible) sobre los procesos. Es cierto que la planificación con prioridades puede producir postergación indefinida, pero este problema se soluciona mediante una técnica de envejecimiento (aging), donde los procesos aumentan su prioridad en la medida que esperan. El problema de la solución de Peterson a la exclusión mutua es que produce “espera ocupada”; este problema es solucionado con el uso de instrucciones de maquina especiales , como por ejemplo TestAndSet. La solución de Peterson es por software y produce espera ocupada, pero así lo producen también las soluciones basadas sólo en hardware, como por ejemplo TestAndSet. La solución a este problema requiere de una integración con la gestión de los procesos. Un semáforo es más que una variable de tipo entera, dado que se requiere una integración con la gestión de procesos y asociar una cola de espera a los procesos bloqueados. Verdadero Ayudantía Sistemas Operativos -

7 Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Mate Suponga que existen varios tomadores de mate (matero), donde cada uno posee su propio vaso, pero que comparten entre todos un recipiente con un máximo de 10 cargas. Si bien es cierto que el recipiente tiene varias cargas, en el momento en que un matero se sirve mate hace uso exclusivo de éste y los demás deben esperar hasta que quede libre. Para evitar que las cargas disponibles en el recipiente se agoten, existe un reponedor que va cargando el recipiente en la medida que exista espacio para ello. La acción de reponer una carga también hace uso exclusivo del recipiente por parte del reponedor. Hacer pseudocódigo del matero y del reponedor. Sincronizar ambas tareas. Funciona esta solución para N reponedores? Ayudantía Sistemas Operativos -

8 Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Test And Set Implemente Wait() y Signal() usando la instrucción TestAndSet(). Debe tener la menor cantidad de busy wait posible. Ayuda: P() y V() es lo mismo que Wait() y Signal(). Para minimizar busy wait se deben “suspender” los procesos. Ayudantía Sistemas Operativos -

9 Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Test And Set Solución anterior (para efectos de los que no estuvieron en la ayudantía). Ayudantía Sistemas Operativos -

10 Monitores (explicación)
Solo 1 objeto puede usar los métodos del monitor a la vez. Hay variables especiales, condiciones, que tienen wait() y signal(). Al esperar (wait) una condición el thread no ocupa el monitor, queda suspendido. Ayudantía Sistemas Operativos -

11 Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Monitores Implementar un semáforo como monitor. Ayudantía Sistemas Operativos -

12 Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Compilando un monitor Imagínese un compilador que toma una clase especificada como monitor y al compilarla la transforma en una clase normal, pero con semáforos. Cómo compilaría el siguiente monitor? Ayudantía Sistemas Operativos -

13 Clase monitor sin compilar
Ayudantía Sistemas Operativos -

14 Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Clase compilada Ayudantía Sistemas Operativos -


Descargar ppt "UTFSM - Sistemas Operativos"

Presentaciones similares


Anuncios Google