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