2. Inicialmente las computadoras no tenían sistemas
operativos.
La funcionalidad que ofrecían estaba definida en su
hardware.
Cambiar o aumentar esta funcionalidad equivalía a
rediseñar la computadora.
La complejidad del manejo del hardware y el aumento de
la demanda de computadoras hizo necesaria la aparición
de un intermediario entre la computadora y el usuario.
3. Grandes computadoras (ENIAC de 1946, ocupaba 180 m2,
el área de un rectángulo de 12 m x 15 m) basadas en
válvulas de vacío.
4. Sin sistema operativo, se interactúa directamente con el
hardware mediante código máquina (binario) mediante
una consola de interruptores y las respuestas se recibían
mediante un panel de lámparas.
La programación se realizaba
cambiando el cableado de la
máquina.
Nota: hoy en día podemos comprar una réplica de ENIAC en un chip de
7 mm x 5 mm, que de todas maneras es más rápido que el hardware original…
5. Primeros programas registrados en un “medio extraible”:
las tarjetas perforadas, cuyo resultado era visualizado
por el usuario mediante impresoras.
6. Los programas se escribían en esas tarjetas…
y se cargaban en un lector para luego ser ejecutadas por la
computadora hasta obtener un resultado o una falla.
7. Ventajas:
◦ Mayor velocidad de cómputo: los usuarios obtenían respuestas de
forma inmediata.
◦ Los programas ya no requerían cambiar el cableado de la
computadora.
◦ Los programas se podían re-usar y corregir con mayor facilidad y
menor riesgo.
8. Desventajas:
◦ Elevado costo de manufactura y operación, la computadora
permanecía mucho tiempo ociosa debido a la lentitud de los
operarios humanos.
◦ Si un programa necesitaba usar un dispositivo de hardware debía
incluir, a su vez, el código necesario para usarlo.
◦ Sistemas mono-usuario: solo un usuario a la vez.
◦ Los errores eran comunes tanto al programar como al ejecutar el
programa. Un error de lectura o ejecución del programa obligaba
a comenzar de nuevo con todo el procedimiento…
9. Innovación Clave: El Monitor Residente
Para optimizar el uso de las computadoras se pensó en
diseñar un programa que permaneciera siempre en la
memoria de la computadora y controlara su
funcionamiento.
El Monitor Residente es un precursor de los SO’s y permitía
ejecutar varios programas de forma consecutiva
automáticamente, lo cual minimizaba el desperdicio de
tiempo de ejecución y mejoraba el rendimiento del
sistema.
10. Avancedelalistadetareas Lista deTareas
(programas)
a ejecutarse
Tareas ya
ejecutadas
Tarea en
ejecución
Almacén
de Datos
Resultados
Monitor Residente
1. Lee contenido del programa
2. Lee los datos sobre los que
trabajará y los procesa
3. Devuelve los resultados
4. Pasa al próximo programa
11. El Monitor Residente supuso un avance en la formalización y
la estandarización de la programación, ya que para ser
“ejecutable”, el programa debía respetar el conjunto de
instrucciones con las cuales trabajaba el monitor.
12. Introdujeron el concepto de ejecución de múltiples
programas “a la vez”
Mientras un programa espera los datos necesarios
para su ejecución, el Monitor se concentra en el
próximo programa y regresa al anterior cuando esta
pronto para continuar.
El Monitor pasa a llamarse Sistema Operativo
14. Surgimiento de conceptos y tecnologías clave:
Protección de la memoria: Evita que los datos de un programa
“invadan” los de otro programa o los del SO,
corrompiéndolos y provocando así fallas.
Instrucciones Privilegiadas: El procesador actúa de forma
diferente ante las instrucciones de un programa y las del SO,
dando más autoridad a las del SO.
15. Surgimiento de conceptos y tecnologías clave:
Temporización: Se limita el tiempo que un programa puede
usar el procesador para que se una lista de programas se
pueda ejecutar más rápidamente.
Interrupciones: Permiten que los dispositivos periféricos se
comuniquen con el procesador para comunicarle su estado.
16. Surgimiento de conceptos y tecnologías clave:
Procesamiento Off-Line
Operación Periférica Simultanea On-Line:
La entrada y salida de datos se realiza sin intervención del
procesador. Los datos se cargan desde los lectores en las
unidades de almacenamiento (que envían datos al procesador
más rápidamente) y ahí también se guardan los resultados que
luego se imprimen desde ahí mismo. También actúa como un
“buffer” de entrada y salida de datos (E/S) para compensar la
menor velocidad de los dispositivos, los cuales trabajan a su
ritmo mientras el procesador se ocupa de otras tareas.
19. Surgimiento de conceptos y tecnologías clave:
Unidades de Almacenamiento: Permitieron aumentar las
velocidades de procesamiento mediante la ejecución de tareas
en diferido sin la intervención del procesador.
Sistemas de Archivo: Necesarios para posibilitar el uso de los
medios de almacenamiento magnéticos. Surgimiento del
concepto de archivo de computadora.