SO 1 Flashcards

Practica final

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
Q

Cuales son las TRAP de Hardware

A

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

E/S (Entrada/Salida)

26
Q

Que son las Excepciones

A

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

Por ejemplo una division entre 0 o un acceso invalido a memoria en un proceso de usuario.
Genera un cambio de contexto.

27
Q

TRAPS de Software

A

Son aquellas generadas por un programa mientras este se esta ejecutando.

Interrupciones

Son System Calls.

28
Q

Como actuan las TRAPS de software

A
  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

Cuando un programa necesita un dato exterior, se detiene y pasa a cumplir con las tareas de recoger ese dato.

29
Q

Como se genera una TRAP

A
  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

  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)
  2. para que no se vuelva a detectar la misma interrupción y provoque un bucle infinito. (i = 0)
30
Q

TRAPS

Que hace la RTI

A

Restaura automáticamente el estado de la CPU desde la pila y vuelve al programa interrumpido.

Interrupciones

RTI (instruccion de retorno de interrupcion)

31
Q

Cual es el propocito de las Interrupciones de Reloj

A

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
Q

Interrupciones de Reloj

Resguardo del estado de la CPU

A

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

  1. La hace la CPU.
  2. La hace la ISR (software).
    PSW (Program Status Word)
33
Q

Cuando ocurre un cambio de contexto

A

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

PCB (Process Control Block).
El estado almacenado en la PCB del nuevo proceso se carga en la CPU.

34
Q

Interrupciones de Reloj

Pila del proceso

A

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
Q

Interrupciones de Reloj

Planificador corto plazo

A

Decide a que proceso hay que darle CPU.

Interrupciones

36
Q

Interrupciones de Reloj

Planificador mediano plazo

A

Decide que proceso va a volver a estar en memoria principal.

Interrupciones

37
Q

Interrupciones de Reloj

Planificador largo plazo

A

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
Q

Cuando suceden multiples interrupciones

A

Cuando un programa recibe datos de una linea de comunicacion e imprime resultados al mismo tiempo.

Interrupciones

39
Q

Inhabilitar las interrupciones

Cuando se producen multiples interrupciones se pueden considerar dos alternativas

A

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

La desventaja es que no tiene en cuenta la prioridad relativa o el grado de urgencia de las interrupciones.

40
Q

Definir prioridades para las interrupciones

Cuando se producen multiples interrupciones se pueden considerar dos alternativas

A

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

Si la interrupcion que se esta ejecutando tiene menor prioridad que esta, simplemente se quedara en espera.

41
Q

Transferencia de mensajes

Que es

Comunicacion entre procesos

A

Es un metodo general usado para la comunicacion entre procesos.

Comunicacion entre procesos

Comunicacion entre procesos

Soluciones con bloqueo - Comunicacion entre procesos

42
Q

Transferencia de mensajes

Para que sirve

Comunicacion entre procesos

A

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
Q

Transferencia de mensajes

Cual es su ventaja

Comunicacion entre procesos

A

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
Q

Transferencia de mensajes

Quien provee este tipo de solucion

Comunicacion entre procesos

A

Lo provee el SO, es de bajo nivel.

Comunicacion entre procesos

Comunicacion entre procesos

Soluciones con bloqueo - Comunicacion entre procesos

45
Q

Transferencias de mensajes

Cuales son las primitivas asociadas

Comunicacion entre procesos

A

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

Si no hay mensajes disponibles el receptor puede bloquearse hasta que llegue un mensaje.

46
Q

Transferencia de mensajes

Que es un buzon

Comunicacion entre procesos

A

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
Q

Transferencia de mensajes

Con principio de cita

Comunicacion entre procesos

A

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

Generalmente el emisor especifica el identificador del receptor.
Tienen dependencia mutua.

48
Q

Transferencia de mensajes

Sin principio de cita

Comunicacion entre procesos

A

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
Q

Transferencia de mensajes

Que 2 alternativas hay

Comunicacion entre procesos

A

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
Q

Transferencia de mensajes

Como funciona un buzon

Comunicacion entre procesos

A

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

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
Q

Threads

Que es

A

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

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
Q

Threads

Nivel usuario

A

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
Q

Threads

Nivel kernel

A

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
Q

Threads

Ventajas de nivel usuario

A
  • 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

  • Portabilidad.
  • Planificacion personalizada.
  • Bajo costo.
  • Sin cambios en el SO.
55
Q

Threads

Desventajas de nivel usuario

A
  • 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

  • Bloqueo de procesos.
  • Falta de soporte para multiprocesamiento real.
  • Fallo de pagina.
56
Q

Threads

Ventajas a nivel kernel

A
  • 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

  • Soporte para multiprocesamiento real.
  • No bloquea todo el proceso.
  • Gestion de senales.
57
Q

Threads

Desventajas a nivel kernel

A
  • 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

  • Mayor sobrecarga.
  • Problemas con senales y fork.
  • Complejidad.
58
Q

Planificacion de la CPU

Round Robin

Round Robin (RR)

A

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
Q

Planificacion de la CPU

Caracteristicas principales del RR

A
  • Asignacion de quantum fijo.
  • Los procesos se organizan en una cola FIFO.
  • Disenado para sistemas interactivos.

Planificacion de la CPU

Round Robin (RR)
FIFO (First-In, First-Out)

60
Q

Planificacion de la CPU

Ventajas de RR

A
  • 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
Q

Planificacion de la CPU

Implementacion de RR en un sistema con multiples prioridades

A

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)

Por ejemplo, cada cola podria ejecutarse durante un intervalo fijo antes de pasar a la siguiente.