Semáforos, modelo en cascada y exclusión mutua: sincronización de procesos y fases del desarrollo de software

Enviado por aritzcoplas y clasificado en Informática

Escrito el en español con un tamaño de 2,68 KB

Semáforos

Un semáforo es un mecanismo sencillo para la programación de la exclusión mutua y la sincronización por condición. Aportan los siguientes beneficios:

Beneficios

  1. Simplifican los protocolos para la sincronización.
  2. Eliminan la necesidad de bucles de espera ocupada.

Un semáforo es una variable entera no negativa que, aparte de la inicialización, solo puede ser manejada por dos procedimientos. Estos procedimientos se denominarán wait y signal.

Cascada

Fases del modelo en cascada:

  1. Análisis de requisitos del sistema.
  2. Análisis de requisitos del sistema.
  3. Diseño preliminar.
  4. Diseño detallado.
  5. Codificación y pruebas.
  6. Explotación y mantenimiento.

Características generales

  • Cada fase empieza cuando se termina la anterior.
  • Para pasar de una fase a otra se necesita alcanzar todos los objetivos de la etapa previa; se realiza una revisión al final de la fase para comprobarlo.
  • Ayuda a prevenir que se sobrepasen los costes y las fechas de entrega estimados.
  • Al final de cada fase, los técnicos y los usuarios pueden revisar el progreso del proyecto.

Desventajas

  • No refleja el proceso real de la creación de software, ya que en la práctica hay iteraciones que pueden abarcar más de una etapa.
  • Es costoso en tiempo pasar por todo el ciclo porque hay que finalizar una fase para pasar a la siguiente; nos podríamos bloquear en una de las fases y el proyecto no avanzaría.
  • El usuario deberá tener paciencia, ya que el sistema no estará disponible hasta las fases finales.

Exclusión mutua

Sección crítica

Sección crítica: Dentro de un proceso, es una secuencia de sentencias en la que se accede a un recurso no compartible y que se debe ejecutar de forma exclusiva.

Exclusión mutua

Exclusión mutua: La sincronización que se necesita implementar para proteger una sección crítica.

Interbloqueo

Interbloqueo: Teniendo en cuenta que se ejecutan dos procesos: si los dos procesos mantienen sus esperas ocupadas, ninguno podrá salir de la espera porque el otro no puede salir. Esto se conoce como interbloqueo y es un grave error.

Sincronización condicionada

Sincronización condicionada: Es un requisito importante en la sincronización de procesos. Es necesaria cuando un proceso necesita realizar una operación que, para ser realizada adecuadamente, requiere que otro proceso ejecute una acción o esté en un estado definido.

Entradas relacionadas: