Tema 4 Sistemas Operativos Flashcards

1
Q

Definición de Sistema Operativo

A

Un sistema operativo es un conjunto de programas integrados que tienen como objetivo aprovechar el hardware de una computadora y utilizarlo en forma segura y eficiente. Para lograrlo, se pueden resumir las siguientes funciones básicas:
- Gestionar los recursos de hardware de la computadora (procesador, memoria y periféricos)
- Ser una interfaz entre el usuario y la computadora.
- Ser la plataforma para los programas de aplicación del usuario.

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

Componentes y servicios de un Sistema Operativo

A
  • Gestión de procesos (planificadores)
  • Gestión de memoria (técnicas de paginación, segmentación)
  • Gestión de Entrada/Salida (controladores de dispositivos)
  • Gestión de Archivos/Almacenamiento (sistemas de ficheros)
  • Sistema de Protección (niveles de seguridad)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Clasificación de sistemas operativos en cuanto a la cantidad de usuarios

A
  • Monousuario: Un único usuario a la vez.
  • Multiusuario: Dan servicio a varios usuarios a la vez. Unix, Linux, Windows server.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Clasificación de sistemas operativos en cuanto a la cantidad de tareas simultáneas

A
  • Monotarea: Una sola tarea a la vez. Pueden ser multiusuario y monotarea.
  • Multitarea: Varias tareas a la vez. Suelen tener interfaz gráfica.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Clasificación de sistemas operativos en cuanto a la cantidad de procesos simultáneos

A
  • Uniproceso: Sólo manejan un procesador de la computadora.
  • Multiproceso: Capaces de manejar muchos procesadores.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Cuál es el objetivo de la gestión de memoria?

A
  • Ubicar procesos en memoria
  • Quepa el mayor número de procesos
  • Aprovechar la memoria al máximo (no huecos libres)
  • Separación entre direccionamiento físico y virtual/lógico. Ver concepto MMU
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Dentro de la gestión de memoria ¿qué es la segmentación?

A
  • Dividir el programa en segmentos variables (text, data, stack)
  • Ubicar los segmentos en una zona libre y contigua.
  • Produce fragmentación externa. Puede haber memoria libre (pequeños huecos)
  • Si no entra un fragmento grande hay que defragmentar.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Dentro de la gestión de memoria, ¿qué es la paginación?

A
  • Dividir el programa en bloque de tamaño fijo: Página
  • Dividir la memoria en zonas de tamaño fijo: Marcos
  • Ubicar las páginas en marcos libres.
  • No produce fragmentación externa pero si interna (por ejemplo si el último marco no está lleno)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Qué significa MMU dentro de la gestión de memoria?

A
  • La MMU (unidad de Gestión de memoria), es un dispositivo de hardware formado por un grupo de circuitos integrados, responsable del manejo de los accesos a la memoria por parte de la Unidad de Procesamiento Central (CPU) o procesador. Entre las funciones de este dispositivo se encuentran la traducción de las direcciones lógicas (o virtuales) a direcciones físicas (o reales), la protección de la memoria o el control de caché.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Algoritmos que se utilizan cuando la memoria está llena

A

FIFO
LRU (Least Recently Used)
NRU (NOT Recently Used)

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

En gestión de memoria, ¿cómo funciona el algoritmo FIFO?

A

El algoritmo reemplaza la página que lleva más tiempo en memoria principal

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

En gestión de memoria, ¿cómo funciona el algoritmo LRU?

A

Este algoritmo asocia a cada página el tiempo en que fue referenciada. La página elegida por el algoritmo de reemplazo será la que fue accedida hace más tiempo

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

En gestión de memoria, ¿cómo funciona el algoritmo NRU?

A

En este algoritmo a las páginas se les asigna un bit de referencia y otro de modificación. El bit de referencia se enciende cada vez que se lee la página, mientras que el de modificación solo se enciende cada vez que se escribe. Cada cierto tiempo el bit de referencia es apagado.

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

Describe las categorías del algoritmo NRU sobre la gestión de memoria

A

Categoría 0: No referenciada, No modificada
Categoría 1: No referenciada, modificada
Categoría 2: referenciada, No modificada
Categoría 3: referenciada, modificada
Las mejores páginas para cambiar son las que se encuentran en la categoría 0, mientras que las peores son las de la categoría 3.

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

¿De qué partes se compone un proceso?

A

Un proceso en memoria se constituye de varias secciones/Segmentos:
- Código (Text): instrucciones del proceso.
- Datos (Data): variables globales del proceso.
- Memoria dinámica (Heap): Memoria dinámica que genera el proceso.
- Pila (Stack): utilizado para preservar el estado en la invocación anidada de procedimientos y funciones.

Cuando un proceso se ejecuta, el SO le asigna un espacio de direcciones de memoria (que contiene las instrucciones, los datos y la pila que es una estructura para almacenar y recuperar datos del proceso) y lo añade a la tabla de procesos.

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

Dentro de gestión de procesos, ¿qué es la PCB?

A

El bloque de control del proceso (BCP) o en inglés PCB (Process Control Block) es un registro especial donde el sistema operativo agrupa toda la información que necesita conocer respecto a un proceso particular. Cada vez que se crea un proceso el sistema operativo crea el BCP correspondiente para que sirva como descripción en tiempo de ejecución durante toda la vida del proceso. El PCB almacena la siguiente información sobre el proceso:

  • Identificación de proceso: del proceso en sí (PID), del proceso padre (PPID) y de usuario.
  • Información de estado del proceso: preparado, en ejecución, bloqueado, ….
  • Prioridad del proceso.
  • Dirección de memoria donde se ha cargado el proceso
  • Otros: recursos utilizados, valores de los registros del procesador, propietarios, permisos.
17
Q

¿Cuáles son los estados de un proceso?

A

o Nuevo: Cuando el proceso es creado.
o En Ejecución: El proceso tiene asignado un procesador y está ejecutando sus instrucciones.
o Bloqueado: El proceso está esperando por un evento (que se complete un pedido de E/S o una señal).
o Preparado: El proceso está listo para ejecutar, solo necesita del recurso procesador.
o Terminado: El proceso finalizó su ejecución.

18
Q

¿Qué contiene la lista de procesos del sistema? (job queue)

A

Esta será una lista especial, porque los procesos que están en ella no esperan por nada en particular, sino que es la lista de todos los procesos del sistema. Al crearse un nuevo proceso se agrega el PCB a esta lista. Cuando el proceso termina su ejecución es borrado.

19
Q

¿Qué contiene la cola de procesos listos? (ready queue)

A

Esta cola se compondrá de los procesos que estén en estado listo. La estructura de esta cola dependerá de la estrategia de planificación utilizada.

20
Q

¿Qué contiene la cola de espera de dispositivos? (device queue)

A

Los procesos que esperan por un dispositivo de E/S particular son agrupados en una lista específica al dispositivo. Cada dispositivo de E/S tendrá su cola de espera, por lo que existirán varias device queue.

21
Q

En gestión de procesos, ¿qué significa el cambio de contexto?

A

Para dar sensación de ejecución simultánea o multiprogramación, el tipo de CPU debe repartirse entre los procesos. Esto implica cambios de contexto que consisten en quitarle la CPU al proceso “en ejecución” y asignársela a otro estado “preparado”.
Esta operación la realiza un componente del SO llamado dispatcher o planificador a corto plazo y en ella se guarda el contexto del proceso en ejecución en su PCB y se restaura el contexto del nuevo proceso a ejecutar mediante su PCB.

22
Q

En gestión de procesos, ¿para que sirve el planificador a largo plazo?

A

o Selecciona procesos de la cola de esperando ejecución y los carga a memoria
o Controla el grado de multiprogramación. Es importante que elija un conjunto equilibrado de procesos.
o Se ejecuta con poca frecuencia.

23
Q

En gestión de procesos, ¿para que sirve el planificador a medio plazo?

A

En los sistemas de multiprogramación y tiempo compartido varios procesos residen en la memoria principal. El tamaño limitado de ésta hace que el número de procesos que residen en ella sea finito. Puede ocurrir que todos los procesos en memoria estén bloqueados, desperdiciándose así la CPU. En algunos sistemas se intercambian procesos enteros (swap) entre memoria principal y memoria secundaria (normalmente discos), con esto se aumenta el número de procesos, y, por tanto, la probabilidad de una mayor utilización de la CPU.

El planificador a medio plazo es el encargado de regir las transiciones de procesos entre memoria principal y secundaria, actúa intentando maximizar la utilización de los recursos. Por ejemplo, transfiriendo siempre a memoria secundaria procesos bloqueados, o transfiriendo a memoria principal procesos bloqueados únicamente por no tener memoria.

24
Q

En gestión de procesos, ¿para que sirve el planificador a corto plazo?

A

El Distpacher selecciona entre los procesos preparados en memoria y les asigna la CPU. Se ejecuta con mucha frecuencia.

25
Q

En gestión de procesos, ¿qué significa Scheduler?

A

Se puede definir el scheduling -algunas veces traducido como -planificación- como el conjunto de políticas y mecanismos construidos dentro del sistema operativo que gobiernan la forma de conseguir que los procesos a ejecutar lleguen a ejecutarse. El scheduling está asociado a las cuestiones de:

  • Cuándo introducir un nuevo proceso en el Sistema.
  • Determinar el orden de ejecución de los procesos del sistema.

En resumen, los niveles del Scheduler son el planificador a largo, medio y corto plazo.

26
Q

Dentro de los algoritmos de planificación a corto plazo, ¿que tipos de planificación hay?

A
  • Planificación no apropiativa (non-preemptive):
    Algoritmos no expulsivos.
    Los procesos se ejecutan hasta que terminan o se bloquean.
  • Planificación aproviativa (preemptive):
    o Algoritmos expulsivos.
    o Los procesos pueden ser expulsados de la CPU.
27
Q

¿Qué tipos de algoritmos de planificación de procesos hay?

A
  • FCFS (First Come First Served)
  • SJF (Shorterest Job First)
  • SRTF (Shortest Remaining Time First)
  • Round Robin
  • Multilevel Queue
28
Q

Dentro de los algoritmos de planificación, ¿cuáles son no apropiativos?

A

FCFS (First Come First Served) y SJF (Shorterest Job First)

29
Q

Dentro de los algoritmos de planificación, ¿cuáles son apropiativos?

A

SRTF (Shortest Remaining Time First)
Round Robin
Multilevel Queue

30
Q

¿En que consiste el algoritmo de planificación de procesos FCFS?

A

(First Come First Served) – No Apropiativo: La CPU es asignada a los procesos en el mismo orden que lo solicitan.

31
Q

¿En que consiste el algoritmo de planificación de procesos SJF?

A

(Shorterest Job First) – No Apropiativo: Primero se ejecuta el que menos tiempo total de CPU requiere. Es necesario saber los tiempos con antelación. Se escoge el proceso de la cola de preparados con una próxima racha de CPU más corta y se ejecuta hasta que se termine o se suspenda.

32
Q

¿En que consiste el algoritmo de planificación de procesos SRJF?

A

(Shortest Remaining Time First) – Apropiativo: Primero el que menos tiempo de CPU le queda para acabar. Versión apropiativa de SJF solo que puede echar procesos.

33
Q

¿En que consiste el algoritmo de planificación de procesos Round Robin?

A
  • Round Robin – Apropiativo: Todos el mismo tiempo por turnos. A cada proceso se le asigna una cantidad de tiempo de CPU llamada quantum. Si el proceso tiene un intervalo de CPU mayor que el Quantum es expulsado de la CPU
34
Q

¿En que consiste el algoritmo de planificación de procesos multilevel Queue?

A

Este algoritmo propone dividir la lista de procesos listos en varias colas, una para cada tipo de proceso. Cabe destacar que los procesos no podrán cambiar de cola, que cada cola tendrá su propio algoritmo de planificación y que existirá un algoritmo de planificación entre colas.