kernel Flashcards

(30 cards)

1
Q

¿Qué es la ejecución directa en un sistema operativo?

A

Los programas tienen acceso completo al hardware sin control ni protección, y el sistema operativo actúa solo como una biblioteca.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Qué problemas presenta la ejecución directa?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Qué es la ejecución directa limitada en los sistemas operativos?

A

Es cuando el hardware limita ciertas operaciones y un programa privilegiado arbitra las operaciones riesgosas para ofrecer protección.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Cómo se diferencia la ejecución directa limitada de la ejecución directa?

A

La ejecución directa limitada restringe ciertas operaciones mediante el hardware y un programa privilegiado arbitra operaciones riesgosas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Qué es el espacio de usuario (User Space)?

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Qué pasa en User space?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Qué es el ‘Kernel Space’?

A

Es el espacio donde el kernel se ejecuta en modo supervisor, con acceso total al hardware y la capacidad de ejecutar instrucciones privilegiadas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Qué es una ‘System Call’?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Cuáles son las características generales de las syscalls?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Qué hacen las ‘instrucciones privilegiadas’?

A

Son instrucciones que solo el kernel puede ejecutar. Si un proceso en espacio de usuario intenta ejecutarlas, el procesador genera una excepción.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Cómo protege el kernel la memoria?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Qué ocurre cuando un proceso en espacio de usuario intenta ejecutar una instrucción privilegiada?

A

El procesador genera una excepción o falla, evitando que el proceso dañe el sistema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Cómo protege el kernel las aplicaciones de usuario?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Cómo funciona el mecanismo de ‘Timer Interrupts’?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Cómo se gestiona la transición de modo en un procesador entre User Mode y Kernel Mode?

A

A través de interrupciones, excepciones del procesador y llamadas al sistema (system calls) que provocan un cambio de modo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Qué es una interrupción en el contexto de la gestión de procesos?

A

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.

17
Q

¿Qué hace el kernel cuando recibe una interrupción?

A

El kernel consulta la tabla de interrupciones, identifica el manejador correspondiente, y ejecuta la rutina de servicio asociada a la interrupción.

18
Q

¿Qué ocurre después de que el kernel maneja una interrupción?

A

Los registros del procesador se restauran, y el control se devuelve al proceso de usuario, regresando a modo usuario.

19
Q

¿Qué es un ‘Vector de Interrupciones’?

A

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.

20
Q

¿Qué son las ‘excepciones del procesador’?

A

Una excepción es un evento de hardware causado por una aplicación de usuario que causa la transferencia del control al Kernel.

21
Q

¿Qué es una system call?

A

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.

22
Q

¿Cómo se realiza una transición de User Mode a Kernel Mode en una system call?

A

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.

23
Q

¿Qué hace la función wrapper cuando se invoca una system call?

A

La función wrapper proporciona los argumentos necesarios para la system call al kernel y los coloca en los registros de la CPU.

24
Q

¿Qué es un ‘trap machine instruction’ y cuál es su propósito en una system call?

A

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.

25
¿Qué hace el kernel cuando recibe un trap de una system call?
El kernel invoca la función 'system_call()', graba los registros en el stack del kernel, verifica la validez del número de system call y ejecuta el servicio correspondiente.
26
¿Qué pasos sigue el kernel después de ejecutar el servicio de una system call?
Restaura los registros desde el stack, agrega el valor de retorno al stack, devuelve el control al wrapper y regresa a modo usuario.
27
¿Qué ocurre si una system call devuelve un error?
La función wrapper establece el valor de error en 'errno'.
28
¿Cómo se identifica una system call en el kernel?
La función wrapper copia el número de la system call en un registro de la CPU (%eax), lo que permite al kernel identificar cuál debe ejecutar.
29
¿Qué ocurre cuando el número de la system call no es válido?
El kernel verifica la validez del número de la system call durante el manejo del trap, antes de ejecutar el servicio correspondiente.
30
¿Cómo se maneja la ejecución de una system call en el kernel?
El kernel utiliza el vector de system calls, ejecuta el servicio correspondiente y devuelve el resultado de estado al wrapper del proceso.