Diagramas de estado de subprocesos, programación e interruptores
Gestión de subprocesos
Si alguna vez ha utilizado la función de guardado en segundo plano de un software de procesamiento de texto, o ha dejado que verifique la gramática mientras escribe, probablemente haya visto hilos en acción. Un hilo en un sistema operativo es una tarea dentro de un proceso dado. El siguiente diagrama muestra un proceso hipotético con varios subprocesos que podría ejecutar el sistema operativo.
![]() |
Esta lección responde a la pregunta fundamental de los hilos y procesos. ¿Cómo mantiene todo organizado el sistema operativo? En otras palabras, ¿cómo programa el sistema operativo los subprocesos y cambia entre ellos?
Para ayudar a comprender cómo se administran los subprocesos, echemos un vistazo a un diagrama de estado de subprocesos , que muestra un flujo visual del procesamiento de subprocesos.
Diagrama de estado del hilo
En su pantalla aparece un diagrama de estado del hilo. Echemos un vistazo más de cerca a los diferentes estados que aparecen en el diagrama.
![]() |
Un subproceso está en el nuevo estado una vez que se ha creado. No requiere ningún recurso de la CPU hasta que realmente se está ejecutando. Ahora, el proceso está consumiendo recursos de la CPU porque está listo para ejecutarse. Sin embargo, está en un estado ejecutable porque podría estar esperando que se ejecute otro subproceso y, por lo tanto, tiene que esperar su turno.
Un subproceso al que no se le permite continuar permanece en un estado bloqueado . Digamos que un subproceso está esperando entrada/salida (E/S), pero nunca obtiene esos recursos, por lo que permanecerá en un estado bloqueado. La buena noticia es que un subproceso bloqueado no utilizará los recursos de la CPU. El hilo no se detiene para siempre. Por ejemplo, si permite el paso de vehículos de emergencia, no significa que se le impedirá para siempre llegar a su destino final. Del mismo modo, aquellos hilos (vehículos de emergencia) que tienen una prioridad más alta se procesan antes que usted. Si un hilo se bloquea, otro hilo se mueve al frente de la línea. Cómo se logra esto se trata en la siguiente sección sobre programación y cambio de contexto.
Finalmente, un subproceso finaliza si finaliza una tarea con éxito o de forma anormal. En este punto, no se utilizan recursos de CPU.
Programación y cambio de subprocesos
Ahora que comprendemos los diferentes estados de un subproceso, profundicemos en el proceso de programación del procesamiento de subprocesos y el cambio entre subprocesos. Primero, echemos un vistazo a la programación.
Un objetivo clave de un sistema operativo es garantizar que la CPU se use de manera eficiente y hasta su capacidad máxima, sin sobrecargarla. La idea básica es procesar las solicitudes rápidamente sin realizar copias de seguridad de los subprocesos ni sobrecargar la CPU.
El sistema operativo llevará a cabo ciertos algoritmos para determinar qué subprocesos se ejecutarán primero y cuáles se moverán al final de la línea. El sistema operativo crea prioridades de programación para estos procesos y subprocesos. Las prioridades de programación y los algoritmos se tratan en otra lección, pero tenga en cuenta que el sistema operativo trabaja muy duro para garantizar que la CPU se utilice de manera eficiente y que los subprocesos se ejecuten de manera efectiva.
Un sistema operativo considera las siguientes prioridades al programar:
- Mantenga la CPU ocupada pero sin sobrecargarla
- Aumente el rendimiento, lo que significa la cantidad de subprocesos que se pueden completar en un período de tiempo determinado
- Reduzca el tiempo que un subproceso tiene que esperar antes de ejecutarse y
- Reduzca el tiempo de respuesta entre el estado de ejecución real y listo para ejecutar de un subproceso
Puede pensar en la programación como una política de un sistema operativo y cambiar como un método para llevar a cabo la política.
Ahora echemos un vistazo al cambio. El proceso de cambiar el control de un subproceso a otro por parte del sistema operativo se denomina cambio de contexto. Esto sucede a nivel del sistema operativo o del kernel. En este caso, el contexto se refiere al estado de un programa y su CPU interna se registra en un momento determinado.
Para realizar un cambio de contexto , la CPU hace lo siguiente:
- Pausa un hilo determinado y almacena su estado o contexto actual en su memoria
- Tome el contexto del siguiente hilo de la memoria y guárdelo en su registro y
- Reanudar el hilo desde donde se detuvo anteriormente
Es como tener una docena de canciones abiertas en una docena de reproductores multimedia diferentes; escuchas una canción, la pausas y luego la reproduces en otro reproductor. Todo esto sucede dentro de la CPU y su propia memoria caché.
Vivimos en un mundo de múltiples tareas y esperamos poder tener varias ventanas abiertas en un momento dado y no sufrir ninguna pérdida de rendimiento. Desafortunadamente, el cambio de contexto es un esfuerzo costoso para un sistema operativo, incluso si solo toma varios nanosegundos para algunos de los cambios. Pero si considera la gran cantidad de procesos y subprocesos que se ejecutan en un sistema operativo, puede sumarse.
Como ejemplo, en su PC, haga clic derecho en la barra de tareas y seleccione ‘Administrador de tareas’. En Windows 10, seleccione ‘Más detalles’ y notará que hay cientos de tareas ejecutándose en un momento dado, y el sistema operativo cambia entre ellas para una utilización efectiva de la CPU.
Resumen de la lección
Tomemos un momento o dos para repasar lo que hemos aprendido. En un sistema operativo, un proceso puede tener cualquier cantidad de subprocesos , que son tareas dentro de un proceso determinado. Un diagrama de estado de subproceso resalta los diferentes estados de un subproceso, que son nuevos, ejecutables, bloqueados y terminados. Un sistema operativo (SO) determinará las prioridades de programación para los subprocesos y mantendrá los subprocesos en movimiento, ya sea rotando a través de la línea o procesando los subprocesos a medida que llegan. El proceso de cambio de subprocesos se denomina cambio de contexto y ocurre en el núcleo del sistema operativo, donde la CPU maneja el cambio, y es un esfuerzo costoso, especialmente cuando se ejecutan numerosos procesos en el sistema operativo.
Articulos relacionados
- ¿Qué son los Trastornos del Estado de Ánimo?
- ¿Cómo se formó el Estado Italiano Moderno?
- ¿Qué son las ciudades-estado italianas y por qué fueron importantes?
- ¿Qué es la Ecuación de Estado de los Gases Reales?
- ¿Cómo llegó California a ser un estado?
- ¿Qué ocurrió durante el golpe de Estado fallido del 23-F en 1981?
- Factores que afectan los hábitos alimentarios y el estado nutricional