Logo Studenta

Parcial II

¡Estudia con miles de materiales!

Vista previa del material en texto

PARCIAL II
Pregunta 1
¿Qué problemas puede traer el mal uso de las primitivas wait y signal de semáforo?
Puede violar la exclusión mutua, provocar inanición o deadlock
Pregunta 2
¿Para qué se planifica la CPU?
Para que se optimice tiempo de respuesta, rendimiento, y eficiencia de la CPU.
Pregunta 3
¿Cuál de estas características presenta un proceso limitado por CPU (CPU bound)?
Alta utilización de CPU
Pregunta 4
¿Para qué sirve el comando chrt?
Cambia la política de planificación del proceso indicado
Pregunta 5
¿Qué puede aportar el hardware al problema de la Exclusión mutua?
Que hay instrucciones de procesador que sirven para garantizar que no haya intromisiones con las variables
Pregunta 6
¿Qué es un semáforo sin espera activa en la sincronización de procesos/hilos?
Es una herramienta/mecanismo de sincronización con una variable entera y una cola de espera
Pregunta 7
¿Qué significa el valor negativo de un semáforo?
Que hay tantos procesos bloqueados como sea el valor absoluto del semáforo
Pregunta 8
Ventajas y desventajas del algoritmo FCFS
Es bueno para procesos batch pero no para los interactivos.
Pregunta 9
¿Cuáles son las desventajas del algoritmo de Peterson?
Tiene espera activa, tiene variables compartidas, sólo para 2 procesos y hoy falla con las CPUs nuevas.
Pregunta 10
¿Qué significa que Linux antes no era expulsivo?
Expulsivo: que el código del kernel puede expulsar a cualquier código que se ejecute
Pregunta 11
Si quisiera ver la utilización de CPU en tiempo real de un proceso, ¿qué comando usaría en GNU/Linux?
top o htop
Pregunta 12
¿Qué significa Preemptive (apropiativa) en la Planificación?
Que el planificador puede desalojar un hilo o proceso de la CPU, si se cumplen ciertas condiciones.
Pregunta 13
¿Cuál es el inconveniente de implementar la inhibición de interrupciones en un sistema multiprocesador?
Que sólo se inhibe en la CPU que se ejecuta, las otras podrían ejecutar código intruso en la sección crítica
Pregunta 14
¿Que son las variables condición?
Son colas de espera, creadas y manejadas por el programador del monitor, ajustadas a las condiciones
Pregunta 15
¿Cómo logra efectivamente un monitor garantizar la exclusión mutua o la sincronización?
Se apoyan en semáforos implementados en el kernel y las aplicaciones hacen las llamadas al sistema
Pregunta 16
¿Qué significa el término sección crítica?
Un conjunto de instrucciones de un programa que hacen uso de un recurso no compartible
Pregunta 17
Defina el problema de los lectores y escritores
Pueden convivir más de un lector en el recurso, pero los escritores cuidan la exclusión mutua
Pregunta 18
Defina el problema de los filósofos cenando y su relación con los problemas de sincronización de procesos
Tiene que ver porque cada filósofo es como un proceso y los palillos como recursos, y los toma de a uno.
Pregunta 19
¿Qué diferencia hay entre hilo de software e hilo de hardware?
Los de software son las divisiones de un proceso. Los hyperthreading se dice que tienen hilos de hardware.
Pregunta 20
¿Para qué sirve el comando sleep 1000 en GNU/Linux?
Lanza un proceso cuyo propósito es esperar 1000 segundos y terminar
Pregunta 21
¿Por qué se dice que los resultados de un proceso no dependen de su velocidad de procesamiento?
Se refiere a que ninguna solución se puede plantear especulando con la velocidad relativa de los procesos.
Pregunta 22
¿Qué significa el término Exclusión Mutua?
 Sólo se permite un proceso a la vez en su sección crítica.
Pregunta 23
Explique cómo resuelven las instrucciones CAS o TAS las condiciones de carrera.
 Leyendo el valor de una variable en memoria y modificándola en una sola instrucción.
Pregunta 24
¿A qué se denomina spinlock en programación?
 A la solución de espera activa que hacen los procesos, cuando no pueden ingresar a sección crítica.
Pregunta 25
¿Cuál es la particularidad de los sistemas multithreading? ¿Qué ventajas ofrecen?
 Tienen capacidad de soportar más de un conjunto de registros para hilos, lo que optimiza el cambio de hilos.
Pregunta 26
¿Para qué sirven las variables condición?
 Para sincronizar (bloquear o liberar) procesos por condiciones propias que requiera el problema.
Pregunta 27
¿Qué pasos realiza un wait sobre un semáforo general?
 Resta uno a la variable semáforo y verifica su valor, si es menor que cero, bloquea el proceso/hilo.
Pregunta 28
¿Qué es mejor un algoritmo Preemptive o no Preemptive?
 Depende, para procesos batch es mejor no preemptive, para interactivos preemptive.
Pregunta 29
El comando time muestra 3 valores. ¿Qué significan?
 Tiempo de CPU en modo kernel. User: tiempo de CPU en modo usuario. Real: tiempo de ejecución cronológico.
Pregunta 30
Defina el problema del buffer acotado.
 Es de procesos productores y consumidores, se cuida la exclusión mutua, del buffer lleno y buffer vacío.
Pregunta 31
Los requerimientos para garantizar una buena solución al problema de la sección crítica
Exclusión mutua, progreso y espera acotada
Pregunta 32
¿Qué efecto tiene el comando kill -SIGCONT 1234 sobre el proceso con PID 1234?
Lo reanuda si está suspendido.
Pregunta 33
¿Cuál debe ser el protocolo o las acciones de los procesos que desean entrar en sección
crítica?
Debe solicitar acceso a una sección crítica, usarla y se debe anunciarse su salida (liberarla)
Pregunta 34
¿Por qué se llamó solución por Software al código de Peterson?
Porque no recibe ayuda por parte del SO y se hace con lenguaje de programación de alto nivel
Pregunta 35
¿Se usan los monitores en los SO?
No, porque se programan con Objetos, pero los SO con lenguajes como C o assembler. Serían muy lentos
Pregunta 36
¿Para qué sirven los comandos fg y bg?
Para poner procesos en primer plano o segundo plano
Pregunta 37
¿Cuál es la diferencia entre planificar en un monoprocesador o en un multiprocesador?
En los multiprocesadores hay que cuidar ya sea, la afinidad o el balance de carga. En los monoprocesadores no.
Pregunta 38
¿Qué ventajas tiene el criterio de Planificación del algoritmo FCFS?
No lleva a Inanición y tiene una utilización máxima de la CPU.
Pregunta 39
¿A qué se denomina el problema de inversión de prioridad?
Al efecto de intercambiar prioridad entre procesos que compiten por un recurso exclusivo
Pregunta 40
¿Por qué en C no se puede implementar los monitores naturalmente?
Porque C no es un lenguaje orientado a objetos y los monitores son objetos.
Pregunta 41
¿Qué característica deben tener las operaciones wait y signal?
Deben ser atómicas, es decir, sin interrupción lógica
Pregunta 42
¿Cuándo o en qué momento se ejecuta el Planificador propiamente dicho o short-term-scheduler?
Cada vez que hay un cambio de proceso/hilo.
Pregunta 43
¿Qué desventajas tiene un planificador SJF?
Que no se conoce el tiempo de la próxima ráfaga de CPU.
Pregunta 44
¿Qué significa el término operación atómica?
Que no pueda ser interrumpida lógicamente, para que no se interfiera con las operaciones propias
Pregunta 45
¿A qué se denomina Afinidad de procesador?
A que los procesadores ya tienen los datos de los procesos/hilos cargados y es más rápido su reanudación.
Pregunta 46
¿Por qué se prefiere los spin-locks en secciones criticas cortas?
Esto es válido para multiprocesadores y que el recurso lo tengo un hilo en ejecución.
Pregunta 47
¿Qué diferencia hay entre un semáforo general y uno binario?
El binario solo permite dos valores, el general números enteros y tienen distintos códigos wait y signal.
Pregunta 48
¿Qué diferencia hay entre los semáforos con nombre y sin nombre en POSIX?
Los con nombres se pueden usar entre procesos que no se conocen, los sin nombre no.
Pregunta 49
¿Cuáles son las posibles implementaciones de semáforos?
Espera activa o con bloqueo, si wait no permite seguir.
Pregunta 50
¿Cuál es la característica de los procesos CPU bound?
Que tiene algunas ráfagas CPU y largas.
Pregunta 51
¿Qué diferencia hay entre un wait de semáforo y un wait sobre una variable condición?
El de semáforo resta uno y puede bloquear un proceso, el de variable condición bloquea al proceso.
Pregunta52
¿Qué significa el termino Starvation (inanición)?
Que la espera por un recurso no sea muy costosa en tiempo de procesos, que no se postergue indefinidamente.
Pregunta 53
¿A qué se denomina el termino tiempo de respuesta?
Es el tiempo que el usuario ejecuta una consulta y se comienza a mostrar la primera parte de la respuesta.
Pregunta 54
¿Qué diferencia hay entre planificar procesos vs hilos?
Los hilos relacionados deberían planificarse y ejecutarse como grupo. En general a los procesos no.
Pregunta 55
¿A qué se denomina concurrencia en computación?
A la capacidad de un SO de ejecutar paralela o alternadamente procesos o hilos.
Pregunta 56
¿Cuál es la particularidad de los sistemas multicores? ¿Qué ventajas ofrecen?
Tienen los cores en un mismo chip. Se adaptan mejor a la ejecución de los hilos.
Pregunta 57
¿Qué diferencia hay entre un signal de semáforo y un signal sobre una variable condición?
El de semáforo suma uno y puede liberar un proceso, el de variable condición puede liberar a un proceso
Pregunta 58
¿Cómo pueden usarse los semáforos para sincronizar procesos?
Usando wait para solicitar recurso (bloqueando si no se puede) y signal para liberar
Pregunta 59
Explique cómo resuelven las cerraduras (LOCK) Mutex las condiciones de carrera
Se garantiza exclusión mutua porque la cerradura es única, se la adquiere y se la devuelve.
Pregunta 60
¿Cuáles son algunas de las herramientas que se usan para la sincronización de procesos/hilos?
Soluciones por hardware (TAS, CAS, etc.), Lock de Mutex, semáforos, kernel apropiativos, etc.
Pregunta 61
¿Qué significa el término “Condiciones de Carrera”?
Que los resultados de procesos/hilos dependen del orden de ejecución entre ellos.
Pregunta 62
¿Qué significa el término Deadlock?
Una espera circular de procesos bloqueados con retención y espera de recursos no compartibles.
Pregunta 63
¿Qué significa que el kernel sea apropiativo o no apropiativo?
Apropiativo: que el código del kernel puede expulsar a cualquier código que se ejecute.
Pregunta 64
¿Cuáles son las operaciones permitidas en los semáforos?
Wait, inicialización y signal.
Pregunta 65
Ventajas y desventajas del algoritmo Round Robin
Es bueno para procesos interactivos, pero tiene sobrecarga por los cambios de proceso.
Pregunta 66
¿Para qué sirven las instrucciones especiales de máquina?
Para leer y escribir variables compartidas como una única instrucción y cuidar la exclusión mutua.

Continuar navegando

Materiales relacionados