Está en la página 1de 24

1.

Ventajas del enfoque Predicción(evitación) con manejo para encontrar al menos un


camino seguro
Deben conocerse las demandas futuras de recursos y los procesos pueden bloquearse por
largo tiempo

2. ¿Porque usamos un puntero a la memoria compartida?


Porque no sabemos de antemano que ubicación tendrá

3. ¿Si la redundancia no es ventajosa, porque se la necesita?


La redundancia, a pesar que no es ventajosa, resulta necesaria para recuperar datos
cuando haya fallos

4. Estructuras RAID
Se denominan así a los conjuntos de discos que permiten mejoras en las prestaciones y en
la fiabilidad a través de la redundancia

5. ¿Cuáles son las llamadas al sistema en Linux que se utilizan para manejar semáforos?
Sem_init, sem_post, sem_wait

6. ¿A que se denomina estado seguro de un sistema?


Al hecho de que existe al menos una secuencia de ejecución donde todos los procesos
terminan

7. ¿Cómo lleva el SO el control de los marcos libres y ocupados?


Con una tabla de marcos de páginas o tabla invertida

8. ¿Por qué es importante fijar un tamaño de página adecuado?


Si es grande, pierde el beneficio del principio de localidad, Si es chica las tablas son muy
grandes

9. ¿Cuál es la herramienta que mejor satisface la gestión de módulos en la memoria


principal?
La segmentación se adecua mejor a la organización lógica de los módulos del proceso en
memoria principal

10. ¿Para que el padre espera que finalicen los hijos?


Para poder presentar por pantalla el valor final del contador

11. ¿Qué se puede hacer cuando se ha detectado un Deadlock?


Lo mejor es haber hecho copias (puntos de recuperación) y hacer un rollback

12. ¿En qué casos las instrucciones necesitan acceder a más de una página al mismo tiempo?
Cuando código de operación y datos están en páginas distintas o el programa salta de una
página a otra
13. ¿Qué situación debe sostenerse para que se produzca “thrashing”?
Que el conjunto de trabajo de un proceso sea mayor que el conjunto residente

14. ¿Cómo trabaja el denominado modelo del conjunto de trabajo en la asignación de


memoria para los procesos?
Le asigna marcos con criterio global, de acuerdo a lo que necesita, en base a ultimas
referencias

15. ¿Por qué hay algunos marcos de páginas que son necesarios bloquearlos, p.ej. Kernel y
los bufferes de E/S?
Porque el bloqueo impide que la pagina sea expulsada a disco, cosa que, si ocurriese, haría
que el SO se desestabilice

16. ¿A que se denomina TLB?


Son registros de memoria asociativa que guardan las ultimas traducciones de direcciones
lógicas a físicas

17. Entrada/Salida bloqueantes y no bloqueantes


Son las llamadas al sistema que realiza un proceso y que pueden llevar a este, a bloqueo o
no

18. ¿de qué tema trata el tp de concurrencia?


Todos
Condiciones de carrera
Creación de hijos con fork()
Problema de la sección critica

19. ¿Qué ventajas tiene la asignación global frente a la local?


Que puede ser más justa la asignación de marcos, quitando a los que no usan, reduciendo
los page fault

20. La traducción de direcciones lógicas a físicas se realiza en tiempo de compilación, tiempo


de carga y tiempo de ejecución
Si se realiza en tiempo de carga, las posiciones de las variables de un programa
permanecen fijas

21. ¿Qué problemas puede ocasionar tamaños pequeños de páginas?


El principal problema es el tamaño de las tablas de páginas de cada proceso

22. ¿Cuándo un grafo representa un DeadLock?


Cuando existe un ciclo cerrado y todos los recursos tienen una única instancia.
23. ¿Qué tamaño tiene típicamente una página de memoria en GNU/Linux?
4096 Bytes

24. ¿Qué diferencia un RAID 3 de un RAID 4?


RAID 3 tiene tiras en Bytes y un disco de paridad. RAID 4 tiene tiras en bloques y un disco
de paridad

25. ¿Qué diferencia hay entre: E/S con grandes transferencias de datos vs gran cantidad de
pequeñas E/S?
La primera es realizada por una única operación, porque el registro es grande, en cambio
la segunda, son varias peticiones simultáneas de unos pocos bytes

26. ¿En qué consiste la política de buffers de páginas?


Se trata de que las páginas se mantengan en memoria cuando han sido seleccionadas
como víctimas

27. La memoria virtual:


Es una técnica que permite la ejecución de procesos, aunque no estén cargados
totalmente en memoria principal

28. ¿Para qué sirve el valor que devuelve la función fork()?


Para distinguir si el proceso que está ejecutando es el padre, el hijo o hubo errores

29. Robo de ciclos


Es el nombre que se le da a la actividad que realiza DMA cuando toma el bus para
transferir

30. ¿Qué diferencia hay entre los términos: página y marco (frame) de página?
La página es la división del espacio de direcciones del proceso y el marco es la porción en
memoria principal

31. ¿Para qué sirve el comando free de la consola de Linux? (No la llamada al sistema)
Para mostrar la utilización de memoria del sistema.

32. ¿Cuál de las condiciones necesarias puede violarse?


La espera circular, exigiendo un orden de asignación de recursos

33. ¿Qué diferencia hay entre la paginación y la segmentación?


La paginación optimiza espacio en la RAM, la segmentación contempla las estructuras de
programación.

34. ¿Para qué sirve la técnica de spooling?


El Spooling es una forma en la que los sistemas operativos pueden coordinar la salida
concurrente sobre un dispositivo como la impresora, por ejemplo
35. Asignación de la memoria del kernel
El kernel suele necesitar memoria principal contigua y no se aplica métodos de paginado p
ara él

36. ¿Cuántas tablas de páginas hay en un sistema multiprogramado?


Hay una tabla por cada proceso

37. ¿A que se denomina dirección virtual?

Al valor de un campo de dirección paginada o segmentada de una instrucción de un proceso


que deberá ser traducida

38. ¿Qué relación hay entre la localidad de las referencias, el conjunto de trabajo y los
accesos aleatorios a memoria?
Los accesos aleatorios no cumplen con la localidad de las referencias, por lo que el
conjunto de trabajo crece.

39. ¿Cómo traduce las direcciones paginadas en un sistema con hashing (dispersión)?
Se convierte con una función, el enorme número de página en un número pequeño y se
traduce.

40. ¿Qué método se usa en el tp de concurrencia para aumentar la concurrencia?


Incrementa la cantidad de accesos que cada proceso hace a la memoria compartida.

41. ¿A que se denomina conjunto residente de un proceso?


Al conjunto de páginas cargadas en memoria

42. ¿Qué es Deadlock?


Al interbloqueo de varios procesos en espera circular por recursos no expropiables.

43. ¿Qué ventajas tiene tratar a la tabla de páginas con estructura hashing?
Que reduce el tamaño de la tabla de página, haciendo cálculos en el momento de
traducción

44. Planificación de disco:


Es necesario que las operaciones de E/S de disco sean optimizadas (planificadas) por las
demoras que significa su acceso.

45. Fallo de página:


Son referencias a páginas que hacen los procesos/hilos y que no están cargados en
memoria principal.
46. ¿A qué se denomina cilindro en los discos magnéticos?
Al conjunto de pistas concéntricas de un mismo diámetro en un conjunto de platos
solidarios a un eje de rotación

47. Algoritmo del banquero:


Trata de evitar el interbloqueo de procesos

48. ¿Cuáles son las ventajas de la evitación frente a la prevención y a la detección?


Permite un mayor grado de concurrencia y no es necesario hacer rollback

49. ¿Si ya existen las tablas de páginas por proceso, para que sirve la tabla de marcos de
página?
Las tablas de página ven el aspecto lógico de los procesos, la tabla de marco de página ve
el aspecto físico

50. ¿En qué consiste la política de buffers de página?


Se trata de que las páginas se mantengan en memoria cuando ha sido seleccionada como
victimas

51. ¿Cómo se implementa el algoritmo del “reloj”?


Similar al FIFO, pero se agrega un bit referenciando para elegir el primero ingresado no
referenciado

52. Entrada/Salida:
Se conoce así a las operaciones que realiza un computador cuando envia o recibe datos
hacia o desde un dispositivo externo

53. ¿Qué diferencia un RAID 2 de un RAID 3?


RAID 2 tiene tiras en Bytes y discos de Hamming, RAID 3 tiene tiras de Bytes y discos de
paridad

54. ¿Cuáles son algunas de las ventajas que aportan las construcciones RAID?
Las construcciones RAID aportan paralelismo de acceso en una solicitud o en varias y
redundancia según el nivel de RAID

55. Paginación:
Es la técnica de dividir al espacio de direcciones de un proceso en porciones de igual
tamaño que los marcos de la RAM

56. ¿Si ya existen las tablas de páginas por proceso, para qué sirve la tabla de marcos de
páginas (invertida)?

Las tablas de páginas ven el aspecto lógico de los procesos, la tabla de marco de página ve el
aspecto físico
57. ¿Por qué las operaciones de E/S deben realizarse en modo privilegiado?
Porque los dispositivos son recursos públicos y deben ser controlados y administrados sólo
por el SO

58. El modelo de conjunto de trabajo, como técnica de asignación de marcos:


Concede los marcos aproximándose al principio de localidad de la referencia, fijando una
ventana de tiempo

59. ¿Qué es la paginación?


Es la técnica de dividir al espacio de direcciones de un proceso en porciones de igual
tamaño que los marcos en la RAM

60. ¿Cuál cree Ud. que es la mejor técnica de recuperación de un DeadLock?


Volver a un punto de recuperación: hacer un rollback

61. ¿Qué ventajas trae dividir la tabla de páginas en niveles?


La ventaja es que sólo se carga las partes de la tabla que hacen falta

62. ¿Qué ventajas ofrece la técnica de memoria virtual?


Se puede ejecutar programas, aunque sea más grandes que la Mp asignada y da
protección a la ejecución

63. ¿Cómo trabaja el algoritmo de sustitución óptimo de páginas?


Es teórico, pretende reemplazar la página que será demandada en el futuro más lejano

Preguntas de Unidad 8,9,10,12 (años anteriores)

Capítulo 8: Interbloqueos

1. ¿Que es interbloqueo o “deadlock”?

a) Es un bloqueo entre procesos y recursos compartidos

b) Es un interbloqueo entre procesos, con recursos exclusivos que esperan y


retienen

c) Es una situación compleja de concurrencia mixta entre 2 o más procesos

d) Es una espera indefinida (spinlock) entre 2 o más procesos


2. ¿Que diferencia el concepto de recurso reutilizable y consumible?

a) Consumibles: desaparecen después de usarlos. Reutilizables: quedan


intactos luego del uso.

b) Reutilizables: el SO los usa y quedan intactos. Consumibles: quedan


disminuidos luego del uso.

c) Consumibles: después de usarlos, el SO decide quién sigue. Reutilizables:


el SO los reproduce luego del uso.

d) Reutilizables: el SO controla su uso y los mide. Consumibles: desaparecen


luego del uso del SO

3. ¿Cuáles son los métodos para tratar los interbloqueos?

a) Evitación, recuperación y prevención

b) Recuperación, ignorar y detección

c) Detección, recuperación y prevención

d) Posesión, retención y prevención

4. ¿Como sirve un grafo para determinar si hay o no abrazo mortal?

a) Procesos y recursos, con solicitud y posesión. Lazo cerrado con recursos


de una sola instancia = Deadlock

b) Los recursos deben ser de uso exclusivo

c) La secuencia de ejecución de los procesos define un deadlock

d) Puede haber un deadlock con un único recurso

5. ¿En Que consiste la técnica de detección de interbloqueo?

a) Ejecutar en momentos un algoritmo que detecte lazos en matrices y


analice lo detectado

b) Observar dónde hay mayor demanda de recursos y marcarlo


c) Detectar recursos muy usados y bloqueados y marcar

d) Revisar los recurso asignados, otorgados y faltantes

6. ¿En Que consiste la recuperación de un interbloqueo?

a) Devolver los recursos bloqueados al sistema

b) Matar procesos, liberar recursos o volver a un punto de recuperación

c) Restablecer los procesos, los usuarios y los recursos

d) Cuidar que todos los procesos tengan los recursos necesarios

7. ¿Cuál cree Ud. que es la mejor técnica de recuperación?

a) Volver a un punto de recuperación: hacer un rollback

b) Eliminar los procesos intervinientes, quitando cuidadosamente los recursos

c) Quitar los recursos sin eliminar procesos

d) Matar un solo proceso (el que tenga más recursos)

8. ¿Que significa posesión y espera?

a) Que no está conforme un proceso y siempre pide otro recurso

b) Que, para poseer un recurso, siempre debe esperar

c) Significa que un proceso no libera un recurso y pide otro que no está


disponible

d) Significa que el SO controla los recursos y si no están disponibles, los


procesos esperan

9. ¿Que desventajas tiene terminar los procesos una vez detectado el


deadlock?

a) Que hay que reiniciar los procesos y se pierde tiempo de CPU

b) Que lleva a errores porque no se sabe que hizo el proceso hasta el


momento de la terminación
c) Que hay que coordinar y planificar nuevamente los procesos

d) Que es posible que los recursos necesarios ya no estén cuando se


relancen los procesos

10. ¿Cuál de las condiciones necesarias puede violarse?

a) La espera circular, exigiendo un orden de asignación de recursos

b) La liberación no-obligada, ya que los procesos no son dueños de los


recursos

c) La exclusión mutua, ya que hay recursos que pueden compartirse

d) La posesión y espera, porque no debe ser posible que retenga recursos y


solicite otros

11. ¿Cuál es la restricción que impone hacer prevención de interbloqueo?

a) Que al violar una condición necesaria se impone un modo de adquisición


de recursos al programador

b) Que todo es más lento porque se debe probar si ya se caído en Deadlock

c) Que los recursos son muy diferentes y no pueden ser tratados de la misma
manera

d) Que el procesador debe dedicarse a verificar permanentemente si se


encuentra en estado seguro el sistema

12. ¿Cuáles son las 4 condiciones necesarias para que existe el abrazo
mortal?

a) Prevención, recuperación, exclusión mutua y espera circular

b) Prevención, recuperación, detección y exclusión mutua

c) Posesión y espera, liberación no-obligada, exclusión mutua y espera


circular

d) Detección, Recuperación, Prevención e Ignorar


Capítulo 9: Administración de Memoria

1. ¿Que son los Nombres simbólicos?


Nombres o direcciones simbólicas, son los nombres que los programadores
les ponen a las variables o estructuras de datos que se definen

2. ¿A Que se llama Direcciones lógicas?


Es un número que representa la posición “lógica” o lugar dentro del espacio
lógico de direcciones del proceso. Es lógico, porque no tiene una
correspondencia física. Son direcciones lineales abstractas.

3. Cuáles son los momentos de la traducción de direcciones lógicas a


físicas
Son: Compilación, Carga y Ejecución

4. Que ventaja/desventaja tiene traducir las direcciones lógicas a físicas


en el momento de la compilación?
La ventaja es la velocidad de ejecución, la desventaja es lo estático de la
ubicación del proceso

5. Que ventaja/desventaja tiene traducir las direcciones lógicas a físicas


en el momento de la carga?
Tiene como ventaja la flexibilidad de carga en las direcciones que estén
libres (se llama reubicación a partir de registros bases). Pero tiene la
desventaja de que ya permanece estático el proceso (no puede moverse,
una vez cargado)

6. Que ventaja/desventaja tiene traducir las direcciones lógicas a físicas


en el momento de la ejecución?
La ventaja es que el proceso puede ser movido de un segmento de
memoria a otro durante su ejecución

7. ¿Que es el espacio direccionable de un proceso?


Son direcciones lógicas (ver preg 2) y que están limitadas sólo por el
tamaño de los registros del procesador (o concatenación de ellos)
8. ¿Que significa que el código sea reubicable?
Que el espacio que utilice el proceso puede ubicarse en el momento de la
carga y ajustarse a través de un registro base o de reubicación. Luego de
eso, quedará fijo en ese espacio de Memoria principal

9. ¿Para Que sirven las pilas?


Pila: Es la estructura de datos en memoria principal más simple y de acceso
más rápido. Sirven a los procesos/hilos para guardar: direcciones de
retorno, variables locales de los procedimientos y parámetros que se pasan
entre procedimientos.

10. ¿Que es el Heap?


Es una región del espacio de direcciones de los procesos, dedicada a las
variables globales no-inicializadas, estructuras de datos dinámicas que
vayan siendo creadas a medida que el proceso se ejecuta. Crece en
sentido opuesto al de la pila

11. ¿Que es la MMU?


Es un dispositivo hardware que traduce una dirección virtual a una física

12. ¿Que significa carga dinámica?


Procedimientos que se cargan en memoria a pedido de algún programa en
ejecución.

13. ¿Que significa enlace dinámico?


Que esta técnica se usa en medio de la ejecución de un proceso y es capaz
de vincularse (linking) con direcciones de otros códigos para en algún
momento seguir la ejecución en ese código enlazado.

14. ¿A Que se denomina Intercambio (swapping)?


Al traspaso total de la imagen de un proceso de disco a memoria y
viceversa
15. ¿Que problema tiene la asignación contigua de memoria?
Que necesita de un hueco que sea mayor o igual en tamaño al del espacio
del proceso que necesita cargarse en memoria. Esta técnica lleva a
fragmentación externa.

16. ¿Que se gana asignando la memoria por particiones?


Que es más fácil encontrar una partición libre que contenga al proceso (la
administración es más fácil). Esta técnica lleva a fragmentación interna.

17. ¿Que diferencia hay entre la fragmentación externa y la interna?


La externa aparece después de cierta actividad cuando las porciones que
se cargan y descargan son de tamaño variable. La interna aparece cuando
la región asignada es mayor que la ocupada. Dicho de otra manera: la
fragmentación externa es espacio no asignado a ningún proceso, pero por
ser demasiado pequeño, ningún proceso lo puede ocupar; la fragmentación
interna es espacio asignado a un proceso, él no lo ocupa ni ningún proceso
lo puede ocupar, porque ya está asignado.

18. ¿Cuál es la solución a la fragmentación externa?


Una solución a la fragmentación externa sería la compactación

19. ¿Cuál es la solución a la fragmentación interna?


No tiene solución, a lo sumo se puede morigerar o disminuir, asignando
espacios que se adecuen o dejen menor desperdicio.
20. ¿Que es la paginación?
Es la división de los espacios de direcciones de los procesos en particiones
o porciones de un mismo tamaño, que coinciden con el tamaño de los
marcos (frames) de páginas que fija el procesador.

21. Que diferencia hay entre los términos: ¿página y marco (frame) de
página?
La página es la división del espacio de direcciones del proceso y el marco
es la porción en memoria principal
22. ¿Cómo es una dirección paginada?
Posee 2 campos: número de página y offset (desplazamiento)
23. ¿Que necesita para traducirse una dirección paginada?
Una tabla de páginas o cualquier estructura que permita traducir la
dirección paginada a una dirección física. Esta traducción habría que
hacerla por hardware, en otro caso sería muy lenta.

24. ¿Cómo se lleva el control de los marcos libres?


Con una tabla llamada de marcos de página, que lleva cuenta de los
marcos vacíos y asignados. Es única para el SO

25. ¿A Que se denomina TLB?


Son registros de memoria asociativa que guardan las últimas traducciones
de direcciones lógicas a físicas

26. ¿A Que se denomina memoria asociativa?


A un tipo de memoria electrónica que permite una búsqueda por contenido
simultánea. Se suele usar en las memorias cachés.

27. ¿Que significa el bit de validez en la tabla de página?


Es un bit de protección que indica si la página está en el espacio lógico del
proceso o no

28. ¿Que significa que haya páginas compartidas?


Que el SO fija a pedido de los procesos, páginas que pueden ser accedidas
por más de un proceso. Es decir que en la tabla de páginas del proceso que
quiere compartir una página de otro proceso, habrá un puntero a la página
del “dueño” de esa página, con los permisos de acceso permitidos.

29. ¿Cuáles pueden ser las posibles estructuras de las tablas de páginas?
Una tabla de páginas partida (paginada) con estructura jerárquica, una
“tabla” con estructura hash, es decir que hay que hacer un cálculo (función
hash, por ej. Función módulo) y la tabla invertida (se busca por proceso y
por página), en realidad es la llamada tabla de marcos de páginas.

30. ¿Que ventajas trae dividir la tabla de páginas en niveles?


La ventaja es que sólo se carga las partes de la tabla que hacen falta
31. ¿Que ventajas tiene tratar a la tabla de páginas con estructura
hashing?
Que reduce el tamaño de la tabla de página, haciendo cálculos en el
momento de la traducción

32. ¿A Que se denomina tabla de páginas invertida?


A la tabla de marcos de páginas (una por SO)

33. ¿Que es la segmentación?


Es una técnica de memoria virtual, que divide a los procesos en porciones
de tamaño variable (depende de la porción de software que contiene el
segmento). Entonces la segmentación cuida el espacio de los procesos, no
el espacio físico de la Memoria principal como lo hace la paginación.

34. ¿Que ventajas/desventajas tiene frente a la paginación?


Mejor protección y compartición, pero desaprovecha los espacios de
memoria principal

35. ¿Que necesita la segmentación para su implementación?


Necesita: una tabla de segmentos por cada proceso, una lista de
administración de espacios vacíos y algoritmos que asignen y desasignen
espacios a los segmentos.

36. ¿Cómo traduce las direcciones lógicas a físicas un Pentium, en el


caso de que se necesite segmentación?
En realidad un Pentium maneja una segmentación paginada que los SO
podrían usar. Con la elección del segmento, se podría proteger los
direccionamientos (a zonas del kernel, de usuario, de código de datos,
etc.).Luego con direcciones de 32 bits, se accede a tablas de páginas
jerarquizadas o paginadas que permiten cargar sólo aquellas que están en
uso y minimizar la memoria usada.

37. ¿Cómo traduce las direcciones lógicas a físicas un Pentium, en el


caso de que se necesite paginación?
En realidad un Pentium maneja una segmentación paginada que los SO podrían
usar. Con la elección del segmento, se podría proteger los direccionamientos (a
zonas del kernel, de usuario, de código de datos, etc.).Luego con direcciones de
32 bits, se accede a tablas de páginas jerarquizadas o paginadas que permiten
cargar sólo aquellas que están en uso y minimizar la memoria usada. Idem
respuesta a la anterior.

Preguntas de capítulo 10: memoria virtual

1. ¿Que ventajas ofrece la técnica de memoria virtual?


Se puede ejecutar programas, aunque sean más grandes que la Mp asignada y
da protección a la ejecución

2. ¿A Que se denomina espacio de direcciones lógicas?


Al rango de direcciones que puede acceder un proceso. En general es lineal,
sin limitaciones, salvo el tamaño de los registros de la CPU.
3. Cuáles son las áreas típicas de un proceso en la ocupación de la memoria
lógica.
Código, datos, heap y pila

4. ¿Por Que se dice que los espacios de direcciones lógicos normalmente


son dispersos o ralos (sparse)?
Porque el compilador genera direcciones lógicas en cada uno de los espacios
reservado (código, datos o pila)

5. ¿Que ventaja trae la paginación bajo demanda, respecto de la pre-


paginación?
Menos I/O, menos RAM ocupada, respuesta de ejecución más rápida y más
usuarios.
6. ¿Por Que al swapper (intercambiador) se denomina intercambiador
perezoso en el caso de memoria virtual?
Porque carga sólo la página que se necesita
7. Que significa que una página tenga marcado como válido el bit
válido/inválido?
Si la página está marcada como inválida, el proceso se aborta (nunca se
generó)
8. ¿Cuáles son los pasos que ocurren cuando un proceso genera un page
fault? ¿Esto, genera un cambio de proceso?
Se ve la validez de la página, luego se busca un marco libre, carga la página en
el marco elegido, actualiza tablas. Sí se genera un cambio de proceso.
9. ¿Por que es tan importante tratar de disminuir los fallos de página en la
ejecución de procesos?
Porque para resolver los fallos de página el sistema se demora mucho tiempo y
retrasa la ejecución

10.¿Cuáles son los beneficios de la memoria virtual cuando se crea


procesos?
Para creación de procesos con fork (), se minimiza la carga de páginas porque
se usa Copy on Write y el nuevo proceso se inicia rápidamente.

11.¿Que ocurre si no hay marco libre cuando se produce un page fault?


Se ejecuta un algoritmo que elige una página víctima (la que será sustituida)

12.¿Que utilidad tienen las tablas de páginas? cuántas hay?


Llevan cuenta dónde se encuentran y las características de las páginas de un
proceso. Una por proceso.

13.¿Que utilidad tienen las tablas de marcos de páginas? cuántas hay?


Es una tabla que lleva control de los marcos de la RAM (cuáles están asignados
y a Que proceso y cuáles están libres). Hay una única tabla por SO.

14.¿Que campos debiera tener una tabla de páginas que maneja memoria
virtual?
Bit (Si está o no en RAM), nro. Marco que ocupa, dir de la página en disco, Bit
Dirty, entre otros

15.¿Por que le hace falta un espacio de intercambio en disco (partición o


archivo de páginas) a la memoria virtual?
Porque tiene que haber una ubicación en disco que reciba la página expulsada
(sustituida)

16.Debido a que los tiempos de acceso al disco son mucho mayores que los
accesos a memoria principal, ¿Que puede hacerse para bajar estos
tiempos?
Elegir un algoritmo de sustitución de páginas que provoque la menor cantidad
de fallos de páginas.

17.¿Por que una dirección virtual no puede pasársele al Bus de direcciones


que permite acceder a la memoria?
Porque al bus de direcciones hay que pasarle una dirección física, sino da error

18.¿Que papel desempeña la MMU en la técnica de memoria virtual?


Es el circuito encargado de administrar la traducción de direcciones virtuales a
físicas

19.¿Quesignifica que los procesos compartan los archivos y la memoria


mediante mecanismos de compartición de páginas?
Que se ahorrará muchos marcos al no duplicar las páginas asignadas a los
procesos

20.¿Que significa que hay que sustituir una página?


Que hay que encontrar una página que será reemplazada por la nueva que dio
falla de página

21.¿Que ventajas y desventajas tiene el algoritmo de sustitución FIFO?


Es rápido, porque sólo marca el ingreso más antiguo, pero no tiene en cuenta la
localidad de referencia

22.¿Que es la anomalía de Belady?


Es el comportamiento anormal de la asignación de marcos: a mayor marcos
más fallos de páginas

23.¿Cómo trabaja el algoritmo de sustitución óptimo de páginas?


Es teórico, pretende reemplazar la página que será demandada en el futuro
más lejano

24.¿Quesignifica y cómo trabaja el algoritmo de LRU?. Cuáles son los dos


mecanismos de implementación?
LRU: Elige entre las cargadas, la referenciada hace más tiempo. Se puede
implementar como una especie de pila o con los tiempos que ocurren con las
referencias.

25.¿DeQue manera se puede imitar el algoritmo LRU?, que es costoso de


seguirlo textualmente.
Los mecanismos de implementación del LRU, son costosos en tiempo, así que
se prefiere imitar con métodos más prácticos, como el de 2da oportunidad, que
es como un FIFO pero con un bit que marque cuando sea referenciada
nuevamente.
26.¿Cómo trabaja el algoritmo de segunda oportunidad?
Se lo conoce como algoritmo del reloj, porque se comporta como una manecilla
de reloj, que al girar, busca una página candidata con su bit puesto en cero (a
ser sustituida). Cada vez que se referencia se pone el bit en uno. Entonces se
sigue el orden FIFO y si la página tiene un uno, no se la toca y se pone en cero
su bit.

27.¿Cómo trabaja el algoritmo de sustitución de páginas LFU y el MFU?


LFU: usada con menos frecuencia: cuenta la cantidad de referencias y elige la
menor. MFU: al revés no toca las de baja cantidad, porque supone que acaba
de ser cargada y seguirá siendo usada.

28.¿En Que casos las instrucciones necesitan acceder a más de una página
al mismo tiempo? Dé un ejemplo
Cuando código de operación y datos están en páginas distintas o el programa
salta de una página a otra.

29.¿Que significa una asignación estática de marcos?


Asigna una cantidad fija de marcos a proceso. Y esa cantidad se respetará en
toda su ejecución.

30.¿Cómo trabaja el algoritmo de asignación equitativa de marcos y el de


proporcionalidad?
Equitativa: a todos los procesos les toca la misma cantidad de marcos.
Proporcional: se darán marcos de acuerdo al tamaño del proceso. A mayor
tamaño, más marcos.

31.¿Qué ventajas tiene la asignación global frente a la local?


Que puede ser más justa la asignación de marcos, quitando a los que no usan,
reduciendo los page fault

32.¿A
Que se denomina sobre paginación o trashing? ¿Que tiene que ver la
multiprogramación?
A un valor grande page fault en un tiempo determinado. En la mayoría de los
algoritmos, disminuyen los page fault cuando tienen más marcos. Si la
multiprogramación es excesiva, les toca pocos marcos a cada proceso.
33.¿Cómo trabaja el denominado modelo del conjunto de trabajo en la
asignación de memoria para los procesos?
Le asigna marcos con criterio global, de acuerdo a lo que necesita, en base a
últimas referencias

34.¿Porque se dice que la frecuencia de fallos de páginas es un buen criterio


para agrandar el conjunto de marcos de página asignado?
Porque si aumenta la cantidad de fallos, se supone que se estabilizará y hasta
bajará si se le asignan más marcos, porque es como si se siguiera el principio
de localidad. De todas maneras, si bajara demasiado, se considera que se le
puede quitar marcos para dárseles a otros procesos.

35.¿A
que se refiere con el concepto de archivos mapeados en memoria?
¿Que ventajas tiene? ¿Que cuidados debe aplicárseles?
Que los archivos (están en discos) pueden cargarse en marcos de páginas en
Mp, entonces se los puede tratar como parte de la memoria virtual, refiriéndose
como Nro.Página, desplazamiento, en lugar de operaciones de E/S. Esa es la
primera ventaja, luego también se los puede compartir, a partir de que se los
puede incluir dentro del mismo mapa de memoria de cada proceso que necesite
el archivo.

36.¿Por
Que se usa el método de descomposición binaria en la asignación de
memoria del kernel?
Porque el kernel puede necesitar: a) estructuras de datos de tamaño variable
(crecen y decrecen) y b) por otro lado hay dispositivos de hardware que
trabajan con las direcciones lineales de la memoria (sin memoria virtual) y el
tamaño de los marcos de páginas que le ofrece el procesador no le es útil.
Entonces, se autoasigna segmentos de memoria física en tamaños de potencia
de 2. Entonces arma 256k, 128k, 64k, etc y se asigna estos fragmentos, de
manera que lo asignado sea mayor o igual que lo necesitado.

37.¿A Que se denomina franja (slab) como método de asignación de memoria


del kernel?
Además del sistema compañero (buddy), el kernel se puede asignar un
conjunto contiguo de marcos de páginas, llamados franjas (slab). Estas franjas
se agrupan en lo que se conoce como cachés. Tienen como ventaja frente al
sistema buddy, que puede ocasionar menos fragmentación interna.

38.¿EnQue momentos la pre-paginación es más conveniente que la


paginación bajo demanda?
En el momento del arranque o inicio del proceso, ya que si se puede anticipar la
carga de las páginas, antes de que ocurran los fallos de páginas, se evitan las
pérdidas de tiempo por las E/S de las fallas.

39.¿En que influye el tamaño de páginas para el rendimiento del sistema y el


tiempo de procesamiento de un proceso?
Si las páginas son muy grandes, se tiene los siguientes problemas: a) aumenta
la fragmentación interna y b) se pierde la localidad de referencia (se cargan más
bytes de lo que hace falta, si el programa está saltando de direcciones en
direcciones).
Si las páginas son muy pequeñas, se tiene los siguientes problemas: a) tamaño
de las tablas de páginas muy grandes y b) los tiempos de E/S no están
optimizados (tiempo de acceso a disco = tiempo de búsqueda + tiempo de
rotación + tiempo de transferencia. Los dos primeros son los más grandes.
Entonces se pierde mucho tiempo hasta que se localiza la información para
traer pocos Bytes).
Sin embargo los SO no tienen muchas opciones: se elige de acuerdo a lo que
ofrece la CPU. Entre 4KB y 4MB (Intel)

40.¿A Que se denomina alcance del TLB? Que ventajas tiene cuanto mayor
es?
Al tamaño de la página por la cantidad de registros (cantidad de entradas del
TLB). Esto abarcaría las direcciones de memoria que “barre” el proceso en un
momento dado. Lo ideal sería que contenga al working set del proceso.

41.¿Porque el paginado afecta a la estructura de los programas


negativamente?
Porque puede dividir a la estructura de programación y afectar el rendimiento de
ejecución

Capitulo 12 - E/S

1. Explique Que es E/S


Es una operación que la pide un programa y que permite la transferencia de Bytes
desde/hacia el computador

2. ¿Por Que hace falta un hardware especial para E/S?


Porque los dispositivos de E/S son independientes del computador y necesitan
una placa controladora (hardware especial) por cada uno, porque tienen una
electrónica/mecánica particular

3. ¿Por que hay que transformar las solicitudes de E/S?


Porque se hacen en alto nivel y los dispositivos se comandan con el ISA de la
CPU a las placas controladoras

4. ¿Que es un puerto?
Se les llama a las direcciones de la placa controladora, donde la CPU puede llegar
para comandarlas

5. ¿A que se llama placa controladora?


A un conjunto de circuitos electrónicos, que hacen de interface entre el
computador y un periférico

6. ¿Cuáles son las instrucciones de control de los dispositivos de E/S?


Son Lectura, escritura con sus direcciones de origen/destino y en algunos casos
desplazamiento (seek)

7. ¿Que diferencias hay entre las instrucciones directas y las mapeadas en


memoria?
Las directas son específicas para las placas controladoras (INTEL: in/out) y las
mapeadas son las mismas que al acceso a Memoria Ppal (Motorola:
LOAD/STORE/MOVE)

8. ¿Cuáles son las técnicas de entrada/salida?


Entrada/Salida programada, manejada por las interrupciones y acceso directo a
Memoria

9. ¿A Que se le llama bus en una PC?


Al medio de comunicación/sincronización con sus protocolos propios

10.¿A Que se le llama tasa de transferencia o ancho de banda?


Al caudal de tráfico de información que es capaz de soportar/transmitir. Se mide
en bits/seg o Bytes/seg

11.¿Por Que algunos dispositivos tienen diferentes tasas de transferencias?


Por las características propias y su forma de comunicarse con su emisor/receptor

12.¿Por Que algunos buses tienen diferentes tasas de transferencias?


Porque comunican dispositivos con protocolos y tasas de transferencia adaptables
entre sí (sincronizan)

13.¿Cómo trabaja la entrada/salida programada?


Es un programa que ejecuta CPU, dedicada hasta que tiene éxito la transferencia:
placa controladora/CPU

14.¿En que caso se justifica la E/S programada?


Cuando se requiere tiempo de respuesta mínimo o no se quiere que las
interrupciones rompan la localidad

15.¿Cómo trabaja la entrada/salida comandada por interrupciones?


CPU hace la solicitud a la placa y ella luego responde con una señal de
interrupción cuando tiene algo que informar.

16.¿Que ventajas tiene la entrada/salida comandada por interrupciones?


Que permite a la CPU ejecutar (paralelizar) otras instrucciones, hasta que llega la
interrupción.

17.¿Cómo trabaja la entrada/salida con DMA?


Recibe instrucción y parámetros de la CPU y sólo la interrumpe cuando ha
finalizado toda la operación

18.¿En Que caso se justifica la E/S con DMA?


Cuando la cantidad de Bytes a transferir es muy grande y el dispositivo es más
eficiente transfiriendo gran cantidad (Discos, cintas, CD, DVD, impresoras de
páginas completas, etc)

19.¿Que ventajas tiene la entrada/salida comandada con DMA?


Libera a la CPU de las transferencias desde/hacia la Mp y la placa controladora

20.¿Cuáles
son las principales diferencias entre las organizaciones de los
modelos de I/O?
Las opciones de organizaciones son de acuerdo al dispositivo: orientado a
carácter, a bloque y de red. Los de carácter son simples, no necesitan
direccionamiento y envían/reciben Bytes/bits sueltos. Los de bloque son complejos
y necesitan mucha cantidad de software y estructuras de datos intermedios, que
conviertan un formato en otro (origen/destino), además que necesitan direcciones
lógicas y físicas. Los de red son diferentes a los anteriores porque permiten la
comunicación entre capas o niveles de protocolos entre distintos sistemas
(computadoras o dispositivos de la red)

21.¿Cuáles la diferencia entre el modo de transferencia tipo carácter y


bloque?
Además de la cantidad de Bytes que se transmiten (los bloques pueden ser de
MB) y la velocidad de transmisión, es que los de bloque necesitan direcciones
22.¿Cuál es la diferencia entre el método de acceso secuencial y random?

En el secuencial, no necesito pasar la dirección (sino leer/escribir el siguiente). En


el Random o directo, se debe especificar a Que dirección de bloque necesito
acceder.

23.¿Cuál es la diferencia entre el compartimiento dedicado y compartible?


Dedicado, es que se usa cuidando la exclusión mutua de los procesos/hilos
(impresora, cinta magnética, scanner, etc). Compartible, es que puedo recibir
solicitudes de distintos procesos y atenderlas en serie, sin ser exclusivo de
ninguno.

24.¿Que significa que una E/S sea bloqueante?


Que el proceso/hilo se bloquea cuando se ejecuta su llamada al sistema de E/S

25.¿Que significa que una E/S sea asincrónica?


Que no tengo un reloj común (no lo hacen al mismo ritmo o velocidad). El emisor
emite cuando puede y el receptor recibe cuando puede.

26.¿Para que sirve la técnica de Buffering?


Para acelerar las transferencias, adaptando los tamaños de origen y destino y el
significado de los datos

27.¿Para que sirve la técnica de Caching?


Como el buffering, en cuanto a acercar las velocidades, pero no elimina los datos
después de una lectura (sigue el principio de Localidad), ya que puede seguir
necesitando los datos ahí.
28.¿Para que sirve la técnica de Spooling?
Administra por ejemplo las impresiones en el disco, encauzándolas una por una
hacia la impresora

29.¿Que estructuras de datos posee el kernel para las E/S?


Buffers, tablas, listas, registros, archivos, objetos, drivers, etc. Todos con acceso
en modo privilegiado y con preferencia de ser Residentes en Memoria Ppal.
30.¿Cómo puede mejorarse el rendimiento de las E/S?

Reducir el cambio de contexto (casi imposible, porque las E/S se hacen por partes
(lo urgente o crítico primero y luego lo postergable)). Disminuir las copias de datos
(el kernel siempre debe tener un original). Si se puede transferir gran cantidad de
Bytes con pocas interrupciones (que un dispositivo DMA se haga cargo). Disminuir
los cuellos de botella de dispositivos lentos, adaptando las transferencias con
buffers/caché.

También podría gustarte