Conceptos Fundamentales de Sistemas Operativos: Concurrencia, Memoria y Procesos
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 5,09 KB
Concurrencia, Exclusión Mutua y Sincronización
- Concurrencia: Implica comunicación entre procesos, compartición de recursos, sincronización de actividades y asignación de tiempo de procesador.
- Condición de carrera: Ocurre cuando varios procesos acceden a los mismos datos y el resultado depende del orden de ejecución.
- Exclusión mutua: Solo un proceso a la vez puede acceder a un recurso compartido, evitando interbloqueos e inanición.
- Semáforos: Mecanismos para gestionar la sincronización entre procesos (pueden ser binarios, débiles o fuertes).
Retención y espera: Un proceso retiene recursos mientras espera otros.
Sin expropiación: Los recursos no pueden quitarse a un proceso.
Espera circular: Los procesos forman una cadena de espera de recursos.
Gestión de Memoria
- Requisitos de gestión: Reubicación, protección, compartición, organización lógica y física.
- Reubicación: Los programas pueden moverse dentro de la memoria según sea necesario.
- Protección: Cada proceso debe estar aislado para evitar accesos no autorizados.
- Compartición: Permite que varios procesos accedan a la misma memoria sin comprometer la protección.
- Paginación y segmentación: Técnicas para gestionar la memoria. La paginación combate la fragmentación interna, mientras que la segmentación se enfrenta a la fragmentación externa.
Procesos
- Definición de proceso: Un programa en ejecución que incluye código, datos y un bloque de control de proceso (BCP) para gestionar su ejecución.
- Swapping: Mueve procesos entre la memoria principal y secundaria cuando se necesitan recursos.
Estrategias de Memoria y Recursos
- Recursos reutilizables: Procesadores, memoria, discos. Solo un proceso puede usarlos a la vez.
- Recursos consumibles: Se crean y destruyen durante su uso (mensajes, señales).
- Particionamiento de memoria:
- Fijo: Divide la memoria en particiones de tamaño fijo (fragmentación interna).
- Dinámico: Asigna a los procesos exactamente la memoria que necesitan (fragmentación externa).
- Algoritmos de asignación de memoria: Primer ajuste, siguiente ajuste, mejor ajuste.
Estrategias para evitar el interbloqueo
- Prevención: Evitar que ocurran las condiciones de interbloqueo.
- Predicción: Evaluar el sistema y bloquear solicitudes si pueden causar interbloqueo.
- Detección: Detectar interbloqueos y recuperar recursos expropiándolos o abortando procesos.
Procesos e Interbloqueo
Condiciones del interbloqueo:
- Exclusión mutua: Solo un proceso accede a un recurso.
- Retención y espera: Un proceso retiene un recurso mientras espera otro.
- Sin expropiación: No se puede forzar a un proceso a liberar un recurso.
- Espera circular: Cada proceso necesita un recurso retenido por otro.
Estados del Proceso
- Nuevo: El proceso acaba de crearse.
- Listo: El proceso está esperando para ser ejecutado.
- Ejecutando: El proceso está en ejecución.
- Bloqueado: El proceso está esperando algún evento (como la finalización de una operación de E/S).
- Suspendido: El proceso está temporalmente fuera de la memoria principal.
Hilos
Un hilo es una unidad más ligera que un proceso y puede compartir recursos del mismo proceso. Los hilos mejoran el rendimiento y permiten la ejecución simultánea en aplicaciones multihilo.
Multiprocesamiento Simétrico (SMP)
En sistemas con múltiples procesadores, cada procesador ejecuta procesos y hilos de forma independiente, lo que aumenta el rendimiento general del sistema.
Sincronización de Hilos
Los hilos de un mismo proceso comparten recursos como memoria y archivos abiertos. La falta de sincronización puede provocar interbloqueos o corrupción de datos.
Requisitos de la Gestión de Memoria
- Reubicación: Mover procesos dentro de la memoria para maximizar el uso del procesador.
- Protección: Cada proceso debe estar protegido contra accesos no autorizados.
- Compartición: Múltiples procesos pueden compartir memoria sin comprometer la protección.
- Organización lógica: La memoria se organiza en módulos, algunos de solo lectura, otros modificables.
- Organización física: La memoria se organiza en niveles (memoria principal y secundaria).