Coloquio Flashcards

1
Q

Que hace un sistema operativo?

A

Administra los recursos de hardware de un sistema de
computación para ofrecer servicios a sus usuarios.
Es un programa que controla la ejecucion de otros programas (aplicaciones). Debe perseguir 3 objetivos:
Eficiencia
Evolucion
Comodidad

Debe ofrecer servicios tales como: creacion de programas, ejecucion de programas, acceso a dispositivos de E/S, acceso controlado a los archivos.
Ademas, el SO debe proveer servicio de deteccion y respuesta a errores, como fallas de hardware o de software. Tambien debe proveer un sistema de contabilidad y monitoreo de recursos.

Es un sistema de control, que funciona dentro del mismo sistema que controla, y ademas abandona el control del sistema para dar lugar a las tareas de los usuarios

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

Componentes de un sistema de computación

A

Procesador, Memoria principal, Dispositivos de E/S, Interconexión

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

Registros del procesador

A

Visibles para el usuario: Al utilizarlos se reduce el acceso a la memoria principal.

De control y estado: Utilizados por el procesador para ejercer control sobre las operaciones y por rutinas del SO

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

Registros visibles

A

Se puede hacer referencia a estos registros (programador). Por ejemplo de datos, de direcciones, etc.

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

Registros de direccion (forma parte de registros visibles para el usuario)

A

Registro indice: para formar direcciones fisicas a partir de logicas

Puntero de segmento: tambien se usa para formar direcciones

Puntero de pila: contiene direccion a extremo superior de la pila

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

Registros de control y estado

A

PC (program counter): contiene direccion de memoria donde se almacena la proxima direccion a ejecutar

IR (instruction register): contiene ultima instruccion leida

PSW (program state word): muestra los codigos de condiciones, estado de interrupciones, privilegio de ejecucion, etc.

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

Ciclo de instruccion

A

Procesador lee instruccion de memoria RAM que indica el PC, luego de esto el PC se incrementa. Procesador carga la instruccion en el IR, se interpreta y ejecuta, y el ciclo se repite.

Con interrupciones: antes de buscar una nueva instruccion el procesador verifica si hubo una interrupcion. Luego busca siguiente instruccion del programa o primera instruccion de la rutina de interrupcion, segun sea el caso.

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

Tipos de instruccion (CPU)

A

Transferencia procesador/memoria: se mueven datos desde registros a RAM y viceversa

Transferencia procesador E/S: se mueven datos desde el procesador a dispositivo E/S y viceversa

Manipulacion de datos: operaciones aritmeticas o logicas sobre datos en los registros

Control: instrucciones que alteran la secuencia de ejcucion, modificando PC

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

Interrupciones

A

Evento que interrumpe el flujo normal de instrucciones. Procesador guarda estado de sus registros y sirve la interrupcion. Luego reanuda su ejecucion donde la dejo. Esto tambien se usa para que el procesador multiplexe entre procesos.

Se transfiere el control desde el programa del usuario hacia el SO.

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

Tipos de interrupciones

A

De programa: generadas por el mismo procesador mientras ejecuta un programa. Desbordamiento, division por cero, etc.

De reloj: disparada por un contador de hardware

De E/S: generada por dispositivos externos: mouse, teclado, placa de red, etc.

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

Interrupciones multiples

A

En estos casos pueden servirse de manera secuencial o por orden de prioridad.

Secuencial: se sirve la primera, inhabilitando servicio de interrupciones hasta terminar de servirla, y luego se continua.

Prioridad: si se esta sirviendo una interrupcion y llega otra de mayor prioridad, se interrumpe la actual y se sirve la de mayor prioridad.

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

Multiprogramación

A

Ejecucion de multiples programas en simultaneo. Mientras un programa espera por E/S se ejecuta otro. Todo esto se hace con interrupciones.

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

Ejecucion de operaciones de E/S (tipos)

A

E/S programada: Procesador pide datos (lectura o escritura) y espera hasta que la operacion termine

E/S por interrupciones: Procesador pide datos (lectura o escritura), luego comienza a ejecutar otro programa hasta que el dispositvo interrumpe para avisar que termino

E/S por DMA (direct memory access): igual al anterior pero el dispositivo interrumpe cuando termina de copiar datos a memoria principal. De esta forma se libera al procesador de la tarea de mover los datos

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

DMA (Direct memory access)

A

Sistema que permite a dispositivos de E/S acceder directamente a la memoria RAM, liberando al procesador de esta tarea

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

Jerarquia general de memoria

A

Al descender por la piramide el costo por bit se reduce, aumenta la capacidad, pero disminuye la velocidad.

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

Cache de disco

A

Porcion de la memoria principal que se utiliza para guardar datos de la memoria secundaria, que se supone se utilizan frecuentemente, con el objetivo de ganar velocidad. Tambien se usa para juntar bloques de datos a escribir antes de iniciar tranferencia al disco

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

Memoria cache

A

Es la misma idea que el cache de disco, pero esta se situa entre el CPU (registros) y la RAM. Se utiliza para guardar datos o instrucciones que el CPU usa con frecuencia. El SO desconoce esto, ya que se maneja por HW especifico. Cuando el CPU necesita un dato primero lo busca en la cache, y si no lo encuentra lo busca en memoria

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

Evolucion de los SO

A

Primera generacion (1945-55) Sistemas basados en valvulas concebidos de manera casi artesanal.

Segunda generacion (1955-65) Sistemas a base de transistores

Tercera genracion (1965-80) Se intenta mejorar la eficiencia de la produccion de sistemas, aparece multiprogramacion, se desarrolla UNIX y estandar POSIX

Cuarta generacion (1980-90…) Aparecen microcomputadoras o computadoras personales PC. Aparece MAC, windows, redes LAN, WAN, se desarrolla el kernel LINUX

Quinta generacion (1990-….) Evolucion de dispositivos moviles. IOS, Android, Windows, RIM (blackberry)

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

Multiprogramacion y Tiempo compartido

A

Multiprogramacion: multiples programas ocupando la memoria de manera simultanea y que se alternan para usar el CPU

Tiempo compartido: similar a multiprogramacion, pero con la diferencia de que soporta multipes sesiones interactivas

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

Atributos de SO modernos

A

Concepto de proceso, gestion de memoria y concepto de memoria virtual, seguridad en el manejo de la informacion, planificacion avanzada del uso de recursos, estructura modular del sistema

Otros atributos mas recientes:

MicroKernels: solo las funciones esenciales son ejecutadas por el kernel

Multithreading: para soportar procesadores con capacidad de ejecutar multiples threads

Multiprocesamiento simetrico: para soportar sistemas con multiples nucleos que comparten E/S y memoria

Sistemas operativos distribuidos: en base a multiples sistemas diferentes le ofrece al usuario uno unico.

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

Problemas de la multiprogramacion

A

Sincronzacion incorrecta: rutinas que esperan señales, que pueden llegar duplicadas o no llegar

Fallos de exclusion mutua: accesos simultaneos y conflictivos a los recursos

Funcionamiento no deterministico: interferencias entre programas, dificil de depurar

Interbloqueos: dos o mas programas esperandose mutuamente

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

Concepto de proceso

A

Es una unidad de ejecucion constituida por:

Un programa ejcutable
Datos e instrucciones necesarios para el programa
Entorno o contexto de ejecucion para el programa, es decir informacion externa al programa que crea y mantiene el SO para administrar su ejecucion (informacion de estado y de control)

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

Avances en el manejo de memoria

A

Aislamiento de procesos, evita interferencias

Asignacion automatica y gestion de la memoria para los procesos de manera transparente

Proteccion y control de acceso, permite compartir datos entre programas de forma controlada

Almacenamiento de largo plazo

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

Memoria virtual

A

Permite a los programas utilizar y acceder a la memoria independientemente de su implementacion fisica. Aparecen conceptos de paginacion y segmentacion

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

Seguridad y proteccion de informacion

A

Los SO se enfocan en la disponbilidad, confidencialidad e integridad con respecto a la informacion y archivos

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

Planificacion y gestion de recursos

A

Se consideran factores tales como equidad en la reparticion de recursos, respuesta diferenciada basada en prioridades, eficiencia, entre otros

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

Traza

A

Es el listado de la secuencia de instrucciones que se ejecutan para un proceso particular

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

Modelos de estados y de colas para el manejo de procesos

A

Hay distintos modelos para representar los estados de los procesos, algunos mas simples que otros, buscar imagenes en las diapositivas

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

Creacion y terminacion de procesos

A

Creacion: nuevo usuario intenta acceder al sistema, SO genera un nuevo proceso para ofrecer un servicio, o un proceso puede crear otro, llamado proceso hijo.
SO asigna id al proceso nuevo
Define cuanto espacio va a ocupar el proceso, incluyendo bloque de control
Inicializa bloque de control, stack, estado, etc
Incluye el proceso en las tablas adecuadas

Terminacion: Programa termina por si mismo, usuario desconecta su sesion, usuario termina la ejecucion de una app, o bien errores anormales

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

Procesos suspendidos

A

El CPU es tan rapido que puede suceder que la memoria este llena de procesos que esperan eventos.
Para esto se suspenden los procesos, copiando su imagen al almacenamiento secundario, para poder cargar otro proceso en memoria. Asi surgen dos estados nuevos: bloqueado y suspendido, o listo y suspendido.
Procesos pueden ser suspendidos por muchas razones:

Intercambio: el SO necesita memoria para cargar otro proceso

A pedido del usuario: usuario puede solicitar suspension de algun proceso

Temporizacion: suspension por clock

A pedido del padre: padre puede pedirle al SO que suspenda algun descendiente suyo

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

Estructuras de control del SO

A

Permiten al SO conocer el estado de los recursos y procesos del sistema:
Tablas de memoria, tablas de E/S, Tablas de archivos

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

Tablas de memoria

A

Para seguir estado de memoria principal y virtual. Parte de la memoria esta reservada siempre para el SO. Se necesita la siguiente info:
Asignacion de memoria principal y virtual a cada proceso
Esquemas de proteccion de memoria
Informacion de gestion de memoria virtual

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

Tablas de E/S y archivos

A

Para E/S el SO necesita conocer el estado de cada dispositivo:
Disponible
Ocupado
Proceso al cual esta asignado
Direcciones de memoria de destino u origen de las transferencias

Tablas de almacenamiento secundario mantienen info de los archivos:
Posicion en memoria secundaria
Estado actual
Atributos

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

Imagen de un proceso

A

Programa ejecutable
Espacios de memoria donde se almacenan variables
Stack del programa
Bloque de control del proceso, administrado por SO

Todo esto es la imagen del proceso

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

Tablas de procesos

A

Contienen:
Ubicacion: SO debe saber donde esta la imagen del proceso. Puede estar completa o parcialmente en memoria principal o secundaria

Identificacion: generalmente un numero unico que identifica al proceso, tambien se almacenan identificadores del proceso padre y el usuario que lo genero

Informacion de control del proceso: info de estado y planificacion, prioridad, evento que se espera si esta bloqueado, comunicacion con otros procesos, manejo de memoria, recursos asignados

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

Gestion de procesos (modos de ejecucion)

A

Modos de ejecucion: modo kernel o sistema y modo usuario
El modo usuario tiene restricciones: no puede leer registros de control, ni ejecutar instrucciones de manejo de memoria o interrupciones, etc.
El objetivo el proteger estructuras criticas del SO de acceso indebido de porogramas de usuario.
CPU intercambia estos modos segun distintos eventos

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

Cambio de proceso (posibles causas)

A

Disparo de interrupcion del clock: proceso consumio su tiempo asignado

Interrupcion de E/S: SO actualiza estructuras de control y puede decidir cambiar de proceso

Fallo de memoria: no es enrealidad una falla de hw, sino que una instruccion o dato no esta en memoria principal y hay que buscarlo en el disco. SO puede decidir cambiar de proceso mientras esto ocurre

Cepos o trampas: error durante ejecucion de programa, SO toma el control y lo suspende o termina

Llamada de sistema del proceso: se transfiere control al SO, y este puede cambiar de proceso

Al cambiar de procesos se debe:
guardar contexto del procesador
actualizar bloque de control
poner el proceso en la cola correspondiente
seleccionar nuevo proceso a ejecutar
actualizar estructuras
etc.

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

Detalles sobre ejecucion del SO (kernel y funciones del SO)

A

Kernel se encuentra separado, no se considera un proceso.
Muchas funciones del SO se encuentran dentro de los espacios de memorias compartida de los procesos, entonces al ejecutar estas funciones no se cambia de proceso, solo de modo

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

Cambio de modo

A

Mucho mas liviado que el cambio de proceso. Se guardan registros del CPU, se modifica el PC y segun lo que siga despues se guarda mas info o no

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

Seguridad

A

Privilegios de usuario limitados. Privilegios de administrador le permiten acceder y modificar todos los recursos. Los SO deben prevenir o detectar intentos de escalar privilegios de los usuarios.

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

Amenazas de seguridad para el SO y contramedidas

A

Intrusos: buscan acceso al sistema o mejorar privilegios actuales
Malware parasito: porciones de programa que necesitan de otro para cumplir su funcion
Malware independiente: son programas completos que se ejecutan por el SO

Contramedidas:
Anaizar eventos del sistema para buscar intrusos o malware, analisis de red

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

Procesos e hilos

A

Se puede decir que el proceso es un “supervisor” de hilos de ejecucion.
El proceso se encarga de control de recursos, mientras que la ejecucion en si es a lo que generalmente se conoce como hilo.
Un hilo es una secuencia de codigo en ejecucion dentro del contexto de un proceso. Un hilo no puede existir por si solo, siempre depende de un proceso que lo contiene.

Un proceso puede tener multiples hilos.

Cada hilo posee estado de ejecucion, su pila propia. El acceso a la memoria y recursos son los de su proceso, y los comparte con los demas hilos en ese proceso.

Ver imagenes de diapos.

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

Beneficios de usar hilos

A

Crear hilos es mucho mas rapido que crear procesos. Lo mismo sucede para matarlos.
Para el CPU es mas rapido conmutar entre hilos que entre procesos
La comunicacion entre hilos es mas veloz ya que comparten memoria y archivos

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

Desventajas de usar hilos

A

Dado que comparten memoria, el acceso a recursos se debe sincronizar por parte del programador. Dificiles de testear y depurar. Si se abusa de la sincronizacion esta tiene un costo demasiado alto

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

Usos de hilos

A

Trabajo en primer y segundo plano
Procesamiento asincrono
Velocidad de ejecucion mayor

En SO que soportan hilos la planificacion se hace a nivel de hilo, por lo que la info de estado de ejecucion se mantiene en estructuras dentro de los hilos

Sin embargo hay acciones que afectan a todos los hilos, por lo que se manejan a nivel de proceso, como la terminacion o suspension de un proceso.

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

Estados de un hilo

A

Creacion: un hilo se crea al crear un proceso, luego el proceso puede crear mas hilos.
Bloqueo
Desbloqueo
Terminacion

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

Nivel de existencia de hilos

A

Hilos a nivel de usuario: el kernel no conoce su existencia
Procesos o aplicaciones administran hilos, el kernel solo gestiona procesos. Los hilos se manejan con alguna libreria que lo permita.

Hilos a nivel de kernel: kernel conoce existencia de los hilos
El kernel administra los procesos y sus hilos, la aplicacion no se encarga de administrar los hilos. Planificacion del uso del CPU se realiza por el kernel a nivel de thread

Ventajas de hilos a nivel de usuario: independientes del SO, no se necesita el modo kernel para cambiar de un thread a otro, y la planificacion de hilos puede ser distinta segun la app
Desventaja: si un thread hace llamada al sistema todo el proceso se bloquea

Ventajas de hilos a nivel de kernel: rutinas del SO pueden ser multithread

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

Multiprocesadores

A

Se utilizan multiples computadoras normales para lograr capacidad de computo mayor. Arquitecturas mas populares: Multiprocesadores simetricos (SMP) y clusters

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

MIMD (multiple instructions, multiple data streams)

A

Si los procesadores tienen cada uno su memoria: clusters de computadoras

Si los procesadores comparten memoria entonces hablamos de memoria compartida, para este caso tenemos varias opciones:

SO independientes: Cada CPU con su SO y procesos, no se comparte memoria. Hay desbalance de carga entre los CPUs y memorias

Maestro/esclavo: Un procesador maestro se dedica a planificacion mientras que los otros ejecutan procesos. Maestro puede generar cuello de botella.

SMP: Todos los CPUs pueden realizar planificacion y ejecucion de procesos.

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

Consideraciones para SO con soporte SMP

A

Procesos concurrentes y simultaneos: rutinas del kernel deben ser reentrantes y estructuras de datos deben estar protegidas por la concurrencia

Planificacion: tambien se deben evitar problemas de concurrencia.

Sincronizacion: Acceso a recursos debe estar sincronzado

Manejo de memoria: sistemas de paginacion deben coordinarse

Confiabilidad y tolerancia a fallos: sistema debe seguir funcionando frente a falla de algun CPU

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

MicroKernels

A

Se busca reducir al maximo la cantidad de codigo que se ejecuta en modo kernel. Solo incluye servicios esenciales como gestion de interrupciones, E/S, entre otros. El resto de funciones se ejecutaran en modo usuario como servicios modulares. Esto provee mas flexibilidad. Imagen comparativa en diapos

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

Manejo de memoria

A

Es la tarea de subdividir la memoria para darle espacio a los distintos procesos. Esto se realiza dinamicamente. La idea es mantener la mayor cantidad de procesos en memoria para ocupar al CPU. Los requerimentos para implementar esto son la reubicacion, la proteccion, compartir memoria y organizacion logica

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

Reubicacion (manejo de memoria)

A

Al suspenderse un proceso y volver a cargarse en memoria, muy probablemente lo haga en una ubicacion distinta. El programador no sabe donde se ubica el proceso de manera dinamica ni sus cambios de posicion. El SO debe resolver la traduccion de direcciones relativas a direcciones fisicas en la memoria

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

Proteccion (manejo de memoria)

A

SO debe proteger espacio de memoria de cada proceso para que no se interfieran entre si. Esto es dinamico, no se puede controlar en compilacion. Se deben verificar todos los accesos a memoria para garantizar que estan en zonas permitidas. Se debe evitar que un proceso acceda a espacio de memoria del SO o de otro proceso. A este requisito lo satisface el hardware.

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

Compartir (manejo de memoria)

A

Debe estar la opcion de compartir memoria entre procesos, puede resultar mas eficiente en procesos que usan los mismos datos o instrucciones. Esto es un claro requerimiento

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

Organizacion logica (manejo de memoria)

A

Los programas se organizan en modulos. El SO debe reconocerlos, para poder escribir y compilar los modulos de manera independiente, como asi tambien agregar distintos grados de proteccion, o compartir modulos entre procesos

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

Particionado de memoria

A

Es la operacion que realiza el SO para dividir en partes la memoria, asignando un espacio a cada proceso. Estas particiones pueden ser fijas o dinamicas

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

Particiones fijas (memoria)

A

Particiones de igual capacidad. Cualquier proceso mas chico que la particion se puede cargar en memoria. Si todas estan ocupadas debe suspenderse algun proceso.
El uso de memoria es muy ineficiente (procesos muy chicos desperdician memoria), ya que se produce fragmentacion interna (ver imagenes). Una solucion podria ser usar particiones fijas de diferentes tamaños, pero no resuelve del todo el problema. Esto evita mucho desperdicio, pero puede haber procesos sin cargar en memoria aun cuando esta tiene espacio libre suficiente.

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

Particiones dinamicas

A

Particiones variables en numero y capacidad. A cada proceso se le asigna exactamente la memoria necesaria. Luego de un tiempo la memoria se fragmenta externamente, reduciendo capacidad de aceptar nuevos procesos. Se puede resolver usando compactacion de memoria, pero esto genera overhead.
Se debe usar algun algoritmo para reducir la frecuencia de compactacion. 3 ejemplos: best-fit, first-fit y next-fit

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

Algoritmos para manejo de particiones dinamicas en memoria

A

Best-fit
First-fit
Next-fit
Colegas

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

Algoritmo Best-fit (particiones dinamicas en memoria)

A

Elige entre los espacios libres aquel que tiene la capacidad mas parecida a la que requiere el nuevo proceso. Genera memoria fragmentada en muchos espacios pequeños y tiene baja performance.

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

Algoritmo First-fit (particiones dinamicas en memoria)

A

Elige el primer espacio libre de memoria donde entre el nuevo proceso. Mas simple y rapido, pero genera fragmentacion al comienzo de la memoria

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

Algoritmo Next-fit (particiones dinamicas en memoria)

A

Elige el primer espacio libre donde entre el nuevo proceso pero buscando desde la posicion donde se cargo el proceso previo. Genera fragmentacion hacia el final de la memoria y requiere mas frecuencia de compactacion que first-fit

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

Algoritmo de Colegas (particiones dinamicas en memoria)

A

En este caso el espacio total de memoria se trata como un solo bloque incialmente. Si se realiza solicitud de espacio menor este se subdivide, y asi sucesivamente hasta encontrar el tamaño mas adecuando. Cuando hay dos bloques libres adyacentes de igual capacidad se funden en uno. Funciona coomo si fuera un arbol binario de busqueda para asignar el espacio en memoria (ver imagenes)

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

Direccion fisica, logica y relativa (memoria)

A

Direccion fisica: ubicacion real en memoria fisica
Direccion logica: referencia a una ubicacion de memoria independiente de su asignacion real.
Direccion relativa: tipo de direccion logica expresada como una ubicacion relativa a un punto conocido de la memoria.

Generalmente los programas usan direcciones relativas a la del comienzo de programa.

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

Paginacion

A

Proceso que se realiza para reducir la fragmentacion interna y externa. Consiste en dividir la memoria en pedazos de igual capacidad, relativamente pequeña, llamados marcos. Lo mismo se hace con los procesos, dividiendolos en porciones de la misma capacidad que los marcos, llamados paginas. Cuando se carga un proceso, se asignan paginas del mismo a un conjunto de marcos libres (no siempre adyacentes).
El SO mantiene una lista de paginas para cada proceso, que indica en que marco de la memoria se encuentra cada una. En los programas cada direccion se representa como un numero de pagina sumado a un deplazamientoa dentro de esta. Para simplificar la tarea de traduccion (direcciones logicas o relativas a fisicas) se suele usar paginas que tengan una capacidad de una potencia de dos

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

Segmentacion

A

Se utiliza para dividir programas en segmentos, organizando asi la informacion y datos con diferentes permisos para cada segmento. El compilador o el programador definen los segmentos. Al ejecutar el programa el SO arma una tabla de segmentos indicando el inicio de cada uno.
A diferencia de la paginacion (que es invisible para el programador), la segmentacion si puede ser controlada por este.

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

Seguridad (memoria)

A

La memoria es un verctor comun de ataques. Se debe proteger contra accesos no autorizados. Se debe evitar el buffer overflow, que consiste en poner en un buffer mas informacion que su capacidad maxima, sobreescribiendo otra informacion adyacente a este. Esto sucede tipicamente como un error de programacion, y normalmente el SO termina el programa cuando esto sucede, ya que se sale de su espacio de memoria asignado.

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

Conjunto residente

A

Parte de un proceso que esta en la memoria, ya que no se carga todo el proceso, sino algunas paginas, y se cargan mas a medida que se necesitan. Esto permite cargar muchos procesos en memoria. Cuando un proceso requiere una pagina que no esta en memoria se produce un “fallo de memoria”, el SO toma el control y mediante E/S carga la pagina faltante a memoria. Mientras tanto el SO cambia a otro proceso para que aproveche el tiempo

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

Hiperpaginacion

A

Cuando el SO necesita traer una nueva pagina a memoria debe liberar un marco ocupado, y existe el riesgo de eliminar una pagina que proximamente se necesitara. Si se da esto muy seguido el SO pierde mucho tiempo cargando paginas en memoria, perdiendo tiempo para ejecutar procesos. A esto se le llama hiperpaginacion.

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

Principio de cercania

A

Por lo general las referencias a datos e instrucciones de los programas en la memoria suelen juntarse en grupos. Las referencias se concentran en periodos cortos en una zona de memoria, luego se salta a otra, y asi sucesivamente. Con esto se puede predecir cuales paginas se necesitaran en un futuro cercano.

72
Q

Tabla de paginas

A

So la mantiene actualizada para cada proceso. Cada entrada indica en que marco se encuentra cada pagina. Con un bit de control se indica si la pagina esta en memoria o no. Otro bit indica si fue modificada.
Muchas veces los procesos son muy grandes, por lo que tienen muchas paginas, entonces sule convenir paginar las propias tablas de paginas, o implementar tablas de varios niveles de profundidad

73
Q

Buffer de traduccion adelantada

A

Cada referencia a memoria puede generar dos accesos: uno para obtener la entrada de la tabla de paginas y otro para obtener el dato que se necesita. Entonces se puede utilizar el cache para almacenar las referencias a las paginas mas utilizadas, reduciendo las busquedas en memoria. El hardware primero busca la pagina referenciada en el TLB (cache), y si no la encuentra la busca en la tabla de paginas

74
Q

Tamaño de pagina adecuado?

A

Reducir tamaño de pagina reduce fragmentacion interna, pero incrementa el tamaño de las tablas. Si las tablas son muy grandes puede que parte de estas no este en memoria. Todo esto genera mas fallos de pagina, por lo que se debe buscar un balance

75
Q

Segmentacion y paginacion (comentario)

A

Espacio de direcciones se divide en segmentos a conveniencia del programador. Cada segmento es a su vez dividido en paginas. Si un segmento es menor que una pagina la ocupara por completo. El sistema combina ambos metodos de division para direccionar la memoria

76
Q

Politicas de lectura (cargado de páginas en memoria)

A

A demanda: pagina se carga cuando se hace referencia a ella. Al cargar por primera vez el proceso habra muchos fallos de pagina, y luego se reduciran por principio de cercania

Prepaging: Frente a un fallo de pagina se cargan varias consecutivas. Esto aprovecha cualidades de almacenamiento magnetico

77
Q

Politicas de ubicacion y reemplazo (páginas en memoria)

A

Ubicacion: define el lugar en la memoria donde se deben ubicar datos que se cargan. en sistema con paginacion esto no tiene relevancia
Reemplazo: decide que pagina reemplazar cuando toda la memoria esta ocupada. Se debe considerar manejo de conjunto residente y politica de reemplazo en si. Por principio de cercania se considera que paginas que no se referencian hace mucho tiempo son candidatas a reemplazarse
algoritmos:
Optimo
LRU
FIFO
Clock
Almacenamiento intermedio

78
Q

Optimo (algoritmo de reemplazo de páginas)

A

No es aplicable en la realidad, es teorico. Supone que se conoce la secuencia de paginas que seran utilizadas, y reemplazar aquellas cuya proxima referenciacion es mas lejana.

79
Q

Menos utilizado recientemente (LRU) (algoritmo de reemplazo de paginas)

A

Reemplaza la pagina que no ha sido referenciada desde hace mas tiempo. Sigue el principio de cercania. Muy eficiente pero costoso de implementar

80
Q

Primero en entrar primero en salir (FIFO) (algoritmo de reemplazo de paginas)

A

Forma un buffer circular con los marcos asignados al proceso y va reemplazando las paginas en round robin. Reemplaza la pagina que ha estado en memoria mas tiempo. No es muy bueno pero es sencillo.

81
Q

Reloj (algoritmo de reemplazo)

A

Se asocia bit de uso a cada marco. Al cargar pagina o referenciarla se pone en 1. Cuando hay que reemplazar se busca alguna que tenga un 0. Al buscar se ponen en 0 las que tenian 1

82
Q

Almacenamiento intermedio (algoritmo de reemplazo)

A

Se crean dos listas de paginas y marcos, una de liberadas y otra de modificadas. Al reemplazar se elije una de la lista de liberadas. Al escribirse en disco las modificadas pasan a la otra lista. Al cargar una pagina primero se busca en las listas a ver si no se encuentra ya en memoria.

83
Q

Manejo del conjunto residente, tamaño adecuado?

A

Tamaño del conjunto residente? Mientras menos memoria se le asigna a un proceso se pueden tener mas procesos en simultaneo en memoria, pero hay mayor probabilidad de fallos de pagina. Surgen dos opciones para la asignacion de marcos para un proceso (conjunto residente): Asignacion fija y variable

84
Q

Asignacion fija (manejo de conj residente)

A

El numero de marcos se define al cargarse el proceso y luego no varia. Esta cantidad puede estar definida en general o por el tipo de proceso. Al haber fallo de pagina se reemplaza un marco del propio proceso. Tamaño del conj residentes es constante

85
Q

Asignacion variable (manejo del conj residente)

A

El taño del conj residente es variable, en funcion de la frecuencia de los fallos de pagina. Es mas complejo porque requiere llevar una estadistica de cada proceso

86
Q

Politicas de vaciado (cuando escribir en disco las paginas modificadas)

A

Vaciado a demanda: pagina se escribe cuando ha sido elegida para ser reemplazada. Puede generar esperas de pagina antes de cargar la requerida

Vaciado previo: paginas modificadas se escriben en grupos independientemente de si han sido elegidas para su reemplazo. Puede escribir paginas innecesariamente

Buffering: Se arman dos listas, una de paginas modificadas y otra de paginas sin modificar. Solo se reemplazaran las de la segunda lista.

87
Q

Control de carga

A

Control de cantidad de procesos residentes en la memoria. Si es baja, pueden estar todos bloqueados en algun momento. SI es alta, entonces los conjuntos residentes son muy pequeños, generando hiperpaginacion

88
Q

Suspension de procesos: cual suspender?

A

Procesos con menor prioridad, procesos con fallos de pagina, procesos con conjunto residente mas pequeño, proceso con mayor conjunto residente, procesos con la mayor ventana de ejecucion restante, etc.

89
Q

Planificacion

A

El planificador se encarga de repartir el tiempo de procesador entre los procesos, cumpliendo requerimentos dados del sistema. Este trabajo se llama planificacion.

El planificador debe repartir justamente el tiempo de CPU, evitar inanicion de procesos, y proveer la opcion de priorizar algun proceso cuando se requiera

90
Q

Tipos de planificaciones

A

A largo plazo: Controla la creacion de procesos, es decir el grado de multiprogramacion. Debe decidir cuando el SO puede crear procesos, y cual de los trabajos a realizar se convertira en el proximo proceso.

A mediano plazo: Afecta las decisiones de suspension de procesos (o llevarlos a memoria principal).

A corto plazo: Se conoce como scheduler propiamente dicho. Se ejecuta al ocurrir un evento, como: interrupcion de clock o E/S, llamadas al SO, señales, etc.

91
Q

Requerimentos de usuario vs de sistema para planificacion a corto plazo

A

Usuario: afectan a usuario, por ejemplo maximizar la cantidad de usuarios que experimentan un tiempo de respuesta menor a x segundos.
Ej: tiempo de retorno (tpo entre creacion y finalizacion de proceso), tiempo de respuesta, limites, consistencia

Sistema: mas especifico y tecnico, a nivel del SO, como por ejemplo un numero de procesos completados por unidad de tiempo que se debe cumplir.
EJ: productividad, utilizacion, equitatividad, prioridades, recursos.

92
Q

Prioridades (scheduler)

A

Scheduler debe elegir ejecutar procesos de mayor prioridad, pero evitando inanicion de procesos con menor prioridad. Ver imagenes de colas de prioridades

93
Q

Politicas de planificacion preferentes vs no preferentes

A

Preferentes: proceso actualmente en ejecucion puede ser interrumpido y llevado al estado de listo.

No preferentes: una vez que un proceso se esta ejecutando solo se detiene si termina o se bloquea.

94
Q

Politicas de planificacion (procesos) vistas

A

Primero en llegar primero en servir
Round robin
Primero el mas corto
Primero menor tiempo restante
Primero mayor tasa de respuesta
Realimentado
Planificacion justa

95
Q

Primero en llegar primero en servir (politica de planificacion)

A

Es un sistema de cola puro, no preferente, que favorece procesos intensivos en uso de CPU (ya que los deja terminar), procesos cortos esperan mucho

96
Q

Round robin (politica de planificacion)

A

Es preferente, basado en un clock que interrumpe ejecucion. El proceso interrumpido se pone en cola de listos y espera su turno de nuevo. El problema que tiene es que un proceso puede requerir un poco mas de tiempo que el asignado por clock, entonces esperara toda una vuelta para terminar, siendo que originalmente le quedaba muy poco para terminar. Tambien puede ocurrir que el proceso termine mucho antes de su ventana de tiempo, generando tiempo muerto

97
Q

Primero el mas corto (politica de planificacion)

A

No preferente, se elige para ejecutar el proceso con tiempo de procesamiento esperado mas corto. Puede generar inanicion de procesos largos, ademas se debe estimar duracion de cada proceso para decidir.

98
Q

Primero menor tiempo restante (politica de planificacion)

A

Es una version preferente a primero el mas corto. Se debe estimar el tiempo de ejecucion restante de cada proceso para decidir.

99
Q

Primero el de mayor tasa de respuesta (politica de planificacion)

A

Es no preferente. Elige el proceso de mayor R = (w+s)/s
w: tiempo que el proceso ha estado esperando
s: tiempo de servicio requerido por el proceso

100
Q

Realimentado (politica de planificacion)

A

Tiene n colas de procesos. A medida que se le da tiempo de CPU a un proceso este pasa a la siguiente cola de menor prioridad. Gradualmente penaliza procesos que se estuvieron ejecutando por mas tiempo. Puede generar inanicion de procesos antiguos.

101
Q

Planificacion justa (politica de planificacion)

A

Aplicaciones de usuarios son un conjunto de procesos o threads, entonces esta planificacion trabaja repartiendo tiempo de CPU a grupos de procesos, considerando prioridad relativa. Cada usuario afecta prioridad de su grupo de procesos.

102
Q

Tiempo de respuesta

A

Tiempo que tarda el sistema en reaccionar ante una entrada. Obviamente se desea que sea despreciable siempre. Sin embargo lograr esto tiene un costo, generalmente asociado a potencia de calculo y requerimentos contrapuestos, ya que otorgarle respuesta rapida a un proceso se debe penalizar otro. En apps interactivas es muy importante que este tiempo sea bajo

103
Q

Tiempo de respuesta de usuario y del sistema

A

Del usuario: tiempo que transcurre entre que el usuario recibe respuesta y genera nueva orden

Del sistema: tiempo que transcurre entre que el usuario ingresa una orden y recibe una respuesta completa.

104
Q

Clasificacion de dispositivos de E/S

A

Legibles por humano: imporesoras, teclados, pantallas, placas de sonido, etc.

Legibles por maquina: memorias usb, sd, discos duros, sensores, camaras, etc.

Comunicaciones: placas de red, modems, etc.

105
Q

Variaciones entre dispositivos de E/S

A

Velocidad: puede haber varios ordenes de diferencia en velocidad

Aplicacion: uso que se le va a dar al dispositivo influye en su software controlador.

Complejidad del control: diferentes complejidades segun el dispositivo logicamente.

Unidad de transferencia: flujo de bits o caracteres

Representacion: distintos esquemas de codificacion usados por distintos dispositivos

Condiciones de error: naturaleza de errores, como repoortarlos, entre otros difieren de dispositivo a dispositivo.

106
Q

DMA (detalle)

A

Unidad DMA es capaz de imitar al CPU en el control de la memoria. CPU le envia al DMA la siguiente info: tipo de operacion, cual dispositivo de E/S usar, direccion inicial de memoria para operar, cantidad de palabras a leer/escribir. DMA avisa al CPU al terminar la operacion. Diagrama de DMA en diapo.

107
Q

Objetivos del SO en cuanto a operaciones de E/S

A

Eficiencia, ya que estas operaciones son el mayor cuello de botella. Por esto se necesita multiprogramacion.

Generalidad: poder manejar todos los dispositivos en una interfaz uniforme.

Para esto se usa un diseño jerarquico (en capas), donde cada capa provee servicios a la superior.

108
Q

Capas para dispositivo E/S simple que se comunica por stream de bytes

A

E/S logica: maneja comandos logicos como abrir, cerrar, escribir, leer

E/S a dispositivo: operaciones de capa superior y datos se organizan y convierten a instrucciones mas detalladas y ordenes al controlador

Control y planificacion: se realizan operaciones monitoreando estado e interactuando con el dispositivo.

109
Q

Capas para almacenamiento secundario con filesystem

A

Directorios: nombres simbolicos se traducen a referencias y se interpretan operaciones del tipo crear, borrar, mover

Sistema de archivos: trabaja con estructura logica de archivos y operaciones del tipo abrir, cerrar, leer, escribir

Organizacion fisica: igual que con la RAM, referencias logicas a archivos se traducen a direcciones fisicas.

110
Q

Almacenamiento intermedio (buffering)

A

Como las paginas no pueden suspenderse al hacer operacion de E/S (porque sino perderiamos la info), resulta ineficiente bloquear al proceso por cada transferencia. Entonces estas transferencias desde y hacia el dispositivo de E/S se realizan sobre paginas asignadas al SO, permitiendo suspender al proceso mientras se realiza la operacion.

Esta estructura puede ser de un solo buffer, o de doble buffering (se escribe en uno y se lee el otro), o de buffering circular (se cargan de a poco y se procesan rapido)

111
Q

Limites del buffering (E/S)

A

Cuando la demanda de operaciones de E/S es alta, eventualmente los buffers se van a llenar o vaciar, bloqueando los procesos. Sin embargo el uso de buffers mejora la respuesta del sistema en general.

112
Q

Discos magneticos

A

Se utilizan mucho hoy en dia para el almacenamiento en nube, debido a su gran capacidad y bajo costo. Contienen un cabezal de lectura/escritura, que se mueve por sectores dentro de pistas, todo esto en un disco giratorio.

Obviamente CPU y RAM son mucho mas veloces, por esto se intenta mejorar lo mas posible la eficiencia de estos discos. Imagen del timing en diapo.

113
Q

Tiempo de acceso (disco magnetico)

A

tiempo de busqueda mas tiempo de retardo de giro. Es el tiempo que se tarda en posicionar el cabezal en el sector deseado. El tiempo de acceso es mucho mayor al de lectura propiamente dicho

Tiempo de busqueda tiene dos partes: arranque inicial + posicionamiento en la pista.

La demora para acceder a los datos esta en el orden de los milisegundos.

114
Q

Fragmentacion en discos magneticos

A

Este efecto se da cuando los datos que se necesitan para la operacion de E/S no estan contiguos, aumentando el tiempo de acceso total a los datos. Por lo tanto se desea reducir al minimo este efecto. Ademas se pueden aplicar politicas de planificaion (planificar orden de recorrido del disco)

115
Q

Politicas de planificacion de discos

A

Planifican el orden en que se visitaran los sectores que se tienen que leer/escribir
Aleatoria
FIFO
Prioridad
LIFO
Mas cercano primero
Scan
C-Scan
n-step-Scan

116
Q

Politica de planificacion aleatoria (discos magneticos)

A

Performance mala, pero sirve de referencia para comparar con otras

117
Q

Politica FIFO (discos magneticos)

A

Primero en entrar, primero en salir. Es equitativa para los procesos, pero cuando hay un numero grande de procesos se aproxima al caso aleatorio.

118
Q

Politica por prioridad (discos magneticos)

A

Se asigna prioridades a los trabajos, busca minimizar el retardo para trabajos interactivos

119
Q

Politica LIFO (discos magneticos)

A

Ultimo en entrar, primero en salir. Si la fragmentacion se mantiene baja, entonces minimiza el movimiento del brazo. Puede generar inanicion debido a que si se pierde la cabeza de linea puede no recuperarse

120
Q

Politica el mas cercano primero (discos magneticos)

A

Elige el sector mas cercano al cabezal a partir de su posicion actual. Elige el minimo tiempo de busqueda, y rinde mejor que el FIFO.

121
Q

Politica SCAN (discos magneticos)

A

Se define que el brazo solo se mueve en una direccion. Sirve pedidos cuyas pistas encuentra en el camino. Al final cambia de direccion y vuelve en sentido contrario. Favorece levemente pistas externas e internas.

122
Q

Politica C-SCAN (discos magneticos)

A

Solo sirve operaciones en un sentido de movimiento. Cuando llega al final regresa al otro extremo sin servir datos, y vuelve a empezar. Mejora el desbalance de SCAN para pistas internas y externas.

123
Q

Politica n-step-SCAN (discos magneticos)

A

Mantiene dos colas de pedidos de longitud N. Las colas se sirven por turnos usando SCAN. Mientras se sirve una cola los nuevos pedidos ingresan a la otra. Al terminar de servir una cola se procede con la otra.

124
Q

Politicas de planificacion de disco en LINUX

A

Ascensor
Deadline
Con anticipacion
Completamente justo
No-op

125
Q

Planificador del ascensor (planificacion de disco en LINUX)

A

Tiene una cola unica para lectura y escritura, que se mantiene ordenada continuamente. De esta forma el cabezal se mueve en una sola direccion.
Ademas tiene condiciones:
Si un pedido es en el mismo sector o uno adyacente a uno que se encuentra en cola entonces se funden en uno solo
Si un pedido es viejo se agrega uno nuevo al final de la cola
Si hay un lugar adecuado se inserta el pedido en el lugar correcto de la cola
Si no hay lugar adecuado se coloca al final de la cola

126
Q

Planificador de deadline (planificacion de disco en LINUX)

A

Similar al ascensor, pero ademas de colocar los pedidos en cola del ascensor los coloca en una FIFO de lectura o de escritura con tiempo limite. Esto ya que escritura no suele bloquear proceso, pero la lectura si, porque se necesita el dato para seguir.

127
Q

Planificador con anticipacion (planificacion de disco en LINUX)

A

Busca favorecer situaciones donde vienen pedidos de lectura seguidos. Entonces el planificador espera un tiempo estimado luego de servir un pedido, para ver si llega un nuevo pedido a un lugar cercano, en ese caso lo sirve inmediatamente.

128
Q

Planificador completamente justo (CFQ) (planificacion de disco en LINUX)

A

Mantiene cola de E/S para cada proceso, y atiende esas colas en round robin. Los pedidos en cada cola se ordenan, y se atiende un tiempo determinado a una cola y luego se cambia de cola. Si una cola se vacia se espera un poco antes de pasar a la otra (anticipacion)

129
Q

Ventajas y desventajas de dispositivos de estado solido

A

Menor tamaño y peso, menor consumo, mas resistencia, mas velocidad y silencio. Las desventajas son su mayor costo, menor capacidad y vida util.

Las celdas flash tienen vida util, por esto se suele controlar el disco para utilizar las celdas de manera pareja.

130
Q

Planificador no-op (planificacion de disco en LINUX)

A

Mantiene cola de E/S para cada proceso. Planificador las atiende en round robin, pero los pedidos no se ordenan en las colas, se comportan como FIFO, lo que reduce el overhead del CPU

131
Q

RAID

A

Redundant array of independient/inexpresive disks

Es un conjunto de discos conectados al sistema que son considerados por este como uno solo. La info se distribuye entre los discos. Parte de la capacidad se usa para guardar info de redundancia, para resistir fallas de algun disco. Ademas se busca mejorar la performance usando paralelismo.
La idea es reemplazar un disco caro de alto desempeño por un conjunto de discos baratos.

132
Q

RAID 0

A

No es un RAID realmente, ya que no tiene redundancia. Permite incremento de velocidad al acceder a datos en paralelo. Datos se dividen en bandas y se distribuyen en los discos. Si falla un disco todo se pierde

133
Q

RAID 1

A

Se incluye redundancia, simplemente duplicando todos los datos. Escritura rapida ya que se escribe en simultaneo en dos unidades. Se duplica el costo por bit almacenado, pero es tolerante a la falla de un disco, ya que este esta duplicado

134
Q

RAID 2

A

Provee redundancia utilizando un codigo de Hamming a nivel de bit, por lo que la info se distribuye en los discos y la info de paridad tambien. Entonces la capacidad total sera de 4/7 de la suma de capacidades de las unidades (mejor que en RAID 1). Puede corregir errores de 1 disco y detectar errores en 2, pero necesita sincronizacion de cabezales.

135
Q

RAID 3

A

Utiliza paridad a nivel de byte. Info se escribe secuencialmente en los discos para mejorar velocidades de escritura y lectura. paridad se almacena en un solo disco, usando XOR. Puede continuar funcionando tras el fallo de una unidad.
ecuacion: X4 = X0 + X1 + X2 + X3

136
Q

RAID 4

A

Las bandas son mayores y los accesos son independientes entre discos. Cuando se escribe una banda hay que escribir la correspondiente en el disco de paridad. Puede escribir paridad sin tener que leer los otros discos. Frente a cargas grandes de escritura el disco de paridad se vuelve un cuello de botella

137
Q

RAID 5

A

No usa un disco de paridad, sino que la distribuye entre los discos, reduciendo el cuello de botella que tenia RAID 4. Tiene buena performance y tolera falla de un disco. Cuando hay una falla y se cambia un disco RAID 5 reconstruye los datos
Debido a las grandes capacidades hoy en dia la reconstruccion al realizar un cambio de disco puede ser muy lenta.

138
Q

RAID 6

A

Se agrega otro calculo independiente de paridad. Los bloques de paridad se almacenan repartidos entre los discos. Se necesitan dos discos extras para almacenar la paridad, pero puede tolerar falla de dos discos en simultaneo.

139
Q

Politicas de reemplazo de bloques en cache de disco

A

Menos usado recientemente
Menos referenciado

140
Q

Menos usado recientemente (politica de reemplazo de bloques en cache de disco)

A

Reemplazar el bloque que ha estado en cache por la mayor cantidad de tiempo sin ser utilizado. Se implementa con una pila. Al referenciar un bloque se lo coloca en el tope de la pila. Al descartar un bloque se saca el del fondo.

141
Q

Menos referenciado (politica de reemplazo de bloques en cache de disco)

A

Se descarta el bloque menos referenciado hasta el momento. Se implementa con contador para cada bloque, que se incrementa al referenciarlo. La desventaja es que un bloque que tuvo muchas referencias pero ya no se utilizara quedara mucho tiempo en la cache. Para mejorar esto se pueden usar distintas secciones para bloques nuevos y viejos, previniendo esta desventaja. Los contadores solo se incrementan para los bloques en la zona de viejos, previniendo contadores muy altos.

142
Q

Propiedades de los archivos/sistema de archivos

A

El filesystem permite al usuario crear conjuntos de datos relacionados, llamados archivos, que poseen propiedades como: duracion en el tiempo (en memoria secundaria), ser compartibles, y posibilidad de guardarlos siguiendo estructuras

143
Q

Operaciones que ofrecen los filesystems

A

crear, borrar, abrir, cerrar, leer, escribir

144
Q

Estructura de los datos (filesystem)

A

Campo: unidad basica de informacion, que contiene un unico valor. Esta definido por su tipo de dato y su longitud.

Registro: conjunto de campos relacionados entre si, que pueden ser considerados como una unidad para una aplicacion.

Archivo: conjunto de registros similares o relacionados, que puede ser referenciado por un nombre, creado y borrado.

Base de datos: conjunto de datos relacionados, donde las relaciones se muestran de manera explicita. Compuesta por uno o mas archivos.

145
Q

Organizacion de archivos

A

La organizacion de archivos refiere a la estructuracion logica de los registros definida por la manera con la cual se accede a ellos. Algunos criterios para elegir una organizacion logica son: bajo tiempo de acceso, facilidad para la actualizacion, economia de espacio, mantenimiento simple, confiabilidad.

146
Q

Formas de organizar informacion dentro de archivos

A

Pilas
Archivo secuencial
Archivo secuencial indexado
Archivo indexado

147
Q

Pilas (organizacion de info dentro de archivos)

A

Los datos se guardan en el orden que aparecen. Los registros pueden tener diferentes campos, y los campos pueden ser de distintos tamaños, por lo que cada uno debe ser descripto. Esta falta de estructura genera una busqueda lenta de un registro en particular.

148
Q

Archivo secuencial (organizacion de info dentro de archivos)

A

Todos los registros respetan un formato fijo, son todos de igual longitud. Lo mismo sucede con los campos de los registros. Un campo de cada registro es el campo clave. Los registros se ordenan en funcion de este campo particular

149
Q

Archivo secuencial indexado (organizacion de info dentro de archivos)

A

Archivo secuencial con dos agregados: un indice y un archivo de overflow.
El indice permite buscar rapidamente registros particulares. El indice es un archivo secuencial con info de ubicacion de los registros.
Ademas cada registro tiene un campo para apuntar al archivo de overflow. Periodicamente se reorganiza el archivo para vaciar el de overflow.

150
Q

Archivo indexado (organizacion de info dentro de archivos)

A

Se generan multiples indices exhaustivos para cada tipo de campo existente en los registros. Se puede buscar por cada campo y no solo por el campo clave. Se utilizan cuando se desea rapidez en el acceso a la informacion.

151
Q

Sistema de gestion de archivos (filesystem)

A

Software que provee servicios para utilizar los archivos.
Objetivos generales: garantizar validez de los datos, optimizar desempeño, soportar variedad de dispositivos, generar una interfaz para los procesos, proveer soporte para multiples usuarios, etc.
Debe permitir al usuario operar con los archivos, hacer copias de seguridad, mantener control sobre permisos, mover datos entre archivos, y asignarles nombres.

152
Q

Capas del filesystem (de abajo hacia arriba)

A

Gestores de dispositivos (drivers)
Sistema de archivos basico
Supervisor basico de E/S
Entrada y salida logica
Metodo de acceso

153
Q

Gestores de dispositivos (capas del filesystem)

A

Se conocen como drivers, se encargan de controlar el hardware, comunicandose directamente con los dispositivos. Son parte del SO.

154
Q

Sistema de archivos basico (capas del filesystem)

A

Maneja la info del usuario a nivel de bloques de datos, y los almacena en buffers de memoria, sin comprender del todo su estructura.

155
Q

Supervisor basico de E/S (capas del filesystem)

A

Responsable de E/S a nivel de archivo, genera y asigna buffers de E/S, y planifica accesos a dispositivos.

156
Q

Entrada y salida logica (capas del filesystem)

A

Permite el acceso a los usuarios y los procesos a los registros de los archivos, con una interfaz basica. Tambien mantiene info sobre los archivos que esta procesando.

157
Q

Metodo de acceso (capas del filesystem)

A

Capa mas cercana al usuario, que provee interfaz estandar entre apps y el resto del filesystem. Diferentes opciones reflejan distintas estructuras de archivos (pilas, secuenciales, indexados, etc)

158
Q

Directorios

A

Se utilizan para organizar archivos, y mantener informacion sobre estos (ubicacion, propietarios, permisos). Es en si mismo un archivo, pero el usuario no accede a el de forma directa, sino con rutinas del SO.
Contienen: nombre, tipo de archivo, y organizacion del archivo
Proveen informacion de ubicacion: volumen (dispositivo), direccion de inicio, tamaño utilizado, tamaño maximo.
Proveen control de acceso: propietario, acciones permitidas.
Proveen informacion de uso: fecha de creacion, ultima lectura, ultima modificacion, etc.

159
Q

Estructura de los directorios

A

Depende el filesystem. El usuario requiere ciertas operaciones en el directorio: buscar un archivo, crear o borrar archivos, listar archivos del directorio, etc.
La forma mas simple es una lista de registros, uno para cada archivo. Pero en casos mas complejos (cantidad de archivos) conviene una estructura jerarquica (en forma de arbol).

160
Q

Nombres de archivos

A

Estructura de arbol permite nombres duplicados, siempre y cuando esten los archivos en directorios diferentes.

161
Q

Compartir archivos

A

En sistemas multiusuario se deben manejar derechos de acceso y gestion de archivos simultaneos.
Derechos de acceso: ninguno, conocimiento, ejecucion, lectura, escritura, etc. Cada uno engloba al anterior.
Acceso simultaneo: el SO puede bloquear acceso a archivo a otros usuarios mientras alguien lo esta usando. Se pueden bloquear registros individuales. Debe considerarse exclusion mutua e interbloqueos.

162
Q

Agrupacion de registros

A

Registro: unidad logica base para manejar archivos
Bloque: unidad base para operaciones E/S
Los registros deben organizarse en bloques al momento de almacenar archivos. Si el archivo se procesa secuencialmente convienen bloques mas grandes. Si el procesamiento es aleatorio convienen bloques pequeños.
Hay varios metodos de agrupacion de registros en bloques:
Bloques fijos
Longitud variable multi bloque
Longitud variable simple bloque

163
Q

Bloques fijos (agrupacion de registros en archivos)

A

Registros del mismo tamaño. Numero entero de registros por bloque. Hay un espacio sin usar al final del bloque

164
Q

Longitud variable multi bloque (agrupacion de registros en archivos)

A

Registros de longitud variable, sin espacio desperdiciado. Hay registros que ocupan mas de un bloque (bloques de tamaño fijo).

165
Q

Longitud variable bloque simple (agrupacion de registros en archivos)

A

Registros de longitud variable, pero con un numero entero de registros por bloque, con espacio sin utilizar al final del bloque (bloques fijos).

166
Q

Gestion de almacenamiento secundario

A

SO debe adignar sectores del almacenamiento secundario a los archivos. Dos cuestiones a resolver: recordar ubicaciones de archivos y recordar que sectores estan libres.
Al crear archivo, cuanto espacio se le asigna?
Cuando se asigna mas espacio a un archivo, que tamaño agregar?
Estructura de datos para llevar contabilidad de archivos?

167
Q

Preasignacion vs asignacion dinamica (gestion de almacenamiento)

A

Preasignacion: requiere conocer el tamaño maximo del archivo al crearlo, y eso es dificil de lograr. Genera sobreestimacion del tamaño y desperdicio.

Asignacion dinamica: Resuelve estos problemas, asignando dinamicamente el espacio necesario.

168
Q

Tamaño de los bloques (gestion de almacenamiento)

A

Bloques contiguos mejoran performance. Nro grande de porciones aumenta tamaño de tablas de control. Porciones de tamaño fijo simplifica reubicacion de bloques. Tamaños variables o fijos pero pequeños minimiza el espacio desperdiciado por sobreasignacion.

Bloques continuos de tamaño variable: mejor performance, poco desperdicio, tablas pequeñas. Dificil de reusar el espacio liberado

Bloques pequeños: provee mas flexibilidad, pero se pierde contiguidad y se necesitan tablas mas grandes.

Cualquier alternativa es compatible con preasignacion y asignacion dinamica.

169
Q

Metodos de asignacion de archivos en almacenamiento secundario

A

Asignacion contigua
Asignacion encadenada
Asignacion indexada

170
Q

Asignacion contigua (metodos de asignacion de archivos)

A

Se le asigna un conjunto de sectores al momento de la creacion, la tabla de asignacion solo necesita incluir el bloque inicial y el tamaño de bloques del archivo. Se puede buscar un bloque particular de manera directa.

171
Q

Asignacion encadenada (metodos de asignacion de archivos)

A

El espacio se asigna dinamicamente. Cada bloque indica cual es el siguiente. La tabla solo indica el bloque inicial y el tamaño del archivo. No tiene fragmentacion y es facil asignar mas espacio, pero si hay muchos bloques el acceso a los del final se vuelve lento (como una lista enlazada)

172
Q

Asignacion indexada (metodos de asignacion de archivos)

A

Se genera un indice con una entrada para cada porcion del archivo, indicando su ubicacion. El indice suele ser parte del mismo archivo, y la tabla de asignacion solo apunta al indice. Se puede usar con asignacion variable o fija.

173
Q

Gestion del espacio libre (almacenamiento)

A

Para implementar cualquier metodo de asignacion se necesita saber los bloques libres. Esto se puede hacer con una tabla de asignacion de disco que lleve la cuenta de los bloques libres en todo momento. Por ej:
Tablas de bits
Porciones libres encadenadas
Indexacion
Lista de bloques libres

174
Q

Tablas de bits (gestion de espacio libre en almacenamiento)

A

Se genera un vector que contiene un bit representando cada bloque del almacenamiento secundario. 0 indica libre, 1 indica ocupado. Si el dispositivo es de mucha capacidad la busqueda en el vector puede ser lenta.

175
Q

Porciones libres encadenadas (gestion de espacio libre en almacenamiento)

A

Se utilizan los propios bloques libres para guardar la informacion. Se guardan punteros al proximo bloque libre en cada uno. Solo se necesita conocer el primero. Es lento para liberar espacio ya que hay que reasignar los punteros.

176
Q

Indexacion (gestion de espacio libre en almacenamiento)

A

Considera al espacio libre como un archivo mas. Utiliza la indexacion como en los archivos pero para los bloques libres.

177
Q

Lista de bloques libres (gestion de espacio libre en almacenamiento)

A

Cada bloque es identificado con un numero, y se mantiene en el dispositivo una lista con todos los bloques libres, y solo se requiere un porcion de esa lista en memoria para saber espacios libres.