Modos de operación de la CPU
2.3. Modos de operación de la CPU
Los fabricantes de procesadores actuales ofrecen procesadores que generalmente disponen de, al menos, dos modos de funcionamiento. El estado del procesador se guarda en conjunto de registros de 8, 16, 32 o 64 bits. Además de ellos, el procesador posee dos registros especiales, el de siguiente instrucción (IP, PC,…) y el de estado (CCR):
No privilegiado
También llamado modo usuario (es preferible no usar este término para no llegar a confusión).
- Modo en el que se ejecutan los procesos y bibliotecas del sistema operativo. En el caso concreto de los sistemas operativos micronúcleos, los servidores también se ejecutan en modo no privilegiado, tales como el servidor de ficheros, el administrador de memoria y los gestores de dispositivo.
- Ofrece únicamente un subconjunto de las instrucciones disponibles.
- Si en éste modo se intenta ejecutar una instrucción privilegiada, el sistema operativo o bien la ignora, o bien lanza una excepción.
Privilegiado
También llamado modo supervisor (no confundir con usuario root).
- Modo en el que se ejecuta el núcleo del sistema operativo.
- Ofrece acceso total a las instrucciones de la CPU.
Un fallo de programación en modo privilegiado puede plantar el SO, en modo no privilegiado nunca pasaría eso. Precisamente esa es la utilidad de tener varios modos de ejecución, la construcción de un sistema robusto. En la práctica, lo usual es que los procesadores tengan modos intermedios entre usuario y supervisor. La transición de modo supervisor a usuario es arbitraria, mientras que de usuario a supervisor se realiza mediante una interrupción. La CPU siempre arranca en modo supervisor, lo cual se intuye, pues en el inicio del dispositivo, se tendrá que ejecutar código del sistema operativo.