SSOO Flashcards

(8 cards)

1
Q

Modos. Objetivo.

A

Hay instrucciones privilegiadas que manejan recursos de I/O o son instrucciones críticas. Y las
instrucciones no privilegiadas. Como se debe proteger al SO de las injerencias de programas de
usuario, se definen dos modos de ejecución

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

Modo usuario

A

Utilizado por los programas.
- El usuario no puede ejecutar instrucciones privilegiadas ni acceder a ciertas áreas de
memoria.
- Las instrucciones de programas se ejecutan en modo usuario.

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

Modo kernel

A

El usuario puede ejecutar todas las instrucciones y acceder a áreas protegidas de la
memoria.
- Las instrucciones del SO son en modo Kernel.
- El SO siempre empieza ejecutando en modo Kernel.

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

Cuando hay un cambio de modo? Quien lo indica?

A

El PSW indica el modo de ejecución en el que estamos.
- De user a kernel: Interrupción o Syscall
- Kernel a user: Interrupción privilegiada (la que permite volver a user) y Restaurando contexto

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

Syscall

A

Son el mecanismo seguro y controlado con el que permite a un programa en user mode solicite servicios de kernel mode (modo de instrucciones privilegiadas) temporalmente para efectuarse.

Son invocadas por programas en modo usuario para pedir servicios al kernel.
- Son instrucciones atómicas.
- Son solicitudes sincrónicas (las hace un programa deliberadamente).
- Hay 2 tipos de syscalls: bloqueante y no bloqueante.

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

Syscalls y cambio de estado/modo

A

Todas las syscalls implican cambios de modo (2: user → kernel → user).

No todas las syscalls causan un cambio de contexto (solo las que llevan al scheduler a cambiar de proceso).

Las interrupciones y syscalls siempre se atienden en modo kernel, pero el cambio de contexto depende de la política del scheduler.

¿Cuándo hay cambio de contexto en una syscall?
→ Cuando el kernel decide desalojar el proceso actual (por bloqueo, prioridad, tiempo de CPU agotado, etc.).

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

Que es un wrapper?

A

Son contenedores de syscalls, empaquetadas.
(+) portabilidad y seguridad
(-) eficiencia y flexibilidad.

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

Que produce una syscall?

A
  1. Cambio a Modo Kernel Ejecución del manejador.
  2. El kernel identifica a la syscall y ejecuta su código interno.
  3. Acceso a HW, si es necesario (leer disco, escribir en pantalla) -Puede haber una interrupción
  4. Retorno a user mode.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly