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

  1. Prevención: Evitar que ocurran las condiciones de interbloqueo.
  2. Predicción: Evaluar el sistema y bloquear solicitudes si pueden causar interbloqueo.
  3. 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).

Entradas relacionadas: