Una Syscall (System Call) es una interfaz programática entre un proceso de aplicación y el kernel del sistema operativo. Representa la única forma en que un programa en user space puede acceder a recursos o realizar operaciones que requieren privilegios elevados, como la manipulación de hardware, la gestión de memoria, la creación de procesos o la interacción con el sistema de archivos. Cuando un programa ejecuta una Syscall, se produce un cambio de contexto del modo de usuario al modo kernel, donde el kernel ejecuta la operación solicitada y luego devuelve el control y el resultado al programa de usuario.

Las Syscalls son fundamentales en todos los sistemas operativos modernos basados en kernel. En sistemas tipo Unix (Linux, macOS, BSD), Syscalls como `open()`, `read()`, `write()`, `fork()`, `execve()`, `socket()`, y `mmap()` son la base de la interacción entre las aplicaciones y el sistema operativo. Las bibliotecas estándar de C (como glibc en Linux) encapsulan estas Syscalls, proporcionando una API de alto nivel para los desarrolladores. Por ejemplo, una llamada a `printf()` en C eventualmente se traduce en una o más Syscalls `write()` para enviar datos a la salida estándar. Docker y otras tecnologías de contenedores se basan intensamente en Syscalls como `clone()`, `pivot_root()`, y `setns()` para aislar procesos y recursos.

Para un Arquitecto de Sistemas, comprender las Syscalls es crucial para el diseño de sistemas de alto rendimiento y alta disponibilidad. El número y la frecuencia de las Syscalls impactan directamente el rendimiento, ya que cada Syscall implica un cambio de contexto costoso entre user space y kernel space. Un exceso de Syscalls puede llevar a cuellos de botella de rendimiento. Los arquitectos deben considerar cómo las aplicaciones interactúan con el kernel, optimizando el uso de E/S asíncrona (ej. `io_uring` en Linux) para reducir la latencia, o diseñando sistemas que minimicen la necesidad de Syscalls frecuentes (ej. caching en user space). Además, la seguridad se ve afectada por las Syscalls; el filtrado de Syscalls (como con seccomp) es una técnica clave para endurecer contenedores y sandboxes, limitando las operaciones que un proceso puede realizar en el kernel y mitigando vectores de ataque.