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.
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. 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.