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
- Simplifican los protocolos para la sincronización.
- 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:
- Análisis de requisitos del sistema.
- Análisis de requisitos del sistema.
- Diseño preliminar.
- Diseño detallado.
- Codificación y pruebas.
- 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.