Una system call (syscall) es el mecanismo que usa un programa de user-space para pedir un servicio al kernel — abrir un archivo, enviar datos de red, reservar memoria, crear un proceso. Como estas acciones tocan el hardware o afectan a otros procesos, solo el kernel puede realizarlas, así que una syscall cruza deliberadamente la frontera de protección.
User mode vs kernel mode
La CPU se ejecuta en uno de (al menos) dos niveles de privilegio:
user mode → restringido: sin acceso directo al hardware, sin instrucciones privilegiadas
kernel mode → acceso total: hardware, toda la memoria, instrucciones de CPU privilegiadas
