Está en la página 1de 7

Universidad Nacional Autónoma de Honduras

En el Valle de Sula (UNAH-VS)

Asignatura: Sistemas operativos 1

Facilitador: Ing. Héctor García

Tarea: Palabras clave y guía del capítulo # 5

Nombre N° cuenta

Diana Paola Peña Peña 20192001467

Sección: 0900

San Pedro Sula, 17 de Marzo de 2021


Términos clave

Bloqueante: Ambos emisor y receptor se bloquean hasta que el mensaje se


entrega; a esto también se le conoce normalmente como rendezvous.

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.

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.

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.

Espera activa: Mientras un proceso está esperando para acceder a una sección
crítica, continúa consumiendo tiempo de procesador.

Exclusión mutua: Requisito de que cuando un proceso esté en una sección


crítica que accede a recursos compartidos, ningún otro proceso pueda estar en
una sección crítica que acceda a ninguno de esos recursos compartidos.

Inanición: Situación en la cual un proceso preparado para avanzar es soslayado


indefinidamente por el planificador; aunque es capaz de avanzar, nunca se le
escoge.

Interbloqueo: Situación en la cual dos o más procesos son incapaces de actuar


porque cada uno está esperando que alguno de los otros haga algo.

Monitor: monitor cumple la exclusión mutua y completa una operación de entrada


o salida antes de permitir otra operación sobre el buffer.

Mutex: Se usan en programación concurrente para evitar que entre más de un


proceso a la vez en la sección crítica.

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


hasta que el mensaje solicitado llegue. Esta es probablemente la combinación.

Paso de mensajes: El paso de mensajes tiene la ventaja añadida de que se


presta a ser implementado tanto en sistemas distribuidos como en
multiprocesadores de memoria compartida y sistemas monoprocesador.
Proceso concurrente: Se refiere a las situaciones en las que dos o más procesos
puedan coincidir en el acceso a un recurso compartido o, dicho de otra forma, que
requieran coordinarse en su ejecución.

Recurso crítico: Durante el curso de la ejecución, cada proceso estará enviando


mandatos al dispositivo de E/S, recibiendo información de estado, enviando datos
o recibiendo datos.

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.

Semáforo: Los semáforos se utilizan para la señalización entre procesos y se


pueden usar fácilmente para conseguir aplicar la disciplina de exclusión mutua.

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

Semáforo con contador: se inicia utilizando la función sema_init, que da al


semáforo un nombre y le asigna un valor inicial.

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.

Semáforo fuerte: La política más favorable es FIFO (primero-en-entrar-primero-


en-salir): 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.

Semáforo general: 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.

Cuestiones de repaso

5.1. Enumere cuatro aspectos de diseño para los cuales el concepto de


concurrencia es relevante.

R: 1. El sistema operativo debe ser capaz de seguir la pista de los distintos


procesos activos. Esto lo hace por medio de los bloques de control de procesos.

2. El sistema operativo debe asignar y retirar los distintos recursos a cada proceso
activo. Entre estos recursos se incluyen:

-Tiempo de procesador: es la función de planificación, tratada en la parte Cuatro.

-Memoria: la mayoría de los sistemas operativos emplean esquemas de memoria


virtual.
- Archivos.

-Dispositivos de E/S.

3. El sistema operativo debe proteger los datos y los recursos físicos de cada
proceso contra injerencias no intencionadas de otros procesos. Esto supone
emplear técnicas relativas a la memoria, archivos y dispositivos de E/S, que se
estudian.

4. Los resultados de un proceso deben ser independientes de la velocidad relativa


a la que se realiza la ejecución de otros procesos concurrentes.

5.2. ¿En qué tres contextos aparece la concurrencia?

 R: Multiples aplicaciones: la multiprogramación se creó para permitir que el


tiempo de procesador de la máquina fuese compartido dinámicamente entre
varias aplicaciones activas.
 Aplicaciones estructuradas: como ampliación de los principios del diseño
modular y la programación estructurada, algunas aplicaciones pueden
implementarse eficazmente como un conjunto de procesos concurrentes.
 Estructura del sistema operativo: Las mismas ventajas de estructuración
son aplicables a los programadores de sistemas y se ha comprobado que
algunos sistemas operativos están implementados como un conjunto de
procesos o hilos.

5.3. ¿Cuál es el requisito básico para la ejecución de procesos


concurrentes?

R: 1. Tiempo de procesador: es la función de planificación, tratada en la parte


cuatro.

2. Memoria: la mayoría de los sistemas operativos emplean esquemas de


memoria virtual.

3. Archivos.

4. Dispositivos de E/S.

5.4. Enumere tres grados de percepción entre procesos y defina brevemente


cada uno.
R: 1. Los procesos no tienen conocimiento de los demás; estos son procesos
independientes que no están pensados para operar juntos. Ej: la
multiprogramación de varios procesos independientes. Sus posibles problemas de
control son la exclusión mutua, interbloqueo (recursos renovables y la inanición).

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?

R: La diferencia entre procesos en competencia y procesos en cooperación es que


los procesos concurrentes entran en conflicto cuando compiten por el usos del
mismo recurso. No hay intercambio de información entre los procesos en
competencia. Sin embargo, la ejecución de un proceso puede influir en el
comportamiento de los procesos que compiten. Mientras que el caso de
cooperación comprende los procesos que interactúan con otros sin tener
conocimiento explícito de ellos.

5.6. Enumere los tres problemas de control asociados con los procesos en
competencia y defina brevemente cada uno.

R: 1. Exclusión mutua: dos o más procesos quieren acceder a un único recurso no


compatible como una impresora. Durante el curso de la ejecución, cada proceso
enviara órdenes al dispositivo de E/S, recibiendo información de estado, y
enviando o recibiendo datos.
2. Interbloqueo: Dos procesos P1 y P2 y dos recursos R1 y R2, supóngase que
cada proceso necesita acceder a ambos recursos para llevar a cabo una parte de
su función.

3. Inanición: tres procesos p1, p2 y p3 necesitan acceder periódicamente al


recurso R.

5.7. Enumere las condiciones necesarias para la exclusión mutua.


1. Debe cumplirse la exclusió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. Un proceso que se interrumpe en una sección no crítica debe hacerlo sin


interferir con los otros procesos.

3. 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. Cuando ningún proceso está en su sección crítica cualquier proceso que solicite
entrar en la suya debe poder hacerlo sin dilación.

5. No se deben hacer suposiciones sobre la velocidad relativa de los procesos o el


número de procesadores.

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

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?

R: La diferencia es que un semáforo binario sólo puede tomar los valores 0 y 1.


Son más sencillos de implementar y puede demostrase que tienen la misma
potencia de expresión que los semáforos generales.

5.10. ¿Cuál es la diferencia entre semáforos fuertes y semáforos débiles?

R: La diferencia es que el semáforo débil no especifica el orden en el que se


retiran los procesos de la cola. Mientras que la robusta emplea la política FIFO en
donde el proceso que ha estado bloqueado durante más tiempo se libera de la
cola.

5.11. ¿Qué es un monitor?

R: Un monitor es son estructuras de un lenguaje de programación que ofrecen una


funcionalidad equivalente a la de los semáforos y que son más fáciles de controlar.
5.12. ¿Cuál es la diferencia entre bloqueante y no bloqueante con respecto a
los mensajes?

- Bloqueante: tanto el emisor como el receptor se bloquean hasta que se entrega


el mensaje; esta técnica se conoce como rendezvous.

- No bloqueante: nadie debe esperar el send no bloqueante es la forma más


natural para muchas tareas de programación concurrente. Por ejemplo si se usa
para solicitar una operación de salida, le permite al proceso solicitante realizar la
solicitud en forma de mensaje y continuar.

5.13. ¿Qué condiciones están asociadas generalmente con el problema


lectores/escritores?

1. Cualquier número de lectores pueden leer el archivo simultáneamente.

2. Sólo puede escribir en el archivo un escritor en cada instante.

3. Si un escritor esta accediendo al archivo, ningún lector puede leerlo.

También podría gustarte