Conceptos Esenciales de Sistemas Operativos: Procesos, Memoria y Planificación de CPU
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 5,4 KB
Gestión de Procesos: Estados y Transiciones
Los procesos en un sistema operativo pueden encontrarse en diferentes estados:
Estados Fundamentales de un Proceso
- Ejecución: El proceso está ejecutando las instrucciones que componen el programa y tiene concedido el tiempo de uso de la UCP en un instante concreto.
- Preparado: El proceso está listo para ser ejecutado, esperando su turno para utilizar su intervalo de tiempo y acceder a los recursos del sistema.
- Bloqueado: El proceso está retenido o bloqueado, esperando que ocurra algún evento (por ejemplo, la finalización de una operación de E/S).
Transiciones entre Estados
- Transición A (Ejecución a Bloqueado):
- Ocurre cuando el programa en ejecución necesita algún elemento, señal o recurso externo para poder continuar ejecutándose (por ejemplo, una operación de entrada/salida).
- Transición B (Ejecución a Preparado):
- Sucede cuando un programa o proceso ha utilizado el tiempo asignado (quantum) por la UCP para su ejecución y debe ceder el paso al siguiente proceso.
- Transición C (Preparado a Ejecución):
- Se da cuando un proceso en estado preparado pasa a ejecución, es decir, cuando el planificador le asigna un nuevo turno de tiempo de la UCP para que pueda ejecutarse.
- Transición D (Bloqueado a Preparado):
- Ocurre cuando el proceso recibe la orden o señal que estaba esperando (el evento se completa), permitiéndole pasar al estado preparado y, posteriormente, tras la transición C, a ejecución.
Bloque de Control de Proceso (BCP) y Multihilo
Bloque de Control de Proceso (BCP)
El BCP (Process Control Block) es una estructura de datos asignada a un proceso en ejecución que sirve para controlar su correcta operación. Almacena información esencial, como:
- Estado actual del proceso: Indica si está en ejecución, preparado o bloqueado.
- Identificador del proceso (PID): Número único asignado a cada proceso.
- Prioridad del proceso: Valor asignado por el planificador para determinar el orden de ejecución.
- Ubicación en memoria: Dirección de memoria donde se carga el proceso.
- Recursos utilizados: Recursos de hardware (HW) y software (SW) necesarios para su ejecución.
Concepto de Hilo (Thread)
Un hilo es un punto de ejecución dentro de un proceso. Es un subproceso que, aunque consume recursos propios, depende del proceso padre que lo ha generado. Los hilos permiten la concurrencia dentro de un mismo programa.
Técnicas de Gestión de Memoria
Paginación
La paginación es una técnica de gestión de memoria que consiste en dividir la memoria RAM en zonas de igual tamaño llamadas Frames o Marcos. De manera análoga, los programas se dividen en partes de idéntico tamaño llamadas páginas.
Memoria Virtual y Swapping
- Espacio de Swap:
- Reside en una zona específica del disco duro, reservada exclusivamente para el intercambio de datos de memoria, donde no se pueden grabar programas ni datos de usuario.
- Memoria Virtual:
- Es un concepto que permite al sistema operativo utilizar el espacio de almacenamiento secundario (disco duro) como si fuera parte de la memoria principal. En la implementación de la memoria virtual, la parte del disco dedicada a esta función no siempre está diferenciada de la parte dedicada al almacenamiento de programas y datos. Si el disco duro está muy lleno, la gestión de la memoria virtual puede volverse ineficiente.
- Intercambio de Memoria (Swapping):
- Se realiza utilizando memorias externas, generalmente discos duros o dispositivos de almacenamiento conectados al equipo. Estos son más lentos que la RAM, pero ofrecen una "capacidad ilimitada" al poder ampliarse fácilmente.
Algoritmos de Planificación de la UCP (Scheduling)
Estos algoritmos determinan el orden en que los procesos acceden a la Unidad Central de Procesamiento (UCP):
- Round Robin (RR):
- Asigna rotativamente tiempos de ejecución (quantum) iguales a los diferentes procesos de forma secuencial. Es un algoritmo preventivo.
- First-Come, First-Served (FCFS):
- Al primer proceso que llega se le asignan tiempos o ciclos de UCP hasta que termina completamente. A continuación, se ejecuta por completo el siguiente proceso, y así sucesivamente hasta terminar con el último proceso.
- Shortest Remaining Time (SRT):
- Este algoritmo permite asignar el tiempo de ejecución de forma prioritaria a los procesos más cortos con el fin de ejecutarlos en el menor tiempo posible. Es una versión preventiva del SJF (Shortest Job First).
- Shortest Remaining Time First (SRTF):
- Cuando llega un nuevo proceso, se estiman los ciclos que le quedan tanto al proceso en ejecución como a los que están en espera. De la cola, se ejecutará el proceso que tenga menos ciclos pendientes de terminar, y así sucesivamente hasta finalizar con todos.