Ejercicios

Solo disponible en BuenasTareas
  • Páginas : 11 (2693 palabras )
  • Descarga(s) : 0
  • Publicado : 13 de junio de 2011
Leer documento completo
Vista previa del texto
1. Dada la siguiente secuencia de instrucciones indivisibles: 1.a)  Construya el grafo de precedencia logrando el mayor grado posible de  paralelismo. 1.b)  ¿Cuál es la cantidad mínima de CPU necesaria para lograr un máximo  de paralelismo? Argumente. 1.c)  Programe   la   ejecución   de   las   instrucciones   haciendo   uso   de   la  construcción   parbegin/parend.   Haga   uso   de  semáforos   en   caso   de   ser  necesario. S1: x=x2+5 S2: y=x+3 S3: z=1+x S4: r=y2+10 S5: if(s>y)s=z S6: t=z/4 S7: u=10s(r+t)

2. En   un   sistema   operativo   se   ejecutan   procesos   en   superficie   (foreground)   y   en   fondo   (background).   Los  procesos de superficie son prioritarios a los de fondo y por ello se disponen de dos listas para conservar los  procesos   en   estado   de  listo.   Estas   listas   son   mantenidas   por   medio   de   los   punteros   listo_for   y   listo_bac,  respectivamente.   Ellas  se   atienden   de  acuerdo   con   el  algoritmo   FCFS.   Existe  derecho   de  prioridad   de  los  procesos de superficie sobre los de fondo. En cada entrada de la tabla de procesos se tiene un campo de tipo char que codifica si el proceso se ejecuta en superficie (‘F’) o en fondo (‘B’) y el puntero para ser encadenada  en la lista correspondiente. Asuma la existencia de una función dispatcher(proceso) que realiza el despacho de  un proceso para ejecutarlo y otra zombie() que hace caer al sistema operativo en un lazo de espera hasta que  exista algún proceso que ejecutar. También asuma la existencia de un apuntador global de nombre proc_actual, que señala la entrada en la tabla de procesos del proceso corriente o en ejecución. Este apuntador estará en  NIL   si   el   proceso   que   se   ejecutaba   se   bloqueó   o   terminó.   Teniendo   en   cuenta   el   código   del   planificador  mostrado a continuación responda: 2.a) Corrija argumentadamente el o los errores presentes en el código.2.b) Describa brevemente sin traducir línea a línea, cuál es la función de la porción de código señalada en el  recuadro.
typedef struct{ ... PCB *nextp; char nivel; /* Se agrega a la definición de PCB */ ... } PCB; PCB *proc_actual, *listo_for, *listo_bac; proc_actual = listo_bac; listo_bac = listo_bac->nextp; proc_actual->nextp = NIL;

} else { if (listo_for != NIL) { proc_actual = listo_for; listo_for = listo_for->nextp; void planificador() proc_actual->nextp = NIL; { } PCB*temp; else { lock(); if (listo_bac != NIL) { if (proc_actual != NIL) { proc_actual = listo_bac; if ( (proc_actual->nivel == 'F') || listo_bac = listo_bac->nextp; (listo_for == NIL)) { proc_actual->nextp = NIL; unlock(); } dispatcher(proc_actual); } return; } } unlock(); if (listo_bac == NIL) listo_bac == proc_actual if (proc_actual != NIL) else { dispatcher(proc_actual) else zombie(); temp =listo_bac; } while (temp->nextp != NIL) temp = temp->nextp; temp->nextp = proc_actual; }

3. Un disco tiene las siguientes características: la cantidad de pistas es de 20, la atención de cada solicitud  tiene una duración de 10 ms y el movimiento del cabezal de una pista a otra consecutiva tiene una duración de 5 ms. A partir de un momento en que el cabezal se encuentra en la pista 7, llegan las solicitudes de las pistas:  2, 15, 7, 3, 20 y 10, respectivamente en los siguientes instantes (ms): 0, 20, 50, 50, 80 y 130. Tenga en cuenta  que   no   se   cambia   la   próxima   solicitud   a   atender   después   que   está   decidida.   Responda   la   secuencia   de  solicitudes a atender y cuánto tiempo transcurre hasta que la última solicitud sea atendida si se utilizan los siguientes algoritmos: 3.a) FCFS 3.b) SSF 3.c) C­LOOK (en sentido creciente). 4. Se tiene un sistema de operación que utiliza memoria virtual a través de paginado. Se dispone de cuatro  marcos de páginas. Considere que se va a cargar un programa y ejecutarlo, estando al inicio todos los marcos  de   páginas   libres   y   toda   la   información   en   el   disco.   Si   las  ...
tracking img