Bloque2-Tema4-TeoriaSO Flashcards

1
Q

Definicion 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 /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

Clasificacion de sistemas operativos por el Nº de usuarios.

A
  • Monousuario: solo 1 usuario puede usar los recursos del sistema simultáneamente.
  • Multiusuario: varios usuarios pueden usar los recursos del sistema simultáneamente. Por tanto, aunque haya más de un usuario dado de alta en el sistema, si no pueden trabajar de forma simultánea, el SO no es multiusuario.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Clasificacion de sistemas operativos por el tiempo de respuesta((tiempo que tarda el usuario en obtener los resultados después de iniciar la ejecución de un programa).

A
  • Procesamiento por lotes: el tiempo de respuesta no es importante y suele ser alto. Los procesos se ejecutan secuencialmente unos tras otro. No existe interacción con el usuario. Ejemplo: copias de seguridad.
  • Tiempo compartido: el procesador divide su tiempo entre todos los procesos (usando algoritmos de
    planificación como Round Robin). Ejemplo: sistemas multiusuarios interactivos (los usuarios interactúan con el sistema).
  • Tiempo real: en estos SO, los procesos requieren un tiempo de respuesta muy bajo o inmediato. Ejemplos donde esto es especialmente importante: sistema donde el tiempo de respuesta es crucial como sistemas médicos de monitorización de pacientes, sistemas bancarios, tráfico aéreo…
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Clasificacion de los sistemas operativos en base al Nº de procesos o tareas.

A
  • Monotarea: solo puede ejecutar 1 tarea a la vez.
  • Multitarea o multiprogramación: puede ejecutar varios programas a la vez.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Clasificacion de los sistemas operativos en base al Nº de procesadores.

A
  • Monoproceso / monoprocesador: el SO es capaz de gestionar solo 1 procesador, de manera que si
    tuviese más sería inútil. En estos SO los procesos irán alternando su ocupación en la CPU.
  • Multiproceso / multiprocesador: el SO es capaz de gestionar varios procesadores, de modo
    que puede usarlos simultáneamente para distribuir su carga de trabajo. Estos sistemas trabajan de dos formas:
    * Asimétrica: el SO reparte las tareas, que está realizando, entre los procesadores. Determinados
    procesos los ejecutará siempre un procesador, y el otro procesador sólo se utilizará para realizar
    procesos de usuario. En este caso, es posible que un procesador esté siempre trabajando y el
    otro, en ocasiones, sin actividad.
    * Simétrica: los procesos son enviados indistintamente a cualquiera de los procesadores
    disponibles.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Que es la unidad de gestion de memoria (MMU)

A

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 o procesador.

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

Que es la segmentacion?

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 mucha memoria libre (pequeños huecos)
    pero donde no entra un segmento grande (habría que defragmentar
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

De que se compone la tabla de segmentos para la segmentacion?

A

Numero de segmento

y en la propia tabla:
-Base Adress-> donde empieza
-Limit-> Hasta donde llega

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

Que es la paginacion?

A

*Dividir el programa en bloques 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 (ej. si el ultimo marco no está
relleno) (Una partición asignada y no ocupada totalmente por el proceso.)
* Técnica adecuada para la gestión de memoria virtual
* La MMU nos ayuda con el TLB (cache de la Page Table) a realizar la traducción

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

Que es la memoria virtual?

A
  • La memoria virtual permite ejecutar procesos que requieren más memoria que la disponible en el sistema, manteniendo en memoria principal solo aquella memoria que el proceso esté utilizando y el resto en el disco.
  • Cuando una página solicitada no se encuentra en memoria principal se produce un “Fallo de pagina”. El “Fallo de página” genera un trap a nivel del SO, que activa una rutina de atención que carga la página en memoria principal. Se produce Hiperpaginación cuando hay un excesivo número de intercambios con el almacenamiento secundario.
  • Si la memoría está llena se ejecuta un algoritmo de reemplazo para tener en memoría principal las páginas más “importantes” y en disco (swap) las demás
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Que es la hiperpaginacion?

A

Cuando hay un excesivo número de intercambios con el almacenamiento secundario.

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

Que es 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
14
Q

Que es el algoritmo LRU?

A

(Least Recently Used) -> 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
15
Q

Que es el algoritmo NRU.

A

(Not Recently Used) -> 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. Cuando una página debe ser reemplazada, el sistema operativo divide las páginas en cuatro categorías:

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
16
Q

Que es un proceso?

A

Un proceso es un programa en ejecución que necesita estar cargado en memoria y disponer de
recursos (CPU, memoria, archivos, dispositivos de E/S) para cumplir su objetivo. Se trata de una
entidad activa.

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

Que secciones/segmentos constituyen un proceso en memoria?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Que es la tabla de procesos?

A

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.

El SO guarda en la tabla de procesos por cada proceso una estructura de datos llamada Bloque
de Control de Proceso (PCB) que almacena la siguiente información

  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Estados de un proceso?

A
  • Nuevo: Cuando el proceso es creado.
  • 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).
  • Preparado: El proceso está listo para ejecutar, solo necesita del recurso procesador.
  • Terminado: El proceso finalizó su ejecución.

Hay dos mas para el esquema con 5 estados que son:
-Preparado/Suspendido (Se active de suspende desde preparado)
-Bloqueado/Suspendido (Se activa se suspende desde bloqueado)

Mirar imagen bloque 2 tema 4

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

Posibles transiciones de un proceso?

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).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Que es la lista de procesos del sistema (job queue)

A

Es 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

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

Que es la cola de procesos listos (ready queue)?

A

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

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

Que es 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

Es la listado de bloqueados.

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

Que es el cambio de contexto? (Context switch)

A

Consisten en quitarle la CPU al proceso “en ejecución” y asignársela a otro
estado “preparado”.

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

Quien realiza el cambio de contexto.

A

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

26
Q

Que es el PCB?

A

El bloque de control del proceso o en inglés PCB es un registro especial donde el sistema operativo agrupa toda la información que necesita conocer respecto a un proceso particular.

27
Q

Que es el planificador a largo plazo?

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

Que es el Planificador a corto plazo / Distpacher?

A
  • Selecciona entre los procesos preparados en memoria y les asigna la CPU.
  • Se ejecuta con mucha frecuencia
29
Q

Que es el Planificador a medio plazo?

A

Decide qué proceso pasa de la memoria principal a la secundaria (memoria virtual) o viceversa.

30
Q

Tipos de planificacion de algoritmos a corto plazo?

A
  • Planificación no apropiativa (non-preemptive):
    • Algoritmos no expulsivos.
    • Los procesos se ejecutan hasta que terminan o se bloquean.
    • Sencillo de implementar.
    • Rendimiento negativo en general.
  • Planificación aproviativa (preemptive):
    • Algoritmos expulsivos.
    • Los procesos pueden ser expulsados de la CPU.
    • Mayor coste de implementación. Necesitan soporte hardware adicional (relojes).
    • Mejora el servicio y evita monopolización de la CPU.
31
Q

Como funciona el algoritmo FCFS(First Come First Served).

A

NO APROPIATIVO

La CPU es asignada a los procesos en el mismo orden que la solicitan.

Ventajas
* Sencillo de implementar (cola FIFO).

Inconvenientes
* Mal tiempo de espera
* Efecto convoy.
* No válido para procesos interactivos

32
Q

Que es el efecto convoy?

A

Procesos con largas ráfagas de CPU retrasan a procesos con ráfagas cortas

33
Q

Como funciona el algoritmo SJF(Shortest Job First)?

A

NO APROPIATIVO

Primero el que menos tiempo total de CPU requiere y se ejecuta hasta que se termine o se suspenda.

Ventajas
* Optimiza el tiempo de espera
* Favorece los procesos orientados a E/S

Desventajas
*Es costoso averiguar cuándo dura la siguiente racha de CPU
*Inanición de los procesos con rachas de CPU largas

34
Q

Como funciona el algoritmo SRTF(Shortest Remaining Time First)?

A

APROPIATIVO

-Primero al que menos tiempo de CPU le queda para acabar.
-Versión apropiativa de SJF (como el SJF, solo que puede echar a los procesos)

35
Q

Como funciona el algoritmo Planificación por prioridades?

A

-Primero el que tiene más prioridad.
-Cada proceso tiene asignada una prioridad. El planificador selecciona el proceso con prioridad más alta (a igual prioridad se selecciona con FCFS).
-Las prioridades pueden ser dinámicas (cambian con el tiempo) o estáticas (se mantienen)

36
Q

Como funciona el algoritmo Round Robin?

A

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.
-La cola de preparados se gestiona con una política FIFO.
-Si el valor del quantum es grande el algoritmo degenera en FCFS. Si es pequeño se generará sobrecarga debido a cambios de contexto

37
Q

Como funciona el algoritmo Multilevel Queue?

A

APROPIATIVO

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.

38
Q

Que es un Thread(hilo)?

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)

Si un proceso tiene múltiples hilos, puede realizar más de una tarea a la vez (esto es real cuando se posee más de una CPU o Core).

39
Q

Que tipos de hilos existen?

A

Hilos a nivel de usuario y de kernel

40
Q

Que son los hilos a nivel de usuario?

A

Son implementados en alguna librería. Estos hilos se gestionan sin soporte del SO, el cual solo reconoce un hilo de ejecución.

41
Q

Que son los hilos a nivel de Kernel?

A

el SO es quien crea, planifica y gestiona los hilos. Se reconocen tantos hilos como se hayan creado.

42
Q

Modos de comunicacion/sincronizacion de procesos(Concurrencia)?

A

1.- Memoria compartida
Necesitan un mecanismo de sincronización externo.
La responsabilidad de la comunicación recae en los procesos (el sistema operativo sólo proporciona llamadas para manipular dicha memoria compartida).

2.- Paso de mensajes
La responsabilidad de la comunicación y sincronización recae en el Sistema Operativo que proporciona un enlace lógico entre procesos.
Los procesos sólo tienen que invocar correctamente a dos llamadas básicas: send y receive (bloqueantes o no).

3.- Canalizaciones (tuberías) con nombre y sin nombre

43
Q

Algoritmos para la exclusion mutua?

A

-Dekker.
-Peterson.
-Eisenberg – McGuire.
-Panadería de Lamport.

44
Q

Que mecanismos podrías usar para la sincronizaron de procesos?

A

Semaforos o Monitores

45
Q

Que es un fichero/archivo?

A

Conjunto de información de un determinado tipo que está almacenada en un dispositivo de almacenamiento

46
Q

Que es una carpeta/directorio?

A

Tipo especial de fichero que se utiliza para organizar ficheros (u otras carpetas)

47
Q

Que es un sistema de ficheros?

A

Parte del SO que permite “administrar” la información almacenada de los dispositivos de E/S en forma de ficheros.

48
Q

Que 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.
49
Q

Dentro de los tipos de asignacion de espacio, que es la asignación contigua?

A

Cada directorio contiene la los nombres de archivos y la dirección del bloque inicial de cada archivo, así como el tamaño total de los mismos.

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

50
Q

Dentro de los tipos de asignacion de espacio, que es la asignación enlazada?

A

Con este criterio 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. En otras palabras,
lo que se crea en el disco es una lista ligada.

51
Q

Que es un dispositivo de bloque?

A

Es aquel que almacena la información en bloques de tamaño fijo, cada uno con su propia dirección. La propiedad esencial de un
dispositivo de bloque es la posibilidad de leer o escribir en un bloque de forma independiente de los demás. Los
discos son dispositivos de bloque.

52
Q

Que es un dispositivo de caracter?

A

Es aquel que envía o recibe un flujo de caracteres, sin sujetarse a una estructura de bloques. No se pueden utilizar direcciones ni tienen una operación de búsqueda. Las terminales, impresoras de
línea, cintas de papel, tarjetas perforadoras, interfaces de una red, ratones (para apuntar a una pantalla) y muchos
otros dispositivos no parecidos a los discos son dispositivos de carácter

53
Q

Como realiza la entrada/salida el sistema operativo?

A

Escribiendo comandos en los registros del controlador.

54
Q

Dentro de las tecnicas de comunicacion/sincronizacion, que es la E/S programada?

A

el procesador ejecuta un programa que controla las operaciones de E/S. El problema es que el procesador se tiene que quedar esperando (parado) a recibir respuesta
(polling)

55
Q

Dentro de las tecnicas de comunicacion/sincronizacion, que es la E/S controlada por interrupciones?

A

Los dispositivos envían una señal de interrupción para llamar
la atención del sistema

56
Q

Dentro de las tecnicas de comunicacion/sincronizacion, que es la E/S mediante el uso de DMA(Direct Access memory)

A

un chip se encarga de la transferencia y accede a la memoria para leer o escribir datos que recibe y envía el dispositivo sin pasar por el procesador

57
Q

Que es el Caching?

A

consiste en almacenar una caché temporal, de rápido acceso, los datos que se usan con más frecuencia.

58
Q

Que es el Buffering?

A

Consiste en utilizar un área de memoria como buffer, simulando un dispositivo o un periférico lógico, que hará de dispositivo intermedio entre el periférico real y el procesador.

59
Q

Que es el spooling?

A

técnica en la cual la computadora introduce trabajos en un buffer (un área especial en memoria o en un disco), de manera que un dispositivo pueda acceder a ellos cuando esté listo.

Diferencia buffering y spooling: La diferencia básica entre Spooling y Buffering es que Spooling superpone la E / S de un trabajo con la ejecución de otro trabajo mientras que el buffering superpone la E / S de un trabajo con la ejecución del mismo trabajo.

60
Q

Que es POSIX?

A

POSIX es una norma escrita por la IEEE, que define una interfaz estándar del sistema operativo y el entorno, incluyendo un intérprete de comandos.

61
Q

Que es TLB?(Translation lookaside buffer)

A

Memoria cache, parte del chip de la MMU(memory management unit), que guarda la traducciones recientes de memoria virtual a memoria fisica.

62
Q

Que es el flat model?

A

Memory addressing paradigm in which “memory appears to the program as a single contiguous address space.”