¿Cómo gestiona los procesos el Sistema Operativo?
Por Juan Bernal (@bernalcodes)
En el funcionamiento habitual del Sistema Operativo, todo el tiempo se
están gestionando procesos. Lawrence (2023) define la gestión de procesos
como una función del sistema operativo que involucra diferentes tareas como
la creación, programación y terminación de procesos, evitando "puntos muertos".
Podemos hablar de procesos como programas en ejecución, parte
importante, técnicamente fundamental, del sistema operativo moderno. El SO
debe asignar recursos que permitan a los procesos compartir e intercambiar
información. También protege los recursos de cada proceso de otros métodos y
permite la sincronización entre procesos.
Es tarea del sistema operativo el gestionar todos los procesos activos del
sistema. Autores como Silberschatz (2018) y Tanenbaum (2015) se enfocan en teorizar cómo se
realiza el manejo de operaciones, a través de la ejecución de tareas, como la
programación de procesos y la asignación de recursos. Es importante resaltar
el que los procesos manejan ciertos estados que van de la mano con la
gestión eficiente de los mismos:
- Listo: el proceso está listo para ser ejecutado y está esperando
que la CPU le asigne tiempo de ejecución.
- En ejecución: el proceso está siendo ejecutado actualmente por la
CPU.
- Bloqueado: el proceso está esperando a que se complete alguna
operación de entrada/salida (E/S) o que se libere algún recurso.
- Finalizado: el proceso ha terminado su ejecución y ha sido
eliminado del sistema operativo.
- Suspendido: el proceso ha sido suspendido temporalmente y se ha
liberado la memoria que ocupaba. El proceso se puede reanudar más tarde.
- Detenido: el proceso se ha detenido por algún motivo, pero aún no
ha finalizado. En algunos sistemas operativos, este estado se puede usar
para depurar procesos.
Para la correcta gestión de procesos del sistema operativo, este debe
realizar ciertas actividades de alta importancia y complejidad, como
son:
- Creación de procesos: El sistema operativo crea nuevos procesos
cuando un usuario inicia un programa o cuando se inicia un servicio en
segundo plano. Durante la creación de procesos, se asigna un espacio de
memoria para el proceso y se inicializan sus variables.
- Planificación de procesos: El sistema operativo decide qué
proceso debe ejecutarse en la CPU en un momento determinado. La
planificación de procesos se realiza mediante algoritmos de planificación,
que pueden ser basados en prioridades, rondas o tiempo real.
- Asignación de recursos: El sistema operativo asigna los recursos
necesarios para que los procesos se ejecuten de manera adecuada. Por
ejemplo, se asigna la cantidad necesaria de memoria para el proceso y se
le permite acceder a los dispositivos de entrada y salida.
- Sincronización de procesos: Los procesos pueden compartir
recursos, como archivos o memoria. El sistema operativo se encarga de la
sincronización de procesos para evitar conflictos entre ellos y garantizar
la integridad de los datos.
- Terminación de procesos: Cuando un proceso ha terminado de
ejecutarse, el sistema operativo lo elimina de la memoria y libera los
recursos asignados a él.
A continuación un corto pero interesante cuestionario sobre la gestión de procesos, ¡Buena suerte!
Bibliografía utilizada para escribir este post:
- Williams, L. (Enero 31 de 2023). "Process Management in OS: PCB in Operating System". Guru99.
- JavaTPoint. (s.f.) "Process Management in OS". JavaTPoint.
- Silberschatz, A., Galvin, P. B., & Gagne, G. (2018). "Operating system concepts". 10th ed. Wiley.
- The Linux Kernel Documentation. (s.f.). "Process management".
- Tanenbaum, A. S. (2015). "Modern operating systems". 4th ed.
Prentice Hall.
- Arpaci-Dusseau, R. H., & Arpaci-Dusseau, A. C. (2015). "Operating systems: Three easy pieces". Arpaci-Dusseau Books.
- Russinovich, M., Solomon, D., & Ionescu, A. (2012). "Windows internals". 6th ed. Microsoft Press.
- Love, R. (2010). "Linux kernel development". 3rd ed.
Addison-Wesley Professional.
- ACM Digital Library. (s.f.). https://dl.acm.org/
- IEEE Xplore Digital Library. (s.f.). https://ieeexplore.ieee.org/
Comentarios
Publicar un comentario