Sunteți pe pagina 1din 7

SISTEMAS OPERATIVOS UNIDAD 2 BANCO DE PREGUNTAS 1. Explique el concepto de modelo de proceso.

Consiste en que realmente los procesos (en ambiente de multiprogramacin) se ejecutan secuencialmente, pero el SO le da la apariencia al usuario de que se ejecutan en paralelo 2. Cules son los cuatro eventos principales que causan la creacin de procesos? 1. La inicializacin del sistema 2. La ejecucin por parte de un proceso (en ejecucin) de una llamada al sistema de creacin de un nuevo proceso. 3. La peticin por parte del usuario de la creacin de un nuevo proceso. 4. El inicio de un trabajo en batch. 3. Mencione las cuatro condiciones bajo las cuales terminar la ejecucin de un proceso. 1. El proceso completa su trabajo y termina (voluntariamente). 2. El proceso detecta un error y termina (voluntariamente). 3. El sistema detecta un error fatal del proceso y fuerza su terminacin. 4. Otro proceso fuerza la terminacin del proceso (por ejemplo en UNIX mediante la llamada al sistema kill). 4. A qu se le llama proceso de primer plano (foreground) y a qu proceso de segundo plano (background)?
Cuando un sistema operativo arranca, se crean tpicamente varios procesos. Algunos de esos procesos son procesos de superficie (o en primer plano), esto es, procesos que interactan con los usuarios (humanos) y realizan trabajo para ellos. Otros son procesos de fondo (o en segundo plano), que no estn asociados con usuarios particulares, sino que tienen alguna funcin especfica.

5. En cul de los dos SO existe jerarqua de procesos: en UNIX o en Windows? En UNIX, un proceso y todos sus hijos y dems descendientes forman juntos un grupo de procesos. Por el contrario, Windows no ofrece ningn concepto de jerarqua de procesos. Todos los procesos son iguales. 6. Mencione los tres estados y las cuatro transiciones de estado que un proceso puede tener. Los 3 estados: 1. En ejecucin (utilizando realmente la CPU en ese instante). 2. Preparado Listo (ejecutable; detenido temporalmente para permitir que otro proceso se ejecute). 3. Bloqueado (incapaz de ejecutarse hasta que tenga lugar algn suceso externo). Las 4 Transiciones: 1. El proceso pasa de ejecucin a bloqueado 2. El proceso pasa de ejecucin a preparado

3. El proceso pasa de preparado a ejecucin 4. El proceso pasa de bloqueado a preparado (listo)

Gestin de procesos Registros Contador de programa (PC) Registro de estado (SR o PSW) Puntero de pila (SP) Estado del proceso Prioridad Parmetros de planificacin Identificador de proceso (pid) Proceso padre Grupo del proceso Seales Instante de comienzo Tiempo de CPU utilizado Tiempo de CPU de los hijos Tiempo restante para la siguiente alarma Gestin de memoria Puntero al segmento de cdigo Puntero al segmento de datos Puntero al segmento de pila Gestin de ficheros Directorio raz Directorio de trabajo Descriptores de ficheros Identificador de usuario (uid) Identificador de grupo (gid)

7. En la Tabla de procesos del SO se almacena la PCB de cada proceso. La PCB tiene tres campos. Qu informacin almacena en cada uno de ellos?

8. A qu se le llama cambio de contexto (context switch) en ambiente de multiprogramacin?


Cuando se le quita el procesador a un proceso para meter a ejecucin a otro proceso. Esto implica guardar el contexto de ejecucin del primer proceso (en su PCB) y cargar el contexto de ejecucin (desde su PCB) del segundo proceso.

9. Qu es un vector de interrupcin?
Cada clase de dispositivos de E/S (como por ejemplo las disqueteras, los discos duros, los

timers o los terminales) tiene asociada una posicin de memoria que se denomina el vector de interrupcin utilizado por ese tipo de dispositivos. Esta posicin de memoria contiene la direccin de la rutina de tratamiento de la interrupcin que atiende a ese tipo de dispositivos.

10. Qu ventaja tiene que un proceso tenga mltiples hilos (threads)?


Estos compartan un conjunto de recursos de manera que puedan trabajar estrechamente juntos para realizar alguna tarea, de manera ms eficiente.

Atributos propios de los procesos: Espacio de direcciones Variables globales Ficheros abiertos Procesos hijos Alarmas pendientes Seales y controladores de seales Informacin de contabilidad

11. Para un proceso multihilos, mencione los elementos que son propios del proceso y los que son propios de un hilo.

Atributos propios de los hilos (threads): Contador de programa Registros Pila Estado

12. Cules son las tres ventajas de implementar un paquete de hilos en el espacio del usuario?
1.-El paquete de threads a nivel de usuario puede implementarse sobre un sistema operativo que no soporte threads. 2.- Permiten que cada proceso tenga su propio algoritmo de planificacin ajustado a sus necesidades. 3.- Se dimensionan mejor, ya que los threads a nivel del ncleo requieren invariablemente en el ncleo algn espacio para la tabla de threads y algn espacio de pila, lo que puede resultar un problema cuando el nmero de threads es muy grande.

13. Mencione tres desventajas de implementar hilos en el espacio del usuario 1.- El primero de ellos es el problema de cmo se implementan las llamadas al sistema bloqueantes.
2.- Otro problema con los paquetes de threads a nivel de usuario es que si un thread comienza a ejecutarse, ningn otro thread en ese proceso podr volver a ejecutarse mientras que el primer thread no ceda voluntariamente la CPU. 3.- Los programadores desean utilizar los threads precisamente en las aplicaciones donde los threads se bloquean muy a menudo, como por ejemplo en un servidor web multihilo.

14 Quin se encarga de administrar los hilos implementados en el espacio del usuario y quin los implementados en el espacio del ncleo (kernel)? En el espacio del usuario el STE (Sistema de Tiempo de Ejecucin) y en el Ncleo, el propio ncleo del SO.

15Por qu es conveniente reciclar hilos cuando stos se implementan en el espacio del ncleo (kernel)?
Debido al coste relativamente alto de crear y destruir los threads en el ncleo, algunos sistemas toman un enfoque medio-ambientalmente correcto reciclando sus threads. Cuando se destruye un thread, ste se marca como un thread no ejecutable, pero sin que se vean afectadas de otro modo sus estructuras de datos del ncleo. Posteriormente, cuando haya que crear un nuevo thread, se proceder a reactivar un antiguo thread marcado, ahorrando de esta manera algo de la sobrecarga de la creacin normal de un thread.

16Explique el funcionamiento de los hilos emergentes (pop-up threads).


La llegada de un mensaje (peticin de servicio) provoca que el sistema cree un nuevo thread para tratar el mensaje. Una vez atendido el mensaje, el hilo se destruye.

17A qu se le denomina condicin de competencia o condicion de carrera (race condition)? Situaciones donde dos o ms procesos estn leyendo o escribiendo sobre datos compartidos y el resultado final depende de quien se ejecute precisamente en cada momento, se denominan condiciones de carrera. 18Mediante el ejemplo de spooler de impresora, explique cmo es que se presenta una condicin de competencia (race condition). Imaginemos que nuestro directorio de spool tiene un nmero muy grande de entradas, numeradas 0, 1, 2, , cada una de ellas capaz de contener un nombre de fichero. Imaginemos tambin que se tienen dos variables compartidas, out, que apunta al siguiente fichero a imprimir, e in, que apunta a la siguiente entrada libre en el directorio. Ms o memos simultneamente, los procesos A y B deciden cada uno de ellos mandar a la cola de impresin un fichero. El proceso A lee in y guarda el valor 7 en una variable local denominada next_free_slot. El proceso B lee entonces in, obteniendo tambin un 7. Igualmente, B almacena ese valor en su variable local next_free_slot. En ese momento ambos procesos piensan que la siguiente entrada disponible es la 7. Ahora ambos procesos piensan que la siguiente entrada esta disponible, el proceso B sigue ejecutndose, B guarda en la direccin lo que quiere imprimir, y actualiza in con 8 y finaliza la operacin, por otro lado A vuelve a pasar a ejecucin, consulta a next_free_slot y ve que es 7 y escribe en el fichero lo que quiere imprimir, de esta manera al sobrescribir se borra lo que haba escrito B, y A actualiza in a 8. El usuario del proceso B nunca llegar a recibir la impresin del fichero que encarg. 19Cmo se pueden evitar las condiciones de competencia (race conditions)? Con Exclusin mutua, esto es, alguna manera de asegurar que si un proceso est utilizando una variable compartida (o fichero compartido) los dems procesos estarn excluidos de hacer uso de esa misma variable. 20A qu se le denomina regin crtica o seccin crtica de un programa? A la parte del programa donde se accede a la memoria compartida. 21A qu se le denomina espera activa (Busy Waiting)? La comprobacin continua de una variable hasta que contenga algn valor determinado. 22Mencione cinco algoritmos con espera activa para lograr la exclusin mutua.

Inhibicin de interrupciones, Variables cerrojo, alternancia estricta, Solucin de peterson, Instruccin TSL. 23Cul es la funcin de las primitivas de comunicacin Interprocesos (IPC) sleep y wakeup? Sleep es una llamada al sistema que provoca que el proceso que la invoca se bloquee, esto es, se suspenda hasta que otro proceso lo despierte. La llamada wakeup tiene un parmetro, que es el proceso a ser despertado. 24 El problema del productor-consumidor representa un ejemplo clsico en la comunicacin interprocesos (IPC). Explique en qu consiste.
Dos procesos comparten un bfer de tamao fijo comn. Uno de ellos, el productor, mete informacin en el bfer, y el otro, el consumidor, la saca. Surge un problema cuando el productor quiere meter un nuevo elemento en el bfer encontrndose ste ya completamente lleno. La solucin es que el productor se duerma, no despertndose hasta que el consumidor saque uno o ms elementos del bfer. Similarmente, si el consumidor quiere sacar un elemento del bfer y ve que el bfer est vaco, debe dormirse hasta que el productor meta algo en el bfer y lo despierte.

25 Para lograr la exclusin mutua en la IPC, se utilizan mecanismos como: semforos, mutexes, y monitores. Explique qu es cada uno de ellos. Semforo: variable entera para contar el nmero de seales enviadas para despertar un proceso guardadas para su uso futuro. Monitores: Un monitor es una coleccin de procedimientos, variables y estructuras de datos que estn todos agrupados juntos en un tipo especial de mdulo o paquete. Mutex: Una versin simplificada de los semforos, que denominaremos variables de exclusin mutua (variables mutex). Estas variables slo son apropiadas para conseguir la exclusin mutua en el acceso a algn recurso compartido o fragmento de cdigo. 26Explique las dos primitivas usadas en la comunicacin Interprocesos (IPC) con Paso de Mensajes.
enviar(destinatario, &mensaje) ; y recibir(remitente, &mensaje) ; La primera llamada enva un mensaje a un destinatario dado y la segunda recibe un mensaje de un remitente dado (o de cualquiera, si al receptor no le importa el remitente).

27Entre los problemas clsicos de IPC, se encuentra el de Los Filsofos Comensales. Explquelo en sus propias palabras. Este problema sirve para modelar procesos que estn compitiendo por un nmero limitado de recursos. Cinco filsofos se sientan alrededor de una mesa y pasan su vida cenando y pensando. Cada filsofo tiene un plato de fideos y un tenedor a la izquierda de su plato. Para comer los fideos son necesarios dos tenedores y cada filsofo slo puede tomar los que estn a su izquierda y derecha. Si cualquier filsofo coge un tenedor y el otro est ocupado, se quedar esperando, con el tenedor en la mano, hasta que pueda coger el otro tenedor, para luego empezar a comer.

Si dos filsofos adyacentes intentan tomar el mismo tenedor a la vez, se produce una condicin de carrera: ambos compiten por tomar el mismo tenedor, y uno de ellos se queda sin comer. Si todos los filsofos cogen el tenedor que est a su derecha al mismo tiempo, entonces todos se quedarn esperando eternamente, porque alguien debe liberar el tenedor que les falta. Nadie lo har porque todos se encuentran en la misma situacin (esperando que alguno deje sus tenedores). 28Entre los problemas clsicos de IPC, se encuentra el de Los Lectores y Escritores. Explquelo en sus propias palabras. Modela el acceso a una base de datos. Por ejemplo, un sistema de reservaciones para vuelos para muchos procesos competidores que desean leer y escribir. Es aceptable tener varios procesos leyendo la base de datos al mismo tiempo, pero si un proceso esta actualizando (escribiendo) la base de datos, ningn otro proceso podr tener acceso a ella, ni siquiera los lectores. 29Entre los problemas clsicos de IPC, se encuentra el de El Barbero Dormiln. Explquelo en sus propias palabras. Modela el problema cliente-servidor. En un establecimiento hay un barbero, una silla de barbero y n sillas de espera para los clientes. Si no hay clientes presentes el barbero se sienta en la silla de barbero y se duerme. Cuando llega un cliente llega, debe despertar el barbero. Si llegan ms clientes mientras el barbero esta atendiendo a un cliente, se sientan (si hay sillas disponibles), o bien, salen del establecimiento (si todas las sillas estn ocupadas). 30Cul es la funcin del Planificador de procesos en un SO multiprogramado?
En un ordenador multiprogramado es frecuente que en un momento dado haya mltiples procesos compitiendo por el uso de la CPU al mismo tiempo. Esta situacin se da siempre que dos o ms procesos estn simultnemente en el estado preparado. Si slo hay una CPU disponible, es necesario hacer una eleccin para determinar cual de esos procesos ser el siguiente que se ejecute. La parte del sistema operativo que realiza esa eleccin se denomina el planificador (scheduler).

31Hay cinco momentos en que el planificador debe entrar en ejecucin para planificar procesos (hacer un process-switch). Descrbalos. Termina un proceso normalmente Se elimina (mata) un proceso Se crea un proceso Se bloquea un proceso Se le termina el quantum de tiempo a un proceso 32Qu significa que un algoritmo de planificacin sea expulsor (preemptive) o noexpulsor (non-preemptive)? Un algoritmo de planificacin expulsor (preemptive) escoge un proceso y permite que se ejecute durante un mximo de tiempo prefijado. Si el proceso est

todava ejecutndose al final de ese intervalo de tiempo, se le suspende y el planificador escoge algn otro proceso para ejecutarse. Un algoritmo de planificacin no expulsor (nonpreemptive) escoge un proceso para ejecutar dejndole que se ejecute hasta que se bloquee o hasta que el proceso ceda voluntariamente la CPU. 33Mencione cuatro algoritmos de planificacin para Sistemas Batch. Primero en Llegar Primero en Ser Servido Primero el Trabajo ms Corto Tiempo Restante ms Corto a Continuacin Planificacin a Tres Niveles 34Explique el algoritmo de planificacin El job ms corto primero (Shortest Job First). Algoritmo no expulsor propio de sistemas en batch que asume que los tiempos de ejecucin se conocen por anticipado. En base a ello, primero mete a ejecucin los trabajos que menos tiempo de cpu consumen. 35Mencione cuatro de los siete algoritmos de planificacin para sistemas interactivos. Planificacin Round-Robin Planificacin por Prioridades Mltiples Colas Proceso ms Corto a Continuacin Planificacin Garantizada Planificacin por Lotera Planificacin por Reparto Justo 36Explique el algoritmo de planificacin Round-Robin. A cada proceso se le asigna un intervalo de tiempo, denominado su quantum (o tambin rodaja de CPU), durante el que se le permite ejecutarse. Si el proceso sigue ejecutndose todava al final del quantum, se le expulsa de la CPU, concedindose la CPU a algn otro proceso. Si el proceso se bloquea (o termina) antes de que transcurra el quantum se realiza por supuesto la conmutacin de la CPU. 37Explique el algoritmo de planificacin con Prioridades. La idea bsica es trivial: a cada proceso se le asigna una prioridad, y siempre es el proceso ejecutable con mayor prioridad al que se le permite ejecutarse primero.

S-ar putea să vă placă și