SO 1 Flashcards

Practica final (61 cards)

1
Q

Cuando ocurre un fallo

A

Es cuando ocurre un problema de computador o sistema de software que desencadena un resultado indeseado.

Fallos

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

Porque el sistema operativo debe ser robusto

A

Debe ser robusto y ofrecer un buen servicio de control de fallos, para poder identificar facilmente el error mostrando codigos, con una descripcion del evento que lo desencadeno para poder encontrar una solucion.

Fallos

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

Que tipos de fallos pueden ocurrir

A
  • Fallo de proteccion de memoria
  • Fallo de pagina
  • Fallo de Segmento

Fallos

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

Como ocurre un fallo de Proteccion de Memoria

A

Se trató de acceder a un área de memoria sin autorización.

Fallos

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

Como ocurre un fallo de pagina

A

Es una secuencia de eventos que ocurren cuando un programa intenta acceder a datos (o código) que está en suespacio de direcciones, pero que no está actualmente ubicado en la RAM del sistema.

Fallos

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

Como ocurre un fallo de segmentacion

A

Ocurre cuando un proceso intenta acceder memoria que no le pertenece o realizar una operación para la cual no cuenta con permisos.

Fallos

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

Que es un SO

A

Es un programa que actua como intermediario entre el usuario y el hardware de un computador. Se “activa” cuando ocurre un evento.

Sistema Operativo

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

Que provee el SO

A

Provee un set de instrucciones a las que aplicaciones pueden llamar para asi interactuar con el hardware.

Sistema Operativo

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

Objetivos del SO

A
  • Ejecutar programas y facilitar la solucion de los problemas del usuario.
  • Hacer un uso conveniente del computador.
  • Usar el computador de forma eficiente.

Sistema Operativo

Se encarga de que todo funcione como debe funcionar y de que lo haga en armonia.

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

Tipos de eventos del SO

A
  • Interrupciones del Hardware (TRAPS)
  • Llamadas al sistema (System Calls)
  • Excepciones
  • Fallos
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Que son las SC

A

Es un mecanismo usado por una aplicación para solicitar un servicio al sistema operativo a través de una interfaz estandarizada

System Call

Cuando realizamos una llamada al sistema se produce un TRAP, y se produce un cambio de permisos de usuario a privilegiado. Ya que se accederá al kernel.

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

como es el procedimiento de la SC

A
  1. Cuando se invoca, la ejecución del proceso es interrumpida y sus datos guardados en su PCB para ejecutarse luego donde quedo.
  2. El procesador comienza a ejecutar las instrucciones para realizar la tarea requerida.
  3. Cuando se finaliza, se retoma al proceso original y continua la ejecución. El retorno del proceso depende del algoritmo de planificación del CPU.

System Call

PCB: Process Control Block
Cuando una system call es invocada, genera una interrupción de software (trap) para que el procesador cambie al modo kernel, donde el sistema operativo puede manejar la solicitud.

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

Como acceden al SO las SC

A

Utilizan TRAPS para acceder al SO

System Call

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

Cual es el proposito de la SC

A

El programa solicita servicios del sistema operativo, como leer/escribir en un archivo, asignar memoria, o comunicarse con dispositivos.

System Call

El programa solicita que el sistema operativo realice algo en su nombre.

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

Quien inicia la SC

A

La aplicación o el programa es quien inicia explícitamente una system call.

System Call

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

Las SC implican cambio de contexto/modo

A

Si. Este cambio es necesario porque el sistema operativo tiene control total sobre los recursos del hardware, y estas operaciones requieren privilegios elevados.

System Call

Cuando se hace una system call, se requiere pasar del modo usuario al modo kernel, ya que muchas de las operaciones solicitadas (por ejemplo, escribir en un disco o acceder a memoria protegida) necesitan permisos que no están disponibles en el modo usuario.

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

Que es TRAPS

A

Es la forma que tiene el hardware de comunicarle la ocurrencia de un evento externo al software.
Son asincrónicas y atendidas por el ISR.

Interrupciones

ISR (Rutinas del Servicio de Interrupción)

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

TRAPS

Que es un evento externo

A

Todas las interacciones del usuario, por ejemplo los dispositivos de entrada salida, el uso de la memoria, etc.

Interrupciones

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

Que es un PIC

process interrump control

A

Es un controlador de interrupciones que cuando ocurre una o muchas interrupciones las prioriza y le avisa al CPU para que este aplique la ISR necesaria para esa interrupcion y despues la CPU le notifique a la PIC que puede seguir con la siguiente interrupcion.

Interrupciones

PIC (Controlador de Interrupciones)

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

Que es ISR

Interrump service rutine

A

Es un programa que determina la naturaleza de la interrupción y lleva a cabo acciones.

Interrupciones

Cuando este finaliza retorna el control al programa interrumpido en el punto en donde ocurrió la interrupción.

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

Que son IRQ

Interrump request

A

Son lineas que llegan al PIC, capaces de avisar al CPU cuando le requiere para realizar una operacion.

Interrupciones

PIC (Controlador de Interrupciones)
Todos los dispositivos que quieren comunicarse con el procesador por medio de interrupciones deben tener un IRQ unico.

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

De que debe ser capaz el PIC

Process Interruption Controler

A

*El PIC debe ser capaz de habilitar o inhibir las IRQ y establecer prioridades entre las mismas.

Interrupciones

IRQ (lineas de interrupcion)

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

Interrupciones

Flujo

A
  1. Termina la ejecucion de la instruccion maquina en curso.
  2. Salva el estado del procesador, PIC y IP en la pila de manera que en la CPU al terminar el TRAP, pueda seguir ejecutando el programa a partir de la ultima instruccion.
  3. La CPU salta a la direccion donde esta almacenada la ISR y ejecuta esa rutina que tiene como objetivo atender al dispositivo que genero la TRAP.
  4. Una vez que termina el procesador restaura el estado que habia guardado en la pila (en el paso 2) y retorna el programa que se estaba usando anteriormente.

Interrupciones

ISR (Interrupt Service Rutine)

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

Interrupciones

Tipos

A
  • Interrupciones de Hardware
  • Excepciones
  • Interrupciones de Software

Interrupciones

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Cuales son las TRAP de Hardware
Son las que se producen generalmente como resultado de una operacion de E/S. Son generadas por las senales que emiten los perifericos para indicarle al procesador que necesitan ser atendidos. | Interrupciones ## Footnote E/S (Entrada/Salida)
26
Que son las Excepciones
Son interrupciones sincronicas, son causadas por una condicion de error en un programa. Son un mecanismo de proteccion que permite garantizar la integridad de los datos almacenados tanto en el espacion de usuario como en el espacio kernel. Si no puede solucionar el error, notifica a la aplicacion/usuario y aborta el mismo. | Interrupciones ## Footnote Por ejemplo una division entre 0 o un acceso invalido a memoria en un proceso de usuario. Genera un cambio de contexto.
27
TRAPS de Software
Son aquellas generadas por un programa mientras este se esta ejecutando. | Interrupciones ## Footnote Son System Calls.
28
Como actuan las TRAPS de software
1. Un programa en ejecucion llega a una instruccion que requiere del SO. 2. Llama al sistema y se interrumpe virtualmente hasta recibir respuesta. 3. Durante la espera las instrucciones que se ejecutaran son del SO, una vez que termine su rutina ordenara reanudar la ejecucion del programa autointerumpido en espera. 4. La ejecucion del programa se reanuda. | Interrupciones ## Footnote Cuando un programa necesita un dato exterior, se detiene y pasa a cumplir con las tareas de recoger ese dato.
29
Como se genera una TRAP
1. Activa el IS utilizando instrucciones que operan sobre el bit de capacitacion de las interrupciones I del RE. 2. Se produce la peticion de interrupcion por parte de algun dispositivo periferico en un instante de tiempo impredecible para la CPU. 3. Finaliza la ejecucion de la instruccion en curso. 4. Salva el estado en la pila, es decir, el PC y el RE. 5. Obtiene la direccion de la ISR a partir del vector de interrupcion (VI), que usualmente se ubica en memoria. 6. Deshabilita las interrupciones ( i = 0 ). 7. Ejecuta la ISR que esta salva de la pila los registros a utilizar, realiza la operacion de E/S y restaura desde la pila los registros utilizados. 8. Finaliza la ISR con la ejecucion de la RTI. 9. Continua la ejecucion del programa interrumpido ( i = 1 ). | Interrupciones ## Footnote 1. IS (interrumption system) (3, 4, 5, 6, 7, 9) Los hace la CPU. PC (Program Counter) RE (Registro de Estado) ISR (Rutina de tratamiento o Rutinas del Servicio de Interrupcion) 6. para que no se vuelva a detectar la misma interrupción y provoque un bucle infinito. (i = 0)
30
# TRAPS Que hace la RTI
Restaura automáticamente el estado de la CPU desde la pila y vuelve al programa interrumpido. | Interrupciones ## Footnote RTI (instruccion de retorno de interrupcion)
31
Cual es el propocito de las Interrupciones de Reloj
El propósito de las interrupciones de reloj es darle intervención al planificador de procesos del SO. Esto significa que estas interrupciones siempre: 1. Invocan al planificador. 2. Permiten que el sistema operativo decida si el proceso en ejecución debe continuar o si debe ceder la CPU a otro proceso (cambio de contexto). | Interrupciones
32
# Interrupciones de Reloj Resguardo del estado de la CPU
Se hace en dos fases: 1. Fase automatica: Sobreescribe el PC y la PSW, para llamar a la ISR. 2. Fase manual: Guarda el resto de los registros, incluyendo los datos. | Interrupciones ## Footnote 1. La hace la CPU. 2. La hace la ISR (software). PSW (Program Status Word)
33
Cuando ocurre un cambio de contexto
Cuando el planificador decide que otro proceso debe tomar el control de la CPU, esto requiere guardar el estado (tomar una foto de la CPU en el PCB), y retaurar el estado del nuevo proceso. | Interrupciones ## Footnote PCB (Process Control Block). El estado almacenado en la PCB del nuevo proceso se carga en la CPU.
34
# Interrupciones de Reloj Pila del proceso
La CPU puede pasar tambien a la pila del proceso de usuario cuando el proceso hace una llamada a una funcion, o a la pila del proceso en kernel cuando este invoca al SO. | Interrupciones
35
# Interrupciones de Reloj Planificador corto plazo
Decide a que proceso hay que darle CPU. | Interrupciones
36
# Interrupciones de Reloj Planificador mediano plazo
Decide que proceso va a volver a estar en memoria principal. | Interrupciones
37
# Interrupciones de Reloj Planificador largo plazo
Decide que proceso va a pasar de la cola de trabajos a la cola de listo que estan esperando que se asigne CPU. | Interrupciones
38
Cuando suceden multiples interrupciones
Cuando un programa recibe datos de una linea de comunicacion e imprime resultados al mismo tiempo. | Interrupciones
39
Inhabilitar las interrupciones ## Footnote Cuando se producen multiples interrupciones se pueden considerar dos alternativas
Ignora cualquier senal de peticion de interrupcion por ese lapso, y quedara pendiente para que el proceso la compruebe una vez que se habiliten de nuevo las interrupciones. Es importante saber que estas se manejan en estricto orden secuencial. | Interrupciones ## Footnote La desventaja es que no tiene en cuenta la prioridad relativa o el grado de urgencia de las interrupciones.
40
Definir prioridades para las interrupciones ## Footnote Cuando se producen multiples interrupciones se pueden considerar dos alternativas
Permite que una interrupcion con mayor prioridad interrumpa la ejecucion de una interrupcion de menor prioridad, guardando el estado de la interrupcion interrumpida en la pila. | Interrupciones ## Footnote Si la interrupcion que se esta ejecutando tiene menor prioridad que esta, simplemente se quedara en espera.
41
# Transferencia de mensajes Que es | Comunicacion entre procesos
Es un metodo general usado para la comunicacion entre procesos. Comunicacion entre procesos Comunicacion entre procesos | Soluciones con bloqueo - Comunicacion entre procesos
42
# Transferencia de mensajes Para que sirve | Comunicacion entre procesos
Sirve para sincronizar procesos que estan en la misma o diferentes maquinas. Comunicacion entre procesos Comunicacion entre procesos | Soluciones con bloqueo - Comunicacion entre procesos
43
# Transferencia de mensajes Cual es su ventaja | Comunicacion entre procesos
La ventaja es que es un metodo asincronico, es decir que permite la comunicacion entre procesos con diferentes arquitecturas o ubicados en diferentes maquinas. | Soluciones con bloqueo - Comunicacion entre procesos
44
# Transferencia de mensajes Quien provee este tipo de solucion | Comunicacion entre procesos
Lo provee el SO, es de bajo nivel. Comunicacion entre procesos Comunicacion entre procesos | Soluciones con bloqueo - Comunicacion entre procesos
45
# Transferencias de mensajes Cuales son las primitivas asociadas | Comunicacion entre procesos
Las primitivas asociadas son 2: * Send(destination, message): envia un mensaje desde un proceso remitente hacia uno receptor o buzon. * Received(source, message): Permite a un proceso receptor leer un mensaje enviado por otro proceso o desde un buzon. Comunicacion entre procesos | Soluciones con bloqueo - Comunicacion entre procesos ## Footnote Si no hay mensajes disponibles el receptor puede bloquearse hasta que llegue un mensaje.
46
# Transferencia de mensajes Que es un buzon | Comunicacion entre procesos
Es un intermediario que permite la comunicacion indirecta entre procesos, estos envian y reciben mensajes a travez de un buzon. Los mensajes se depocitan en el buzon y quedan ahi hasta que el receptor los recoja. | Soluciones con bloqueo - Comunicacion entre procesos
47
# Transferencia de mensajes Con principio de cita | Comunicacion entre procesos
El emisor y el receptor deben conocerce mutuamente para que el intercambio de mensajes ocurra. El mensaje se envia directamente del proceso emisor al proceso receptor sin intermediarios como buzones o colas. Ambas partes deben estar listas; el emisor para enviar y el receptor para recibir. | Soluciones con bloqueo - Comunicacion entre procesos ## Footnote Generalmente el emisor especifica el identificador del receptor. Tienen dependencia mutua.
48
# Transferencia de mensajes Sin principio de cita | Comunicacion entre procesos
La comunicacion es indirecta, no es necesario que se conoscan el emisor y receptor entre si. Se utilizan mecanismos intermedios como buzones o colas de mensajes. | Soluciones con bloqueo - Comunicacion entre procesos
49
# Transferencia de mensajes Que 2 alternativas hay | Comunicacion entre procesos
Una alternativa es que los 2 procesos tienen que encontrarse, el emisor se bloquea hasta que el receptor recibe el mensaje. El receptor se bloquea hasta que el emisor envia el mensaje. La otra alternativa es usar estructuras intermedias, llamadas buzones. | Soluciones con bloqueo - Comunicacion entre procesos
50
# Transferencia de mensajes Como funciona un buzon | Comunicacion entre procesos
El receptor tiene un Buzón al cual son enviados los mensajes. En general es una cola FIFO. Cada recieve() extrae un mensaje del buzón. El proceso receptor se bloquea si no hay mensajes en el buzón. El send() deposita un mensaje en el buzón. Si el buzón esta lleno y el emisor corre un send() se bloquea. | Soluciones con bloqueo - Comunicacion entre procesos ## Footnote Es posible que multiples emisores envíen mensajes a un buzón que es leído por un solo receptor, o que múltiples receptores lean del mismo buzón.
51
# Threads Que es
Son unidades minimas de ejecucion dentro de un proceso. Cada hilo tiene su propia secuancia de instrucciones, PC, conjunto de registros y pila, pero comparten el mimso espacio de direcciones, datos y recursos del proceso al que pertenecen | Threads ## Footnote Pueden ejecutarse en paralelo en sistemas multiprocesador, lo que mejora el rendimiento al dividir el trabajo de un programa entre multiples nucleos de CPU.
52
# Threads Nivel usuario
Son manejados completamente por el espacio de usuario. El SO no tiene conocimiento de la existencia de los hilos, el proceso principal es tratado como una unica unidad. | Threads
53
# Threads Nivel kernel
Los hilos son implementados directamente por el kernel del SO. Cada hilo es reconocido como una entidad independiente, con su propio estado y planificacion. | Threads
54
# Threads Ventajas de nivel usuario
* Se puede implementar en cualquier SO, mas allá de que acepte o no hilos. * Se puede hacer planificacion especifica, es decir, que cada proceso tenga un algoritmo de planificacion personalizado propio, lo que significa que los hilos no van a ser interrumpidos en momentos inconvenientes. * Son portables. | threads ## Footnote * Portabilidad. * Planificacion personalizada. * Bajo costo. * Sin cambios en el SO.
55
# Threads Desventajas de nivel usuario
* Cuando hay SC con bloqueo, la mayoria bloquean el proceso entero, pq el SO no sabe que hay multiples threads. * No se pueden cambiar todas las SC a sin bloqueo. * Cuando un hilo provoca un fallo de pagina, el kernel va a bloquear todo el proceso mientras se busca la instruccion. * El kernel no les puede asignar CPU por lo cual no pueden ser utilizados eficientemente. | Threads ## Footnote * Bloqueo de procesos. * Falta de soporte para multiprocesamiento real. * Fallo de pagina.
56
# Threads Ventajas a nivel kernel
* El kernel puede asignar diferentes hilos de un mismo proceso a diferentes nucleos, aprovechando mejor el hardware. * Si un hilo se bloquea, los demas hilos del proceso pueden seguir ejecutandose. * El kernel puede manejar senales de manera mas eficiente a nivel thread. | Threads ## Footnote * Soporte para multiprocesamiento real. * No bloquea todo el proceso. * Gestion de senales.
57
# Threads Desventajas a nivel kernel
* Las SC son costosas, por lo que si las operaciones de hilos son comunes va a haber sobrecarga. * Las senales se envian a procesos, lo que puede ghenerar conflictos si varios hilos las esperan. Ademas, al hacer un fork, puede haber confucion sobre que hilos deben duplicarse. * La administracion de hilos por parte del kernel puede ser mas complicada y costosa. | Threads ## Footnote * Mayor sobrecarga. * Problemas con senales y fork. * Complejidad.
58
# Planificacion de la CPU Round Robin | Round Robin (RR)
Es un enfoque de planificacion equitatiba que asigna un quantum de tiempo fijo a cada proceso para ser ejecutado en la CPU. si el proceso no finaliza dentro de su quantum, se mueve al final de la cola de procesos listos para ser atendido nuevamente en el proximo ciclo. | Planificacion de la CPU
59
# Planificacion de la CPU Caracteristicas principales del RR
* Asignacion de quantum fijo. * Los procesos se organizan en una cola FIFO. * Disenado para sistemas interactivos. | Planificacion de la CPU ## Footnote Round Robin (RR) FIFO (First-In, First-Out)
60
# Planificacion de la CPU Ventajas de RR
* Equidad: cada proceso obtiene tiempo en la CPU de manera regular. * Baja latencia: Los procesos cortos reciben atencion rapidamente. * Simplicidad: Facil de implementar y entender. | Round Robin
61
# Planificacion de la CPU Implementacion de RR en un sistema con multiples prioridades
Se usa RR dentro de cada cola de prioridad. La CPU alterna entre las colas para asegurar que las de baja prioridad tambien reciban tiempo. | Round Robin (RR) ## Footnote Por ejemplo, cada cola podria ejecutarse durante un intervalo fijo antes de pasar a la siguiente.