Teoría de Sistemas Operativos Certamen 1 Miércoles 17 de Abril de 2013 A LUMNO : RUN: NOTA: C ADA PREGUNTA DEBE SER RESPONDIDA EN LA HOJA RESPECTIVA . C ADA HOJA DEBE TENER SU N OMBRE Y RUN. D EBE RESPONDER EN FORMA CLARA , ORDENADA Y JUSTIFICADA , NO MEZCLANDO RESPUESTAS . S I NO RESPONDE UNA PREGUNTA , DEJE UN ESPACIO EN BLANCO . S I SUS RESPUESTAS NO CUMPLEN CON ESTE REQUISITO , NO SE CORREGIRÁN Y NO TENDRÁN DERECHO A RECORRECCIÓN . L AS RESPUESTAS ESCRITAS CON LÁPIZ GRAFITO NO TIENEN DERECHO A RECORRECCIÓN . T IENE 90 MINUTOS PARA RESPONDER . E STAS INSTRUCCIONES RIGEN PARA TODAS LAS PREGUNTAS DEL CERTAMEN Pregunta)1! En la figura 1.1, se muestra un modelo de un sistema computacional. swap in swap out Queue suspended Queue Ready CPU Time slot expired Queue I/O waiting I/O a) Identifique dónde actúan los planificadores de Largo, Mediano y Corto Plazo. 10pts Plan. Largo Plazo swap in 10pts swap out Queue suspended Plan. Mediano plazo Queue Ready CPU Time slot expired I/O Plan. corto plazo Queue I/O waiting 10pts b) Explique la relación entre cada uno de los planificadores y el grado de multiprogramación del sistema. 10pts Planificador Lago Plazo: Aumenta el grado de multiprogramación, debido a que admite o rechaza la creación de nuevos procesos. 10pts Planificador Media Plazo: Dismunuye el grado de multiprogramación, debido a que saca procesos y los envía a almacenamiento secundario. Planificador Corto Plazo: mantiene el grado de multiprogramción. Sólo se 10pts ocupa de la asignación al procesador. c) Determine el modelo de procesos del sistema. Terminated NEW Ready Running Wait I/O Wait Suspended 40pts (10pts si es de 5 estados) 1 Teoría de Sistemas Operativos Certamen 1 Miércoles 17 de Abril de 2013 RUN: A LUMNO : NOTA: Pregunta)2! En un sistema computacional, con un procesador y un disco duro, se tienen 2 procesos, cuyos (seudo)códigos se muestran a continuación: Proceso 1: int main(){ determineAlgo(4); soliciteAlgo(5); determineAlgo(5); } void determineAlgo(int time){ //Use CPU por time [u.t] } Proceso 2: int main(){ determineAlgo(2); soliciteAlgo(3); determineAlgo(3); } Código compartido void soliciteAlgo(int time){ //Use Disco por time [u.t] } El modelo de procesos del sistema es el que se muestra en la figura 2.1. Create Ready El esquema de planificación de CPU es FIFO (no apropiativo). El planificador actúa cuando un proceso solicita I/O o termina. Running Terminate Wait El disco se planifica bajo FIFO . Figura 2.1 Determine la planificación de los procesos si el proceso 1 llega primero que el proceso2 y ambos están en la fila ready en t=0. Justifique claramente su planificación en los tiempos en donde el planificador es llamado. Utilice la siguiente nomenclatura. Ru: Runnign; We: Waiting (Esperando por Disco); Wu Waiting (Utilizando Disco); Re: Ready P1 Ru Ru Ru Ru We/ Wu Wu Wu Wu Wu Ru Ru Ru Ru Ru P2 Re Re Re Re Ru Ru We We We Wu Wu Wu Re Re 0 1 2 3 4 5 6 7 8 9 Ru Ru Ru 10 11 12 13 14 15 16 16 18 19 20 70pts por la planificación 30pts por la justificación. 2 Teoría de Sistemas Operativos Certamen 1 Miércoles 17 de Abril de 2013 Pregunta)3! En un sistema computacional, con un procesador y un disco duro, se tienen 2 procesos, cuyos (seudo)códigos se muestran a continuación: Proceso 1: int main(){ determineAlgo(6); soliciteAlgo(3); determineAlgo(4); } void determineAlgo(int time){ //Use CPU por time [u.t] } Proceso 2: int main(){ determineAlgo(2); soliciteAlgo(5); determineAlgo(5); } Código compartido void soliciteAlgo(int time){ //Use Disco por time [u.t] } El modelo de procesos del sistema es el que se muestra en la figura 2.1. Create Ready Terminate Running El esquema de planificación es apropiativo. El planificador Wait actúa cuando un proceso solicita I/O, termina su ejecución o cuando un proceso llega a la fila Ready. El planicador siempre Figura 2.1 va a escoger al proceso que tenga una ráfaga de CPU menor (sólo toma en cuenta la ráfaga actual, no el total de ráfagas que pueda tener el procesos). El disco se planifica bajo FIFO . Determine la planificación de los procesos si el proceso 1 llega en t=0 y el proceso 2 llega en t=3. Justifique claramente su planificación en los tiempos en donde el planificador es llamado. Utilice la siguiente nomenclatura. Ru: Runnign; We: Waiting (Esperando por Disco); Wu Waiting (Utilizando Disco); Re: Ready +10 P1 Ru Ru Ru P2 0 1 2 t=13 t=15 +10 +10 +10 +10 Re Re Ru Ru Ru We We Wu Wu Wu Re Re Ru Ru Wu Wu Wu Wu Wu Re/ Ru Ru Ru Ru Ru 3 Tiempo en que se llama al planificador t=3 t=5 t=8 t=10 +10 +10 4 5 6 7 8 9 Ru Ru Ru Ru 10 11 12 13 14 15 16 16 18 19 20 Descripción Llega el proceso P2. Se escoge P2 debido a que tiene menor ráfaga de CPU. P2 solicita I/O y utiliza el disco. El planificador escoge a P1, debido a que es el único proceso en READY. P1 solicita I/O y queda esperando por el disco. No hay proceso en la fila READY. Proceso P2 termina su I/O y vuelve a READY. Como sucede esto, el planificador es llamado y lo escoge, debido a que no hay procesos en dicha fila. Proceso P1 termina su I/O y vuelve a READY. Como consecuencia, el planificador es llamado. Escoge a P2 ya que es el que tiene menor ráfaga de CPU El planificador es llamado ya qye P2 termina. Escoge a P1 ya que es el único que está en la fila READY. 3 30pts Teoría de Sistemas Operativos Certamen 1 Miércoles 17 de Abril de 2013 4