Vous êtes sur la page 1sur 60

Recorrido histrico: tipos de Sistemas

Primeros sistemas Sistemas por lotes Mejoras en la gestin de la E/S Sistemas por lotes multiprogramados Sistemas de tiempo compartido

Primeros sistemas
Los primeros sistemas informticos estaban constituidos por una unidad central de proceso con un terminal denominado la consola del operador del sistema para dar ordenes al sistema y depurar los programas, una unidad de entrada de programas constituida por una lectora de tarjetas y una unidad de salida de resultados (impresora).

Primeros sistemas
El programador que diseaba y escriba un programa deba desplazarse fsicamente a la consola e introducir su programa desde la lectora de tarjetas y ejecutar el programa mediante una orden desde la consola.

Primeros sistemas
Este usuario experto realizaba la doble funcin de programador-operador y desde la consola controlaba la ejecucin del programa que finalmente dejaba los resultados en la impresora o en tarjetas.

Primeros sistemas
Cuando un usuario finalizaba su trabajo, otro usuario poda hacer uso de la mquina, ya que el sistema permita un solo usuario en cada momento.

Primeros sistemas
Se dise una lista de uso para las gestin del sistema de forma que el usuario se reservaba el uso de la mquina apuntndose en la lista en los tiempos libres de la mquina.

Primeros sistemas
Los primeros sistemas de computacin se caracterizaban :Gran tamao

Primeros sistemas
Organizacin del trabajo: programador=operador del sistema un solo usuario en cada momento (tiempo asignado, listas de reserva)

Nuevas Mejoras
Dispositivos fsicos Lectoras de tarjetas, impresoras y cintas magnticas Ensambladores, Compiladores se disearon para facilitar la tarea de programacin Manejadores de dispositivos (drivers) Aparecieron los primeros compiladores de lenguajes de alto nivel (FORTRAN, COBOL), simplificando la labor de programacin pero aumentando la carga de trabajo del computador

Problemas
Cada trabajo consista en muchos pasos separados (cargar la cinta, cargar el programa objeto y ejecutarlo) Si un error suceda en cualquiera de los pasos, haba que comenzar desde el principio Tiempo de correccin manual de errores Tiempo sobrante por finalizacin temprana (raro) Equipos muy caros

Sistemas por lotes


Objetivo: sacar ms provecho a la mquina gracias a una mejor organizacin del trabajo

Sistemas por lotes


Primer paso: aparicin del operador especialista. El programador no manipula directamente el equipo. El programador entrega su trabajo (job) al operador. El operador somete la tarea al sistema y entrega los resultados al programador. El programador corrige sus errores mientras el operador sigue ejecutando otras tareas. Resultado: aumento de la productividad.

Sistemas por lotes


Segundo paso: agrupar las tareas en lotes que se procesan de forma automtica Procesamiento por lotes (batch processing) El operador puede preparar lotes con trabajos que requieren una misma operacin (ej. cargar el compilador) El operador lanza el lote, y ste se ejecuta sin ms intervencin (secuencia automtica de trabajos)

Sistemas por lotes


Por ejemplo si tena que ejecutar un trabajo en FORTRAN, otro en COBOL y otro en FORTRAN, se corra el primero y el ltimo y luego el segundo

Sistemas por lotes


Necesario automatizar ciertas acciones comunes Control de la finalizacin de tareas Tratamiento de errores Carga y ejecucin automtica de la siguiente tarea En lugar de dar rdenes al operador, Porqu no drselas directamente al computador?

El primer sistema operativo


El primer SO rudimentario apareci con la creacin de un secuenciador de trabajos automtico Un programa muy chico, llamado monitor residente, estaba siempre en memoria. Inicialmente al prender el equipo, el control de la mquina estaba en el monitor residente, quien transfiere el control del sistema a un programa.

El primer sistema operativo


Cuando el programa termina su ejecucin, el control vuelve al monitor residente, quien ceder el control al prximo trabajo. As el monitor va cediendo en forma secuencial el control a los distintos programas a ejecutarse

Monitor residente
Realiza automticamente las acciones: Control de la finalizacin de tareas. Tratamiento de errores. Carga y ejecucin automtica de la siguiente tarea.

Capas de memoria para un monitor residente

El primer sistema operativo


Pero, cmo sabe el monitor residente qu programa ejecutar? Previamente, el operador deba dar una corta descripcin de qu programas correr y con qu datos. Se inventaron las tarjetas de control, que daban esa informacin al monitor

El primer sistema operativo


Adicionalmente al programa y datos para un trabajo, se incluyen tarjetas especiales que instruyen al monitor residente el programa a correr. Por ejemplo, un usuario puede requerir la ejecucin de 3 programas: el compilador FORTRAN (FTN), el ensamblador (ASM) y el programa objeto de l

El primer sistema operativo


Tarjetas de control: Para que el monitor residente sepa qu programa ejecutar (se distinguen por $ de las tarjetas de instrucciones).

El primer sistema operativo


Tendremos las siguientes tarjetas de control: * $FTN: Ejecutar el compilador FORTRAN. * $ASM: Ejecutar el ensamblador. * $RUN: Ejecutar el programa de usuario. Estas le dicen al monitor qu programas ejecutar

El primer sistema operativo


Un monitor residente posee varias partes : el intrprete de tarjetas de control, que peridicamente necesitar un cargador para cargar los programas del sistema y del usuario. Estos 2 mdulos necesitaran realizar operaciones de E/S y por ende el monitor contendr un conjunto de drivers para cada dispositivo del sistema

El primer sistema operativo


Organizacin de la memoria para un monitor residente: Cargador, secuenciado de trabajos, intrprete de tarjetas. Drivers para cargador e intrprete. Ventaja: Eliminacin del secuenciado manual de trabajos.

El problema de la E/S
La E/S era muy lenta en comparacin con la CPU. Esto provocaba que la CPU quedara ociosa mucho tiempo esperando por la terminacin de operaciones de E/S. Solucin: Introduccin de tecnologa de discos lo que posibilita Algunas tcnicas para tratar el problema: Operacin fuera de lnea (offline) Uso de bferes Spooling

Operacin fuera de lnea (off-line)


Una solucin muy comn fue reemplazar lectoras de tarjetas (dispositivos de entrada) e impresoras de lnea (dispositivos de salida) por unidades de cinta magntica (velocidad mayor de transferencia de datos) Lo que se hizo fue previamente copiar a cinta lo ledo por las lectoras. Cuando la cinta estaba casi llena, se la montaba en la unidad del computador

Operacin fuera de lnea (off-line)


Igualmente, toda la salida se copiaba a cinta para imprimirse ms tarde. As, tanto las lectoras como las impresoras se operaban fuera de lnea. En operacin fuera de lnea los perifricos de entrada y salida actuaban bajo el control de unidades de cinta no conectadas al computado central.

Operacin fuera de lnea (off-line)


El computador central dialoga directamente slo con dispositivos rpidos (cintas magnticas). Un pequeo computador (satlite o canal) se encarga de las transferencias con dispositivos lentos (tarjetas, impresora). Independencia con el dispositivo, la CPU solo dialoga con los dispositivos rpidos

Operacin fuera de lnea (off-line)

Operacin fuera de lnea (off-line)


La real ventaja del procesamiento fuera de lnea est en la posibilidad de usar mltiples instalaciones satlite por una cpu. La desventaja radica en que ahora el tiempo para ejecutar un trabajo en particular es mucho mayor

Buferes
Un buffer es una zona de memoria donde se deposita la informacin de entrada y salida en forma temporal.

Buferes
El procesador da una orden al dispositivo indicando que vaya dejando todos los datos a leer en esa zona y que le avise cuando se haya llenado, mientras podra seguir ejecutando el programa. Una vez que se haya llenado la zona (memoria tampn), el procesador recoge todos los datos, indica al dispositivo que puede volver a llenar el buffer y al mismo tiempo el proceso trabaja con los datos recibidos

Buferes
Se requiere que el sistema operativo reciba lo mas rpidamente notificacin de que el buffer se ha llenado o de la terminacin de la entrada o salida de datos. Esto se logra mediante una interrupcin, momento en que el sistema operativo vaciar el buffer o empezar a llenarlo con nueva informacin para la siguiente operacin

Bferes
Intenta mantener tanto la cpu como el dispositivo de E/S ocupados todo el tiempo. Luego de leerse los datos y cuando la cpu va a comenzar a procesarlos, se instruye al dispositivo de entrada que comience a leer la prxima entrada inmediatamente. Con suerte, al finalizar la cpu su trabajo ya tendremos disponibles nuevos datos. Igual mtodo puede usarse para las salidas.

Buferes
Esta tcnica sin embargo tiene sus problemas. Por ejemplo, debe detectarse el momento en que el dispositivo de E/S ha terminado su operacin lo antes posible. La prxima operacin de E/S debe empezar recin cuando la anterior ha finalizado.

Buferes
Las interrupciones resuelven este problema: ni bien el dispositivo de E/S termina una operacin manda una seal de interrupcin a la cpu. Esta para su trabajo y transfiere el control a una direccin de memoria fija. Las instrucciones localizadas en esas direcciones son una rutina de servicio de interrupciones que chequea si el buffer no est lleno (dispositivo de entrada) o vaco (dispositivo de salida).

Buferes
Si sta condicin se cumple se inicia la prxima operacin de E/S. La cpu sigue con su trabajo hasta terminar.

Buferes
Uso de bferes: las transferencias de E/S se realizan a travs de una zona intermedia de memoria y slo cuando el dispositivo est preparado.

Buferes

Spooling (Simultaneous Peripheral Operation On-Line)


Este esquema de funcionamiento de operacin de la E/S surge gracias a la aparicin de los discos Se utiliza el disco como un enorme bfer. El proceso lee/escribe sobre el disco, en lugar del dispositivo de E/S.

Spooling
Mientras se ejecuta un trabajo, el S.O.: lee los datos del siguiente trabajo de la cinta/tarjetas al disco imprime la salida del anterior trabajo, del disco a la impresora

Spooling

Spooling
La ubicacin del contenido de las tarjetas se anota en una tabla que mantiene el sistema operativo. Tiene un efecto beneficioso sobre el rendimiento del sistema. A cambio del costo de unas cuantas tablas y de espacio en disco.

Spooling
Spooling: Uso del disco como bfer de gran tamao, leyendo por adelantado de los dispositivos de entrada, guardando la informacin y envindola a los dispositivos de salida cuando stos estn disponibles.

Multiprogramacin
Gracias al spooling (reserva de trabajos en el disco), el sistema operativo escoge qu trabajo ejecutar a continuacin con el criterio de mejorar el aprovechamiento de la CPU, planificacin de trabajos. El aspecto ms importante de la planificacin es la multiprogramacin, aumentando el aprovechamiento de la CPU. Siempre habr varios trabajos en memoria, el sistema operativo escoger de entre ellos y lo ejecutar, de tal forma que siempre haya un trabajo en ejecucin.

Multiprogramacion
Caractersticas de la multiprogramacin:
Si un proceso se bloquea, esperando por la E/S, en la CPU ejecutamos instrucciones de otro proceso. Ejecucin entrelazada de procesos: concurrencia. Mayor rendimiento, finalizacin de ms trabajos en menos tiempo.

Multiprogramacion

Multiprogramacin
Mayor complejidad de los sistemas multiprogramados: Planificacin de la CPU: Qu proceso elegimos al quedar libre la CPU. Planificacin de dispositivos: Conflictos por acceso simultneo a la E/S. Gestin de memoria: Decisiones de carga en memoria entre varios trabajos que estn listos para subirse. Situaciones de interbloqueo: Entre procesos por los recursos. Proteccin.

Tiempo Compartido
Por qu surgen?: Con la multiprogramacin los recursos del sistema se aprovechan eficientemente, sin embargo, para el usuario: No puede interactuar con el trabajo durante su ejecucin. Solucin: sistemas multitarea ms apropiados para trabajos de muchas acciones cortas, donde el usuario introduce una orden y espera, por tanto, interesa un tiempo de respuesta corto. Desventaja: Perdemos productividad de la CPU. Ventajas: Interaccin usuario-sistema e ilusin de que cada usuario tiene su ordenador particular.

Tiempo Compartido
El uso del tiempo compartido se refiere a compartir un recurso computacional entre muchos usuarios por medio de la multitarea. Multitarea: Permite que varios procesos sean ejecutados al mismo tiempo compartiendo uno o ms procesadores.

Tiempo Compartido
Tcnica que consiste en que la CPU reparte su tiempo entre los distintos procesos y usa multiprogramacin para asignar la CPU a cada proceso. El sistema operativo permite a muchos usuarios compartir el computador Cada proceso dispone de una rodaja de tiempo peridica. Si el periodo es bastante pequeo, el usuario no lo percibe

Tiempo Compartido
Por tanto con el tc se consigue: Tiempos de respuesta cortos Los usuarios tienen la impresin de poseer un ordenador particular

Ordenadores Personales
Aparicin a finales de los 70 debido a: Abaratamiento de coste. Microprocesadores, reduccin de tamao. Destinados al uso individual y no experto. Interfaces de usuario amigables: ventanas, iconos, mens,... Prescinden de ciertas funciones, como proteccin de la CPU (sistemas no multiusuario y no multitarea). Objetivos: Facilidad y comodidad de uso y rapidez de respuesta.

Sistemas paralelos multiprocesadores:


Varios procesadores en comunicacin (acoplados), compartiendo el bus del computador, el reloj, la memoria y los perifricos. Ventajas: Pueden ejecutar varias instrucciones en forma simultnea (en paralelo). Aumento del rendimiento (ms trabajos en menos tiempo). Comparticin de perifricos y fuentes de potencia. Tolerancia a fallos (degradacin gradual). Desventaja: Sincronizacin entre procesos.

Sistemas distribuidos
Caractersticas: El cmputo
se reparte entre varios procesadores conectados mediante una red. Cada procesador tiene su propia memoria local Comunicacin entre procesadores a travs de lneas de comunicacin, buses de alta velocidad o lneas telefnicas. Procesadores de distintos tamaos y funciones.

Sistemas distribuidos
Ventajas: Recursos compartidos: accesos remotos, comparticin de archivos, informacin de DB distribuidas,... Computacin ms rpida: carga de trabajo compartida. Fiabilidad: tolerancia a fallos por redundancia. Comunicacin: redes de comunicacin. Desventajas: Comunicacin compleja al no compartir memoria. Redes de comunicaciones no fiable. Heterogeneidad de los nodos.

Sistemas de tiempo real


Para ejecucin de tareas que han de completarse en un plazo prefijado (sistemas de control industrial, multimedia, cientficos, mdicos, ...) Pueden ser de dos tipos: Crticos: Tareas que exigen el cumplimento de plazos de finalizacin, tienen pocos recursos disponibles los datos se almacenan en memoria de corto plazo o ROM. Incompatibles con los sistemas de tiempo compartido. Adecuados para la industria y la robtica. No crticos: Ejecucin por prioridades. No cumplimiento estricto de plazos. Adecuados en multimedia, realidad virtual y proyectos cientficos avanzados de exploracin submarina y planetaria.

Tendencias actuales
Tendencias actuales y futuras en sistemas operativos: Paralelismo: Incremento de multiprocesadores. Computacin distribuida: Incremento de redes de ordenadores conectados. Sistemas tolerantes a fallos. Interfaces de usuario ms amigables: Desarrollo de interfaces grficas. Incorporacin de multimedia a las interfaces. Reconocimiento del habla. Inmersin en el entorno: realidad virtual 3D

Tendencias actuales
Sistemas abiertos: estandarizacin de sistemas para compatibilizar los distintos fabricantes a nivel de: Comunicaciones de red. Interfaces de usuario abiertas. Aplicaciones abiertas (varias plataformas). Sistemas orientados a objeto: aplicacin de tcnicas de orientacin a objetos a los sistemas operativos. Personalidades mltiples: en una misma mquina y un sistema operativo bsico pueden existir diferentes SO.

Vous aimerez peut-être aussi