Operaciones de modo dual en el sistema operativo

Un error en un programa puede afectar negativamente a muchos procesos, puede modificar datos de otro programa o también puede afectar el sistema operativo. Por ejemplo, si un proceso se atasca en el ciclo infinito, este ciclo infinito podría afectar el correcto funcionamiento de otros procesos. Así que para garantizar la correcta ejecución del sistema operativo, existen dos modos de funcionamiento: 

Modo de usuario: 
cuando el sistema informático se ejecuta mediante aplicaciones de usuario, como la creación de un documento de texto o el uso de cualquier programa de aplicación, entonces el sistema está en modo de usuario. Cuando la aplicación del usuario solicita un servicio del sistema operativo o se produce una interrupción o una llamada al sistema , habrá una transición del modo usuario al modo kernel para cumplir con las requests. 
Nota: Para cambiar del modo kernel al modo usuario, el bit de modo debe ser 1. 

La siguiente imagen describe lo que sucede cuando ocurre una interrupción: 
 

Modo kernel: 
cuando el sistema arranca, el hardware se inicia en modo kernel y cuando se carga el sistema operativo, inicia la aplicación de usuario en modo usuario. Para brindar protección al hardware, tenemos instrucciones privilegiadas que se ejecutan solo en modo kernel. Si el usuario intenta ejecutar una instrucción privilegiada en el modo de usuario, tratará la instrucción como ilegal y atrapará al sistema operativo. Algunas de las instrucciones privilegiadas son: 
 

  1. Manejo de interrupciones
  2. Para cambiar del modo usuario al modo kernel.
  3. Gestión Input-Output.

Nota: Para cambiar del modo de usuario al modo kernel, el bit debe ser 0. 

Lea a continuación: subproceso de nivel de usuario Vs subproceso de nivel de kernel
 

Publicación traducida automáticamente

Artículo escrito por shivani.mittal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *