¿Cómo funcionan varias aplicaciones en un sistema operativo?

Por lo tanto, las aplicaciones se ejecutan en el área de usuario de un sistema operativo. Hoy en día, tenemos un concepto de memoria virtual en el que la memoria se hace para compartir entre diferentes procesos de manera segura. Una vez que se asigna la memoria, las aplicaciones se ejecutan trabajando en su respectivo espacio de direcciones.

NOTA: Por aplicación, tomamos analogía de un proceso y cada proceso tiene su propio espacio de direcciones.

Ahora, dentro del mismo proceso, puede haber varios subprocesos que se ejecutan todos en paralelo. Un hilo es análogo a un procesador. Multi-threading es una forma de hacer múltiples cosas juntos.

Ahora es el trabajo del sistema operativo ejecutar diferentes procesos y sus respectivos hilos juntos. Por lo general, es un concepto de tiempo compartido donde cada hilo tiene un tiempo cuántico para ejecutarse. Una vez que ese cuanto termina, el procesador y los recursos para el cálculo se asignan a un hilo diferente.

Los subprocesos para diferentes procesos pueden tener diferentes prioridades establecidas por el usuario. Por lo tanto, la programación podría hacerse en consecuencia.

Nota: Es posible que los subprocesos de nivel de usuario tengan diferente prioridad y los subprocesos de nivel de kernel pueden tener diferente prioridad. Entonces, si un hilo queda atrapado en el núcleo, el problema de la inversión de prioridad podría estar allí.

Espero eso ayude.

Un buen enlace:

http://pages.cs.wisc.edu/~dussea…

Es el trabajo del sistema operativo escupir los recursos disponibles entre diferentes tareas. De vuelta en el tiempo de los procesadores de un solo núcleo, le daría a cada tarea una pequeña cantidad de tiempo antes de cambiar a otra tarea. qué tarea estaba activa dependía de cómo funcionaba cada sistema operativo (prioridad fija, rotación, una sola tarea a la vez) …

Ahora es prácticamente lo mismo, excepto que puede ejecutar múltiples tareas en diferentes núcleos al mismo tiempo (aunque UNIX y Linux han admitido la arquitectura de múltiples procesadores durante años antes de que se hicieran los procesadores de núcleos múltiples).