Preguntas de Final de CASO
1) Describa problemas de Round Robin
Round Robin trata a todos los procesos con la misma prioridad. Uno de los posibles problemas seria que
exista un solo proceso para ejecutar y este tuviera un tiempo de ejecución mayor al quantum, lo que
generaría interrupciones innecesarias en el proceso.
2) Diferencias entre memoria Paginada y Segmentada, ambas usando Memoria Virtual
El programa es preparado para la ejecución (se arma su BCP, se completa su TDP). Una vez que el programa
está listo se carga su TDP en memoria real y se pasa al proceso a estado de Listo en espera del procesador.
En la TDP se agrega un bit que indica si la página que se está referenciando existe en memoria real o no y
además se agrega un campo que indica la dirección de tal pagina en el dispositivo de memoria virtual. Los
programas no se cargan en su totalidad en memoria real, sino que se cargan aquellas páginas que van
siendo usadas. Por esto es que se necesitan varias tablas:
Tabla de Distribución de Páginas (una para cada proceso): numero de bloque, está en memoria?, dirección
memoria virtual.
Tabla de Distribución de Bloques (una en todo el sistema): Id programa, pagina, contador, pagina cambio?,
Fijo por canal?, transito?
Cuando se encuentra encendido el bit que indica que la página no se encuentra en memoria real se
produce
una interrupción por falta de página. La rutina que atiende esa interrupción necesita la dirección de
memoria
virtual en donde se encuentra almacenada dicha página para poder traerla a memoria real.
El bit de cambio en la TDB es imprescindible para remover una página de memoria real con el objeto de
traer otra, ya que si la página sufrió modificaciones debe ser regrabada en memoria virtual.
El bit de Fijo por canal se utiliza para fijar páginas en memoria real canal de E/S, debido a que los canales
deben utilizar direcciones absolutas.
Cuando en los bloques de memoria real sobre los cuales se está cargando una página o de los cuales se está
descargando una página en memoria virtual se debe utilizar el bit de transito.
Los mecanismos de remoción son:
FIFO: más antigua en el sistema
LRU: la página que ha sido menos recientemente utilizada
LFU: la página menos usada es la elegida para remoción.
3) Unix utiliza LCA o LCU? Justificar
Ambas, en UNIX puedo configurar privilegios sobre grupos/usuarios (ej: todos los administradores pueden
editar) y esto es esquema LCU o individualmente sobre cada archivo (ej: todos ejecutan, nadie escribe) y
esto sería un esquema LCA en la cual los permisos de quien puede acceder a un archivo son inherentes al
propio archivo. Es decir tiene una lista de quienes pueden acceder y bajo que permisos y para llegar a esa
lista se debe pasar por el catalogo de usuario dueño de ese archivo.
4) Diferencias entre usar threads o no en procesos.
Cada proceso está compuesto por hilos, si en un proceso un hilo se bloquea puede ejecutar otro del mismo
proceso solo si hay dos procesos servidores independientes ya que deberían compartir el buffer, lo que
implicaría estar en el mismo espacio de direcciones.
5) ¿Qué elementos hay por threads? ¿Y por proceso? El stack ¿es por thread o proceso? Y lo mismo con
los archivos.
los hilos tienen un conjunto de registros, stack, program counter al igual que los procesos
El stack es propio de cada hilo y proceso al igual que los archivos
¿Tiene sentido usar threads en SD (Sistemas Distribuidos)? ¿Para qué cosa?
¿Qué pasa con el manejo de memoria en los SD?
¿Cómo es la comunicación en un sistema distribuido? RPC y de si tendría sentido o no hacer los send y
receive asincrónicos o no.
6) Cual de las administraciones del procesador conocidas tiene menos overhead?
¿por qué usar round-robin?
FIFO genera muy poco overhead, la cola de listos se ejecuta en orden secuencial automáticamente como se
fuie formando y no genera gasto adicional para el planificador.
Round-robin desaloja proceso por quantum, se asegura de no matar proceso de inanición, es bueno para
procesos de CPU intensivos.
Malo para procesos con mucha E/System
FIFO: PORQUE NO REQUIERE ALGUN ALGORITMO EN PARTICULAR PARA REALIZAR LA SELECCIÓN DE UN
PROCESO.
7) Que problemas hay en la administración de memoria paginada cuando no encuentra la pagina?
8) Las regiones criticas, son interrumpibles?
yo había escrito que no, pero puse que se usan semáforos para aislarlas.
Con lo cual el me corrigió y me dijo, entonces sin no fuera por el semáforo serían interrumpibles.
Entonces lo que él quería escuchar es ->
Si! es interrumpible una zona crítica, pero si yo quiero proteger los datos dentro de la misma, debo usar un
semáforo para evitar problemas.
No alcanza con salvar el contexto y devolverlo al finalizar la interrupción.
NO SE PUEDE PORQUE SI TENEMOS POR EJEMPLO UN PROCESO QUE ENTRA EN UNA ZONA CRITICA A
REALIZAR UNA OPERACION
QUE DEPENDE DE CIERTOS DATOS, Y ENTONCES VIENE OTRO PROCESO A LA MISMA ZONA CRITICA, Y
MODIFICA UNO DE ESTOS VALORES
QUE NECESITA EL PROCESO ANTERIOR, ENTONCES TENEMOS QUE EL PROCESO INICIAL SE VA A
ENCONTRAR CON UN DATO QUE NO ERA
Y SE PRODUCEN ERRORES.
Porque RPC es Asincronico?
9) Dado un sistema de administración de procesador Round Robin, un proceso consume 5% del
procesador mientras que el resto consume 10% cada uno.
a. Explique bajo qué circunstancias puede ocurrir esto.
b. Puede estimar la cantidad de procesos en ejecución?
a- LOS PROCESOS TIENEN RAFAGAS DE TIEMPO DISTINTAS o puede ser q el proceso de 5% haga mucha e/s,
entonces se bloquea seguido y nunca llega a usar todo su quantum
b- 10 procesos, uno q usa 5% y los otros 9 10% c/u, suma 95 y el resto puede ser rutinas del SO
10) Explique las dificultades que genera un mecanismo de reemplazo de páginas que no desaloja páginas
modificadas.
SE GENERA TRASHING, HACIENDO QUE QUE LA MEMORIA FISICA SE LLENE Y SE BLOQUEE EL SISTEMA.
11) Muestre cómo dos threads pueden quedar en Deadlock.
Los procesos presentan dependencias de datos y no pueden ser llevados a cabo, generando así un abrazo
mortal y dejando al proceso trabado.
AL MENOS UN RECURSO DEBE SER USADO EN FORMA EXCLUSIVA. SI UN THREAD LO DESEA, PERO YA LO
TIENE OTRO,
DEBERA ESPERAR HASTA QUE SEA LIBERADO.
12) Dado un spool para impresora y una impresora física conectada por DMA.
a. Cuál de las técnicas anteriores debe conocer el programador de una aplicación?
b. El driver de impresión debe conocer la existencia del spool?
a)ninguna hace falta conocer, y b) no, xq el spool intercepta la llamada al sistema y el driver no se entera
13) Dado un Filesystem FAT y un Filesystem con I-nodos.
a. En cuál es posible realizar links físicos y en cuál links simbólicos?
b. En cuál es necesario realizar desfragmentación para que los accesos sean más rápidos?
14) En la administración del procesador round robin es la mejor en todos los casos? justifique
NO EN TODOS LOS CASOS, EN MONOPROGRACIÓN NO SERIA NECESARIO ROUND ROBIN, EL PROBLEMA
CON EL ROUND ROBIN
SE GENERA SI HAY UN SOLO PROCESO EN EJECUCIÓN Y SU RAFAGA DE TIEMPO ES MAYOR QUE EL
QUANTUM DEL ROUND ROBIN
ESTO PROVOCARIA INTERRUPCIONES POR RELOJ INECESARIAS.
15) Con los operadores P y V queda asegurado que no se interfiere con la administración del procesador
o se necesita algo más?
POR LO QUE LEI EN LA PAGINA 19 DE ADM DEL PROCESADOR NO QUEDA ASEGURADO QUE NO SE
INTERFIERE CON LA INFORMACION
CON LO CUAL UNA NUEVA TAREA QUIERE UTILIZAR ESTE PROCEDIMIENTO
Y CREO Q FALTA EL SEMAFORO DE EXCLUSION!
16) Paginación por demanda: ¿en qué casos no debe removerse una página de la memoria real?
paginación x demanda es cuando la pagina está marcada como en tránsito y cuando tiene un buffer de e/s
q no se puede remover
17) ¿Cómo hace un driver de disco para optimizar los pedidos de i/o?
Los periféricos solo pueden acceder a la memoria real y por lo tanto no pueden referenciar a
(Pagina:Offset), esto hace que los drivers realicen la conversión a memoria real y pasen dicha dirección a los
periféricos para realizar la E/S
18) ¿Qué parámetros debe recibir un driver de un file system?
El driver debe recibir del FS en nº de registro físico (entregado por el módulo SAF).
El driver, como es específico para el dispositivo se encarga de traducir ese registro en información para
leer/escribir el dato solicitado indicando, por ejemplo en el caso de un HDD Cilindro, pista y sector.
19) Describa alguna técnica de sincronización en sistemas distribuidos
20) Señale un caso concreto en la que la utilización de Round robin es contraproducente
Round Robin es beneficioso en procesos en los cuales los mismos requieren de forma igualitaria el uso del
procesador.
Cuando existe un solo proceso y las interrupciones por quantum interrumpen en forma innecesaria
haciendo el sistema más lento.
Cuando algunos de los procesos en la cola de listos requieren de un quantum mayor al disponible en la
instalación, lo cual implicaría mayor tiempo en el circuito ejecutando - bloqueado - listo
21) En qué momento o paso de la administración de información es posible detectar que los buffer de
memoria no se encuentran disponibles en la RAM.
Cuando hay interrupciones por direccionamiento fuera de limite, page fault. La pagina que busca no la
encuentra en memoria RAM y debe buscarla en memoria virtual, entonces se produce una interrupción por
falla de pagina
22) Justifique que herramientas de sincronización utilizaría en un sistema centralizado
Utilizaría semáforos para evitar inconsistencias en los datos, en caso de procesos concurrentes que
presentan dependencias uno del otro. En el caso que no hubiera semáforos se podría presentar algunos
inconvenientes como por ejemplo: en el caso que varios procesos requieran de un mismo dispositivo en un
mismo instante y entonces los dato son erróneos o absurdos.
23) Cual es el mecanismo para hallar archivos en un sistema UNIX (que estructura es necesaria)
File system/i-nodo, es decir sistema de archivos y un índice que tiene las características del archivo
Solicitud:
SAS (sistema de archivo simbólico)
SAB (sistema de archivo básico)
VCA (modulo verificación control de acceso) verifica también concurrencia
SOL (sistema archivo lógico)
SAF (sistema archivo físico)
Sistema estrategia dispositivo
Inicia E/S
Manejador dispositivo
MEA (modulo de estrategia de asignacion)
24) ¿qué problemas puede acarrear una administración de memoria paginada con demanda que no
remueva páginas cambiadas?
Eventualmente, un proceso que modifica mucho los datos que usa, ocuparía toda la memoria y no quedaría
lugar para ingresar nuevas páginas.
Cuando se necesiten páginas que no estén cargadas, se buscarán primero en memoria, luego del miss se las
buscará en disco pero se ejecutarán desde allí porque no hay espacio en Memoria Física y esto disminuye
mucho la performance.
A esta situación se la denomina TRASHING (memoria llena de "basura") (acá coincidimos en que quizás las
cosas que estén en memoria las vaya a usar, nadie dice que es basura, pero el problema es que no se está
dejando ingresar nuevas páginas)
25) Cuando con LRU podemos tener thrashing?
Algoritmo de remoción que saca lo usado recientemente. El proceso de thrashing es cuando se tiene que
hacer muchos reemplazos. Se produce cuando hay poca memoria y muchos procesos.
26) Para qué sirve la matriz de accesos?
Sirve para que se pueda verificar los permisos que tiene cada dominio sobre cada objeto.