← SEARCHABLE ARCHIVE
Operating System · 2026-07-11

Diferencia entre el modo kernel y el modo usuario

¿Por qué la CPU otorga permisos diferentes a cada programa?

INTERACTIVE READING MODE →

Los artículos escritos en este blog fueron creados con el objetivo de enseñar. Además, la información del artículo puede ser incorrecta, así que tenga cuidado.

La CPU no ejecuta todo el código con los mismos privilegios. El código central del sistema operativo se ejecuta en modo kernel con altos privilegios y los programas generales se ejecutan en modo de usuario restringido.

Comúnmente conocido como nivel de kernel y nivel de usuario, también suele referirse a esta área de autoridad.

modo de usuario

Aplicaciones como navegadores, juegos y mensajería se ejecutan en modo de usuario.

  • El hardware no se puede controlar directamente.
  • No se puede acceder a la memoria física arbitraria.
  • No se puede leer libremente la memoria de otros procesos.
  • Incluso si ocurre un problema, generalmente sólo se finaliza el proceso relevante.

Dado que cada programa cuenta con un espacio de direcciones virtuales separado, incluso si usan el mismo valor de dirección, en realidad pueden apuntar a memorias diferentes.

modo kernel

El modo kernel le permite ejecutar las instrucciones privilegiadas de la CPU y administrar la memoria y los dispositivos de todo el sistema.

  • Gestiona tablas de páginas y memoria virtual.
  • Maneja las interrupciones.
  • Programe procesos y subprocesos.
  • Ejecute el controlador del dispositivo.
  • Comprueba si la solicitud es correcta y luego realiza operaciones de hardware.

Cuanto mayores sean los privilegios, mayor será el impacto de los errores del modo kernel. Esta es la razón por la que un controlador defectuoso puede provocar que todo el sistema operativo deje de funcionar.

Las dos áreas están conectadas mediante llamadas al sistema.

Cuando un programa de usuario quiere leer un archivo o enviar datos de red, debe realizar una solicitud al kernel.

programa en modo usuario
      ↓ System Call
Verificación de permisos + ingresar al modo kernel
      ↓
Operaciones de archivos, memoria y dispositivos
      ↓
Volver al modo usuario

Cambiar entre el modo de usuario y el modo kernel no es lo mismo que una simple llamada a una función. Debe cambiar los permisos de la CPU, verificar si la dirección y la longitud recibidas por el kernel son seguras y devolver el resultado.

Esto no significa que el modo kernel sea necesariamente más rápido que el modo usuario. La diferencia entre los dos no es la clasificación de velocidad, sino la diferencia en los permisos para los comandos que se pueden ejecutar y los recursos a los que se puede acceder.

La razón de este límite no es hacerte sentir incómodo. Esto es para evitar que errores o ataques en programas generales tomen directamente el control de toda la computadora.