Download Sistemas Operativos - Por Jose L Ramirez
Document related concepts
Transcript
Sistemas Operativos Por: José L Ramírez Martes & Jueves 9 – 10:30pm • A finales de los 40's el uso de computadoras estaba restringido a aquellas empresas o instituciones que podían pagar su alto precio, y no existían los sistemas operativos. • Todo era Manual. • La importancia de los sistemas operativos nace históricamente en los años 50's. Primera Generación Segunda Generación • Una computadora se • Una computadora se operaba por medio operaba por medio de del trabajo en lote. tableros enchúfales en la primera generación • En la tercera generación de computadoras nace uno de los primeros sistemas operativos con la filosofía de administrar una familia de computadoras: el OS/360 de IBM. • También nace el concepto de la multiprogramación. • En la cuarta generación la electrónica avanza hacia la integración a gran escala, pudiendo crear circuitos con transistores en un centímetro cuadrado de silicón. • Se hacen populares el MS-DOS y UNIX en estas máquinas. Para mediados de los 80's, comienza el auge de las redes de computadoras y la necesidad de sistemas operativos en red y sistemas operativos distribuidos. Tipos de Sistemas Operativos • Sistemas Operativos por su Estructura – Requisitos de usuario – Requisitos del software • Estructura monolítica – Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo programa – Estructura Monolitica.JPG • Estructura jerárquica – Se constituyó una estructura jerárquica o de niveles en los sistemas operativos para que cada una de ellas estuviese definida Sistema Jerarquico.JPG Máquina Virtual • Se trata de un tipo de sistemas operativos que presentan una interfase a cada proceso, mostrando una máquina que parece idéntica a la máquina real subyacente. Cliente-servidor ( Microkernel) • Este sistema sirve para toda clase de aplicaciones por tanto, es de propósito general y cumple con las mismas actividades que los sistemas operativos convencionales. Sistema Operativos por servicios • Esta clasificación es la más comúnmente usada y conocida desde el punto de vista del usuario final. Monousuarios – Los sistemas operativos monousuarios son aquéllos que soportan a un usuario a la vez. Multiusuarios – Los sistemas operativos multiusuarios son capaces de dar servicio a más de un usuario a la vez Monotareas – Los sistemas monotarea son aquellos que sólo permiten una tarea a la vez por usuario Multitareas – Un sistema operativo multitarea es aquél que le permite al usuario estar realizando varias labores al mismo tiempo. Uniproceso • Un sistema operativo uniproceso es aquél que es capaz de manejar solamente un procesador de la computadora, de manera que si la computadora tuviese más de uno le sería inútil. Multiproceso • Un sistema operativo multiproceso se refiere al número de procesadores del sistema, que es más de uno y éste es capaz de usarlos todos para distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos formas: simétrica o asimétricamente. Sistemas Operativos por la Forma de Ofrecer sus Servicios • Esta clasificación también se refiere a una visión externa, que en este caso se refiere a la del usuario, el cómo accesa los servicios. Sistemas Operativos Distribuídos • Los sistemas operativos distribuídos abarcan los servicios de los de red, usando recursos como los printers, CD rom en una sola máquina virtual que el usuario accesa en forma transparente. Sus ventajas Sus desventajas • Economía • Un Software bien diseñado • Velocidad • Generan mucha • Crecimiento sobrecarga en los • Distribución sistemas y el • Compartir datos hardware • Compartir dispositivos • Comunicaciones • Flexibilidad Tipos de Sistemas de archivo • Almacenamiento Fisico de Datos • Sistemas de Archivos Aislados • Sistemas de Archivos Compartidos o de Red Administracion de la Memoria • Memoria Real (RAM) – Se utiliza majormente para ejecutar programas en el momento. (Ramdom Access Memory) • Memoria Virtual – Ayuda a la memoria real a ejecutar y correr programas mas rapido utilizando espacio designado en el disco duro. Problemas con la memoria • Relocalizacion • Proteccion Otros tipos de memoria • Particiones fijas o variables • Overlays Adminstracion de Procesos Niveles de planificacion • Nivel Alto • Nivel intermedio • Nivel Bajo – Objetivos de la planificacion • Justicia o Imparcialidad • Maximizar la produccion • Maximizar el tiempo • Evitar el aplazamiento indefinido • El sistema deb e de ser predecible Caracteristicas a considerar los procesos • • • • • Cantidad de Entrada y salida Uso del CPU Procesos de Lote o interactivos Procesos en Tiempo Real Longevidad de los Procesos Asignacion del turno de ejecucion • • • • • • • Por prioridad El trabajo mas corto primero El primero en llegar, primero en ejecutarse Round Robin El tiempo restante mas corto La tasa de respuesta mas alta Por politica Tiempo que ha esperado.doc Problemas de Concurrencia • • • • • • • Condiciones de Carrera Postergacion o Aplazamiento Indefinido Condicion de Espera Circular Condicion de No apropacion Condicion de Espera Ocupada Condicion de Exclusion Mutua Condicion de Ocupar y esperar un Recurso. Principios en el manejo de entrada y salida • Dispositivo de Entrada – Salida • Controladores de Dispositivos (Terminales y Discos Duros) • Acceso Directo a Memoria (DMA) • Principios en el Software de Entrada – Salida – – – – Manejador de interrupciones Manejador de dispositivos (hardware) Software independiente del hardware Software para usuarios • Relojes Nucleos de sistemas operativos • • • • • Trabajos, Proceso y Thread Objetos Cliente – Servidor Nucleo Monolitico Microkernel Casos de Estudios • • • • UNIX VMS OS/2 Windows NT UNIX • Uno de los sistemas operativos mas ampliamente usados en computadoras personales y macro. • Evoluciono desde un simple simulador de viajes en el sistema solar en los laboratorios Bell de AT&T Estandarizacion de UNIX • Existian multiples versiones de UNIX en el mercado (SVID, BSD y IEEE) • La version SVID (System VInterface Definition) fue creado para que fuese compatible con las otras versiones • IEEE reviso ambos sistemas operativos (SVID y BSD) y creo un sistema operativo llamado POSIX (Portable Operating System) para UNIX • Durante el auge del sistema POSIX surgio un grupo de fabricantes de computadoras (IBM, Hewlett-Packard y DEC) que lanzaron su sistema operativo llamado OSF/1 (Open software foundation) que su objetivo era cumplir con los estandares de UNIX pero ademas ofrecia un sistema de ventanas llamado el X11 con un interface amigable (MOTIF), definiciones de computo (DCE) y administracion distribuida (DME) Filosofia de UNIX • Todo se maneja como cadena de bytes • Manejo de tres descriptores estandares (stdin, stdout, stderr) para leer los datos de trabajo • Capacidades de entubar y redireccionar • Crear sistemas grandes a partir de modulos Sistema de archivos • Son de organizacion jerarquica o de arbol invertido que parte de una raiz. • Esta diagonal al reves la usaba DOS • Este sistema de archivos ofrece un conjunto de comandos y llamadas al sistema. • La proteccion se maneja por medio de una cadena de permisos de nueve caracteres que se dividen en tres grupos llamados RWX El nucleo de UNIX • El nucleo de UNIX (kernel) es de tipo monolitico. • El nucleo tiene dos partes principales [Tan92]: El nucleo dependiente de la maquina y el nucleo independiente. Manejo de memoria • En el principio, el espacio de memoria era muy pequeño (64kb) y el manejo de memoria virtual era complicado. • En todos los sistemas UNIX se usa una particion del disco duro para el area de intercambio. • Hoy dia, todos los sitemas UNIX utilizan el manejo de memoria virtual. Manejo de entrada/salida en UNIX • En UNIX, las llamadas al sistema se hacen de dos formas: sincrona y asincrona. Caso de estudio: VMS • El sistema VMS (Virtual Memory System) es uno de los mas robustos del mercado. • Es propietario de la compañía Digital Equipment Corporation • Su version Open VMS 5.x existe para los procesadores de las maquinas VAX (CISC) y con el Alpha-chip (RISC). • Es un sistema operativo multiusuario/multitarea monolitico. Manejo de archivos • Es un sistema jerarquico • La proteccion de los archivos son por listas de control de acceso (Access Control List) Manejo de procesos en VMS • Los procesos se manejan por prioridades y de manera apropiativa • Los procesos se clasifican de la prioridad 1 al 31. Manejo de memoria en VMS • El sistema operativo VMS utiliza un esquema de manejo de memoria virtual combinando segmentacion paginada. • VMS utiliza un doble esquema de paginacion cuando las paginas se van a intercambiar de memoria RAM hacia disco duro. Manejo de entrada/salida en VMS • VMS utiliza nombres “logicos” para describir los dispositivos del sistema. • Los permisos de los discos, unidades de cinta y otros dispositivos son establecidos por el administrador. Caso de estudio: OS/2 • OS/2 crecio bajo el trabajo de las compañias IBM y Microsoft • Sus objetivos eran: • Compatibilidad con los programas existentes para DOS • Ofrecer multitarea • Facilidad de memoria virtual • Servicios de red en area local Manejo de archivos • La version OS/2 1.0 era muy similar a DOS • La version 2.0 mejoro su sistema de archivos utilizando los modos sincrono y el asincrono. • Este sistema operativo te permite crear varias particiones en el disco duro con un sistema de archivo FAT • Tiene un interface grafico con iconos que representan los archivos con barra de menu Manejo de procesos • OS/2 utiliza un esquema de planificacion apropiativa. Caso de estudio: Windows NT • Fue diseñado para tomar ventaja de los procesadores Intel y RISC • Windows NT es la respuesta de Microsoft a UNIX • Ofrece los mismos servicios de UNIX, interopera con redes UNIX • Su estructura de archivos ARCANE y GUI crean una simple interface para el usuario Windows NT ofrece: • Extensibilidad • Portabilidad • Confiabilidad y robustez • Multiprocesamiento y escabilidad • Desempeño • Compatibilidad con POSIX de UNIX • Seguridad certificable por el gobierno de E.U. Caracteristicas de Windows NT • • • • • • • • • Direccionamiento de 32 bits Soporte de memoria virtual Preemptive multitasking Soporte para multiprocesador Arquitectura cliente/servidor Seguridad e integridad del sistema Compatiblilidad con otros sistemas operativos Independencia de plataformas Networking (Interoperatividad) El nucleo de Windows NT • • • • Entradas y salidas de tareas al sistema Proceso de interrupciones y exepciones Sincronizacion de los multiprocesos Recuperacion del sistema despues de una caida Entradas y salidas • El kernel cuenta con un modulo llamado despachador que se encarga de permitir la entrada de los procesos y de darlos por terminados • El despachador tambien determina en que orden van a ser ejecutados; suspendidos y activando los procesos. Proceso de interrupciones y excepciones • Se manejan como en cualquier sistema operativo • Las señales llegan por medio de bus o por peticiones de entrada/salida y son atrapadas por el nucleo Sincronizacion de los multiprocesos • Esta caracteristica asegura que solo una tarea puede accesar un mismo recurso a la vez. • El nucleo y el ejecutivo NT proveen mecanismos para asegurar la integridad del sistema a travez de la sincronizacion • El ejecutivo del NT realiza la sincronizacion a traves de la familia de los objetos de sincronizacion Recuperacion del sistema • La recuperacion del sistema es la ultima funcion del kernel despues de una caida • El micro-nucleo de Windows NT contiene una capa de abstraccion del HW que es el limite entre el ejecutivo del NT y el HW especifico de la computadora Arquitectura cliente servidor • Windows NT opera por modo de usuario y modo privilegiado (kernel). • El ejecutivo de NT es el corazon del sistema