You are on page 1of 19

Dr.

Luis Enrique Colmenares Guilln BUAP-FCC, Puebla, Mexico

Que es un Sistema Operativo? Los primeros sistemas Sistemas Batch Sistemas de Multiprogramacin Batch Sistemas de Tiempo Compartido Sistemas de Cmputo Personal Sistemas Paralelos Sistemas Distribuidos Sistemas de Tiempo Real

Un programa que acta como intermediario entre el usuario de la computadora y el hardware de la computadora. Objetivos del Sistema Operativo:

Ejecutar programas del usuario y resolver los problemas del usuario de manera fcil y sencilla. Hace que la computadora sea fcil y conveniente de usar. Utiliza el hardware de la computadora de forma eficiente.

Sistema de software que prove a los usuarios de un ambiente eficiente par la ejecucion de sus programas. Usuarios Software de aplicaciones Software del Sistema

Sistema Operativo Hardware

Hardware - prove los componentes bsicos de cmputo (CPU, memoria, dispositivos de E/S). Sistema Operativo - controla y coordina el uso del hardware entre los varios programas de aplicacin para los diferentes usuarios. Programas de Aplicacin - define las formas en que los recursos del sistema son utilizados para resolver los problemas de cmputo de los usuarios (compiladores, bases de datos, juegos de video, programas de negocios). Usuarios (gente, maquinas, otras computadoras).

Manejador de recursos - administra y aloja los recursos. Programa de control - controla la ejecucin de los programas de usuarios y las operaciones de los dispositivos de entrada/salida. Kernel - el programa que corre en todo momento (todo lo demas es programa de aplicacin).

Usuario: provee interfaces de usuario, interprete de comandos, estructura de directorios, programas de utilerias (compiladores, editores, filtros). Ambiente de programacion- prove un ambiente de alto nivel para manejo E/S, manejo de archivos, manejo de procesos. Eficiencia - remplaza al operador en la calendarizacion de jobs, almacenamiento archivos de E/S, manejo de concurrencia.

1940. Primeras Computadoras 1950. Sistemas en Batch 1960. Multiprogramacion y Timesharing. 1970. Minicomputadoras y Microprocesadores. Finales de 70s y 80s. Computadoras personales, Redes, Sistemas Distribuidos y Sistemas Paralelos, Sistemas de Tiempo Real. 1990. WWW, Sistemas de Computo Mobil, PCs.

Estructura
Grandes maquinas ejecutandose desde una consola Computadora dedicada a un usuario/programador a la vez. Programador / usuario como operador Tarjetas perforadas o cintas programadas Programacion y depuracion mediante switches y focos de luz.

Primer Software
Ensambladores, cargadores, linkers , Librerias de subrutinas comunes Compiladores Drivers de dispositivos

Uso ineficiente de recursos


Baja utilizacin del CPU Mucho tiempo en inicializacin del sistema (setup time) Programacion y depuracion es lenta y tediosa.

Cuenta con un operador distinto al usuario. Incluye un lector de tarjetas. El usuario/programador somete un conjunto de tarjetas perforadas que contienen un job a ejecutarse. Reduce el tiempo de inicializacin ejecutando en batch jobs similares. Jobs de varios usuarios son ejecutados en secuencia por un monitor residente. Primer sistema operativo rudimentario. Monitor residente
control inicial en el monitor transfiere el control a el primer job cuando el job termina se transfiere el control al monitor

Sistemas multiprogramados - varios jobs se conservan en memoria al mismo tiempo, y el cpu se comparte entre ellos Rutinas de E/S provista por el sistema ejecutadas simultaneamente con procesamiento del CPU. Administracin de memoria - el sistema debe reservar memoria para varios jobs. Administracin del CPU - el sistema debe elegir entre varios jobs listos para ejecucin. Administracin de dispositivos.

El CPU se comparte entre varios jobs que se encuentran residentes en memoria y en disco ( el CPU se asigna a un job solo si este esta en memoria). Un job es enviado dentro y fuera del la memoria hacia el disco. Existe comunicacin en-linea entre el usuario y el sistema; cuando el sistema operativo finaliza la ejecucin de un comando, busca el siguiente estatuto de control no de una tarjeta perforada, sino del teclado del operador. Existe un sistema de archivos en-linea el cual esta disponible para los datos y cdigo de los

Computadoras de menor tamao. Desarrollo de sistemas operativos (UNIX, DOS, CP/M). Mejora en las interfaces de usuario. Introduccion de Microprocesadores. Desarrollo de lenguajes de programacion.

Computadoras Personales- sistemas de cmputo dedicados a un solo usuario. Dispositivos de E/S- teclados, raton, pantalla, impresoras.. Conveniente al usuario y de respuesta rpida. Puede adaptarse a la tecnologa para soportar otros sistemas operativos.

Sistemas Distribuidos - distribuyen el cmputo entre varios procesadores geogrficamente dispersos. Sistemas debilmente acoplados - cada procesador tiene su propia memoria local y el procesador se comunica con los demas procesadores mediante lineas de comunicacin, buses de alta velocidad y lineas telefnicas. Ventajas:
Comparticin de recursos Incremento en la velocidad de cmputo comparticin de carga Confiabilidad Comunicacion

Estaciones de Trabajo: (Sun, Vax, Silicon Graphics). Redes de Area Local (Ethernet, Token Ring, FDDI, ATM), Redes de larga distancia (Arpanet). Redes organizadas como clientes-servidores. Servicios de S.O. Protocolos de comunicacin, encripcion de datos, seguridad, consistencia en datos distribuidos.

Sistemas paralelos - sistemas de mltiples procesadores con mas de 1 procesador con comunicacin entre ellos. Sistema fuertemente acoplado - los procesadores comparten memoria y reloj; la comunicacin usualmente se realiza mediante memoria compartida. Ventajas:
Incremento de throughput Economica Incremento en la confiabilidad

Computo Paralelo (Teraflops). PCs poderosas (1.5 GigaHertz) , Computadoras Multimedia. Redes de Comunicacin de distancia mundial, con envio de imgenes, grandes cantidades de datos, audio y video. World Wide Web. Notebooks utilizando tecnologias de comunicacin inalambrica: Computo Mobil. Computo Embebido y Robotica.

A menudo utilizados como dispositivo de control en aplicaciones dedicadas, como control de experimentos cientficos, sistemas de procesamiento de imagenes mdicas, sistemas de control industrial, etc... Exige complimiento de restricciones de tiempos. Sistemas de tiempo real criticos.
Cumplimiento forzoso de plazos de respuesta. Predecibilidad y analisis de cumplimineto de plazos de respuesta

Sistemas de tiempo real acrticos.


Exigencia suave de plazos de respuesta. Atencin lo mas rapido posible a eventos, en promedio.