Está en la página 1de 20

TEMA 1.

Introducción a los sistemas operativos


Contenidos:
1.1 Sistemas Operativos: Objetivos y Funciones
El Sistema Operativo como Interfaz Usuario/Computador
El Sistema Operativo como gestor de recursos
Motivos para la Evolución de los Sistemas Operativos
1.1 Evolución de los sistemas Operativos
Procesamiento en Serie (serial processing)
Sistemas por Lotes (simple batch systems)
Sistemas de tiempo compartido (time-sharing systems)
Sistemas distribuidos
Sistemas en tiempo real

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 1
Diego Martínez Pomares

TEMA 1. Introducción a los sistemas operativos


Bibliografía

• W. Stallings. Sistemas Operativos, 2ª ed.


[Tema 2]
• A. Silberschatz, P. B. Galvin. Sistemas Operativos. 5ª ed.
[Tema 1]

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 2
Diego Martínez Pomares
1.1 Sistemas Operativos: Objetivos y Funciones

Definición de Sistema Operativo

“Un Sistema Operativo es un programa que actúa como


interfaz entre el usuario y el hardware de un computador y
su propósito es proporcionar un entorno en el cual el
usuario pueda ejecutar programas”.
[Stallings 96]

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 3
Diego Martínez Pomares

1.1 Sistemas Operativos: Objetivos y Funciones

Funciones y objetivos de los sistemas operativos:

• Comodidad
Acerca el sistema al usuario facilitando su uso
• Eficiencia
Uso de los recursos de modo eficiente
• Capacidad de Evolución
Construido de modo que permita una evolución para incorporar
nuevas funciones en un futuro.

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 4
Diego Martínez Pomares
1.1 Sistemas Operativos: Objetivos y Funciones

• Comodidad/conveniencia de uso

• Eficiencia
– Los recursos han de aprovecharse eficientemente
– El SO no debe suponer una gran sobrecarga
• Control de la ejecución de los programas
Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 5
Diego Martínez Pomares

1.1 Sistemas Operativos: Objetivos y Funciones

Interfaz Usuario/Máquina

Usuario
Final
Programador

Programas de
Aplicación
Diseñador
Utilidades del Sistema
Operativo
Sistema Operativo

Hardware de la Computadora
[Stallings 96]

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 6
Diego Martínez Pomares
1.1 Sistemas Operativos: Objetivos y Funciones

A que áreas da servicio el sistema operativo

• Creación de Programas
• Ejecución de Programas
• Acceso a dispositivos I/O
• Acceso controlado a ficheros
• Acceso al sistema
• Detección de errores y respuesta
• Información y Contabilidad

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 7
Diego Martínez Pomares

1.1 Sistemas Operativos: Objetivos y Funciones

Sistema Operativo como gestor de Recursos


• Ejecución de programas
• Acceso a dispositivos
• Manipulación de ficheros y datos
• Detección y respuesta a errores
• Protección
Singularidad:
• Sistema de control no externo
• El sistema operativo es un programa que se ejecuta en el
procesador
• El S.O. devuelve el control a otros programas y debe esperar a
que el procesador vuelva a darle el control

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 8
Diego Martínez Pomares
1.2 Evolución de los Sistemas Operativos

Motivos para la evolución de los S.O.

• Actualizaciones HW y nuevos tipos de HW.

• Nuevos servicios. Nuevas demandas.

• Resolver errores. Bugs.

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 9
Diego Martínez Pomares

1.2 Evolución de los Sistemas Operativos

•Un poco de Historia...

Procesamiento en Serie 1940−1950


Sistemas por Lotes 1950−1960
– Monitor residente
– Almacenamiento temporal
Multiprogramación 1960−1975
Sistema de tiempo compartido
Sistemas en tiempo real 1975−1990
Sistemas distribuidos 1990−

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 10
Diego Martínez Pomares
1.2 Evolución de los Sistemas Operativos

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 11
Diego Martínez Pomares

1.2 Evolución de los Sistemas Operativos


Procesamiento en Serie

• Primeros sistemas (Años 1945-1955)


– Sin Sistema Operativo. Interactúan directamente con el HW
– Grandes Ordenadores (ENIAC 1946 – 180m2)
– Compuestos por válvulas de vacío
– Programas en código máquina, directamente con el HW
– Aplicaciones: cálculo numérico sencillo, tablas de senos y
cosenos . . .
• Comunicación con la máquina:
– Panel de programación (displays y switches)
– Dispositivos de entrada: consola con interruptores manuales
– Dispositivos de salida: Bombillas de luz
Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 12
Diego Martínez Pomares
1.2 Evolución de los Sistemas Operativos
Procesamiento en Serie

• Año 1950
• Aparecen nuevos dispositivos de entrada y salida:
– Tarjetas perforadas e Impresoras
• Aparecen los cargadores, los primeros lenguajes y librerías comunes
• Comunicación con la máquina:
– Dispositivos de entrada: lector de tarjetas con el programa
– Dispositivos de salida: impresora
– Dispositivo de gestión: consola
• Los programas eran cargadas manualmente en la memoria por el
operario (tarjetas)
• La activación de los programas y recogida de datos se realizaba
directamente desde la memoria del ordenador mediante una consola
Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 13
Diego Martínez Pomares

1.2 Evolución de los Sistemas Operativos


Procesamiento en Serie

Ventajas:
• Interactivo (los usuarios obtienen respuesta inmediata)
Desventajas:
• Sistema monousuario/monopuesto
• Los usuarios acceden en serie a la máquina. Solamente un usuario
operando la máquina en cada momento.
• Máquina cara y permanece bastante tiempo ociosa, debido a que
las personas son lentas.
• Programación & depuración tediosas: Cada programa debe incluir
código para operar periféricos: propenso a errores.

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 14
Diego Martínez Pomares
1.2 Evolución de los Sistemas Operativos
Procesamiento en Serie

Problemas principales
• Planificación:
– Formularios de reserva (p.e: múltiplos de 30 min.)
–Desperdicio del tiempo del computador

•Tiempo de preparación:
– trabajo Æ compilador Æ programa objeto Æ montaje Æ carga Æ ejecución
– Cada paso podía implicar montar y desmontar cintas y/o
tarjetas
– Gran perdida de tiempo en la preparación
– Si se produce un error el usuario debía comenzar el proceso

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 15
Diego Martínez Pomares

1.2 Evolución de los Sistemas Operativos


Sistema por Lotes

• Primera Generación
• Problema:
Máquina antiguas muy caras y permanecían bastante tiempo ociosa,
debido a que las personas son lentas.
–Necesidades de maximizar utilización (evitar perdidas en planificación y
preparación)
• Solución:
– Nuevo concepto software: monitor
– El usuario no accede directamente a la máquina
– Un job o trabajo es un lote de tarjetas perforadas por el programador

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 16
Diego Martínez Pomares
1.2 Evolución de los Sistemas Operativos
Sistema por Lotes

• Operativa:
– El usuario entrega los trabajos al operador
– El operador agrupaba trabajos en un lote y el monitor cargaba trabajos y
los ejecutaba continuamente
– Los trabajos (jobs) tenían unas rutinas finales (branch) que devolvían el
control al monitor cuando terminaban

• Los primeros sistemas por lotes se desarrollaron:


1940-1950, General Motors, en un IBM701
1960, IBM, IBSYS en un 7090/7094

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 17
Diego Martínez Pomares

1.2 Evolución de los Sistemas Operativos


Sistema por Lotes
• El monitor siempre debe estar siempre en memoria:
Monitor Residente
• Ofrece también un conjunto de funciones comunes como subrutinas
para los programas de usuario
• El monitor lee trabajos uno a uno
• El control pasa al trabajo
• Al terminar el trabajo devuelve el control al monitor (branch)
• El resultado de cada trabajo es impreso
• El monitor lee un nuevo trabajo

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 18
Diego Martínez Pomares
1.2 Evolución de los Sistemas Operativos
Sistema por Lotes

Planificación de trabajos
• Resuelto por el monitor de trabajos

¿Qué ocurre con la preparación de los trabajos?


• Lenguaje de control de trabajos (JCL, Job Control Language)
• Instrucciones para el monitor
• Trabajo (job) incluye: Tarjetas de control + Programa + Datos
• Tarjetas de control:
•$JOB $FTN $LOAD $RUN $END

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 19
Diego Martínez Pomares

1.2 Evolución de los Sistemas Operativos


Sistema por Lotes

Disposición de la memoria con monitor residente


[Stallings 96]

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 20
Diego Martínez Pomares
1.2 Evolución de los Sistemas Operativos
Sistema por Lotes

Ventajas:
• Computador se mantiene la mayor parte del tiempo ocupado
Desventajas:
• No interactivo, prolongados tiempos de despacho
• Procesador costoso y aún permanece ocioso debido a jobs
limitados por E/S.
• Procesador sobrecargado: monitor + programas de usuario
• Cantidad de memoria ocupada por el monitor

Las desventajas son mejoras deseadas, aun con esto la mejora


respecto a los sistemas anteriores son evidentes.

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 21
Diego Martínez Pomares

1.2 Evolución de los Sistemas Operativos


Sistema por Lotes

Características deseables
• Protección de memoria: no permitir que un proceso en
ejecución acceda al zona de memoria del monitor
• Temporizador: limitar el uso del computador por trabajo
• Instrucciones Privilegiadas: El acceso a determinados
recursos debieran ser mediante Instr. Privilegiadas ejecutadas
por el monitor.
• Interrupciones
Mejora de los tiempos de preparación de trabajos:
• Procesamiento off-line
• Spooling

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 22
Diego Martínez Pomares
1.2 Evolución de los Sistemas Operativos
Sistema por Lotes

•Procesamiento off-line
– Lectora de tarjetas muy lenta
– Bajo rendimiento debido a que E/S y CPU no pueden operar a la vez
– Solución: procesamiento off-line de la entrada y la salida
• Los trabajos se cargan desde cinta magnética (más rápida) y sus
resultados también se escriben en cinta magnética
– Método:
•La lectura de tarjetas para su escritura en cinta y la impresión definitiva
de los resultados se hacen off-line
• La E/S no se puede hacer on-line porque las cintas no son dispositivos
de acceso directo, pero el procesador está menos tiempo inactivo (cinta +
rápida que lectoras de tarjetas)

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 23
Diego Martínez Pomares

1.2 Evolución de los Sistemas Operativos


Sistema por Lotes

• Ventajas del procesamiento off-line


– El ordenador principal no está restringido a la velocidad de lectura
de tarjetas o impresión, sólo a la velocidad de la cinta, más rápida
– No se necesitan cambios en los programas de aplicación para
operar off-line
– Posibilidad de usar múltiples sistemas de tarjeta a cinta y cinta a
impresora para una misma CPU

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 24
Diego Martínez Pomares
1.2 Evolución de los Sistemas Operativos
Sistema por Lotes

•Spooling (Simultaneous Peripheral Operation On Line)


– Reducir los tiempos de E/S utilizando el disco como un buffer para
compensar la diferencia de velocidades entre la E/S y los periféricos
lentos
– Para ello se usa un disco magnético (Disp. Acceso directo)
– El disco actúa como un buffer de E/S

– Grabación de los trabajos de entrada en disco (desde tarjetas


perforadas o desde cinta) sin intervención constante de la CPU
– Grabación de los datos de salida también en disco para su
impresión posterior

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 25
Diego Martínez Pomares

1.2 Evolución de los Sistemas Operativos


Sistema por Lotes

• Pool (conjunto) de trabajos


– Los trabajos se escriben en disco
• La ubicación de cada trabajo en disco es registrada por el SO
– Una vez finalizado un trabajo, el SO puede seleccionar (planificar)
el siguiente a ejecutar
• Gracias a que el disco es un dispositivo de acceso directo

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 26
Diego Martínez Pomares
1.2 Evolución de los Sistemas Operativos
Sistema por Lotes con Multiprogramación

• Año 1960 – 1970


Máquinas muy caras y la ocupación de la CPU es pequeña por las
esperas de E/S *
•Objetivo:
Disminuir el tiempo de espera de la CPU ejecutando simultáneamente
varias tareas
• Solución:
Mientras una tarea espera E/S otra tarea puede ejecutarse en el
procesador
• Si hay espacio en memoria para: Monitor + 2 o más prog.
Æ Programa 1 (ops. E/S) Æ Programa 2 (paso a ejecución)

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 27
Diego Martínez Pomares

1.2 Evolución de los Sistemas Operativos


Sistema por Lotes con Multiprogramación

•Concepto:
Multiprogramación o Multitarea

• Es el punto central de los Sistemas Operativos Modernos

•El monitor Residente comienza a llamarse


Sistema Operativo

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 28
Diego Martínez Pomares
1.2 Evolución de los Sistemas Operativos
Sistema por Lotes con Multiprogramación

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 29
Diego Martínez Pomares

1.2 Evolución de los Sistemas Operativos


Sistema por Lotes con Multiprogramación

(*)
Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 30
Diego Martínez Pomares
1.2 Evolución de los Sistemas Operativos
Sistema por Lotes con Multiprogramación

• Características Hw necesarias:
– Interrupciones E/S
– DMA (Direct Memory Access)

• Características del S.O. necesarias:


– Gestión de Memoria
– Planificación de procesos

• No resuelto:
– Hay programas y tareas que es necesario que el usuario
interactue con el computador
Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 31
Diego Martínez Pomares

1.2 Evolución de los Sistemas Operativos


Sistemas de Tiempo Compartido

• Año 1970.
– Sistemas por lotes son bastante eficientes, pero no permiten al usuario
interactuar con el computador
– Hoy en día la interacción es imprescindible

• Objetivo
Que varios usuarios compartan la máquina y puedan interactual con el
computador.

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 32
Diego Martínez Pomares
1.2 Evolución de los Sistemas Operativos
Sistemas de Tiempo Compartido

• Técnica
A cada usuario se le da un trozo de tiempo (quatum) de procesador
n usuario Æ 1/n de tiempo por usuario
• Consecuencia
El tiempo de reacción humano hace que el usuario perciba que disfruta del
100% del tiempo
• Los usuarios acceden al sistema mediante terminales
• Requisito Hw adicional: Interrupciones de Tiempo (pulsos de Reloj)

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 33
Diego Martínez Pomares

1.2 Evolución de los Sistemas Operativos


Sistemas de Tiempo Compartido

• Diferencias entre Multiprogramación por Lotes y el Tiempo


compartido:
Multiprogramación por Lotes Tiempo Compartido
Objetivo principal Maximizar uso del procesador Minimizar tiempos de respuesta
Origen de las instrucciones al S.O JLC Ordenes lanzadas desde el terminal

• Primeros sistemas:
CTSS (Compatible Time-Sharing System) en un IBM709 y IBM7094.
• Tenía las siguientes características:
Memoria: 32K palabras de 36bits
Monitor: 5K Programas: 27K restantes
Interrupciones de reloj: 0,2 sg.
Numero de usuario máximo: 32

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 34
Diego Martínez Pomares
1.2 Evolución de los Sistemas Operativos
Sistemas de Tiempo Compartido

• Inconvenientes
– Es necesario almacenar el estado actual del proceso cuando se saca de
ejecución
– Las escrituras y lecturas en disco relentizas el cambio de trabajo activo
– Para evitar muchas escrituras sólo se escribe a disco si el proceso
entrante puede sobrescribir el anterior

• Nuevos problemas a resolver


– Protección de la memoria (varios programas en memoria a la vez)
– Seguridad de archivos (varios usuario en el sistema a la vez)
– Contención de recursos

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 35
Diego Martínez Pomares

1.2 Evolución de los Sistemas Operativos


Sistemas Distribuidos

• Nueva tendencia: Distribuir cálculos entre varios procesadores


• Dos posibilidades:
– Sistemas fuertemente acoplados:
Varios procesadores. Comparten el reloj y memoria principal. Coordinación
mediante memoria compartida.
– Sistemas débilmente acoplados:
Cada procesador su propio reloj y memoria principal. Coordinación mediante
líneas de comunicación.
• Consecuencia
El usuario no tiene porque conocer la ubicación física de los recursos
( Programas, o donde se encuentre sus archivos; el sistemas operativo
se encarga de todo esto de manera automática y eficiente)

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 36
Diego Martínez Pomares
1.2 Evolución de los Sistemas Operativos
Sistemas Distribuidos

• Razones para construir sistemas distribuidos:


– Compartir recursos
– Aceleración de los cálculos
– Tolerancia a fallos
– Comunicación entre usuarios y aplicaciones

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 37
Diego Martínez Pomares

1.2 Evolución de los Sistemas Operativos


Sistemas en Tiempo Real

• Se usan para el control de aplicaciones especializadas


• Tienen restricciones de tiempo fijas y bien determinadas
• Son muy utilizados en sistemas empotrados: UCIs, automóviles,
teléfonos móviles, sistemas de control, etc.
• El sistema operativo debe responder siempre dentro de los
márgenes requeridos por el sistema controlado, si nos salimos de
esos márgenes, tendremos que buscar otras soluciones
• Existen actualmente lenguajes de programación (Ada) que nos
dan grandes posibilidades para controlar procesos en tiempo real

38
1.2 Evolución de los Sistemas Operativos
Sistemas de Tiempo Compartido

• Sistema Operativo UNIX


– A partir del CTSS se diseña el MULTICS (MIT, Bell Labs,
General Electric)
• Pensado para cientos de usuarios
• Resultó demasiado ambicioso
– Ken Thompson, de Bell Labs, desarrolla una versión
monousuario, en ensamblador: UNICS
• Se unen all proyecto Brian Kernighan y Denis Ritchie
• Se reescribe en un lenguaje propio: B
• Ritchie rediseña el lenguaje y lo llama C
• Se reescribe Unix en C
• Se distribuye gratuitamente a las universidades
• Se estandariza con el nombre POSIX
Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 39
Diego Martínez Pomares

1.2 Evolución de los Sistemas Operativos


Sistemas de Tiempo Compartido

• Computadores personales (1980-1990)


– Dos tipos:
• Estaciones de trabajo: UNIX y redes
• PCs para oficinas y hogares: MS-DOS, luego Windows
– Software fácil de usar: entornos gráficos de ventanas
• Hasta Hoy (1991-hoy)
– los SO generales proporcionan conexión a la red
– se populariza el software libre (Gnu)
– dos grandes familias: Windows y Unix/Linux
surgen otros niveles diferentes al SO: Java, .net

Arquitectura de Computadores
Automática y Computación. Ingeniería Telemática 40
Diego Martínez Pomares

También podría gustarte