You are on page 1of 9

Capitulo 4 4.1 MS-DOS no proporciona medios para procesamientos concurrentes.

Describa 3 complicaciones mayores que el procesamiento concurrente aade a un sistema operativo. 1. El procesamiento concurrente es implementado para que cada proceso tenga acceso concurrente al sistema, es decir conmutar la CPU entre procesos de manera frecuente ya que en un sistema de un solo procesador solo ejecuta un proceso a la vez. En el sistema MS-DOS un proceso no renuncia voluntariamente a la CPU y como sta es reentrada(es decir pueden entrar un proceso tras otro) el cdigo de un proceso de usuario y de un proceso del krnel se pueden estar ejecutando al mismo tiempo en la CPU. 2. Como en un sistema que utilce el mtodo de procesamiento concurrente tambin se utiliza procesos de usuario tendra que haber proteccin entres los procesos y recursos, esto traera como consecuencia que en el sistema MS-DOS el usuario (programador) sino asigna correctamente los recursos a un proceso, es decir que estos estn asignados a otros proceso se estara no protegiendo los recursos y los procesos entre si, por ejemplo si un proceso manipula dato a travs de una operacin de E/S a disco y otro proceso tambin intente tomar esos mismos datos existir inconsistencia de datos. 3. En un sistema que utilce el mtodo de procesamiento concurrente as como tambin se asigna los recursos a un proceso tambin debe liberarlos, ya que en el sistema MSDOS si el usuario asigna total o parcialmente el mismo recurso a dos procesos, si el primer proceso se esta ejecutando y de pronto sale por una interrupcin(o llamada al sistema) y el segundo proceso entrase a ejecutarse estara en un punto muerto ya que requiere del recurso del primer proceso para su ejecucin porque no ha sido liberado, lo que debe evitarse . 4.2 Describa las diferencias entre la programacin de corto plazo, mediano plazo y de largo plazo. El planificador a largo plazo se ejecuta con menos frecuencia por la creacin de nuevos procesos listos y es el controlador del grado de multiprogramacin (numero de procesos en memoria); mientras que el planificador a corto plazo selecciona entre los procesos que estn listos para su ejecucin y asigna la CPU a uno de ellos y debido al corto intervalo que tiene entre sus ejecuciones debe seleccionarlo mas rpido ; en cambio el de mediano plazo es intermedio entre estos dos, remueve procesos de memoria y los puede introducir de nuevo en el punto en el que se interrumpi su ejecucin. 4.3 Una computadora DECSYSTEM-20 tiene varios conjuntos de registros. Describa las acciones de una conmutacin de contexto si el nuevo contexto esta cargado en uno de los conjuntos de registros. Que otra cosa debe suceder si le nuevo contexto esta en memoria en lugar de estar en un conjunto de registros y todos los conjuntos de registros estn en uso?

La CPU de este sistema cambia de puntero al punto de conjunto que contiene el nuevo contexto (PCB lo contiene), si este esta en memoria con otros, uno de estos contextos debe ser elegido en un sistema de registros y enviado a memoria, el nuevo contexto se carga en memoria de krnel. 4.4 Describa las acciones que efecta el krnel para realizar una conmutacin de contexto entre procesos.

Guarda el estado actual del proceso y restaura el estado del prximo proceso a ejecutarse. Guarda el estado del proceso (registro de la CPU), asignacin de memoria es decir lo que representa el PCB (contador de programa, informacin de planificacin de la CPU, informacin de la administracin de la memoria, informacin contable e informacin de E/S). 4.5 Indique cuales son los beneficios y las desventajas de cada uno de los siguientes casos. Considere tanto los niveles del sistema como los niveles de programadores. a) Comunicacin simtrica y asimtrica.

La ventaja de la simtrica es que tanto el proceso emisor como receptor deben nombrar al otro para comunicarse, es decir es fcil la comunicacin entre procesos de usuarios que del krnel y permitida entre los dos. En la asimtrica aqu solo el emisor nombra al receptor y la comunicacin es ms sencilla entre procesos de usuarios que del krnel. La desventaja en ambos es la modularidad de las definiciones de proceso. Cambiar el nombre de un proceso puede requerir examinar todas las definiciones; se debe encontrar todas las referencias al nombre anterior de modo que puedan modificarse con el nuevo nombre esto es indeseable para el programador (cuidado y solucin en programacin) y al krnel (tiempo en ejecutar un proceso). b) Uso automtico y explicito del buffer.

El uso automtico de buffer involucra la capacidad limitada en la que si la cola no esta llena cuando se enva un nuevo mensaje este se agrega y el emisor continua su ejecucin sin espera, por otra parte la capacidad limitada como tiene longitud infinita es posible que se llene la capacidad del buffer y la ventaja es que tiene capacidad finita si el enlace esta lleno el emisor se bloquea hasta que haya espacio en cola.

c)

Envio por copia y por referencia.

d)

Mensaje de tamao fijo y de tamao variable.

4.6 Considere el esquema de comunicacin entre procesos donde se emplean buzones. a) Suponga que un proceso P quiere esperar dos mensajes, uno de el buzn A y otro del buzn B. Que secuencia de send y receive deber ejecutar? Send (A, mensaje) enviar un mensaje al buzn A. Receive(A, mensaje) recibir un mensaje del buzn A. Send (B, mensaje) enviar un mensaje al buzn B. Receive (B, mensaje) recibir un mensaje del buzn B. b) Qu secuencia de send y receive deber ejecutar P si quiere esperar un mensaje del buzn a o del buzn b o de ambos? c) Una operacin receive hace que un proceso espere hasta que el buzn no este vacio. Disee un esquema que permita a un proceso esperar hasta que el buzn este vacio, o explique porque tal esquema no puede existir. Capitulo 5 5.1 Proporcione dos ejemplos de programacin de la tcnica multihilos que ofrezcan un mejor desempeo que una solucin con un solo hilo.

(1) Un servidor Web un hilo se encarga de realizar la operacin de direccin de pgina mientras que otro se encarga de alguna imagen o texto. (2) Un programa un depurador en un hilo se utiliza para controlar la entrada del usuario, otro hilo representa la aplicacin en ejecucin, y un tercer hilo monitores de rendimiento. 5.2 Proporcione dos ejemplos de la programacin de subprocesos mltiples que no mejorara el rendimiento sobre una solucin de un nico subproceso. (1) Cualquier tipo de programa secuencial no es un buen candidato para mejorar rendimiento. Un ejemplo de esto es un programa que calcula una declaracin de impuestos individual. (2) Otro ejemplo es un programa "shell", debe ser evaluado su espacio de trabajo propio, como los archivos abiertos, las variables de entorno y de trabajo actual de la gua. 5.3 Mencione dos diferencias entre los hilos a nivel de usuario y los hilos a nivel de krnel. Indique bajo que circunstancias un tipo es mejor que el otro. Los de usuario tienen soporte por encima del krnel y se implementan en la biblioteca de su nivel, es decir que se crean sin pedirle ayuda al krnel y por eso son mas rpido de crear y administrar. En cambio los del krnel tienen soporte directo del S.O, su creacin, programacin y administracin se lo realiza en su espacio, este hace que su creacin sea mas lenta lo que no ocurre con los usuarios, claro que como este administra sus hilos , si uno hace la llamada de bloqueo, planifica a otro para que se ejecute. Es muy buena su implementacin en un ambiente de multiprocesos ya que el krnel puede programar hilos en procesos diferentes.

5.4 Describa las acciones tomadas por un krnel para realizar una conmutacin de contexto entre los hilos a nivel de krnel.
Inicial los hilos del krnel son programados por el planificador del krnel y se ejecutan en el procesador o procesadores del sistema. Si un hilo del krnel se bloquea, el procesador esta libre para ejecutar otro hilo del krnel. Si el hilo que se bloquea estaba ejecutndose para un LWP, el LPW se bloqueara tambin. Un hilo del krnel solo tiene una estructura de datos pequea y una pila. La estructura de datos incluye una copia de los registros del krnel, un apuntador al LWP el cual esta ligado a informacin de prioridad y planificacin.

5.5 Describa las acciones tomadas por una biblioteca de hilo para realizar una conmutacin de contexto entre los hilos a nivel de usuario. La biblioteca de usuario ajusta de manera dinmica el nmero de LWP en la reserva para asegurar el mejor rendimiento para la aplicacin. Por ejemplo si todos los LWP en su proceso estn bloqueados y hay otros hilos que pueden ejecutarse, la biblioteca crea automticamente otro LWP para ser asignado a un hilo en espera. De esta forma se impide que se bloque el programa por falta de LWP no bloqueado. 5.6 Qu recursos se emplean cuando se crea un hilo? En qu difieren con respecto a los que se utilizan cuando se crea un proceso? Emplea los mismos recursos de su proceso: registros de la CPU, memoria, dispositivo de E/S, los contadores de programas, etc. Solo que es ms econmico ya que los hilos son ms pequeos que un proceso, la creacin de hilos, normalmente utiliza menos recursos que la creacin de procesos. La creacin de un proceso requiere la asignacin de un control de proceso bloque (PCB), una estructura de datos ms grandes. Capitulo 6
6.1 Un algoritmo de planificacin de la CPU determina un orden para la ejecucin de sus procesos. Dados n procesos a ser planificados en un procesador. Cuntos posibles planes diferentes en un procesador? Proporcione una frmula en trminos de n. n! (N factorial = n -?? 1 n -?? 2 ... 2 1?) 6.2 Defina la diferencia entre la planificacin apropiativa y la no apropiativa. Explique porque es poco probable que una planificacin estricta no operativa se utilice en un centro de cmputo. La planificacin es apropiada o apropiativa cuando un proceso puede pasar ya sea del estado de ejecucin a listos o de espera a listos porque en la CPU si un proceso esta en ejecucin y este ya a terminado de ser proceso tiene que hacer una planificacin para pasarlo al estado listo asi mismo sucede si el proceso esta en espera y la CPU esta sin tarea

debe planificarse un nuevo proceso para la CPU. La planificacin no es apropiativa o apropiada cuando el proceso esta en ejecucin al estado de espera o cuando un proceso termina es decir que si un proceso se termina no necesita de planificacin para pasar a este estado. En un centro de computo por lo general los procesos siempre estn listos o en espera para que la CPU los procese y no es utilizable la planificacin no apropiativa porque siempre se estarn ejecutando procesos.

6.3 Considere el siguiente conjunto de procesos, con la duracin del tiempo de CPU-burst que figuran en milisegundos: proceso tiempo de Rfaga prioridad P1 10 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2 Los procesos se supone que han llegado en el orden P1, P2, P3, P4, P5, todos en el tiempo 0. a. Dibuja cuatro diagramas de Gantt ilustra la ejecucin de estos procesos utilizando FCFS, SJF, un prioridad no apropiativa (un nmero de prioridad menor implica una prioridad ms alta), y RR (Quantum = 1) la programacin. b. Cul es el tiempo de respuesta de cada proceso para cada uno de los algoritmos de programacin en inciso a? c. Cul es el tiempo de espera de cada proceso para cada uno de los algoritmos de programacin, en parte, una? d. Cul de las listas, en parte, los resultados en el tiempo medio de espera mnimo (sobre todo procesos)? Respuesta: a. Los cuatro diagramas de Gantt son 1 2 3 4 5 1 3 5 1 5 1 5 1 5 1 SJF 1 2 3 4 5 RR 2 4 3 5 1 FCFS 2 5 1 3 4 Prioridad b. Tiempo de respuesta RR FCFS SJF prioridad P1 10 19 19 16 P2 11 2 1 1 P3 13 7 4 18 P4 14 4 2 19 P5 19 14 9 6 c. El tiempo de espera (tiempo de respuesta menos tiempo de explosin) Respuestas a los ejercicios 19 RR FCFS SJF prioridad

P1 0 9 P2 10 1 P3 11 5 P4 13 3 P5 14 9 d. Primer Trabajo en el ms breve

9 0 2 1 4

6 0 16 18 1

6.4 Suponga que los siguientes procesos para la ejecucin de llegar a los tiempos indicados. Cada proceso se ejecutar la cantidad indicada de tiempo. Para responder a las preguntas, utilice planificacin no apropiativa y base de todas las decisiones sobre la informacin que en el momento de la decisin se debe hacer. Proceso hora dellegada tiempo de rfaga P1 0,0 8 P2 0.4 4 P3 1.0 1 a. Cul es el tiempo de respuesta promedio de estos procesos con la programacin FCFS algoritmo? b. Cul es el tiempo de respuesta promedio de estos procesos con el algoritmo de planificacin SJF? c. El algoritmo SJF se supone para mejorar el rendimiento, pero observe que se opt por ejecutar el proceso P1 en el tiempo 0, ya que no saba que dos procesos ms corto llegar pronto. Calcule lo que el tiempo de respuesta promedio ser si la CPU se queda programacin de inactividad durante los primeros 1 unidad y SJF entonces se utiliza. Recuerde que los procesos P1 y P2 estn a la espera durante este tiempo de inactividad, por lo que su tiempo de espera puede aumentar. Este algoritmo puede ser conocido como la programacin futura del conocimiento. Respuesta: a. 10.53 b. 9.53 c. 6.86 Recuerde que el tiempo de respuesta es menos tiempo de acabado el tiempo de llegada, as que hay que restar los tiempos de llegada para calcular los tiempos de respuesta. Orden de llegada es de 11 si se olvida de restar hora de llegada. 6.5 Considere la posibilidad de una variante del algoritmo de planificacin RR, donde las entradas en la cola de listos son punteros a los PCBs. a. Cul sera el efecto de poner dos punteros al mismo proceso en la lista cola? b. Cules seran las principales ventajas y desventajas de este sistema? c. Cmo modificar el algoritmo RR bsicos para lograr el mismo efecto sin el duplicado de punteros? Respuesta: 20 Captulo 6 planificacin de la CPU a. En efecto, ese proceso se habr incrementado su prioridad ya que al conseguir el tiempo ms a menudo que est recibiendo un trato preferencial. b. La ventaja es que los trabajos ms importantes se podra dar ms tiempo, en otras palabras,

mayor prioridad en el tratamiento. La consecuencia, por supuesto, es que los puestos de trabajo ms corta sufren. c. Adjudicar una cantidad de tiempo a los procesos que merecen mayor prioridad. En otras palabras, tienen dos o ms quantums posible en el sistema de Round-Robin. 6.6 Qu ventaja hay en que tienen tamaos diferentes quantum de tiempo-en diferentes niveles de una sistema de colas multinivel?

Respuesta: Los procesos que requieren mantenimiento ms frecuente, por ejemplo, los procesos interactivos tales como editores, pueden estar en una cola con un quantum de tiempo pequeo. Procesos sin necesidad para el mantenimiento frecuente puede estar en una cola con un cuanto ms grandes, que requieren menos contexto interruptores para completar el tratamiento, haciendo un uso ms eficiente de la computadora. 6.7 Considere el siguiente algoritmo preventivo de prioridades de programacin basado en dinmica cambios en las prioridades. Un mayor nmero de prioridad implica una mayor prioridad. Cuando un proceso es la espera de la CPU (en la cola de listos, pero no en ejecucin), sus cambios de prioridad a un tipo?; cuando se ejecuta, cambia su prioridad a un tipo. Todos los procesos se les da una prioridad de 0 cuando entran en la cola de listos. Los parmetros? y se puede configurar para dar diversos algoritmos de programacin. a. Cul es el algoritmo que resulta de la >?> 0? b. Cul es el algoritmo que los resultados de ? <<0? Respuesta: a. FCFS b. LIFO 6.8 Muchos algoritmos de planificacin de CPU son parmetros. Por ejemplo, el algoritmo RR requiere un parmetro para indicar el intervalo de tiempo. colas multinivel comentarios requieren parmetros para definir el nmero de colas, los algoritmos de planificacin para cada cola, los criterios utiliza para mover los procesos entre las colas, y as sucesivamente. Estos algoritmos son lo que realmente diferencia de los algoritmos (por ejemplo, el conjunto de algoritmos de RR para todos los intervalos de tiempo, y as sucesivamente). Un conjunto de algoritmos puede incluir otra (por ejemplo, el algoritmo FCFS es el algoritmo RR con un quantum de tiempo infinito). Lo que (en su caso) con relacin se da entre los siguientes pares de conjuntos de algoritmos? a. Prioridad y SJF b. Multinivel colas comentarios y FCFS c. Prioridad y orden de llegada d. RR y SJF Respuesta: a. El menor trabajo tiene la mayor prioridad. b. El nivel ms bajo de MLFQ es FCFS. c. FCFS da la mxima prioridad a la tarea de haber estado en existencia por ms tiempo. Respuestas a los ejercicios 21 d. Ninguno

6.9 Suponga que un algoritmo de programacin (a nivel de la programacin de la CPU a corto plazo) favorece los procesos que han utilizado el menor tiempo de procesador en el pasado reciente. Por qu este algoritmo a favor de E / S no programas enlazados de forma permanente y sin embargo los programas vinculados a la CPU de hambre?

Respuesta: Se favorecer el programas de I / O-bound a causa de la rfaga de CPU relativamente corto peticin de ellos, sin embargo, los programas vinculados a la CPU no se morirn de hambre porque el I / O-bound programas de renunciar a la relativa frecuencia de la CPU para realizar su I / O. 6.10 Explicar las diferencias en el grado en que los algoritmos de programacin siguientes discriminar a favor de los procesos de resumen: a. FCFS b. RR c. Multinivel colas comentarios Respuesta: a. FCFS, discrimina a los puestos de trabajo a corto ya ofertas de empleo a corto que lleguen despus de puestos de trabajo a largo tendr un tiempo de espera ms largo. b. RR-trata a todos por igual puestos de trabajo (dndoles rfagas igualdad de tiempo de CPU) para trabajos de corta ser capaz de dejar el sistema ms rpido, ya que se meta en primer lugar. c. colas de niveles mltiples comentarios-un trabajo similar al RR algoritmo que discriminan favorable hacia empleos de corta. 6.11 Las siguientes preguntas se refieren a la basada en Java Programador de Round Robin se describe en la Seccin 6.7.3. a. Si en la actualidad existe un hilo T1 en la cola para el programador se ejecuta en prioridad 4 T2 y otro tema con prioridad 2, es posible que los T2 hilo para ejecutarse durante el tiempo cuntica para T1? Explique. b. Explique qu sucede si el subproceso actualmente en ejecucin tiene su mtodo stop () invoca durante su quantum de tiempo. c. Explique qu sucede si el planificador selecciona un tema para ejecutar que ha tenido su sos- pend () mtodo invocado. Respuesta: a. S, si la rosca T1 bloquea por alguna razn (por ejemplo, E / S), la JVM programar otra hilo. En este caso sera T2 hilo. b. El resto de su quantum de tiempo ser compartido por todos los otros subprocesos en la cola utilizando el algoritmo de programacin por defecto de la JVM. c. El resto de su quantum de tiempo ser compartido por todos los otros subprocesos en la cola utilizando el algoritmo de programacin por defecto de la JVM.

You might also like