SISTEMAS OPERATIVOS
Dra. Maricela Quintana López
¿Qué es un Sistema Operativo?
Programa
que actúa como
intermediario entre el usuario y el
hardware
de la computadora.
Su
propósito
es ofrecer un
ambiente
en que el usuario pueda
ejecutar
programas
cómoda
y
eficientemente
.
Dra. Maricela Quintana López
Sistema de Cómputo
Parte importante de un Sistema de
cómputo
Hardware
• Usuarios
• Programas de aplicación
Dra. Maricela Quintana López
¿Qué es un Sistema Operativo?
Administrador de recursos
Asigna los recursos a los programas.
Programa de control
Controla la ejecución de los programas de usuario para evitar errores y el uso incorrecto de la computadora;
Se ocupa de la operación y control de los dispositivos de entrada y salida E/S.
Dra. Maricela Quintana López
¿Qué es un Sistema Operativo?
Es un
programa
que
administra
los
recursos
de la computadora
(Hardware),
proporciona servicios
a los usuarios
y
planifica la ejecución
de los
programas.
Hardware Sistema Operativo
Utilerías Aplicaciones
Dra. Maricela Quintana López
Sistema Operativo
No existe una definición completamente adecuada de sistema operativo
Los sistemas operativos existen porque son una forma razonable de crear un sistema de cómputo utilizable.
Problema
Programa
de Aplicación
Hardware
Las funciones comunes de control y asignación de recursos se combinan en un solo componente de software: El Sistema Operativo
Variedad de SO
Requerimientos de memoria
Proporcionan un editor
Sistemas gráficos con ventanas
Dra. Maricela Quintana López
Variedad de SO
Los sistemas operativos son diseñados
para ser
Cómodos (para el usuario) Eficientes (sistemas multiusuario) Combinación de ambas
Deben ser creados pieza por pieza,
definidas claramente las entradas,
salidas y sus funciones.
Dra. Maricela Quintana López
Evolución de los sistemas
operativos
Los sistemas operativos y la arquitectura
de las computadoras han tenido una
influencia recíproca.
Generaciones de computadoras
Cómo eran sus sistemas operativos
Dra. Maricela Quintana López
Primera generación
Tubos de vacío y tableros
Grupo de personas: diseñan, construyen, programan, operan y dan mantenimiento Programación en lenguaje máquina (alambrando tableros enchufables)
Dra. Maricela Quintana López
Primera generación
Sistemas operativos
El programador firmaba para tener acceso a un bloque de tiempo en una hoja de registro Bajaba al cuarto de máquinas
Conectaba su tablero a la máquina y pasaba las siguientes horas ejecutando su programa (esperando que no se fundiera ningún bulbo) Al inicio de los 50’s con la introducción de las tarjetas perforadas la situación mejoró. Era posible escribir programas en tarjetas y leerlos en lugar de conectar tableros.
Dra. Maricela Quintana López
2ª. Generación de computadoras
Transistores
Se introdujeron:
Unidades lógicas y aritméticas. Unidades de control más complejas. Uso de lenguajes de programación de alto nivel.
Se proporcionó software del sistema.
Segunda generación
Separación entre diseñadores, operadores, programadores y personal de mantenimiento. Para correr un trabajo (job)
Se escribe el programa en papel Se perfora en tarjetas
Se lleva al cuarto de introducción del sistema El operador toma las tarjetas para que sean leídas, si se requiere el compilador hay que tomarlo del archivero y leerlo.
Cuando el programa termina, el operador toma la salida de la impresora y lo lleva al cuarto de salida.
PDP-1
Dra. Maricela Quintana López Cuarto de entrada Cuarto de salida Cuarto de Máquinas
No hay interacción entre el usuario y la máquina
Dra. Maricela Quintana López
Cuarto de Máquinas
Cuarto de entrada Cuarto de salida Entrada Sistema Salida
Procesamiento por lotes
Dra. Maricela Quintana López
3ª. Generación de computadoras:
el circuito integrado
Circuitos Integrados
1964 - IBM anunció la
computadora de
propósito general 360
, usaba
palabras de 1 byte
.
PDP-8 la primer
minicomputadora (1968)
Dra. Maricela Quintana López
3ª. Generación
En los 60’s muchos fabricantes tenían dos líneas de productos incompatibles
Computadoras científicas Computadoras comerciales
Costoso mantener dos líneas de productos
Sistema 360, 370, 4300, 3080, 3090
La mayor fuerza de la idea de la “familia unica” era su mayor debilidad.
El SW tenía que funcionar en todos los modelos
Dra. Maricela Quintana López
3ª. Generación
Resultado: Un Sistema Operativo
¡ENORME y COMPLEJO!
Millones de líneas en lenguaje ensamblador Miles de errores
Nuevas liberaciones para corregir errores y por supuesto introducir nuevos.
Cuando un trabajo requiere de E/S …
¡el CPU permanece ocioso!
Multiprogramación y SPOOL
Solución: MULTIPROGRAMACIÓN
Particionar la memoriaUn trabajo en cada partición Mientras un trabajo espera que se complete la operación de E/S, otro trabajo utiliza el CPU
Dra. Maricela Quintana López
CTSS: Tiempo compartido
Los programadores añoraban poder
depurar sus programas con rapidez.
Compatible Time Sharing System
Tiempo de respuesta corto
Usuario con una terminal en línea
El CPU se distribuye entre los trabajos
que requieran el servicio.
Dra. Maricela Quintana López
4ª Generación: El microprocesador
1972 -1977
Circuitos LSI
Computadoras personales
Software amigable con el usuario
Dos sistemas operativos dominan
MS-DOS UNIX
Redes de computadoras
Dra. Maricela Quintana López
Evolución de los SO
1ª Generación: Sistemas Manuales
2ª Generación: Sistema por lotes
3ª Generación:
Lotes con Multiprogramación CTSS tiempo compartido
4ª Generación:
Sistemas para computadoras personales Sistemas distribuidos
Dra. Maricela Quintana López
Sistemas por lotes
Un solo programa
Trabaja en un solo programa. La memoria se divide en dos partes:
Sistema Operativo Programa
Programas en lote
Varios programasLa memoria correspondiente al programa se divide en varias partes para almacenar los distintos programas.
Dra. Maricela Quintana López
Procesamiento por lotes
Tarea del SO
Transferir automáticamente el control de un trabajo al siguiente.
Por lotes
Aceleración del procesamiento
Agrupación de trabajos con necesidades similares Sistema
Operativo
Área de programas
de usuario
Distribución de la memoria
Procesamiento por lotes
Cargar compilador
20
30
25
Cargar el programa
20
20
20
Compilar
20
25
23
Ejecutar
60
60
60
120 135 128
19hr 9min alternado ABCABCABC
16hr 39min en el orden AAABBBCCC
A B C
Dra. Maricela Quintana López
Ejecución del programa:
CPU Ociosa
Programa del usuario
Instrucción de E/S Bloque
de código 1
Bloque de código 2
Bloque de código 3 Instrucción
de E/S
Código de
preparación Orden Código de cierre de E/S
Uso de CPU Sin interrupciones
Uso de CPU Con interrupciones Módulo E/S INTERRUPCIÓN
Dra. Maricela Quintana López
Multiprogramación
El sistema operativo mantiene varios trabajos en memoria. El sistema operativo toma y comienza a ejecutar uno de los programas.
En ocasiones el trabajo tiene que esperar a que se complete alguna tarea de E/S. Cuando eso ocurre el sistema operativo cambia a ejecutar otro trabajo.
Trabajo 3 Trabajo 2 Trabajo 1 Sistema Operativo
Dra. Maricela Quintana López
Multiprogramación
Usando el ejemplo anterior, la ejecución se divide en 10 de procesamiento y 15 de E/S quedando los 60 repartidos 10 1510 1510
ABAB 8.5 hrs AABB 7.5 hrs AABB MP 6.16hr
Dra. Maricela Quintana López
0 1 2 3 4 5 6
0 100 200 300 400
A1 A2 B1 B2
Multiprogramación y SPOOL
Cuando se termina un trabajo, se carga
uno nuevo en la partición.
Simultaneous Peripheral Operation On
Line (SPOOL)
Dra. Maricela Quintana López Trabajo 3 Trabajo 2 Trabajo 1 Sistema Operativo Trabajos en espera de asignación de memoria
Requerimientos
Hardware especial para proteger cada
trabajo contra la intrusión de otro.
Se pueden tener en disco los programas
que entran al sistema.
Planificación de trabajos para determinar a cuál se le asigna memoria principal. Planificación de CPU para determinar a cuál se le asigna la CPU.
Sistemas de Tiempo Compartido
Multitarea
Sistema
interactivo
y veloz para varios
usuarios. Al mismo tiempo se puede
trabajar en lotes.
El primer sistema de tiempo compartido
fue creado en el MIT, pero no fue
popular hasta que el
hardware de
protección
necesario se diseminó
Dra. Maricela Quintana López
But I am doing my homework, Mom. Haven’t you heard of multi-tasking?
Referencias
Sistemas Operativos
William Stallings
Operating Systems
Silberschatz
Sistemas Operativos
Andrew S. Tanenbaum
Organización y Arquitectura de computadoras
William Stallings
Computer History Museum
http://www.computerhistory.org/timeline
Evolución de las computadoras