SO

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 2

 Demuestre que si las operaciones signal y wait de un semáforo no

se ejecutan atómicamente, el semáforo no funciona correctamente.

Las operaciones wait y signal son fundamentales para el correcto


funcionamiento de un semáforo, y deben ejecutarse de manera atómica (es
decir, sin interrupciones) para asegurar la exclusión mutua en la sección
crítica. Si alguna de estas operaciones no es atómica, podrían producirse las
siguientes situaciones:

 Interrupciones: Si un proceso es interrumpido después de haber


realizado una parte de la operación wait, pero antes de completar la
operación, otro proceso podría ejecutar también wait y entrar en la
sección crítica. Esto rompería la exclusión mutua, ya que dos procesos
estarían accediendo a la sección crítica simultáneamente.

 Inconsistencias: Los semáforos utilizan contadores para gestionar los


accesos a los recursos compartidos. Si la operación no es atómica, el
valor del contador podría ser inconsistente debido a interrupciones o
cambios de contexto entre procesos.

En resumen, sin atomicidad, se pierde el control adecuado sobre el acceso a


los recursos, lo que lleva a errores en la sincronización de los procesos.

 Demuestre si el algoritmo proporcionado para resolver el


problema de la sección crítica para N procesos es correcto o no.

El algoritmo proporcionado utiliza una combinación de las variables


eleccion[k] y numero[k] para asegurar que solo un proceso puede entrar en
la sección crítica. Vamos a verificar si cumple con los tres requisitos de una
solución a la sección crítica:

 Exclusión mutua: Se asegura que solo un proceso entra en la sección


crítica porque cada proceso asigna un número a su turno y los demás
esperan si otro tiene un número menor. Esto parece cumplir con la
exclusión mutua.

 Progreso: El algoritmo permite que los procesos decidan cuál entra a


la sección crítica basado en su número asignado, y no intervienen
procesos que no están interesados en entrar. Esto garantiza el
progreso.

 Espera limitada: Al usar el número más bajo disponible para decidir


quién entra, se asegura que ningún proceso espere indefinidamente.
Conclusión: El algoritmo es correcto ya que satisface las condiciones de
exclusión mutua, progreso, y espera limitada.

 ¿Por qué se dice que el problema de la sección crítica es un


problema de sincronización entre procesos?

El problema de la sección crítica se refiere a cómo varios procesos pueden


acceder a recursos compartidos (variables, memoria, etc.) sin interferir entre
sí. La sincronización entre procesos es necesaria porque cuando varios
procesos intentan acceder a la misma sección crítica sin control, puede
haber inconsistencias y corrupción de datos. Por lo tanto, el problema de la
sección crítica es un problema de sincronización, ya que requiere
mecanismos que aseguren que solo un proceso acceda a los recursos
compartidos a la vez.

 ¿Qué es la espera activa dentro de la sincronización de procesos?


¿Por qué es un problema? ¿Cómo se puede resolver?

La espera activa ocurre cuando un proceso intenta entrar a la sección


crítica pero, al no poder hacerlo de inmediato, permanece en un bucle
verificando repetidamente si puede acceder. Este método es ineficiente
porque consume recursos del procesador sin hacer ningún progreso real.

Problema: La espera activa desperdicia ciclos de CPU, ya que el proceso


sigue verificando si puede entrar en lugar de ceder el control y permitir que
otros procesos utilicen la CPU.

Solución: El problema se puede resolver utilizando mecanismos de


sincronización más eficientes, como semáforos, donde un proceso que no
puede entrar en la sección crítica es bloqueado hasta que el recurso esté
disponible, sin necesidad de consumir ciclos de CPU en la espera.

También podría gustarte