kernel Flashcards
(30 cards)
¿Qué es la ejecución directa en un sistema operativo?
Los programas tienen acceso completo al hardware sin control ni protección, y el sistema operativo actúa solo como una biblioteca.
¿Qué problemas presenta la ejecución directa?
No hay aislamiento entre programas, lo que permite que un programa modifique a otro o al sistema operativo, además de tener acceso directo al almacenamiento.
¿Qué es la ejecución directa limitada en los sistemas operativos?
Es cuando el hardware limita ciertas operaciones y un programa privilegiado arbitra las operaciones riesgosas para ofrecer protección.
¿Cómo se diferencia la ejecución directa limitada de la ejecución directa?
La ejecución directa limitada restringe ciertas operaciones mediante el hardware y un programa privilegiado arbitra operaciones riesgosas.
¿Qué es el espacio de usuario (User Space)?
Es el entorno donde se ejecutan las aplicaciones de usuario (procesos), que no pueden ejecutar instrucciones privilegiadas ni acceso al control del hardware directamente, y donde cada proceso tiene su propia memoria (instrucciones, datos, stack, heap).
¿Qué pasa en User space?
Los procesos se ejecutan en un contexto: Aislado, Protegido, Restringido. Mediante el uso de funciones que se encuentran en bibliotecas pueden utilizar los servicios de acceso al hardware o recursos que el kernel proporciona.
¿Qué es el ‘Kernel Space’?
Es el espacio donde el kernel se ejecuta en modo supervisor, con acceso total al hardware y la capacidad de ejecutar instrucciones privilegiadas.
¿Qué es una ‘System Call’?
Es un punto de entrada controlado al kernel que permite a un proceso en modo usuario solicitar que el kernel realice operaciones en su nombre.
¿Cuáles son las características generales de las syscalls?
Cambia el modo del procesador de user mode a kernel mode, por ende la CPU podrá acceder al área protegida del kernel.
El conjunto de system calls es fijo.
Tienen un conjunto de parámetros que especifican información que debe ser transferida desde el user space al kernel space.
¿Qué hacen las ‘instrucciones privilegiadas’?
Son instrucciones que solo el kernel puede ejecutar. Si un proceso en espacio de usuario intenta ejecutarlas, el procesador genera una excepción.
¿Cómo protege el kernel la memoria?
A través de tablas de páginas que mapean la memoria virtual a la física y protegen el acceso restringido según los permisos.
¿Qué ocurre cuando un proceso en espacio de usuario intenta ejecutar una instrucción privilegiada?
El procesador genera una excepción o falla, evitando que el proceso dañe el sistema.
¿Cómo protege el kernel las aplicaciones de usuario?
Mediante instrucciones privilegiadas que solo el kernel puede ejecutar y protección de memoria, como la gestión de accesos con tablas de páginas.
¿Cómo funciona el mecanismo de ‘Timer Interrupts’?
Cada timer interrumpe a un determinado procesador mediante una interrupción por hardware.
Cuando una interrupción por tiempo se dispara se transfiere el control desde el proceso de usuario al Kernel
¿Cómo se gestiona la transición de modo en un procesador entre User Mode y Kernel Mode?
A través de interrupciones, excepciones del procesador y llamadas al sistema (system calls) que provocan un cambio de modo.
¿Qué es una interrupción en el contexto de la gestión de procesos?
Una interrupción es una señal asincrónica hacia el procesador avisando que algún evento externo requiere su atención, generando un cambio del modo usuario a modo kernel.
¿Qué hace el kernel cuando recibe una interrupción?
El kernel consulta la tabla de interrupciones, identifica el manejador correspondiente, y ejecuta la rutina de servicio asociada a la interrupción.
¿Qué ocurre después de que el kernel maneja una interrupción?
Los registros del procesador se restauran, y el control se devuelve al proceso de usuario, regresando a modo usuario.
¿Qué es un ‘Vector de Interrupciones’?
Es un array en memoria donde cada entrada contiene la dirección de una función de manejo que se ejecuta cuando se recibe una interrupción específica.
¿Qué son las ‘excepciones del procesador’?
Una excepción es un evento de hardware causado por una aplicación de usuario que causa la transferencia del control al Kernel.
¿Qué es una system call?
Es un servicio proporcionado por el kernel que puede ser invocado desde el nivel de usuario, permitiendo la transición de modo de usuario a modo kernel.
¿Cómo se realiza una transición de User Mode a Kernel Mode en una system call?
Mediante una instrucción de máquina que invoca un trap, causando que el procesador pase a kernel mode y ejecute el código correspondiente.
¿Qué hace la función wrapper cuando se invoca una system call?
La función wrapper proporciona los argumentos necesarios para la system call al kernel y los coloca en los registros de la CPU.
¿Qué es un ‘trap machine instruction’ y cuál es su propósito en una system call?
Es una instrucción de código máquina, como ‘int 0x80’ o ‘SYSCALL’, que provoca la transición del procesador de modo usuario a modo kernel y ejecuta el código correspondiente en el kernel.