Volver al temario
Tema 01 · 26 páginas

Introducción a los sistemas operativos

Tema completo Modo estudio
GUÍA DE ESTUDIO · Páginas 1316 Ver PDF

2.3. La tercera generación

Material de estudio basado en la edición de 2014. Borrador pendiente de revisión editorial independiente.

Multiprogramación: aprovechar las esperas

A mediados de la década de 1960, los circuitos integrados hicieron las máquinas más pequeñas, rápidas y asequibles. Se incorporaron mecanismos de interrupción y protección, mejores periféricos y terminales remotos, y se extendieron los lenguajes de propósito general. La serie IBM 360 representa esta generación en el documento.

La innovación central es la multiprogramación: mantener varios programas que puedan compartir el procesador. Los programas alternan fases de cálculo y fases de E/S. Si solo se ejecuta uno y tiene mucha E/S, el procesador pierde gran parte del tiempo esperando. El texto señala que, en procesamiento comercial, esa espera puede representar el 90 % del tiempo de ejecución.

Cuando A solicita E/S, la CPU puede ejecutar B, que ya está en memoria. Cuando B termina o solicita E/S, puede volver a A si está preparado. Se alterna así el uso del procesador y se solapa con la actividad de los dispositivos. La simultaneidad es aparente respecto al procesador compartido: el mecanismo descrito alterna programas.

En el ejemplo de las páginas 14–15, dos programas pasan de diez unidades de tiempo en ejecución secuencial a seis en ejecución concurrente. Es un caso idealizado: las fases reales varían y no siempre se consigue mantener todos los recursos ocupados. El grado de multiprogramación es el número de programas que compiten activamente por los recursos, no el número de CPU.

Tiempo compartido: atender al usuario interactivo

La multiprogramación pura cambia de programa cuando el actual termina o pide E/S. Un programa con mucho cálculo puede retrasar demasiado a los usuarios conectados mediante terminales. Por eso, aprovechar la CPU no garantiza una buena respuesta interactiva.

El tiempo compartido añade un límite a cada turno de CPU: el quantum o cuanto. El programa deja el procesador por tres causas:

  • Finaliza.
  • Inicia una operación de E/S.
  • Agota su quantum.

Con turnos suficientemente pequeños, los programas avanzan y cada usuario percibe que recibe atención. La diferencia decisiva frente al mecanismo anterior es poder recuperar la CPU aunque el programa no termine ni solicite E/S. Los valores concretos de configuración de Linux que aparecen en la nota del PDF pertenecen a la edición del material y no son una regla universal.

UNIX, variantes y compatibilidad

El documento sitúa aquí el origen de UNIX, asociado al trabajo de Ken Thompson en Bell tras MULTICS. Destaca su desarrollo en C, la distribución del código a universidades, las posteriores líneas comerciales System III y System V y la variante BSD de Berkeley, con TCP/IP. También enumera sistemas como HP-UX, AIX, Solaris, Sun-OS y Ultrix.

La diversidad de versiones produjo diferencias de compatibilidad. POSIX aparece como un esfuerzo de estandarización de la interfaz. Para estudiar esta parte, importa conectar distribución del código, proliferación de variantes y necesidad de una interfaz común.

Esquema de repaso

  • Espera de E/S → asignar CPU a otro programa → mejor aprovechamiento.
  • Espera interactiva excesiva → limitar el turno con un quantum → tiempo compartido.
  • Variantes UNIX → diferencias entre interfaces → estandarización POSIX.

Debes poder explicar

  • El ejemplo A/B y por qué la mejora no garantiza utilización del 100 %.
  • Qué mide el grado de multiprogramación.
  • Las tres causas de liberación de CPU en tiempo compartido.
  • Por qué surgió la necesidad de POSIX.
Consultar el contenido original