2.2. La segunda generación
Material de estudio basado en la edición de 2014. Borrador pendiente de revisión editorial independiente.
Del trabajo manual al procesamiento por lotes
El transistor permitió construir, desde la década de 1950, máquinas más pequeñas y fiables. Seguían siendo caras y se utilizaban en grandes corporaciones, universidades, el ejército y la Administración. Aparecieron nuevos dispositivos de E/S y almacenamiento, y un software de sistema con ensambladores, compiladores, cargadores, montadores de enlaces, bibliotecas matemáticas y rutinas de E/S.
El proceso de programación quedó más automatizado:
- Escribir código fuente en ensamblador o en un lenguaje de alto nivel.
- Traducirlo a lenguaje máquina; corregir errores sintácticos y repetir si es necesario.
- Cargar el programa en memoria mediante el cargador.
- Transferirle el control y ejecutarlo; investigar los errores de ejecución con volcados de memoria y registros o con un depurador.
El programa cargado podía ejecutarse con distintos datos. Las rutinas de E/S y el cargador representan un antecedente rudimentario del SO. Traductores, editores y depuradores se consideran aplicaciones de sistema.
Qué solucionan los lotes
Aunque la programación mejoró, las operaciones manuales y la lentitud de la E/S dejaban recursos desocupados. El procesamiento por lotes agrupa trabajos para reducir operaciones auxiliares repetidas. Por ejemplo, agrupar programas Fortran permite cargar una vez su compilador y procesar los trabajos consecutivamente.
El lenguaje de control de trabajos, JCL, permite indicar el inicio y fin de un trabajo, ordenar carga y ejecución y solicitar recursos como CPU o memoria. El secuenciamiento se automatiza, pero la ejecución sigue siendo secuencial: cuando un programa espera E/S, la CPU también puede quedarse esperando. En cálculo científico, con poca E/S, esto era menos perjudicial que en otros trabajos.
Tres formas de solapar trabajo
| Técnica | Qué se solapa | Idea principal |
|---|---|---|
| Fuera de línea, off-line | Preparación de E/S y ejecución en máquinas distintas | Una máquina pasa tarjetas a cinta mientras otra ejecuta programas ya preparados |
| Memoria intermedia, buffering | Cálculo y E/S del mismo programa | Aprovechar la actividad de CPU y dispositivos durante una misma ejecución |
| Gestión de colas, spooling | Operaciones de E/S de distintos trabajos mientras se efectúan otras operaciones | El disco de acceso directo facilita organizar esos trabajos |
La diferencia esencial es qué trabajo se solapa y dónde. Agrupar trabajos por lotes no significa, por sí solo, ejecutar varios programas concurrentemente. Las técnicas de solapamiento intentan reducir el efecto de la gran diferencia de velocidad entre procesador y periféricos.
Debes poder explicar
- El recorrido fuente → traducción → carga → ejecución.
- Cómo los lotes y JCL reducen intervención y operaciones repetidas.
- Por qué aún podía quedar la CPU ociosa.
- Las diferencias entre off-line, buffering y spooling.