Está en la página 1de 35

Colegio Nacional de Educacin Profesional Tcnica

Ecatepec ll

Tema: EBOLUCION DE LOS SISTEMAS OPERATIVOS

Alumno: De Jesus Ramirez Jonathan

Docente: Avila Escobedo Edgar

Materia: Procesamiento De Informacion Por Medios Digitales

Grupo: 105

Salon: D3

Siclo escolar: 2011 -- 2012

INTRODUCCION En este proyecto les mencionara sobre la ebolucion de los sistemas operativos dia con dia como, windows,linux,mac,windows xp,windows 2000 entre otros .

Conclusion Con el transcurso del tiempo las tecnologias e invensiones han dado a conocer nuevas creaciones que son de gran evolucion para el computador,estas se han dado por diferentes componentes que han surgido apartir de la invencion del computador. El sistema operativo es un conjunto organizado de programas que permite controlar las operaciones generales del computador, facilita el uso de operaciones crea y mantiene archivos, y permite el uso de dispositivos perifricos, los sistemas operativos mas conocidos son: cp/m, ms-dos, os/2, unix y xenix.

Bibliografia

*Sistemas Operativos Modernos


Andrew S. Tanenbaum Pearson Education

*Operating System Concepts


A. Silberschatz, J. Peterson, P. Galvin Addison - Wesley Publishing Company

*Sistemas Operativos / Diseo E Implementacin


Andrew S. Tanenbaum Prentice - Hall

1. Introduccin a los sistemas operativos Definiciones de los sistemas operativos. Un sistema operativo es un programa que acta como intermediario entre el usuario y el hardware de un computador y su propsito es proporcionar un entorno en el cual el usuario pueda ejecutar programas. El objetivo principal de un sistema operativo es lograr que el sistema de computacin se use de manera cmoda, y el objetivo secundario es que el hardware del computador se emplee de manera eficiente. Un sistema Operativo (SO) es en s mismo un programa de computadora. Sin embargo, es un programa muy especial, quiz el ms complejo e importante en una computadora. El SO despierta a la computadora y hace que reconozca a la CPU, la memoria, el teclado, el sistema de vdeo y las unidades de disco. Adems, proporciona la facilidad para que los usuarios se comuniquen con la computadora y sirve de plataforma a partir de la cual se corran programas de aplicacin. Cuando enciendes una computadora, lo primero que sta hace es llevar a cabo un autodiagnstico llamado auto prueba de encendido (Power On Self Test, POST). Durante la POST, la computadora identifica su memoria, sus discos, su teclado, su sistema de vdeo y cualquier otro dispositivo conectado a ella. Lo siguiente que la computadora hace es buscar un SO para arrancar (boot). Una vez que la computadora ha puesto en marcha su SO, mantiene al menos parte de ste en su memoria en todo momento. Mientras la computadora est encendida, el SO tiene 4 tareas principales:

Proporcionar ya sea una interfaz de lnea de comando o una interfaz grfica al usuario, para que este ltimo se pueda comunicar con la computadora. Interfaz de lnea de comando: t introduces palabras y smbolos desde el teclado de la computadora, ejemplo, el MSDOS. Interfaz grfica del Usuario (GUI), seleccionas las acciones mediante el uso de un Mouse para pulsar sobre figuras llamadas iconos o seleccionar opciones de los mens. Administrar los dispositivos de hardware en la computadora. Cuando corren los programas, necesitan utilizar la memoria, el monitor, las unidades de disco, los puertos de Entrada/Salida (impresoras, mdems, etc.). El SO sirve de intermediario entre los programas y el hardware. Administrar y mantener los sistemas de archivo de disco. Los SO agrupan la informacin dentro de compartimientos lgicos para almacenarlos en el disco. Estos grupos de informacin son llamados archivos. Los archivos pueden contener instrucciones de programas o informacin creada por el usuario. El SO mantiene una lista de los archivos en un disco, y nos proporciona las herramientas necesarias para organizar y manipular estos archivos. Apoyar a otros programas. Otra de las funciones importantes del SO es proporcionar servicios a otros programas. Estos servicios son similares a aquellos que el SO proporciona directamente a los usuarios. Por ejemplo, listar los archivos, grabarlos a disco, eliminar

archivos, revisar espacio disponible, etc. Cuando los programadores escriben programas de computadora, incluyen en sus programas instrucciones que solicitan los servicios del SO. Estas instrucciones son conocidas como "llamadas del sistema" Qu es un sistema operativo? Un sistema operativo es el programa que oculta la verdad del hardware al programador y presenta una vista simple y agradable de los archivos nominados que pueden leerse y escribirse. El sistema operativo resguarda al programador del hardware del disco y presenta una interfaz simple orientada al archivo, tambin disimula mucho del trabajo concerniente a interrupciones, relojes o cronmetros, manejo de memoria y otras caractersticas de bajo nivel. La funcin del sistema operativo es la de presentar al usuario con el equivalente de una mquina ampliada o mquina virtual que sea ms fcil de programar que el hardware implcito. Un sistema operativo es una parte importante de casi cualquier sistema de computacin. Un sistema de computacin puede dividirse en cuatro componentes: el hardware, el sistema operativo, los programas de aplicacin y los usuarios. El hardware (unidad central de procesamiento (UCP), memoria y dispositivos de entrada y salida (E/S)) proporciona los recursos de computacin bsicos. Los programas de aplicacin (compiladores, sistemas de bases de datos, juegos de video y programas para negocios) definen la forma en que estos recursos se emplean para resolver los problemas de computacin de los usuarios. Puede haber

distintos usuarios (personas, mquinas, otros computadores) que intentan resolver problemas diferentes; por lo tanto es posible que haya diferentes programas de aplicacin. El sistema operativo controla y coordina el uso del hardware entre los diversos programas de aplicacin de los distintos usuarios Podemos ver al sistema operativo como un asignador de recursos. Un sistema de computacin tiene muchos recursos (hardware y software) que pueden requerirse para resolver un problema: tiempo de la UCP, espacio de memoria, espacio de almacenamiento de archivos, dispositivos de E/S, etc. El sistema operativo acta como el administrador de estos recursos y los asigna a usuarios y programas concretos segn los necesiten las tareas de los usuarios. Puesto que pueden surgir conflictos en las solicitudes de recursos, el sistema operativo debe decidir a que solicitudes se les asignaran para que el sistema de computacin pueda funcionar de manera eficiente y justa. En trminos generales no hay una definicin de sistema operativo completamente adecuada. Los sistemas operativos existen porque son una manera razonable de solucionar el problema de crear un sistema de computacin utilizable. Objetivos para la creacin de los sistemas Operativos.

Transformar el complejo hardware de una computadora a una mquina accesible al usuario. Lograr el mejor uso posible de los recursos. Hacer eficiente el uso del recurso.

El objetivo fundamental de los sistemas de computacin es ejecutar los programas de los usuarios y facilitar la resolucin de sus problemas. El hardware se construye con este fin, pero como este no es fcil de utilizar, se desarrollan programas de aplicacin que requieren ciertas operaciones comunes, como el control de dispositivos de E/S. las funciones comunes de control y de asignacin de recursos se integran para formar un solo fragmento de software: el sistema operativo. Desarrollo histrico de los sistemas operativos. En un principio solo exista el hardware del computador. Los primeros computadores eran (fsicamente) grandes maquinas que se operaban desde una consola. El programador escriba un programa y luego lo controlaba directamente desde la consola. En primer lugar, el programa se cargaba manualmente en la memoria, desde los interruptores del tablero frontal (una instruccin en cada ocasin), desde una cinta de papel o desde tarjetas perforadas. Luego se pulsaban los botones adecuados para establecer la direccin de inicio y comenzar la ejecucin del programa. Mientras este se ejecutaba, el programador-operador lo poda supervisar observando las luces en la consola, si se descubran errores, el programador poda detener el programa, examinar el contenido de la memoria y los registros y depurar el programa directamente desde la consola. La salida del programa se imprima, o se perforaba en cintas de papel o tarjetas para su impresin posterior. Sin embargo, con este procedimiento se presentaban ciertos problemas. Supongamos que un usuario se haba registrado para usar una hora de tiempo del computador dedicada a

ejecutar el programa que estaba desarrollando, pero se topaba con algn error difcil y no poda terminar en esa hora. Si alguien ms haba reservado el siguiente bloque de tiempo, usted deba detenerse, rescatar lo que pudiera y volver mas tarde para continuar. Por otra parte, si el programa se ejecutaba sin problemas, podra terminar en 35 minutos; pero como pens que necesitara la maquina durante ms tiempo, se registro para usarla una hora, y permanecera inactiva durante 25 minutos. Conforme transcurri el tiempo, se desarrollaron software y hardware adicionales; empezaron a popularizarse los lectores de tarjetas, impresoras de lneas y cintas magnticas; se disearon ensambladores, cargadores y ligadores para facilitar las tareas de programacin, y se crearon bibliotecas de funciones comunes, de manera que estas podan copiarse a un nuevo programa sin tener que escribirlas de nuevo. Las rutinas que efectuaban operaciones de E/S tenan una importancia especial. Cada nuevo dispositivo de E/S posea sus propias caractersticas, lo que requera una cuidadosa programacin. As mismo, para cada uno de ellos se escriba una subrutina especial, la cual se denominaba manejador de dispositivos. Este sabe como deben de usarse los buffers, indicadores, registros, bits de control y bits de estado para cada dispositivo. Cada tipo de dispositivo tena su propio manejador. Una tarea sencilla, como leer un carcter de un lector de cinta de papel, poda conllevar complicadas secuencias de operaciones especficas para el dispositivo. En lugar de tener que escribir cada vez el cdigo necesario, bastaba usar el manejador de dispositivo de la biblioteca. Ms tarde aparecieron los compiladores de FORTRAN, COBOL y otros lenguajes, lo que facilito la tarea de

programacin, pero hizo ms complejo el funcionamiento del computador. Por ejemplo, al preparar la ejecucin de un programa en FORTRAN, el programador primero necesitaba cargar en el computador el compilador de FORTRAN, que generalmente se conservaba en una cinta magntica, por lo que haba que montar la cinta adecuada en la unidad correspondiente. El programa se lea a travs del lector de tarjetas y se escriba en otra cinta. El compilador de FORTRAN produca una salida en lenguaje ensamblador, que luego tenia que ensamblarse, para esto era necesario montar otra cinta con el ensamblador, y su salida deba enlazarse con las rutinas de apoyo de las bibliotecas. Finalmente, el programa objeto, en cdigo binario, estaba listo para ejecutarse; se cargaba en memoria y se depuraba desde la consola como antes. Los Sistemas Operativos, al igual que el Hardware de los computadores, han sufrido una serie de cambios revolucionarios llamados generaciones. En el caso del Hardware, las generaciones han sido marcadas por grandes avances en los componentes utilizados, pasando de vlvulas (primera generacin) a transistores (segunda generacin), a circuitos integrados (tercera generacin), a circuitos integrados de gran y muy gran escala (cuarta generacin). Cada generacin Sucesiva de hardware ha ido acompaada de reducciones substanciales en los costos, tamao, emisin de calor y consumo de energa, y por incrementos notables en velocidad y capacidad. Generacin Cero (dcada de 1940) Los primeros sistemas computacionales no posean sistemas operativos. Los usuarios tenan completo acceso al lenguaje

de la maquina. Todas las instrucciones eran codificadas a mano. Primera Generacin (dcada de 1950) Los sistemas operativos de los aos cincuenta fueron diseados para hacer mas fluida la transicin entre trabajos. Antes de que los sistemas fueran diseados, se perda un tiempo considerable entre la terminacin de un trabajo y el inicio del siguiente. Este fue el comienzo de los sistemas de procesamiento por lotes, donde los trabajos se reunan por grupos o lotes. Cuando el trabajo estaba en ejecucin, este tenia control total de la maquina. Al terminar cada trabajo, el control era devuelto al sistema operativo, el cual limpiaba y lea e iniciaba el trabajo siguiente. Al inicio de los 50's esto haba mejorado un poco con la introduccin de tarjetas perforadas (las cuales servan para introducir los programas de lenguajes de mquina), puesto que ya no haba necesidad de utilizar los tableros enchufables. Adems el laboratorio de investigacin General Motors implement el primer sistema operativo para la IBM 701. Los sistemas de los 50's generalmente ejecutaban una sola tarea, y la transicin entre tareas se suavizaba para lograr la mxima utilizacin del sistema. Esto se conoce como sistemas de procesamiento por lotes de un slo flujo, ya que los programas y los datos eran sometidos en grupos o lotes. La introduccin del transistor a mediados de los 50's cambi la imagen radicalmente. Se crearon mquinas suficientemente confiables las cuales se instalaban en lugares especialmente acondicionados, aunque slo las grandes universidades y las grandes corporaciones o bien las oficinas

del gobierno se podan dar el lujo de tenerlas. Para poder correr un trabajo (programa), tenan que escribirlo en papel (en FORTRAN o en lenguaje ensamblador) y despus se perforara en tarjetas. Enseguida se llevara la pila de tarjetas al cuarto de introduccin al sistema y la entregara a uno de los operadores. Cuando la computadora terminara el trabajo, un operador se dirigira a la impresora y desprendera la salida y la llevara al cuarto de salida, para que la recogiera el programador. Segunda Generacin (a mitad de la dcada de 1960) La caracterstica de los sistemas operativos fue el desarrollo de los sistemas compartidos con multiprogramacin, y los principios del multiprocesamiento. En los sistemas de multiprogramacin, varios programas de usuario se encuentran al mismo tiempo en el almacenamiento principal, y el procesador se cambia rpidamente de un trabajo a otro. En los sistemas de multiprocesamiento se utilizan varios procesadores en un solo sistema computacional, con la finalidad de incrementar el poder de procesamiento de la maquina. La independencia de dispositivos aparece despus. Un usuario que desea escribir datos en una cinta en sistemas de la primera generacin tenia que hacer referencia especifica a una unidad de cinta particular. En la segunda generacin, el programa del usuario especificaba tan solo que un archivo iba a ser escrito en una unidad de cinta con cierto nmero de pistas y cierta densidad. Se desarrollo sistemas compartidos, en la que los usuarios podan acoplarse directamente con el computador a travs de terminales. Surgieron sistemas de tiempo real, en que los

computadores fueron utilizados en el control de procesos industriales. Los sistemas de tiempo real se caracterizan por proveer una respuesta inmediata. Tercera Generacin (mitad de dcada 1960 a mitad dcada de 1970) Se inicia en 1964, con la introduccin de la familia de computadores Sistema/360 de IBM. Los computadores de esta generacin fueron diseados como sistemas para usos generales. Casi siempre eran sistemas grandes, voluminosos, con el propsito de serlo todo para toda la gente. Eran sistemas de modos mltiples, algunos de ellos soportaban simultneamente procesos por lotes, tiempo compartido, procesamiento de tiempo real y multiprocesamiento. Eran grandes y costosos, nunca antes se haba construido algo similar, y muchos de los esfuerzos de desarrollo terminaron muy por arriba del presupuesto y mucho despus de lo que el planificador marcaba como fecha de terminacin. Estos sistemas introdujeron mayor complejidad a los ambientes computacionales; una complejidad a la cual, en un principio, no estaban acostumbrados los usuarios. Cuarta Generacin (mitad de dcada de 1970 en adelante) Los sistemas de la cuarta generacin constituyen el estado actual de la tecnologa. Muchos diseadores y usuarios se sienten aun incmodos, despus de sus experiencias con los sistemas operativos de la tercera generacin. Con la ampliacin del uso de redes de computadores y del procesamiento en lnea los usuarios obtienen acceso a computadores alejados geogrficamente a travs de varios tipos de terminales. Los sistemas de seguridad se han incrementado mucho ahora

que la informacin pasa a travs de varios tipos vulnerables de lneas de comunicacin. La clave de cifrado esta recibiendo mucha atencin; han sido necesario codificar los datos personales o de gran intimidad para que; aun si los datos son expuestos, no sean de utilidad a nadie mas que a los receptores adecuados. 2. Estructura de un sistema operativo En esta unidad examinaremos cuatro estructuras distintas que ya han sido probadas, con el fin de tener una idea ms extensa de cmo esta estructurado el sistema operativo. Veremos brevemente algunas estructuras de diseos de sistemas operativos. Estructura modular. Tambin llamados sistemas monolticos. Este tipo de organizacin es con mucho la mas comn; bien podra recibir el subtitulo de "el gran embrollo". La estructura consiste en que no existe estructura alguna. El sistema operativo se escribe como una coleccin de procedimientos, cada uno de los cuales puede llamar a los dems cada vez que as lo requiera. Cuando se usa esta tcnica, cada procedimiento del sistema tiene una interfaz bien definida en trminos de parmetros y resultados y cada uno de ellos es libre de llamar a cualquier otro, si este ultimo proporciona cierto clculo til para el primero. Sin embargo incluso en este tipo de sistemas es posible tener al menos algo de estructura. Los servicios (llamadas al sistema) que proporciona el sistema operativo se solicitan colocando los parmetros en lugares bien definidos, como en los registros o en la pila, para despus ejecutar una instruccin especial de

trampa de nombre "llamada al ncleo" o "llamada al supervisor". Esta instruccin cambia la mquina del modo usuario al modo ncleo y transfiere el control al sistema operativo, lo que se muestra en el evento (1) de la figura 1. El sistema operativo examina entonces los parmetros de la llamada, para determinar cual de ellas se desea realizar, como se muestra en el evento (2) de la figura 1. A continuacin, el sistema operativo analiza una tabla que contiene en la entrada k un apuntador al procedimiento que realiza la kesima llamada al sistema. Esta operacin que se muestra en (3) de la figura 1, identifica el procedimiento de servicio, al cual se llama. Por ultimo, la llamada al sistema termina y el control regresa al programa del usuario. Figura 1. La forma en que debe hacerse una llamada al sistema: (1) el programa del usuario es atrado hacia el ncleo. (2) el sistema operativo determina el nmero del servicio solicitado. (3) el sistema operativo localiza y llama al procedimiento correspondiente al servicio. (4) el control regresa al programa del usuario. Esta organizacin sugiere una organizacin bsica del sistema operativo: 1.- un programa principal que llama al procedimiento del servicio solicitado. 2.- un conjunto de procedimientos de servicio que llevan a cabo las llamadas al sistema. 3.- un conjunto de procedimientos utilitarios que ayudan al procedimiento de servicio. En este modelo, para cada llamada al sistema existe un procedimiento de servicio que se encarga de l. Los

procedimientos utilitarios hacen cosas necesarias para varios procedimientos de servicio, por ejemplo buscar los datos de los programas del usuario. La siguiente figura muestra este procedimiento de tres capas: (Para ver el grfico faltante haga click en el men superior "Bajar Trabajo") Figura 2. Un modelo de estructura simple para un sistema monoltico. (Para ver el grfico faltante haga click en el men superior "Bajar Trabajo") Estructura por microkernel. Las funciones centrales de un SO son controladas por el ncleo (kernel) mientras que la interfaz del usuario es controlada por el entorno (shell). Por ejemplo, la parte ms importante del DOS es un programa con el nombre "COMMAND.COM" Este programa tiene dos partes. El kernel, que se mantiene en memoria en todo momento, contiene el cdigo mquina de bajo nivel para manejar la administracin de hardware para otros programas que necesitan estos servicios, y para la segunda parte del COMMAND.COM el shell, el cual es el interprete de comandos Las funciones de bajo nivel del SO y las funciones de interpretacin de comandos estn separadas, de tal forma que puedes mantener el kernel DOS corriendo, pero utilizar una interfaz de usuario diferente. Esto es exactamente lo que sucede cuando cargas Microsoft Windows, el cual toma el lugar del shell, reemplazando la interfaz de lnea de comandos con una interfaz grfica del usuario. Existen muchos "shells" diferentes en el mercado, ejemplo: NDOS

(Norton DOS), XTG, PCTOOLS, o inclusive el mismo SO MS-DOS a partir de la versin 5.0 incluy un Shell llamado DOS SHELL.

Estructura por anillos concntricos (capas). El sistema por "capas" consiste en organizar el sistema operativo como una jerarqua de capas, cada una construida sobre la inmediata inferior. El primer sistema construido de esta manera fue el sistema THE (Technische Hogeschool Eindhoven), desarrollado en Holanda por E. W. Dijkstra (1968) y sus estudiantes. El sistema tenia 6 capas, como se muestra en la figura 3. La capa 0 trabaja con la asignacin del procesador y alterna entre los procesos cuando ocurren las interrupciones o expiran los cronmetros. Sobre la capa 0, el sistema consta de procesos secunciales, cada uno de los cuales se podra programar sin importar que varios procesos estuvieran ejecutndose en el mismo procesador, la capa 0 proporcionaba la multiprogramacin bsica de la CPU. La capa 1 realizaba la administracin de la memoria. Asignaba el espacio de memoria principal para los procesos

y un recipiente de palabras de 512K se utilizaba para almacenar partes de los procesos (pginas) para las que no exista lugar en la memoria principal. Por encima de la capa 1, los procesos no deban preocuparse si estaban en la memoria o en el recipiente; el software de la capa 1 se encargaba de garantizar que las pginas llegaran a la memoria cuando fueran necesarias. La capa 2 se encargaba de la comunicacin entre cada proceso y la consola del operador. Por encima de esta capa, cada proceso tiene su propia consola de operador. La capa 3 controla los dispositivos de E/S y guarda en almacenes (buffers) los flujos de informacin entre ellos. Por encima de la capa 3, cada proceso puede trabajar con dispositivos exactos de E/S con propiedades adecuadas, en vez de dispositivos reales con muchas peculiaridades. La capa 4 es donde estaban los programas del usuario, estos no tenan que preocuparse por el proceso, memoria, consola o control de E/S. el proceso operador del sistema se localizaba en la capa 5 Una generalizacin mas avanzada del concepto de capas se presento en el sistema MULTICS. En lugar de capas, MULTICS estaba organizado como una serie de anillos concntricos, siendo los anillos interiores los privilegiados. Cuando un procedimiento de un anillo exterior deseaba llamar a un procedimiento de un anillo interior, debi hacer el equivalente a una llamada al sistema Mientras que el esquema de capas de THE era en realidad un apoyo al diseo, debido a que todas las partes del sistema estaban ligadas entre si en un solo programa objeto, en MULTICS, el mecanismo de anillos estaba mas presente durante el tiempo de ejecucin y era reforzado por el

hardware. La ventaja del mecanismo de anillos es su facilidad de extensin para estructurar subsistemas del usuario. 5 4 3 2 1 0 El operador Programas del usuario Control de entrada/salida Comunicacin operador-proceso Administracin de la memoria y del disco Asignacin del procesador y multiprogramacin

Figura 3. Estructura del sistema operativo THE. Estructura cliente servidor Una tendencia de los sistemas operativos modernos es la de explotar la idea de mover el cdigo a capas superiores y eliminar la mayor parte posible del sistema operativo para mantener un ncleo mnimo. El punto de vista usual es el de implantar la mayora de las funciones del sistema operativo en los procesos del usuario. Para solicitar un servicio, como la lectura de un bloque de cierto archivo, un proceso del usuario (denominado proceso cliente) enva la solicitud a un proceso servidor, que realiza entonces el trabajo y regresa la respuesta. En este modelo, que se muestra en la figura 4, lo nico que hace el ncleo es controlar la comunicacin entre los clientes y los servidores. Al separar el sistema operativo en partes, cada una de ellas controla una faceta del sistema, como el servicio a archivos, servicios a procesos, servicio a terminales o servicio a la memoria, cada parte es pequea y controlable. Adems como todos los servidores se ejecutan como procesos en modo usuario y no en modo ncleo, no

tienen acceso directo al hardware. En consecuencia si hay un error en el servidor de archivos, ste puede fallar, pero esto no afectar en general a toda la mquina. (Para ver el grfico faltante haga click en el men superior "Bajar Trabajo") Figura 4. El modelo Cliente-servidor. Otra de las ventajas del modelo cliente-servidor es su capacidad de adaptacin para su uso en los sistemas distribuidos (figura 5). Si un cliente se comunica con un servidor mediante mensajes, el cliente no necesita saber si el mensaje se maneja en forma local, en su mquina, o si se enva por medio de una red a un servidor en una mquina remota. En lo que respecta al cliente, lo mismo ocurre en ambos casos: se envi una solicitud y se recibi una respuesta. (Para ver el grfico faltante haga click en el men superior "Bajar Trabajo") Figura 5. El modelo cliente-servidor en un sistema distribuido. 3. Funciones y caractersticas de los sistemas operativos. Funciones de los sistemas operativos. 1.- Aceptar todos los trabajos y conservarlos hasta su finalizacin. 2.- Interpretacin de comandos: Interpreta los comandos que permiten al usuario comunicarse con el ordenador. 3.- Control de recursos: Coordina y manipula el hardware de la computadora, como la memoria, las impresoras, las unidades de disco, el teclado o el Mouse.

4.- Manejo de dispositivos de E/S: Organiza los archivos en diversos dispositivos de almacenamiento, como discos flexibles, discos duros, discos compactos o cintas magnticas. 5.- Manejo de errores: Gestiona los errores de hardware y la prdida de datos. 6.- Secuencia de tareas: El sistema operativo debe administrar la manera en que se reparten los procesos. Definir el orden. (Quien va primero y quien despus). 7.- Proteccin: Evitar que las acciones de un usuario afecten el trabajo que esta realizando otro usuario. 8.- Multiacceso: Un usuario se puede conectar a otra mquina sin tener que estar cerca de ella. 9.- Contabilidad de recursos: establece el costo que se le cobra a un usuario por utilizar determinados recursos. Caractersticas de los sistemas operativos. En general, se puede decir que un Sistema Operativo tiene las siguientes caractersticas:

Conveniencia. Un Sistema Operativo hace ms conveniente el uso de una computadora. Eficiencia. Un Sistema Operativo permite que los recursos de la computadora se usen de la manera ms eficiente posible. Habilidad para evolucionar. Un Sistema Operativo deber construirse de manera que permita el desarrollo, prueba o introduccin efectiva de nuevas funciones del sistema sin interferir con el servicio.

Encargado de administrar el hardware. El Sistema Operativo se encarga de manejar de una mejor manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del procesador para poder compartir los recursos. Relacionar dispositivos (gestionar a travs del kernel). El Sistema Operativo se debe encargar de comunicar a los dispositivos perifricos, cuando el usuario as lo requiera. Organizar datos para acceso rpido y seguro. Manejar las comunicaciones en red. El Sistema Operativo permite al usuario manejar con alta facilidad todo lo referente a la instalacin y uso de las redes de computadoras. Procesamiento por bytes de flujo a travs del bus de datos. Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle fcil al usuario el acceso y manejo de los dispositivos de Entrada/Salida de la computadora.

4. Modalidades de trabajo de los sistemas operativos. Sistemas operativos por lotes. La secuencia por lotes o procesamiento por lotes en microcomputadoras, es la ejecucin de una lista de comandos del sistema operativo uno tras otro sin intervencin del usuario. En los ordenadores ms grandes el proceso de recogida de programas y de conjuntos de datos de los usuarios, la ejecucin de uno o unos pocos cada vez y la entrega de los

recursos a los usuarios. Procesamiento por lotes tambin puede referirse al proceso de almacenar transacciones durante un cierto lapso antes de su envo a un archivo maestro, por lo general una operacin separada que se efecta durante la noche Los sistemas operativos por lotes (batch), en los que los programas eran tratados por grupos (lote) en ves de individualmente. La funcin de estos sistemas operativos consista en cargar en memoria un programa de la cinta y ejecutarlo. Al final este, se realizaba el salto a una direccin de memoria desde donde reasuma el control del sistema operativo que cargaba el siguiente programa y lo ejecutaba. De esta manera el tiempo entre un trabajo y el otro disminua considerablemente. (Para ver el grfico faltante haga click en el men superior "Bajar Trabajo") Figura 6 - Sistema de procesamiento por lotes. Algunas otras caractersticas con que cuentan los Sistemas Operativos por lotes son:

Requiere que el programa, datos y rdenes al sistema sean remitidos todos juntos en forma de lote. Permiten poca o ninguna interaccin usuario/programa en ejecucin. Mayor potencial de utilizacin de recursos que procesamiento serial simple en sistemas multiusuarios. No conveniente para desarrollo de programas por bajo tiempo de retorno y depuracin fuera de lnea.

Conveniente para programas de largos tiempos de ejecucin (Ej., anlisis estadsticos, nminas de personal, etc.) Se encuentra en muchos computadores personales combinados con procesamiento serial. Planificacin del procesador sencilla, tpicamente procesados en orden de llegada. Planificacin de memoria sencilla, generalmente se divide en dos: parte residente del S.O. y programas transitorios. No requieren gestin crtica de dispositivos en el tiempo. Suelen proporcionar gestin sencilla de manejo de archivos: se requiere poca proteccin y ningn control de concurrencia para el acceso.

Sistemas operativos de tiempo compartido. El tiempo compartido en ordenadores o computadoras consiste en el uso de un sistema por ms de una persona al mismo tiempo. El tiempo compartido ejecuta programas separados de forma concurrente, intercambiando porciones de tiempo asignadas a cada programa (usuario). En este aspecto, es similar a la capacidad de multitareas que es comn en la mayora de los microordenadores o las microcomputadoras. Sin embargo el tiempo compartido se asocia generalmente con el acceso de varios usuarios a computadoras ms grandes y a organizaciones de servicios, mientras que la multitarea relacionada con las microcomputadoras implica la realizacin de mltiples tareas por un solo usuario.

Los principales recursos del sistema, el procesador, la memoria, dispositivos de E/S, son continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusin de que tiene el sistema dedicado para s mismo. Esto trae como consecuencia una gran carga de trabajo al Sistema Operativo, principalmente en la administracin de memoria principal y secundaria. Caractersticas de los Sistemas Operativos de tiempo compartido:

Populares representantes de sistemas multiprogramados multiusuario, Ej.: sistemas de diseo asistido por computador, procesamiento de texto, etc. Dan la ilusin de que cada usuario tiene una mquina para s. La mayora utilizan algoritmo de reparto circular. Los programas se ejecutan con prioridad rotatoria que se incrementa con la espera y disminuye despus de concedido el servicio. Evitan monopolizacin del sistema asignando tiempos de procesador (time slot). Gestin de memoria: proporciona proteccin a programas residentes. Gestin de archivo: debe proporcionar proteccin y control de acceso debido a que pueden existir mltiples usuarios accesando un mismo archivo.

Sistemas operativos de tiempo real. Un sistema operativo en tiempo real procesa las instrucciones recibidas al instante, y una vez que han sido

procesadas muestra el resultado. Este tipo tiene relacin con los sistemas operativos monousuarios, ya que existe un solo operador y no necesita compartir el procesador entre varias solicitudes. Su caracterstica principal es dar respuestas rpidas; por ejemplo en un caso de peligro se necesitaran respuestas inmediatas para evitar una catstrofe. Los Sistemas Operativos de tiempo real, cuentan con las siguientes caractersticas:

Se dan en entornos en donde deben ser aceptados y procesados gran cantidad de sucesos, la mayora externos al sistema computacional, en breve tiempo o dentro de ciertos plazos. Se utilizan en control industrial, conmutacin telefnica, control de vuelo, simulaciones en tiempo real., aplicaciones militares, etc. Su objetivo es proporcionar rpidos tiempos de respuesta. Procesa rfagas de miles de interrupciones por segundo sin perder un solo suceso. Un proceso se activa tras ocurrencia de suceso, mediante interrupcin. Un proceso de mayor prioridad expropia recursos. Por tanto generalmente se utiliza planificacin expropiativa basada en prioridades. Gestin de memoria menos exigente que tiempo compartido, usualmente procesos son residentes permanentes en memoria. Poblacin de procesos esttica en gran medida.

Poco movimiento de programas entre almacenamiento secundario y memoria. La gestin de archivos se orienta ms a velocidad de acceso que a utilizacin eficiente del recurso.

Sistemas operativos de red. La principal funcin de un sistema operativo de red es ofrecer un mecanismo para transferir archivos de una mquina a otra. En este entorno, cada instalacin mantiene su propio sistema de archivos local y si un usuario de la instalacin A quiere acceder a un archivo en la instalacin B, hay que copiar explcitamente el archivo de una instalacin a otra. Internet proporciona un mecanismo para estas transferencias, a travs del programa protocolo de transferencias de archivos FTP (File Transfer Protocol). Suponga que un usuario quiere copiar un archivo A1, que reside en la instalacin B, a un archivo A2 en la instalacin local A. Primero, el usuario debe invocar el programa FTP, el cual solicita al usuario la informacin siguiente: a) El nombre de la instalacin a partir de la cual se efectuar la transferencia del archivo (es decir la instalacin B). b) La informacin de acceso, que verifica que el usuario tiene los privilegios de acceso apropiados en la instalacin B. Una vez efectuada esta comprobacin, el usuario puede copiar el archivo A1 de B a A2 en A, ejecutando "get A1 to A2" En este esquema, la ubicacin del archivo no es transparente para el usuario; tiene que saber exactamente donde esta cada archivo. Adems los archivos no se comparten realmente, porque un usuario solo puede copiar un archivo de una

instalacin a otra. Por lo tanto pueden existir varias copias del mismo archivo, lo que representa un desperdicio de espacio. As mismo, si se modifican, estas copias no sern consistentes. Los Sistemas Operativos de red son aquellos sistemas que mantienen a dos o ms computadoras unidas a travs de algn medio de comunicacin (fsico o no), con el objetivo primordial de poder compartir los diferentes recursos y la informacin del sistema. El primer Sistema Operativo de red estaba enfocado a equipos con un procesador Motorola 68000, pasando posteriormente a procesadores Intel como Novell Netware. Los Sistemas Operativos de red ms ampliamente usados son: Novell Netware, Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic. Sistemas operativos distribuidos. En un sistema operativo distribuido los usuarios pueden acceder a recursos remotos de la misma manera en que lo hacen para los recursos locales. La migracin de datos y procesos de una instalacin a otra queda bajo el control del sistema operativo distribuido. Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores est en un equipo o en diferentes, en este caso es transparente para el usuario. Existen dos esquemas bsicos de stos. Un sistema fuertemente acoplado es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema dbilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria

local. Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se descompone otro componente debe de ser capaz de reemplazarlo. Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc. Caractersticas de los Sistemas Operativos distribuidos:

Coleccin de sistemas autnomos capaces de comunicacin y cooperacin mediante interconexiones hardware y software. Proporciona abstraccin de mquina virtual a los usuarios. Objetivo clave es la transparencia. Generalmente proporcionan medios para la comparticin global de recursos.

Servicios aadidos: denominacin global, sistemas de archivos distribuidos, facilidades para distribucin de clculos (a travs de comunicacin de procesos internodos, llamadas a procedimientos remotos, etc.). Figura 7.- Sistema Operativo Distribuido. Sistemas operativos multiprocesadores. En los sistemas multiprocesador, los procesadores comparten la memoria y el reloj. Se incrementa la capacidad de procesamiento y la confiabilidad, son econmicos.

Multiprocesamiento simtrico: Cada procesador ejecuta una copia del sistema operativo.

Multiprocesamiento asimtrico: Cada procesador tiene asignado una tarea especfica, existe un procesador master que asigna tareas a los procesadores esclavos.

Multiproceso: Las computadoras que tienen ms de un CPU son llamadas multiproceso. Un sistema operativo multiproceso coordina las operaciones de las computadoras multiprocesadores. Ya que cada CPU en una computadora de multiproceso puede estar ejecutando una instruccin, el otro procesador queda liberado para procesar otras instrucciones simultneamente. Al usar una computadora con capacidades de multiproceso incrementamos su velocidad de respuesta y procesos. Casi todas las computadoras que tienen capacidad de multiproceso ofrecen una gran ventaja. Los primeros Sistemas Operativos Multiproceso realizaban lo que se conoce como Multiproceso asimtrico. Una CPU principal retiene el control global de la computadora, as como el de los otros procesadores. Esto fue un primer paso hacia el multiproceso pero no fue la direccin ideal a seguir ya que la CPU principal poda convertirse en un cuello de botella. Multiproceso simtrico. En un sistema multiproceso simtrico, no existe una CPU controladora nica. La barrera a vencer al implementar el multiproceso simtrico es que los SO tienen que ser rediseados o diseados desde el principio para trabajar en un ambiente multiproceso. Las extensiones de UNIX, que soportan multiproceso asimtrico ya estn disponibles y las extensiones simtricas se estn haciendo disponibles. Windows NT de Microsoft soporta multiproceso simtrico.

5. Tipos de sistemas operativos


Los sistemas operativos, cubren bsicamente tres clasificaciones (tipos) que son: sistemas operativos por su estructura (visin interna), sistemas operativos por los servicios que ofrecen y, sistemas operativos por la forma en que ofrecen sus servicios (visin externa). A continuacin se explicaran un poco ms estas. Sistemas Operativos por su Estructura Segn Alcal92, se deben observar dos tipos de requisitos cuando se construye un sistema operativo, los cuales son:

Requisitos de usuario: Sistema fcil de usar y de aprender, seguro, rpido y adecuado al uso al que se le quiere destinar. Requisitos del software: Donde se engloban aspectos como el mantenimiento, forma de operacin, restricciones de uso, eficiencia, tolerancia frente a los errores y flexibilidad.

Posteriormente se describirn las distintas estructuras que presentan los actuales sistemas operativos para satisfacer las necesidades que de ellos se quieren obtener.

Estructura monoltica. Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra (Ver Fig. 2). Las caractersticas fundamentales de este tipo de estructura son: Construccin del programa final a base de mdulos compilados separadamente que se unen a travs del ligador. Buena definicin de parmetros de enlace entre las distintas rutinas existentes, que puede provocar mucho acoplamiento. Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos de los recursos de la computadora, como memoria, disco, etc. Generalmente estn hechos a medida, por lo que son eficientes y rpidos en su ejecucin y gestin, pero por lo mismo carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones. Estructura jerrquica. A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organizacin del software, del

sistema operativo, donde una parte del sistema contena sub-partes y esto organizado en forma de niveles.

Se dividi el sistema operativo en pequeas partes, de tal forma que cada una de ellas estuviera perfectamente definida y con un claro interface con el resto de elementos. Se constituy una estructura jerrquica o de niveles en los sistemas operativos, el primero de los cuales fue denominado THE (Technische Hogeschool, Eindhoven), de Dijkstra, que se utiliz con fines didcticos (Ver Fig. 3). Se puede pensar tambin en estos sistemas como si fueran `multicapa'. Multics y Unix caen en esa categora. [Feld93]. En la estructura anterior se basan prcticamente la mayora de los sistemas operativos actuales. Otra forma de ver este tipo de sistema es la denominada de anillos concntricos o "rings" (Ver Fig. 4). Para ver el grfico seleccione la opcin "Descargar" del men superior

En el sistema de anillos, cada uno tiene una apertura, conocida como puerta o trampa (trap), por donde pueden entrar las llamadas de las capas inferiores. De esta forma, las zonas ms internas del sistema operativo o ncleo del sistema estarn ms protegidas de accesos indeseados desde las capas ms externas. Las capas ms internas sern, por tanto, ms privilegiadas que las externas.

También podría gustarte