1. Recursos Apropiativos
1.1. Definición: Recursos que pueden ser retirados de un proceso sin causar daños o inconsistencias en el sistema. El proceso se detiene temporalmente mientras el recurso es reasignado.
1.1.1. Ejemplos: Memoria RAM. Bloques de disco asignados dinámicamente. Procesadores en sistemas multiprocesadores.
1.1.1.1. Características: Se pueden liberar sin necesidad de que el proceso termine. Permiten reutilización eficiente de recursos.
1.1.1.1.1. Ciclo de uso: Solicitud: El proceso solicita el recurso. Asignación: El sistema otorga el recurso si está disponible. Liberación: El proceso libera el recurso después de su uso.
2. Recursos No Apropiativos
2.1. Definición: Recursos que no pueden ser retirados de un proceso sin provocar fallos en el mismo o en el sistema.
2.1.1. Ejemplos: Grabadora de CD/DVD durante una operación de grabación. Impresora en uso para una impresión específica. Conexión de red persistente en ciertas aplicaciones críticas.
2.1.1.1. Características: Deben permanecer asignados hasta que el proceso termine su ejecución. Pueden causar bloqueos si no son gestionados correctamente.
3. Interbloqueos (Deadlocks)
3.1. Definición: Un estado en el que dos o más procesos se encuentran bloqueados indefinidamente al esperar recursos que están siendo utilizados por otros procesos en el conjunto.
3.1.1. Causas comunes: Uso inadecuado de recursos compartidos. Fallas en la planificación de procesos.
3.1.1.1. Condiciones necesarias para un interbloqueo: Exclusión mutua: Los recursos solo pueden ser utilizados por un proceso a la vez. Retención y espera: Un proceso mantiene recursos asignados mientras espera nuevos recursos. No apropiación: Los recursos no pueden ser forzados a liberarse. Espera circular: Una cadena cerrada de procesos espera recursos de otros procesos en la cadena.
3.1.1.2. Estrategias de prevención: Evitar una o más de las condiciones necesarias para el interbloqueo. Uso de detectores de interbloqueos y algoritmos de recuperación.
4. Condicion Sin Interrupcion
4.1. Definición: Política que permite interrumpir un proceso en ejecución para asignar sus recursos a otro proceso. Se aplica principalmente para prevenir interbloqueos.
4.1.1. Métodos de implementación: Uso de alarmas para detener procesos que no liberan recursos en un tiempo razonable. Planificación preemptiva: El sistema recupera recursos de procesos menos prioritarios para reasignarlos.
4.1.1.1. Ventajas: Mejora la eficiencia del sistema. Minimiza el riesgo de interbloqueos.
4.1.1.2. Desventajas: Incrementa la complejidad de la planificación. Puede impactar el rendimiento de los procesos afectados.