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.
- ¿Cuáles son algunas aplicaciones nuevas e interesantes que nadie conoce?
- Cortana: ¿Por qué no obtengo la actualización de Cortana para mi sistema operativo Windows 10 (PC)?
- ¿Qué software utilizan los hoteles para realizar un seguimiento de sus reservas?
- ¿Cuál es el mejor software para hacer videos o editar imágenes que no sean Photoshop?
- ¿Cómo se puede agregar un enlace de descarga de un documento de Excel a un sitio web HTML?
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…