Está en la página 1de 4

ALUMNO : Jhonny Eysten Shapiama Alvarado

ASIGNATURA : Sistema Operativo


CUESTIONES DE REPASO – CAPÍTULO V
5.1. Enumere cuatro elementos de diseño para los cuales es necesario el
concepto de concurrencia.
5.1.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.
5.1.2. El sistema operativo debe asignar y retirar los distintos recursos a cada
proceso activo. Entre estos recursos se incluyen:
o Tiempo de procesador: es la función de planificación, tratada en la
parte Cuatro.
o Memoria: la mayoría de los sistemas operativos emplean esquemas
de memoria virtual.
o Archivos.
o Dispositivos de E/S.
5.1.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.
5.1.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 se presenta la concurrencia?


5.2.1. La concurrencia puede presentarse en tres contextos diferentes:
o 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.
o 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.
o 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áles son los requisitos básicos para la ejecución de procesos


concurrentes?
5.3.1. Tiempo de procesador: es la función de planificación, tratada en la parte
cuatro.
5.3.2. Memoria: la mayoría de los sistemas operativos emplean esquemas de
memoria virtual.
5.3.3. Archivos.
5.3.4. Dispositivos de E/S.
5.4. Enumere tres niveles de conocimiento entre procesos y defina
brevemente cada uno de ellos.
5.4.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).
5.4.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.
5.4.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 en


cooperación?
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 a la competencia


entre procesos y defina brevemente cada uno de ellos.
5.6.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 ordenes al dispositivo de E/S, recibiendo
información de estado, y enviando o recibiendo datos.
5.6.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.
5.6.3. Inanición: Tres procesos p1, p2 y p3 necesitan acceder periódicamente
al recurso R.

5.7. Enumere los requisitos para la exclusión mutua


5.7.1. Los requisitos para la exclusión mutua son:
o 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.
o Un proceso que se interrumpe en una sección no critica debe hacerlo
sin interferir con los otros procesos.
o Un proceso no debe poder solicitar acceso a una sección critica para
después ser demorado indefinidamente; no puede permitirse el
interbloqueo o la inanición.
o Cuando ningún proceso está en su sección critica cualquier proceso
que solicite entrar en la suya debe poder hacerlo sin dilación.
o No se deben hacer suposiciones sobre la velocidad relativa de los
procesos o el número de procesadores.
o Un proceso permanece en su sección crítica sólo por un tiempo
finito.

5.8. ¿Qué operaciones se pueden hacer sobre un semáforo?


5.8.1. Las operaciones que se pueden realizar sobre un semáforo son:
o Un semáforo puede iniciarse con un valor no negativo.
o La operación wait disminuye el valor del semáforo. Si el valor se
hace negativo, el proceso que ejecuta el wait se bloquea.
o 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 los semáforos generales y los binarios?


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 los semáforos débiles y los robustos?


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 el robusto 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?


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 bloqueador y no bloqueador con relación a los


mensajes?
5.12.1. La diferencia es que tanto el emisor como el receptor pueden ser
bloqueantes o no bloqueantes:
o Bloqueante: tanto el emisor como el receptor se bloquean hasta que
se entrega el mensaje; esta técnica se conoce como rendezvous.
o 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. ¿Cuáles son las condiciones asociadas en general asociadas con el


problema de las lecturas/escrituras?
5.13.1. Cualquier número de lectores pueden leer el archivo simultáneamente.
5.13.2. Sólo puede escribir en el archivo un escritor en cada instante.
5.13.3. Si un escritor está accediendo al archivo, ningún lector puede leerlo.

También podría gustarte