Está en la página 1de 5

¿Qué son los anillos en los sistemas

operativos?

Información general
Veremos qué son los anillos de protección en el sistema operativo y por qué los
necesitamos. También discutiremos diferentes niveles de anillos de protección y detalles
de implementación en diferentes arquitecturas de procesador.

¿Qué son los anillos en los sistemas operativos?


Los anillos se introdujeron en el precursor de UNIX, Multics, y tenían 8 anillos para leer,
escribir, ejecutar y llamar. La arquitectura x86 de Intel incorporó la idea de anillos en el
hardware, con 4 anillos correspondientes al anillo 0 para el kernel, 1 y 2 para
controladores de dispositivos y 3 para aplicaciones

Los sistemas operativos tienen varias capas diferentes. Cada una de estas capas tiene
sus propios privilegios. Usamos el término anillos de protección al mencionar este
sistema. Los sistemas operativos administran los recursos de la computadora, como el
tiempo de procesamiento en la CPU y el acceso a la memoria. Cómo las computadoras
ejecutan más de un proceso de software, esto traerá algunos problemas. Los anillos de
protección son una de las soluciones clave para compartir recursos y hardware.

Lo que sucede es que los procesos se ejecutan en estos anillos de protección, donde
cada anillo tiene sus propios derechos de acceso a los recursos. El anillo central tiene el
mayor privilegio. Los de afuera tienen menos privilegios que los de adentro. La siguiente
figura representa los anillos de protección para la arquitectura de procesador x86 ,
que es una de las arquitecturas de procesador más comunes.

Como hemos visto, tiene cuatro anillos numerados del 0 al 3:


¿Por qué los necesitamos?

Existen algunas ventajas y beneficios al implementar anillos de protección en el sistema


operativo.

En primer lugar, protege el sistema contra fallos. Por ejemplo, una aplicación que
usamos en nuestras computadoras puede congelarse o fallar, sin embargo, podemos
recuperarlas reiniciando la aplicación. Errores como estos en anillos superiores son
recuperables.

Porque estos programas no tienen acceso directo a la memoria o la CPU. Solo suena 0,
el kernel tiene acceso directo a los recursos de hardware. De esta forma podremos
reiniciar una aplicación sin perder datos ni provocar un error en la CPU.

Además, los anillos de protección ofrecen mayor seguridad. Por ejemplo, un proceso
puede requerir algunas instrucciones que requieren más recursos de CPU. En tal caso,
este proceso debe solicitar permiso al sistema operativo. El sistema operativo puede
decidir si concede la solicitud o la rechaza. Este proceso protege el sistema de
comportamientos maliciosos.

Niveles de Anillos de Protección

Anillo 0

El kernel, que está en el corazón del sistema operativo y tiene acceso a todo, puede
acceder al Anillo 0. Se dice que el código que se ejecuta aquí está en modo kernel. Los
procesos en modo kernel tienen el potencial de afectar a todo el sistema. Si algo sale mal
aquí, lo más probable es que el sistema falle. Porque este anillo tiene acceso directo
tanto a la CPU como a la memoria del sistema.

Anillo 3

Los procesos de usuario que se ejecutan en modo de usuario tienen acceso al


Anillo 3. Por lo tanto, este es el anillo con menos privilegios. Aquí es donde
encontraremos la mayoría de nuestras aplicaciones informáticas. Dado que este anillo no
tiene ningún acceso a la CPU o la memoria, cualquier instrucción que los involucre debe
pasarse al anillo 0.

Anillo 1 y Anillo 2

Por otro lado, los anillos 1 y 2 ofrecen ventajas únicas de las que carece el anillo 3.
El sistema operativo utiliza el anillo 1 para interactuar con el hardware de la computadora.
Este anillo necesitaría ejecutar comandos como transmitir un vídeo a través de una
cámara en nuestro monitor. Las instrucciones que deben interactuar con el sistema de
almacenamiento, carga o guardado de archivos se almacenan en el anillo 2.

Estos derechos se conocen como permisos de entrada y salida porque implican transferir
datos dentro y fuera de la memoria de trabajo, RAM.

En el anillo 2, por ejemplo, cargar un documento de archivo Excel desde el


almacenamiento. En tal caso, el anillo 3 será el encargado de editar y guardar los datos.

¿Cómo implementar anillos de protección?


La mayoría de las arquitecturas de CPU, como x86, incluyen algún tipo de anillos de
protección. Sin embargo, algunos de los sistemas operativos, como Linux, macOS y
Windows, no utilizan estas funciones en su totalidad. Mientras que Linux y Windows
usan solo el anillo 0 y el anillo 3, algunos otros sistemas operativos pueden usar
tres niveles de protección diferentes.

Por otro lado, ARM 7, que es una de las otras arquitecturas de procesador comunes,
implementa tres niveles de privilegios: aplicación, sistema operativo e hipervisor. ARM 8
implementa cuatro niveles de protección. Además de los niveles existentes en ARM 7,
agrega un nivel de monitor seguro.

Como hemos comentado, el anillo 0 y el anillo 3 son los niveles esenciales, y el


anillo 1 y el anillo 2 son niveles de protección opcionales.

Situación Actual
Los anillos 0 y 3 suelen ser los únicos que se utilizan en los sistemas operativos x86
modernos para la mayoría de los usuarios, con el anillo 0 reservado para operaciones a
nivel de kernel y el anillo 3 para operaciones a nivel de usuario, aunque existen algunas
excepciones; por ejemplo, VirtualBox usa el anillo 1 para permitir el uso de hosts
virtuales. Generalmente, el código en el anillo 3 no puede acceder a la memoria ni a las
operaciones en el anillo 0, aunque esa fue la raíz de los problemas de Spectre y
Meltdown revelados en enero de 2018.

También se ha introducido el 'Anillo -1' para los hipervisores: Intel VT-X y AMD-V añaden
9 instrucciones de código de máquina, introduciendo el concepto de anillo -1. Ring -2
normalmente se denomina SMM (modo de administración del sistema) y se usa para
operaciones de muy bajo nivel, como la administración de energía, y solo lo usa el
firmware del sistema. Se ha utilizado con múltiples exploits para que los rootkits residan
sin que el sistema operativo pueda interferir.

"Anillo -3' fue acuñado para niveles que operan por debajo de eso después de que
Invisible Things demostró un ataque en el chipset Intel Q35 (corregido en Q45 y
posteriores). Esto funcionó asignando los primeros 16 MB de RAM reservados para Intel
Management Engine y funcionó incluso con un dispositivo en estado S3.

Conclusión
Hemos definido los anillos de protección, los propósitos principales de dicho sistema.
También discutimos los diferentes niveles de anillos de protección y sus
responsabilidades. Finalmente, hemos compartido detalles sobre la implementación de
anillos de protección en diferentes arquitecturas de procesadores y sistemas operativos
junto al “State of Art”

También podría gustarte