Conceptos Esenciales de Sistemas Operativos: Kernel, Procesos y Gestión de Memoria
Clasificado en Informática
Escrito el en español con un tamaño de 6,04 KB
Conceptos Fundamentales del Sistema Operativo
El Kernel
El Kernel se ubica en una zona especial de memoria. Es un código que realiza funciones esenciales, como manipular registros de la CPU.
Componentes del Kernel
- Gestión de Procesos: Encargado de la creación, planificación y terminación de procesos.
- Gestión de Memoria: Administra la asignación y liberación de memoria para los procesos.
- Gestión de Ficheros: Controla el acceso y la organización de los archivos en el sistema de almacenamiento.
- Gestión de Entrada/Salida: Maneja la comunicación entre el sistema operativo y los dispositivos de hardware.
Gestión de Procesos en Sistemas Operativos
Gestión de Procesos
La Gestión de Procesos es la función del Sistema Operativo que crea una imagen del programa en memoria, copiando el código objeto en la RAM. Posteriormente, la CPU accede al programa, momento en el que este se convierte en un proceso.
Bloque de Control de Proceso (BCP)
El Bloque de Control de Proceso (BCP) es una ficha que contiene información detallada sobre un proceso y se almacena en la zona del kernel. Incluye metadatos como el PID (ID de Proceso), recursos asignados, localización en memoria, propietario, prioridad, entre otros.
Bloqueo de Procesos
Un Bloqueo ocurre cuando un proceso requiere una condición que el sistema no puede satisfacer en ese momento, deteniendo temporalmente su ejecución.
Deadlock (Interbloqueo)
El Deadlock, o interbloqueo, es un bloqueo mutuo en el que dos o más procesos están esperando indefinidamente un recurso que está siendo retenido por otro proceso del mismo conjunto. Ambos quedan bloqueados indefinidamente.
Llamada al Sistema (System Call)
Una Llamada al Sistema (System Call) es el mecanismo mediante el cual un proceso invoca una función del sistema operativo utilizando una instrucción de salto.
Interrupción
Una Interrupción es una señal eléctrica que se activa en la CPU. La CPU detiene la tarea actual y salta a una dirección de memoria específica para ejecutar una rutina de interrupción asociada a esa señal.
Planificador de CPU
El Planificador de CPU es una parte fundamental del Sistema Operativo que gestiona el tiempo de la CPU entre los diferentes procesos activos. Para su funcionamiento, utiliza una Tabla de Procesos, una Cola de Procesos y los Bloques de Control de Proceso.
Cambio de Contexto y Sincronización de Procesos
Cambio de Contexto
El Cambio de Contexto es el proceso mediante el cual la CPU cambia de un proceso a otro. Los pasos son:
- Se activa una interrupción de temporizador.
- El planificador selecciona el proceso a expulsar.
- Se almacena el estado del proceso saliente en su Bloque de Control de Proceso.
- El planificador calcula y selecciona el siguiente proceso entrante.
- Se restaura el estado del proceso entrante desde su Bloque de Control de Proceso.
- El proceso entrante continúa su ejecución.
Sincronización de Procesos (IPC)
La Sincronización de Procesos permite que dos o más procesos concurrentes se ejecuten de manera coordinada (Comunicación entre Procesos - IPC). Esto a menudo implica la creación de bloqueos artificiales, utilizados por los programadores para evitar condiciones de carrera y asegurar la integridad de los datos.
Gestión de Memoria en Sistemas Operativos
El Gestor de Memoria
El Gestor de Memoria es el componente del Sistema Operativo encargado de asignar y desasignar espacio de memoria a los procesos. Aloja los procesos en la memoria principal (RAM), mientras que otros programas y datos residen en memorias secundarias de almacenamiento permanente (como discos duros). La jerarquía de memoria incluye:
- Registros
- Caché
- RAM (Memoria de Acceso Aleatorio)
- HD (Disco Duro)
Mapa de Memoria
El Mapa de Memoria representa todas las direcciones de memoria utilizadas por un proceso. Un proceso se guarda en memoria como una imagen que incluye sus datos de programa e instrucciones de programa.
Principios de Asignación de Memoria
Al asignar memoria, el sistema debe garantizar:
- Protección: Cada proceso debe hacer uso exclusivo de su propio espacio de memoria, sin interferir con otros.
- Movilidad: Los procesos deben poder cargarse en diferentes zonas de memoria y funcionar correctamente.
- Sobreasignación: La capacidad de asignar más espacio de memoria virtual del que está físicamente disponible.
Memoria Virtual
La Memoria Virtual permite que los procesos utilicen un espacio de direcciones lógicas, mientras que la memoria y la CPU operan con direcciones físicas. La memoria virtual no depende directamente del bus de direcciones físicas, y su tamaño puede ser configurado según las necesidades del sistema.
Unidad de Gestión de Memoria (MMU)
La Unidad de Gestión de Memoria (MMU) es un chip de hardware ubicado en el procesador que se encarga de realizar las traducciones y asignaciones entre direcciones de memoria virtual y direcciones de memoria física.
Paginación
La Paginación es una técnica de gestión de memoria que permite la sobreasignación. Consiste en dividir los procesos cargados en memoria en unidades lógicas llamadas 'páginas' (fragmentos de tamaño fijo). La memoria física, por su parte, se divide en 'marcos' (frames) del mismo tamaño que las páginas. Esto asegura que cualquier página pueda encajar en cualquier marco disponible. La asignación de páginas a marcos se realiza bajo demanda.