Sistemas Operativos: Funcionamiento de la Gestión de Procesos y Memoria

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 5,05 KB

Teoría: Gestión de Procesos y Memoria

Conceptos Fundamentales

  • Programa vs. Proceso: Un programa es un archivo pasivo en el disco, mientras que un proceso es la instancia activa en la memoria RAM.
  • PCB (Bloque de Control de Procesos): Es la estructura de datos que usa el sistema operativo (SO) para almacenar información vital del proceso. Guarda el PID (identificador del proceso), el estado, los registros de CPU y la información de memoria asignada.
  • Planificadores:
    • Corto plazo: Decide qué proceso obtiene y usa la CPU.
    • Medio plazo: Administra el swapping (intercambio), suspendiendo procesos y enviándolos al disco para liberar memoria RAM.
    • Largo plazo: Carga los procesos desde el disco hacia la memoria RAM.
  • Estados y Ciclos de Vida del Proceso: Los estados son Nuevo, Listo, En ejecución, Bloqueado y Terminado.
    Nota importante: Un proceso nunca pasa de Bloqueado directamente a Ejecución; siempre pasa primero al estado de Listo tras recibir la señal correspondiente.

Niveles de Planificación

  • Largo Plazo: Decide qué procesos se cargan en la memoria RAM desde el disco.
  • Medio Plazo: Administra el swapping (suspende procesos y los envía al disco para liberar memoria RAM).
  • Corto Plazo: Decide qué proceso de la cola de "Listos" obtiene el uso de la CPU.

Sistemas de Partición de Memoria

  • Partición Fija: Genera fragmentación interna (se desperdicia espacio de memoria dentro de la propia partición asignada).
  • Partición Dinámica: Genera fragmentación externa (quedan huecos libres e inútiles entre las particiones asignadas).
  • Paginación: Divide la memoria física en marcos fijos y el proceso en páginas del mismo tamaño. Elimina por completo la fragmentación externa, pero puede dejar una pequeña fragmentación interna en la última página.
  • Segmentación: Divide la memoria en bloques de tamaño variable (segmentos) según la estructura lógica del programa. Elimina la fragmentación interna, pero genera fragmentación externa.

Práctica: Algoritmos de Planificación de CPU

Fórmulas Base

  • Tiempo de Retorno = Tiempo de Finalización - Tiempo de Llegada
  • Tiempo de Espera = Tiempo de Retorno - Tiempo de CPU (Ráfaga)
  • Finalización N° (Orden de terminación de los procesos)

Algoritmos de Planificación

  • FCFS (First-Come, First-Served): Algoritmo no expulsivo (no apropiativo). Los procesos se ejecutan por estricto orden de llegada a la cola de listos.
  • SJF (Shortest Job First): Selecciona y ejecuta primero el proceso que tiene la ráfaga de CPU más corta.
  • SRTF (Shortest Remaining Time First): Variante expulsiva (apropiativa) de SJF. Elige el proceso cuyo tiempo restante de ejecución sea el más corto en cada instante.
  • Round Robin (Turno Rotatorio): Algoritmo expulsivo que asigna a cada proceso un tiempo límite de ejecución denominado Quantum.

Práctica: Gestión de Memoria

Estrategias de Ubicación en Memoria Dinámica (Asignación de Huecos)

  • First-Fit (Primer Ajuste): Asigna el primer bloque disponible con espacio suficiente que se encuentre desde el inicio de la memoria.
  • Best-Fit (Mejor Ajuste): Busca en toda la memoria y asigna el bloque más adecuado, es decir, aquel que deje el hueco sobrante más pequeño posible.
  • Worst-Fit (Peor Ajuste): Asigna siempre el hueco más grande disponible en la memoria.

Paginación (Cálculo de Dirección Física)

  • Número de Página = Dirección Lógica / Tamaño de Página
  • Desplazamiento = Dirección Lógica % Tamaño de Página
  • Dirección Física = (Tamaño de Página * Número de Marco) + Desplazamiento

Segmentación (Cálculo de Dirección Física)

  • Condición de Error: Si el desplazamiento >= Límite, se produce un ERROR por Violación de Segmento (segmentation fault).
  • Dirección Física = Dirección Base + Desplazamiento

Entradas relacionadas: