Sistemas operativos modernos
una computadora tiene 32 MB de memoria, de la cual el sistema operativo ocupa 16 MB y ca da programa de usuario ocupa 4 MB. Estos tamaños permiten que cuatro programas de usuario estén en la memoria a la vez. Con una espera de E/S media del 80%, tendremos un aprovecha miento de la CPU (sin considerar el gasto extra del sistema operativo) de 1 - 0.8^, o sea, apro ximadamente 60%. La adición de otros 16 MB de memoria permite al sistema pasar de multiprogramación de cuatro vías a multiprogramación de ocho vías, con lo que el aprovecha miento de la CPU sube al 83%. O sea, los 16 MB adicionales elevan el rendimiento en 38%. La adición de otros 16 MB sólo elevaría la utilización de la CPU del 83 al 93%, o sea que el rendimiento sólo subiría otro 12%. Con base en este modelo, el dueño de la computadora po dría decidir que la primera adición representa una buena inversión, pero que la segunda no se justifica. 4.1.4 Análisis del desempeño de un sistema multiprogramado El modelo anterior también puede servir para analizar sistemas de procesamiento por lotes. Por ejemplo, consideremos un centro de cómputo cuyos trabajos esperan E/S el 80% del tiempo, en promedio. Cierta mañana se envían cuatro trabajos, como se muestra en la figura 4-4a. El primer trabajo, que llega a las 10:00 a . m ., requiere cuatro minutos de tiempo de CPU. Con una espera de E/S del 80%, el trabajo utiliza sólo 12 segundos de tiempo de CPU por cada minuto que está en la memoria, aunque ningún otro trabajo esté compitiendo con él por la CPU. Los otros 48 segundos se dedican a esperar que termine la E/S. Por lo tanto, el trabajo tendrá que permanecer en la memoria durante por lo menos 20 minutos para realizar cuatro minutos de trabajo de CPU, aunque no haya competencia por la CPU. De las 10:00 a . m . a las 10:10 a . m . el trabajo 1 sigue solitario en la memoria y logra efec tuar dos minutos de trabajo. Cuando llega el trabajo 2 a las 10:10 a . m ., el aprovechamiento de la CPU aumenta de 0.20 a 0.36, gracias al mayor grado de multiprogramación (vea la figura 4-3). Sin embargo, con calendarización por tumo circular (round-robin), cada trabajo recibe la mi tad del tiempo de CPU, así que cada uno efectúa 0.18 minutos de trabajo de CPU durante ca da minuto en memoria. Cabe señalar que la adición de un segundo trabajo le cuesta al primero sólo el 10% de su desempeño: pasa de obtener 0.20 minutos de CPU por minuto de tiempo real a 0.18 minutos de CPU por minuto de tiempo real. El tercer trabajo llega alas 10:15 a . m . Hasta aquí el trabajo l ha recibido 2.9 minutos de CPU y el trabajo 2 ha tenido 0.9 minutos. Con multiprogramación de tres vías, cada trabajo recibe 0.16 minutos de tiempo de CPU por minuto de tiempo real, como se ilustra en la figura 4-4b. Entre las 10:15 A.M. y las 10:20 a . m . cada uno de los tres trabajos recibe 0.8 minutos de tiempo de CPU. A las 10:20 a . m . llega el cuarto trabajo. La figura 4-4c muestra la serie completa de sucesos. 4.1.5 Reubicación y protección La multiprogramación introduce dos problemas fundamentales que es preciso resolver: reubi cación y protección. Examinemos la figura 4-2. Es evidente que los distintos trabajos se ejecu tarán en direcciones distintas. Cuando se enlaza un programa (es decir, cuando se combinan el
RkJQdWJsaXNoZXIy MjI4NDcx