Está en la página 1de 5

Cap.5 : Términos clave, cuestiones de repaso pág.

248

Términos Clave
1. Bloqueante: Ambos emisor y receptor se bloquean hasta que el mensaje se
entrega; a esto también se le conoce normalmente como rendezvous.

2. Concurrencia: La concurrencia es fundamental en todas estas áreas y en el


diseño del sistema operativo. La concurrencia abarca varios aspectos, entre
los cuales están la comunicación entre procesos y la compartición de, o
competencia por, recursos, la sincronización de actividades de múltiples
procesos y la reserva de tiempo de procesador para los procesos.

3. Condición de carrera: Situación en la cual múltiples hilos o procesos leen y


escriben un dato compartido y el resultado final depende de la coordinación
relativa de sus ejecuciones.

4. Corrutina: La corrutina exhibe una relación más simétrica. A medida que se


realiza cada llamada, la ejecución parte del último punto activo del
procedimiento llamado.

5. Espera activa: El proceso que espera lee de forma repetida el valor de la


variable turno hasta que puede entrar en la sección crítica. Este
procedimiento se conoce como espera activa

6. Exclusión mutua: La exclusión mutua se refiere a la posibilidad de que


múltiples procesos (o hilos) compartan código, recursos, o datos de forma
de que sólo uno de ellos tenga acceso al objeto compartido en cada
momento.

7. Inanición: La inanición se refiere una situación en la cual un proceso se


encuentra listo para ejecutar, pero se le deniega el acceso al procesador de
forma continuada en deferencia a otros procesos.

8. Interbloqueo: Un interbloqueo es una situación en la cual dos o más procesos


están esperando a que otros miembros del conjunto completen una operación para
poder continuar, pero ninguno de los miembros es capaz de hacerlo.

9. Monitor: La idea central bajo el esquema de procesamiento en lotes sencillo es el


uso de una pieza de software denomina monitor. Con este tipo de sistema
operativo, el usuario no tiene que acceder directamente a la máquina.
10. Mutex: Un mutex se utiliza para asegurarse que sólo un hilo en cada momento
puede acceder al recurso protegido por el mutex. El hilo que obtiene el mutex debe
ser el mismo que lo libera.

11. No bloqueante: Aunque el emisor puede continuar, el receptor se bloqueará


hasta que el mensaje solicitado llegue. Esta es probablemente la combinación más
útil.

12. Paso de mensajes: Los sistemas de paso de mensajes se presentan en varias


modalidades. En esta sección, presentamos una introducción general que trata las
características típicas encontradas en tales sistemas.

13. Procesos concurrentes: Las rutinas del núcleo necesitan ser reentrantes para
permitir que varios procesadores ejecuten el mismo código del núcleo
simultáneamente.

14. Recurso crítico: Nos referiremos a tal recurso como un recurso crítico, y a la
porción del programa que lo utiliza como la sección crítica del programa. Es
importante que sólo se permita un programa al tiempo en su sección crítica.

15. Sección crítica: Sección de código dentro de un proceso que requiere acceso a
recursos compartidos y que no puede ser ejecutada mientras otro proceso esté en
una sección de código correspondiente.

16. Semáforos: Estos mecanismos podrían ser usados fácilmente por los procesos
de usuario si el procesador y el sistema operativo colaborasen en hacerlos
disponibles.

17. Semáforo binario: Un semáforo binario sólo puede tomar los valores 0 y 1.

18. Semáforo con contador: Para contrastar los dos tipos de semáforos, el semáforo
no-binario es a menudo referido como semáforo con contador o semáforo general.
Para ambos, semáforos con contador y semáforos binarios, se utiliza una cola
para mantener los procesos esperando por el semáforo.

19. Semáforo débil: Un semáforo que no especifica el orden en que los procesos son
extraídos de la cola es un semáforo débil.

20. Semáforo fuerte: El proceso que lleve más tiempo bloqueado es el primero en
ser extraído de la cola; un semáforo cuya definición incluye esta política se
denomina semáforo fuerte.
21. Semáforo general: Dependiendo de la definición exacta del semáforo, la
operación de decremento puede provocar el bloqueo de un proceso, y la operación
de incremento puede provocar el desbloqueo de un proceso. También conocido
como semáforo con contador o semáforo general.
Cuestiones de repaso
5.1. Enumere cuatro aspectos de diseño para los cuales el concepto de
concurrencia es relevante.
1. Comunicación entre procesos.
2. Compartición y competencia por los recursos.
3. Sincronización en la ejecución de los procesos.
4. Asignación de tiempo de procesador a los procesos.
5.2. ¿En qué tres contextos aparecen la concurrencia?
1. Múltiples aplicaciones.
2. Aplicaciones estructuradas.
3. Estructura del sistema operativo.
5.3. ¿Cuál es el requisito básico para la ejecución de procesos
concurrentes?
Se encontrará que la exigencia básica para soportar la concurrencia de procesos
es la posibilidad de hacer cumplir la exclusión mutua, es decir, prohibir a los
demás procesos realizar una acción cuando un proceso haya obtenido el permiso.
5.4. Enumere tres grados de percepción entre procesos y defina brevemente
cada uno.
1. Los procesos no tienen conocimiento de los demás: estos son
procesos independientes que no están pensados para operar juntos. El
mejor ejemplo de esta situación es la multiprogramación de varios procesos
independientes. Estos pueden ser tanto trabajos por lotes como sesiones
interactivas o una combinación de ambos. El sistema operativo debe
regular estos accesos.
2. Los procesos tienen un conocimiento indirecto de los otros: los
procesos no conocen necesariamente a los otros por sus identificadores de
proceso, pero comparten el acceso a algunos objetos, como un buffer de
E/S. Estos procesos muestran cooperación para compartir el objeto común.
3. Los procesos tienen un conocimiento directo de los otros: los procesos
son capaces de comunicarse con los demás por el identificador de proceso
y están diseñados para trabajar conjuntamente en alguna actividad. Estos
procesos también muestran cooperación.
5.5 ¿Cuál es la diferencia entre procesos en competencia y procesos
cooperantes?
Los procesos en competencia por los recursos no tienen conocimiento entre sí, y
los procesos en cooperación tienen conocimiento entre sí y cooperan por
compartimiento o por comunicación.
5.6. Enumere los tres problemas de control asociados con los procesos en
competencia y defina brevemente cada uno.
1. Necesidad de exclusión mutua: que dos procesos no accedan
simultáneamente a un recurso crítico.

2. Interbloqueo: que los procesos tengan posesión de recursos que otros


procesos necesitan.

3. Inanición: que un proceso nunca llegue a obtener el control de los recursos


que necesita.
5.7. Enumere las condiciones necesarias para la exclusión mutua.
1. Cualquier servicio o capacidad que dé soporte para la exclusión mutua
debe cumplir los requisitos siguientes:1.

2. Debe cumplirse la excusión mutua: sólo un proceso de entre todos los que
poseen secciones críticas por el mismo recurso u objeto compartido, debe
tener permiso para entrar en ella en un instante dado.2.

3. Un proceso que se interrumpe en una sección no crítica debe hacerlo sin


interferir con los otros procesos.3.

4. Un proceso no debe poder solicitar acceso a una sección crítica para


después ser demorado indefinidamente; no puede permitirse el interbloqueo
o la inanición.4.

5. Cuando ningún proceso está en su sección crítica, cualquier proceso que


solicite entrar en la suya debe poder hacerlo sindilación.5.

6. No se deben hacer suposiciones sobre la velocidad relativa de los procesos


o el número de procesadores.6.

7. Un proceso permanece en su sección crítica sólo por un tiempo finito.


5.8. ¿Qué operaciones pueden ser realizadas sobre un semáforo?
Para lograr el efecto deseado, se pueden contemplar los semáforos como
variables que tienen un valor entero sobre el que se definen lastres operaciones
siguientes:

1. Un semáforo puede iniciarse con un valor no negativo.


2. La operación wait disminuye el valor del semáforo. Si el valor se hace
negativo, el Proceso que ejecuta el wait se bloquea.

3. La operación signal incrementa el valor del semáforo Si el valor no es


positivo, se desbloquea un proceso bloqueado por una operación wait.
5.9. ¿Cuál es la diferencia entre semáforos binarios y semáforos generales?
Los semáforos binarios solo pueden tomar los valores 0 y 1.
5.10. ¿Cuál es la diferencia entre semáforos fuertes y semáforos débiles?
Los semáforos robustos incluyen la política FIFO para la ejecución de los
procesos, los débiles no.
5.11. ¿Qué es un monitor?
Los monitores son estructuras de un lenguaje de programación que ofrecen una
funcionalidad equivalente a los semáforos y son más fáciles de controlar.
5.12. ¿Cuál es la diferencia entre bloqueante y no bloqueante con respecto a
los mensajes?
Un mensaje bloqueador es aquel que recibe un proceso que estaba bloqueado
esperándolo.
Un mensaje no bloqueador es aquel que recibe un proceso que no estaba
bloqueado esperándolo.
5.13. ¿Qué condiciones están asociadas generalmente con el problema
lectores/escritores?
1. Cualquier número de lectores puede leer un archivo simultáneamente.

2. Sólo puede escribir el archivo un escritor por vez.

3. Cuando un escritor está accediendo al archivo ningún lector puede leerlo.

También podría gustarte