b2t4 - SSOO Flashcards

1
Q

Cuál es la definición de Sistema Operativo? Cuáles son sus tres funciones básicas?

A

Es un conjunto de programas integrados que tienen como objetivo aprovechar el hardware de una computadora y utilizarlo de forma segura y eficiente.

  • Gestionar los recursos del hardware de la computadora (procesador, memoria, periféricos)
  • Ser la interfaz entre el usuario y la computadora
  • Ser la plataforma de los programas de usuario
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Qué es POSIX

A

(Portable Operating System (Unix)) Es un api, estandarizado por IEEE que define una interfaz estándar de sistema operativo.
Los SO la implementan parcial o totalmente y en esa medida son compatibles o portables

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

Cómo se pueden clasificar los SO en función del nº de usuarios y del tiempo de respueta?

A
  • Usuarios: Monousuarios y multiusuarios (cuántos usuarios pueden usar los recursos al mismo tiempo)
  • Tiempos de respuesta: Por lotes, Tiempo compartido (SO habituales de hoy en día), Tiempo real
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cómo se pueden clasificar los SO en función del nº de de procesos o traeas y del nº de procesadores?

A
  • Nº de procesos o tareas: Monotarea o multitarea (uno o varis programas a la vez)
  • Nº de procesadores: Monoprocesador o Multiprocesador: El SO soporta uno o varios procesadores.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Qué es la multiprogramación en los primeros SO?

A

Era la capacidad de poder cargar en memoria principal más de un programa a la vez, para luego poder ejecutarlos de forma consecutiva pero sin parón entre medias para volver a cargar un programa en la memoria principal.
Es la antesala de la multitarea (ejecutar varios programas a la vez)

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

Dentro de la clasificación de SO por nº de procesadores está el multiproceso o multiprocesador. Qué significa en estos SO que sea una gestión asimétrica o simétrica

A

Asimétrica: El SO manda ciertas tareas al mismo procesador siempre y otras a otros.
Simétrica: El SO manda las tareas indistíntamente a los procesadores

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

En qué consiste la SEGMENTACIÓN en la gestión de memoria?

A

Es una forma de gestionar la carga de los programas en memoria.
Ya que los programas están divididos lógicamente en código, datos y pila, esos elementos se guardan en la memoria principal cada uno por separado,en segmentos, en zonas de memoria** libre y contigua**

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

Qué es la fragmentación externa de la memoria y por qué es un inconvenientes de la SEGMENTACIÓN?

A

Debido a la segmentación quedan huecos libres de memoria pero en los que no caben segmentos más grandes, por tanto quedan sin usar. (Para ello habría que desfragmentar)

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

Qué es la tabla de segmentos de un SO?

A

Es una tabla, que va informando el SO, que lista los segmentos que tiene cada aplicación o proceso y dice dónde están en la memoria.

  • índice: índice de la tabla (número del cero en adelante para identificar la fila de la tabla), es un número lógico que referencia al segmento
  • dirección base: es la posición de memoria donde empieza el segmento
  • límite: es el tamaño de ese segmento (sumado a la dirección base daría la direccón donde acaba el segmento)

Sirve para traducir una memoria lógica (índice) a una memoria física (dirección base):

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

Dentro de un segmento o página, cómo se llama a cada parte a la que se puede acceder?

A

Se llama desplazamiento u offset. Es la parte de un segmento o página a la que se quiere acceder

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

Qué es la PAGINACIÓN en la gestión de memoria?

A

Es una forma de gestionar la carga de los programas en memoria.
Se divide el programa en páginas (porciones) de igual tamaño. La memoria también está divida en partes de ese mismo tamaño, llamados marcos de página.
Consiste en cargar cada página del programa en un marco de página libre en la memoria.
Por este motivo no se produce fragmentación externa, siempre que haya memoria libre, se podrá guardar la página.
Pero sí surge framentación interna, ya que la última página del programa puede no aprovechar del todo el marco de página.

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

Qué diferencia hay entre la fragmentación externa y la interna?

A

La externa se da en la segmentación, cuando se queda me moria libre entre los segmentos porque no se pueden guardar segmentos en zonas libres y consecutivas.
La interna se da en la paginación, cuando la última página del programa no aprovecha del todo el marco de página de la memoria.

La interna es un desperdicio de memoria es mucho menor que la externa

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

En la paginación, qué parte del hardware se encarga de la traducción de direcciones lógicas a físicas?

A

La MMU (memory management unit), que está en la CPU

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

Dónde está guardada la Tabla de Páginas que se usa en la paginación en la gestión de memoria?

A

TLB (translation lookaside buffer): es donde se cachea la Tabla de Páginas, que originalmente está en la memoria principal, para poder acceder a ella de forma rápida.
Es donde accede la MMU de la CPU para gestionar la paginación

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

Qué es la segmentación paginada en la gestión de memoria?

A

Proceso en el que se combinan los dos conceptos, se accede a las tabla de segmentos y a la tabla de página para hacer la traducción de dirección de memoria lógica a física

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

Para qué se usan la tabla de segmentos o la tabla de páginas?

A

Para traducir direcciones de memoria lógicas a físicas

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

Qué modelo, por compatibilidad, usan los procesadores de hoy en día para gestionar la memoria, que usan segmentación paginada?

A

Flat model: Se usa realmente la paginación, aunque por compatibilizar, se mantiene el concepto de segmento pero sólo se usa un solo segmento que representa toda la memoria, y que dentro tiene páginas

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

Qué es la Memoria Virtual?

A

Es un mecanismo que permite ejecutar procesos que requieren más memoria que la realmente disponible en la memoria principal, manteniendo en la memoria principal la información que el programa está utilizando y en el disco duro el resto

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

Qué es un Fallo de página en la memoria virtual y quién lo genera?

A

Es una excepción que genera el propio SO cuando va a buscar una página que no está cargada en la memoria principal (se tendría que haber cargado desde el disco duro a la memoria principal).
Esto activa una rutina que carga la página a la memoria principal

19
Q

Qué es la hiperpaginación en la memoria virtual?

A

Es cuando hay un número excesivo de intercambios (swaps) entre la memoria priuncipal y la secundaria para cargar sustituir páginas menos importantes por más importantes.

20
Q

Qué es un swap en la memoria virtual?

A

Es el algoritmo de reemplazo que se usa cuando la memoria principal está llena y el sistema de memoria virtual tiene que sustituir en la memoria principal páginas menos importantes por otras más importantes que están en la memoria secundaria

21
Q

Qué tres algoritmos swap se pueden usar en la memoria virtual?

A
  • FIFO: La página que se reemplaza es la que más tiempo lleva en la memoria principal
  • LRU (Least Recently Used): La página que se reemplaza es la que lleva más tiempo sin referenciarse
  • NRU (Not Recently Used): Categoriza las páginas en 4 categorías en función de las combinaciones entre referenciadas y modificadas. Las mejores para reemplazar son las de Categoría 0: no referenciadas y no modificadas
22
Q

Qué es un PROCESO?

A

Es un programa en ejecución, que necesita estar cargado en memoria principal y poder acceder a recursos (CPU, memoria, archivos, dispositivos e/s) para cumplir su cometido

23
Q

En qué segmentos se divide un proceso?

A
  • Código (text): instrucciones del proceso
  • Datos (data): variables globales del proceso
  • Memoria dinámica (heap)
  • Pila (stack): para preservar el estado de la invocación anidada de procedeimientos y funciones
24
Q

Qué es la Tabla de Procesos

A

Es donde el SO incluye el espacio de memoria que le asigna acada proceso cuando se ejecuta, donde están referenciadas sus instrucciones, datos y pila

25
Q

Cómo se llama, dentro de la Tabla de Procesos, a la “fila” donde está la información de cada proceso?
Qué información tiene del proceso?

A

PCB (Bloque de Control de Proceso)

Tiene la siguiente información del proceso:
- Id del proceso: Id del proceso (PID), id del proceso padre si aplica (PPID), usuario
- Estado del proceso: preparado, en ejecución, bloqueado, …
- Prioridad del proceso
- Dirección de memoria del proceso
- Otros

26
Q

Qué 5 estados tiene un proceso y qué significan?

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

Cuándo suceden estas transiciones entre estados de un proceso?

  • Nuevo -> Preparado
  • Preparado -> Ejecución
  • Ejecución -> Preparado
  • Ejecución -> Bloqueado
  • Bloqueado -> Preparado
  • Ejecución -> Terminado
  • Preparado/Bloqueado -> Terminado
A
  • Nuevo -> Preparado: el SO está preparado para admitir un proceso más.
  • Preparado -> Ejecución: el planificador escoge un proceso para la ejecución.
  • Ejecución -> Preparado: el proceso en ejecución es interrumpido y expulsado del procesador porque ya ha
    consumido su tiempo asignado o porque otro proceso de mayor prioridad está esperando.
  • Ejecución -> Bloqueado: el proceso abandona voluntariamente la CPU y espera a un evento externo.
  • Bloqueado -> Preparado: finaliza el evento que estaba esperando el proceso y pasa al estado preparado.
  • Ejecución -> Terminado: el proceso termina su ejecución (terminación normal).
  • Preparado/Bloqueado -> Terminado: el proceso es eliminado (terminación anormal).
28
Q

Qué tres colas de procesos hay en el ciclo de planificación de procesos?

A
  • Cola de nuevo
  • Cola de preparado
  • Cola de bloqueado
29
Q

Qué es el cambio de contexto (context switch) en la planificación de procesos?

A

Cuando el dispatcher cambia en el procesador el proceso que se está ejecutando por otro, guardan el estado del proceso en ejecución en su PCB para retomarlo más adelante

30
Q

Qué tres planificadores de procesos hay y de qué se encargan?

A
  • Planificador a largo plazo: el que se encarga de gestionar el paso de procesos de Nuevo a Preparado
  • Planificador a corto plazo (y luego el Dispatcher): el que se encarga de gestionar el paso de procesos entre los estados de Preparado - En ejecución - Preparado
  • Planificador a medio plazo: el que gestiona el swap de la memoria virtual

El dispatcher es un programa especial que es el que se encarga de colocar en el procesador y sacar de él los procesos. Se ejecuta después del planificador a corto plazo

31
Q

Qué dos grandes grupos de algoritmos de planificación de procesos hay?

A

Apropiativos, que son los que expulsan al proceso de la CPU y los no apropiativos, que no lo expulsan.

32
Q

Indica 3 algoritmos no apropiativos de planificación de procesos

A
  • FCFS (First Come First Served) – Se ejecutan en orden de llegada
  • SJF (Shortest Job First) - Se pasa a ejecución el más corto que haya en preparado
  • Prioridades - Los jobs tienen prioridades, se pasa a ejecución el más prioritario de los preparados
33
Q

Indica 4 algoritmos apropiativos de planificación de procesos

A
  • SRTF (Shortest Remaining Time First): se expulsa al que esté en ejecución y se cambia por el que le quede menos para terminar
  • Round Robin: A todos se le da un tiempo (quantum) para ejecutarse y pasado el tiempo se le expulsa a preparado de nuevo.
  • Prioridades - Los jobs tienen prioridades, se pasa a ejecución el más prioritario de los preparados
  • Cola multinivel
34
Q

A qué algoritmo de planificación pertenece el concepto de Quantum?

A

Al algoritmo Round Robin, donde el quantum es el tiempo que se le da a cada proceso para ejecutarse antes de expulsarle de la CPU y ponerlo de nuevo en preparado

35
Q

En el algoritmo Round Robin, con qué política se gestiona la cola de preparados?
Si el valor del quantum es muy grande, en qué tipo de algoritmo degenera?

A

Se gestiona con FIFO
Si el valor del quantum es grande el algoritmo degenera en FCFS

36
Q

Qué son los hilos y con qué estructura se representan a nivel de SO?

A

Un hilo es una unidad básica de utilización de CPU, la cual contiene un id de hilo, su propio program counter, un conjunto de registros y una pila; se
representa a nivel del SO con una estructura llamada TCB (Thread Control Block)

Los hilos comparten con otros hilos que pertenecen al mismo proceso la sección de código, la sección de datos, entre otras cosas.

37
Q

Qué 3 estrategias hay de comunicación/sincronización entre distintos procesos (concurrencia)?

A
  • Memoria compartida: zona de memoria compartida, necesitan sincronización externa mediante semárofos o monitores para ese acceso compartido
  • Paso de mensajes: El SO es el que se encarga de pasar los mensajes
  • Canalizaciones o tuberías
38
Q

Qué algoritmos existen para garantizar el acceso de procesos concurrente con exclusión mutua a un recurso compartido sin los problemas de inanición ni interbloqueos?

A

Dekker
Peterson
Eisenberg – McGuire
La panadería de Lamport

39
Q

Qué tres tipos de ficheros hay?

A
  • Ficheros normales o regulares: Aquellos ficheros que contienen datos (información).
  • Directorios: Fichero que se utiliza para organizar los ficheros (u otras carpetas).
  • Ficheros especiales de dispositivos: representan a dispositivos de E/S.
40
Q

Qué información tiene un fchero?

A
  • Nombre y Tamaño
  • Fechas: de creación, modificación, …
  • Propietario
  • Permisos (lectura, escritura, ejecución, …)
  • Ubicación
  • Enlaces: puntos desde los que se puede acceder al fichero
41
Q

Qué diferencia hay entre estos tres tipos de asignación de espacio de memoria?
- Asignación contígua
- Asignación enlazada
- Asignación indexada

A
  • Asignación contígua: Cada directorio contiene la los nombres de archivos y la dirección del bloque inicial de cada archivo. Por ejemplo, si un archivo
    comienza en el sector 17 y mide 10 bloques, cuando el archivo sea accedido, el brazo se moverá inicialmente al bloque 17 y de ahí hasta el 27. Si el archivo es borrado y
    luego creado otro más pequeño, quedarán huecos inútiles entre archivos útiles, lo cual se llama fragmentación externa.
  • Asignación enlazada: Los directorios contienen los nombres de archivos y por cada uno de ellos la dirección del bloque inicial que compone al archivo. Cuando un archivo es
    leído, el brazo va a esa dirección inicial y encuentra los datos iniciales junto con la dirección del siguiente bloque y así sucesivamente. Con este criterio no es necesario que
    los bloques estén contiguos y no existe la fragmentación externa, pero en cada “eslabón” de la cadena se desperdicia espacio con las direcciones mismas.
  • Asignación indexada: se guarda en el directorio un bloque de índices para cada archivo, con apuntadores hacia todos sus bloques constituyentes, de manera que el acceso
    directo se agiliza notablemente, a cambio de sacrificar varios bloques para almacenar dichos apuntadores. Cuando se quiere leer un archivo o cualquiera de sus partes, se
    hacen dos accesos: uno al bloque de índices y otro a la dirección deseada. Este es un esquema excelente para archivos grandes pero no para pequeños, porque la relación
    entre bloques destinados para índices respecto a los asignados para datos es incosteable
42
Q

Dónde se produce el swapping en Linux? y en Windows?

A

Linux: en la partición independiente de tipo swap
Windows: en el fichero pagefile.sys

43
Q

Qué es UEFI?

A

Es el nuevo interface para el Firmware de la maquina (sustituye a la BIOS).
Soporta entorno grafico, capacidades de red, diseño modular y los sistemas de particiones MBR/GPT

44
Q

Qué es MBR/GPT

A

MBR -> Master Boot Record
Primer sistema de particionado y gestor de arranque con BIOS, ha sido sustituido por

GPT -> GUID Partition Table
Que es parte del estandar UEFI, aunque también funciona con BIOS

MBR sólo soporta 4 particiones primarias, y como máximo de 2TB cada una, mientras que en GPT son ilimitadas y con un tamaño máximo de 18EB

45
Q

¿Que son CoffeLake, CannonLake, IceLake, CascadeLake, …?

A

microarquitecturas (familias) de procesadores Intel

46
Q

Qué es el concepto de overhead en SSOO?

A

Porcentaje de 3empo en el que la CPU está atendiendo a tareas del propio sistema