Sistemas operativos modernos
La 360 fue la primera línea de computadoras importante que usó circuitos integrados (a pe queña escala), por io que ofrecía una notable ventaja en precio y desempeño respecto a las má quinas de la segunda generación, que se construían con transistores individuales. Su éxito fue inmediato, y los principales fabricantes de computadoras pronto adoptaron la idea de una fami lia de computadoras compatibles. Los descendientes de estas máquinas se siguen usando en cen tros de cómputo hoy día, para administrar bases de datos enormes (por ejemplo, en sistemas para reservar pasajes aéreos) o como servidores de sitios Web que deben procesar miles de solicitu des por segundo. La mayor ventaja de la idea de “una familia” era al mismo tiempo su punto más débil. La in tención era que todo el software, incluido el sistema operativo OS/360, tenía que funcionar en to dos los modelos. Tenía que hacerio en sistemas pequeños, que a menudo eran simples sustitutos de las 1401 para copiar tarjetas en cinta, y también en sistemas muy grandes, que a menudo sus tituían a las 7094 para pronosticar el tiempo y efectuar otros cálculos pesados. Tenía que ser bue no en sistemas con pocos periféricos y en sistemas con muchos periféricos. Tema que operar en entornos comerciales y en entornos científicos. Y, sobre todo, tenía que ser eficiente para todos estos usos. Era imposible que IBM (o alguien más) escribiera software capaz de satisfacer todos esos requisitos opuestos. El resultado fue un sistema operativo enorme y extraordinariamente com plejo, quizá de dos a tres órdenes de magnitud más grande que FMS. Consistía en millones de líneas de lenguaje ensamblador escritas por miles de programadores, y contenía miles y miles de errores, por lo que se requería un flujo continuo de versiones nuevas en un intento por corre girlos. Cada versión nueva corregía algunos errores e introducía otros nuevos, por lo que es probable que el número de errores se haya mantenido constante al correr del tiempo. Uno de los diseñadores del OS/360, Fred Brooks, escribió después un simpático y mordaz libro (Brooks, 1996) en el que describía sus experiencias con el OS/360. Aunque sería imposi ble resumir aquí ese libro, baste con decir que la portada muestra una manada de bestias pre históricas atascadas en un pozo de brea. La portada de Silberschatz et al. (2000) también sugiere que los sistemas operativos son dinosaurios. A pesar de lo enorme de su tamaño y sus problemas, el 03/360 y los sistemas operativos de tercera generación similares producidos por otros fabricantes de computadoras, en realidad satisficieron de manera razonable a la mayoría de sus clientes. Además, popularizaron varias técnicas clave que no se usaban en los sistemas operativos de segunda generación. Tal vez la más importante de ellas sea la multiprogramación. En la 7094, cuando el trabajo en curso ha cía una pausa para esperar que terminara una operación de cinta u otra operación de E/S, la CPU permanecía inactiva hasta que la E/S terminaba. En el caso de cálculos científicos, que hacían uso intensivo de la CPU, la E/S es poco frecuente, así que el tiempo desperdiciado no es importante. En el procesamiento de datos comerciales, el tiempo de espera por E/S puede ser el 80 o 90% del tiempo total, así que era urgente hacer algo para evitar que ia (costosa) CPU estuviera inactiva tanto tiempo. La solución que se halló fue dividir la memoria en varias partes, con un trabajo distinto en cada partición, como se muestra en la figura 1-4. Mientras un trabajo estaba esperando a que terminara la E/S, otro podía estar usando la CPU. Si era posible tener varios trabajos en la me moria principal a la vez, la CPU podía mantenerse ocupada casi el 100% del tiempo. Tener va
RkJQdWJsaXNoZXIy MjI4NDcx