Você está na página 1de 42

Historia de los sistemas operativos

Saltar a: navegacin, bsqueda Este artculo o seccin necesita referencias que aparezcan en una publicacin acreditada, como revistas especializadas, monografas, prensa diaria o pginas de Internet fidedignas.
Puedes aadirlas as o avisar al autor principal del artculo en su pgina de discusin pegando:
{{subst:Aviso referencias|Historia de los sistemas operativos}} ~~~~

Un sistema operativo es un conjunto de programas destinado a permitir el uso apropiado de las partes fsicas del ordenador (hardware). Los sistemas operativos proveen un conjunto de funciones necesarias y usadas por diversos programas de aplicaciones de una computadora, y los vnculos necesarios para controlar y sincronizar el hardware de la misma. En las primeras computadoras, que no tenan sistema operativo cada programa necesitaba la ms detallada especificacin del hardware para ejecutarse correctamente y desarrollar tareas estndares, y sus propios drivers para los dispositivos perifricos como impresoras y lectores de tarjetas perforadas. El incremento de la complejidad del hardware y los programas de aplicaciones eventualmente hicieron del sistema operativo una necesidad. Los primeros sistemas operativos fueron desarrollados por cada usuario para adecuar el uso de su propia computadora central,1 y es en 1956 que la General Motors desarrolla lo que es hoy considerado el primer sistema, el GM-NAA I/O,2 para su IBM 704.3

ndice

1 La dcada de 1940 2 La dcada de 1950 (Sistema Batch) o 2.1 Monitor residente o 2.2 Procesamiento por lotes o 2.3 Almacenamiento temporal 3 La dcada de 1960 o 3.1 Multiprogramacin o 3.2 Tiempo compartido o 3.3 Tiempo real o 3.4 Multiprocesador o 3.5 Sistemas operativos desarrollados o 3.6 Inconvenientes de los Sistemas operativos o 3.7 Caractersticas de los nuevos sistemas o 3.8 Sistemas operativos desarrollados 4 La dcada de 1980 o 4.1 Mac OS o 4.2 MS-DOS o 4.3 Microsoft Windows 5 La dcada de 1990 o 5.1 GNU/Linux o 5.2 ReactOS 6 Referencias

La dcada de 1940

A finales de la dcada de 1940, con lo que se podra considerar la aparicin de la primera generacin de computadoras, se acceda directamente a la consola de la computadora desde la cual se actuaba sobre una serie de micro interruptores que permitan introducir directamente el programa en la memoria de la computadora (en realidad al existir tan pocas computadoras todos podran considerarse prototipos y cada constructor lo haca sin seguir ningn criterio predeterminado). Por aquel entonces no existan los sistemas operativos, y los programadores deban interactuar con el hardware del computador sin ayuda externa. Esto haca que el tiempo de preparacin para realizar una tarea fuera considerable. Adems para poder utilizar la computadora deba hacerse por turnos. Para ello, en muchas instalaciones, se rellenaba un formulario de reserva en el que se indicaba el tiempo que el programador necesitaba para realizar su trabajo. En aquel entonces las computadoras eran mquinas muy costosas lo que haca que estuvieran muy solicitadas y que slo pudieran utilizarse en periodos breves de tiempo. Todo se haca en lenguaje de mquina.

La dcada de 1950 (Sistema Batch)


A principios de los aos 50 con el objeto de facilitar la interaccin entre persona y computadora, los sistemas operativos hacen una aparicin discreta y bastante simple, con conceptos tales como el monitor residente, el proceso por lotes y el almacenamiento temporal.

Monitor residente
Su funcionamiento era bastante simple, se limitaba a cargar los programas a memoria, leyndolos de una cinta o de tarjetas perforadas, y ejecutarlos. El problema era encontrar una forma de optimizar el tiempo entre la retirada de un trabajo y el montaje del siguiente.

Procesamiento por lotes


Como solucin para optimizar, en una misma cinta o conjunto de tarjetas, se cargaban varios programas, de forma que se ejecutaran uno a continuacin de otro sin perder apenas tiempo en la transicin.

Almacenamiento temporal
Su objetivo era disminuir el tiempo de carga de los programas, haciendo simultnea la carga del programa o la salida de datos con la ejecucin de la siguiente tarea. Para ello se utilizaban dos tcnicas, el buffering y el spooling.

La dcada de 1960
En los aos 60 se produjeron cambios notorios en varios campos de la informtica, con la aparicin del circuito integrado la mayora orientados a seguir incrementando el potencial de los ordenadores. Para ello se utilizaban tcnicas de lo ms diversas.

Multiprogramacin
En un sistema multi programado la memoria principal alberga a ms de un programa de usuario. La CPU ejecuta instrucciones de un programa, cuando el que se encuentra en ejecucin realiza una operacin de E/S; en lugar de esperar a que termine la operacin de E/S, se pasa a ejecutar otro programa. Si ste realiza, a su vez, otra operacin de E/S, se mandan las rdenes oportunas al controlador, y pasa a ejecutarse otro. De esta forma es posible, teniendo almacenado un conjunto adecuado de tareas en cada momento, utilizar de manera ptima los recursos disponibles.

Tiempo compartido

Artculo principal: Tiempo compartido.

En este punto tenemos un sistema que hace buen uso de la electrnica disponible, pero adolece la falta de interactividad; para conseguirla debe convertirse en un sistema multiusuario, en el cual existen varios usuarios con un terminal en lnea, utilizando el modo de operacin de tiempo compartido. En estos sistemas los programas de los distintos usuarios residen en memoria. Al realizar una operacin de E/S los programas ceden la CPU a otro programa, al igual que en la multiprogramacin. Pero, a diferencia de sta, cuando un programa lleva cierto tiempo ejecutndose el sistema operativo lo detiene para que se ejecute otra aplicacin.

Tiempo real
Estos sistemas se usan en entornos donde se deben aceptar y procesar en tiempos muy breves un gran nmero de sucesos, en su mayora externos al ordenador. Si el sistema no respeta las restricciones de tiempo en las que las operaciones deben entregar su resultado se dice que ha fallado. El tiempo de respuesta a su vez debe servir para resolver el problema o hecho planteado. El procesamiento de archivos se hace de una forma continua, pues se procesa el archivo antes de que entre el siguiente, sus primeros usos fueron y siguen siendo en telecomunicaciones.

Multiprocesador
Diseo que no se encuentran en ordenadores monoprocesador. Estos problemas derivan del hecho de que dos programas pueden ejecutarse simultneamente y, potencialmente, pueden interferirse entre s. Concretamente, en lo que se refiere a las lecturas y escrituras en memoria. Existen dos arquitecturas que resuelven estos problemas: La arquitectura NUMA, donde cada procesador tiene acceso y control exclusivo a una parte de la memoria. La arquitectura SMP, donde todos los procesadores comparten toda la memoria. Esta ltima debe lidiar con el problema de la coherencia de cach. Cada microprocesador cuenta con su propia memoria cache local. De manera que cuando un microprocesador escribe en una direccin de memoria, lo hace nicamente sobre su copia local en cach. Si otro microprocesador tiene almacenada la misma direccin de memoria en su cach, resultar que trabaja con una copia obsoleta del dato almacenado. Para que un multiprocesador opere correctamente necesita un sistema operativo especialmente diseado para ello. La mayora de los sistemas operativos actuales poseen esta capacidad.

Sistemas operativos desarrollados


Adems del Atlas Supervisor y el OS/360, los aos 1970 marcaron el inicio de UNIX, a mediados de los 60 aparece Multics, sistema operativo multiusuario - multitarea desarrollado por los laboratorios Bell de AT&T y Unix, convirtindolo en uno de los pocos SO escritos en un lenguaje de alto nivel. En el campo de la programacin lgica se dio a luz la primera implementacin de Prolog, y en la revolucionaria orientacin a objetos, Smalltalk.

Inconvenientes de los Sistemas operativos


Se trataba de sistemas grandes, complejos y costosos, pues antes no se haba construido nada similar y muchos de los proyectos desarrollados terminaron con costos muy por encima del presupuesto y mucho despus de lo que se marcaba como fecha de finalizacin. Adems, aunque formaban una capa entre el hardware y el usuario, ste deba conocer un complejo lenguaje de control para realizar sus trabajos. Otro de los inconvenientes es el gran consumo de recursos que ocasionaban, debido a los grandes espacios de memoria principal y secundaria ocupados, as como el tiempo de procesador consumido. Es por esto que se intent hacer hincapi en mejorar las tcnicas ya existentes de multiprogramacin y tiempo compartido.

Caractersticas de los nuevos sistemas Sistemas operativos desarrollados

MULTICS (Multiplexed Information and Computing Service): Originalmente era un proyecto cooperativo liderado por Fernando Corbat del MIT, con General Electric y los laboratorios Bell, que comenz en los 60, pero los laboratorios Bell abandonaron en 1969 para comenzar a crear el sistema UNIX. Se desarroll inicialmente para el mainframe GE-645, un sistema de 36 bits; despus fue soportado por la serie de mquinas Honeywell 6180.

Fue uno de los primeros. Adems, los traduca a instrucciones de alto nivel destinadas a BDOS.

BDOS (Basic Disk Operating System): Traductor de las instrucciones en llamadas a la BIOS.

El hecho de que, aos despus, IBM eligiera para sus PC a MS-DOS supuso su mayor fracaso, por lo que acab desapareciendo.

La dcada de 1980
Con la creacin de los circuitos LSI -integracin a gran escala-, chips que contenan miles de transistores en un centmetro cuadrado de silicio, empez el auge de los ordenadores personales. En stos se dej un poco de lado el rendimiento y se busc ms que el sistema operativo fuera amigable, surgiendo mens, e interfaces grficas. Esto reduca la rapidez de las aplicaciones, pero se volvan ms prcticos y simples para los usuarios. En esta poca, siguieron utilizndose lenguajes ya existentes, como Smalltalk o C, y nacieron otros nuevos, de los cuales se podran destacar: C++ y Eiffel dentro del paradigma de la orientacin a objetos, y Haskell y Miranda en el campo de la programacin declarativa. Un avance importante que se estableci a mediados de la dcada de 1980 fue el desarrollo de redes de computadoras personales que corran sistemas operativos en red y sistemas operativos distribuidos. En esta escena, dos sistemas operativos eran los mayoritarios: MS-DOS (Micro Soft Disk Operating System), escrito por Microsoft para IBM PC y otras computadoras que utilizaban la CPU Intel 8088 y sus sucesores, y UNIX, que dominaba en los ordenadores personales que hacan uso del Motorola 68000.

Mac OS
El lanzamiento oficial del ordenador Macintosh en enero de 1984, al precio de US $1,995 (despus cambiado a $2,495 dlares)[1]. Inclua su sistema operativo Mac OS cuya caractersticas novedosas era una GUI (Graphic User Interface), Multitareas y Mouse. Provoc diferentes reacciones entre los usuarios acostumbrados a la lnea de comandos y algunos tachando el uso del Mouse como juguete.

MS-DOS
En 1981 Microsoft compr un sistema operativo llamado QDOS que, tras realizar unas pocas modificaciones, se convirti en la primera versin de MS-DOS (Micro Soft Disk Operating System). A partir de aqu se sucedieron una serie de cambios hasta llegar a la versin 7.1, versin 8 en Windows Milenium, a partir de la cual MS-DOS dej de existir como un componente del Sistema Operativo.

Microsoft Windows
A mediados de los aos 80 se crea este sistema operativo, pero no es hasta la salida de (Windows 95) que se le puede considerar un sistema operativo, solo era una interfaz grfica del (MS-DOS) en el cual se dispona de unos diskettes para correr los programas. Hoy en da es el sistema operativo ms difundido en el mbito domstico aunque tambin hay versiones para servidores como Windows NT. (Microsoft) ha diseado tambin algunas versiones para superordenadores, pero sin mucho xito. Aos despus se hizo

el (Windows 98) que era el ms eficaz de esa poca. Despus se creara el sistema operativo de (Windows ME) (Windows Millenium Edition) aproximadamente entre el ao 1999 y el ao 2000. Un ao despus se creara el sistema operativo de (Windows 2000) en ese mismo ao. Despus le seguira el sistema operativo ms utilizado en la actualidad, (Windows XP) y otros sistemas operativos de esta familia especializados en las empresas. Ahora el ms reciente es (Windows 7) (Windows Seven) que sali al mercado el 22 de octubre del 2009, dejando atrs al (Windows Vista), que tuvo innumerables crticas durante el poco tiempo que dur en el mercado.

La dcada de 1990
GNU/Linux
Este sistema al parecer es una versin mejorada de Unix, basado en el estndar POSIX, un sistema que en principio trabajaba en modo comandos. Hoy en da dispone de Ventanas, gracias a un servidor grfico y a gestores de ventanas como KDE, GNOME entre muchos. Recientemente GNU/Linux dispone de un aplicativo que convierte las ventanas en un entorno 3D como por ejemplo Beryl o Compiz. Lo que permite utilizar Linux de una forma visual atractiva. Existen muchas distribuciones actuales de Gnu/Linux (Debian, Fedora, Ubuntu, Slackware, etc.) donde todas ellas tienen en comn que ocupan el mismo ncleo Linux. Dentro de las cualidades de Gnu/Linux se puede caracterizar el hecho de que la navegacin a travs de la web es sin riegos de ser afectada por virus, esto debido al sistema de permisos implementado, el cual no deja correr ninguna aplicacin sin los permisos necesarios, permisos que son otorgados por el usuario. A todo esto se suma que los virus que vienen en dispositivos desmontables tampoco afectan al sistema, debido al mismo sistema de permisos.

ReactOS
ReactOS (React Operating System) es un sistema operativo de cdigo abierto destinado a lograr la compatibilidad binaria con aplicaciones de software y controladores de dispositivos hechos para Microsoft Windows NT versiones 5.x en adelante (Windows XP y sus sucesores). En 1996 un grupo de programadores y desarrolladores de software libre comenzaron un proyecto llamado FreeWin95 el cual consista en implementar un clon de Windows 95. El proyecto estuvo bajo discusin por el diseo del sistema ya habiendo desarrollado la capa compatible con MS-DOS, pero lamentablemente esta fue una situacin que no se complet. Para 1997 el proyecto no haba lanzado ninguna versin, por lo que los miembros de ste, coordinados por Jason Filby, pudieron revivirlo. Se decidi cambiar el ncleo del sistema compatible con MS-DOS y de ahora en adelante basarlo en uno compatible con Windows NT y as el proyecto pudo seguir adelante con el nombre actual de ReactOS, que comenz en febrero de 1998, desarrollando las bases del kernel y algunos drivers bsicos.

ISTEMAS OPERATIVOS
Enviado por cypress_92

Indice 1. Introduccin a los sistemas operativos 2. Estructura de un sistema operativo 3. Funciones y caractersticas de los sistemas operativos. 5. Bibliografia 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 MS-DOS. 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 k-esima 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, SolarisMC, 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. Bibliografia

Sistemas Operativos Modernos

Andrew S. Tanenbaum Pearson Education

INTRODUCCION El programa base fundamental de todos los programas de sistema, es el Sistema Operativo, que controla todos los recursos de la computadora y proporciona la base sobre la cual pueden escribirse los programas de aplicacin. Con las primeras mquinas, era algo muy complicado ser programador... y no slo porque los lenguajes de programacin no haban evolucionado, sino porque se deba manejar el ordenador desde la consola y la consola en aquellos tiempos significaba un puado de interruptores. Afortunadamente, esto ha ido cambiando y se lo debemos, en parte, a que han nacido y evolucionado los Sistemas Operativos. Como tambin lo han hecho las mquinas, los lenguajes de programacin e incluso las ideas. El trabajo que a continuacin expongo presenta la evolucin de los Sistemas Operativos a lo largo de la historia, introduciendo los conceptos fundamentales relativos a stos, como podran ser la gestin de procesos o su arquitectura. SISTEMA OPERATIVO Un Sistema Operativo es un programa que acta como intermediario entre el usuario y el hardware de un computador, es el instrumento indispensable para hacer de la computadora un objeto til. 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. El programa fundamental de todos los programas de sistema es el Sistema Operativo, que controla todos los recursos de la computadora y proporciona la base sobre la cual pueden escribirse los programas de aplicacin. Es el encargado de brindar al usuario una forma amigable y sencilla de operar, interpretar, codificar y emitir las ordenes al procesador central para que este realice las tareas necesarias y especificas para completar una orden. Entre las principales funciones del sistema operativo estn: 1 - Permitir la comunicacin usuario-mquina 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. 2 - Gestin de recursos del ordenador 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 sistema operativo sirve de intermediario entre los programas y el hardware. 3 - Control de lo que hace el ordenador y de cmo lo hace., Organizar los datos y los programas. Administrar y mantener los sistemas de archivo de disco. Los Sistemas Operativos 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 sistema operativo mantiene una lista de los archivos en un disco, y nos proporciona las herramientas necesarias para organizar y manipular estos archivos. Con el paso del tiempo, los Sistemas Operativos fueron clasificndose de diferentes maneras, dependiendo del uso o de la aplicacin que se les daba. A continuacin se mostrarn diversos tipos de Sistemas Operativos que existen en la actualidad, con algunas de sus caractersticas:

SISTEMAS OPERATIVOS POR LOTES. Se renen todos los trabajos comunes para realizarlos al mismo tiempo, evitando la espera de dos o ms trabajos como sucede en el procesamiento en serie. Estos sistemas son de los ms tradicionales y antiguos, y fueron introducidos alrededor de 1956 para aumentar la capacidad de procesamiento de los programas. SISTEMAS OPERATIVOS DE TIEMPO REAL. Los Sistemas Operativos de tiempo real son aquellos en los cuales no tiene importancia el usuario, sino los procesos. Por lo general, estn subutilizados sus recursos con la finalidad de prestar atencin a los procesos en el momento que lo requieran. se utilizan en entornos donde son procesados un gran nmero de sucesos o eventos.

SISTEMAS OPERATIVOS DE MULTIPROGRAMACIN (O SISTEMAS OPERATIVOS DE MULTITAREA). Se distinguen por sus habilidades para poder soportar la ejecucin de dos o ms trabajos activos (que se estn ejecutado) al mismo tiempo. Esto trae como resultado que la Unidad Central de Procesamiento (CPU) siempre tenga alguna tarea que ejecutar, aprovechando al mximo su utilizacin. SISTEMAS OPERATIVOS DE TIEMPO COMPARTIDO. Permiten la simulacin de que el sistema y sus recursos son todos para cada usuarios. El usuario hace una peticin a la computadora, esta la procesa tan pronto como le es posible, y la respuesta aparecer en la terminal del usuario.

SISTEMAS OPERATIVOS PARALELOS. En estos tipos de Sistemas Operativos se pretende que cuando existan dos o ms procesos que compitan por algn recurso se puedan realizar o ejecutar al mismo tiempo.

SISTEMAS OPERATIVOS DISTRIBUIDOS. 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. 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, SolarisMC, Mach, Chorus, Spring, Amoeba, Taos, etc.

SISTEMAS OPERATIVOS DE RED.

Son aquellos sistemas que mantienen a dos o ms computadoras unidas atravs de algn medio de comunicacin (fsico o no), con el objetivo primordial de poder compartir los diferentes recursos y la informacin del sistema. EVOLUCION HISTORICA DE LOS SISTEMAS OPERATIVOS El desarrollo de los sistemas operativos esta muy relacionado con el desarrollo de las arquitecturas de los sistemas computacionales, por esta razn clasificaremos el desarrollo de los sistemas operativos en generaciones que han sido marcadas en base a las tecnologas de construccin de dichas arquitecturas. Primera Generacin (1945-1955): La lgica o software de los ordenadores se ha complicado conforme han evolucionado stos. Los primeros ordenadores, a partir de 1944 en que Aiken construy el Mark-I, slo podan programarse en lenguaje mquina, y puede decirse que el Sistema Operativo an no exista. J. V. Neumann fue quien dio el primer paso en la informtica y en las relaciones hombre-mquina con el concepto de programa almacenado, que consiste en archivar en el ordenador un conjunto de instrucciones mquina para posteriormente ejecutarlas. La aparicin del Assembler, lenguaje nemotcnico-simblico, constituy un gran avance sobre la primitiva programacin en cdigo mquina. La forma de explotar los sistemas ha ido evolucionando con el tiempo; los ms sencillos funcionaban con monoprogramacin. Monoprogramacin o monoejecucin es el sistema de explotacin en el que se ejecuta solamente un programa cada vez y no comienza la ejecucin de otro hasta terminar con el anterior. En 1948, con Noam Chomsky, surge la teora de las gramticas generativas transformacionales, que es la base de los traductores de lenguajes. En 1955 comenz el desarrollo de los lenguajes de alto nivel, y al mismo tiempo se empez a dividir el trabajo entre personas: operadores y programadores. Las funciones del operador tenan ms directamente que ver con la administracin y control de los recursos del Sistema Operativo y la carga de trabajos, y las de los programadores con la codificacin de los programas. El monitor es el programa antepasado del Sistema Operativo. Abarca funciones muy elementales, como visualizar y modificar los contenidos de la memoria principal, el lanzamiento automtico para la ejecucin de un programa, la introduccin de puntos de ruptura en los programas para puesta a punto, etc. Gracias al monitor apareci el concepto de secuencia automtica de trabajos. Actualmente, al estar superado el concepto de monoprogramacin, es frecuente que tengamos que familiarizarnos con los conceptos de multiprogramacin, tiempo compartido, multiproceso y tiempo real. Segunda Generacin (1955-1965): Multiprocesamiento : Durante la segunda generacin , al menos un proveedor ofreca un sistema de multiprocesamiento, que era un sistema de computo que tena ms de una unidad central de proceso. En realidad el sistema consista en dos computadoras completas; las computadora ms pequea tena un sistema operativo y controlaba ambas mquinas. La computadora ms grande era esclava de la ms pequea. La computadora pequea procesaba la entrada de informacin y ordenaba e imprima toda la salida utilizando todos los discos como entrada de almacenamiento temporal. Un sistema operativo ubicado en la computadora ms grande indicaba a la mquina de control que necesitaba servicio. Sistemas en lnea :Los primeros sistemas en lneas presentaban programas de sistema operativo diseados especialmente para controlar los recursos de la computadora. Los programas de aplicacin de un sistema en linea expresan la lgica de aplicacin y los llamados mediante programas de sistemas. El supervisor de un sistema en lnea establece una serie de colas y programa el servicio. Primero se arma un mensaje de entrada en un buffer de comunicaciones; puede cambiarse el cdigo de este mensaje y

trasladarse a una cola de entrada en la memoria mediante un programa de aplicacin. El sistema operativo registra este mensaje en la cola de mensajes a procesarse. Cuando la unidad central de proceso esta disponible el supervisor le ordena que atienda una cola, por ejemplo la que contiene un mensaje de entrada. Un programa de aplicacin llamado mediante el sistema operativo puede verificar la correccin del mensaje, despus de lo cual el mensaje se coloca en una cola de trabajo. El nacimiento del tiempo compartido : Los primeros sistemas de negocios tambin estaban utilizando sistemas operativos para sus equipos de segunda generacin. Cuando fue anunciada la tercera generacin de computadoras los fabricantes claramente haban abrazado la idea de un sistema operativo. La lnea 360 de la IBM no poda funcionar sin la ayuda de tal sistema operativo maneja toda la entrada/salida por medio de interrupciones. De hecho existen interrupciones especiales que la computadora solo puede ejecutar cuando est en estado supervisor, bajo el control de los sistemas operativos. Esta generacin se caracteriza por la utilizacin de la tecnologa que incluye transistores. Estos proporcionan mejores caractersticas que los tubos al vaco: son ms pequeos, disipan menos calor y son ms rpidos. En esta poca, ya no hay un solo grupo que se dedica a disear, construir, operar y mantener el sistema computacional, sino que la mantencin la realizan otras personas. La programacin, en este perodo se ve apoyada por la creacin de lenguajes ensambladores y lenguajes de alto nivel; como Fortran y Cobol . Para optimizar el tiempo de utilizacin del sistema computacional, se adopt el Procesamiento por Lotes. Este procedimiento se puede resumir en los siguientes pasos:

Varios trabajos son ledos desde tarjetas perforadas y almacenados en cinta El computador ejecuta programas que lee de una cinta y escribe los resultados en otra cinta. Los resultados escritos en la cinta son desplegados a travs de la impresora.

Como consecuencia de la utilizacin de tecnologa de mejores caractersticas, el procesamiento por lotes, la utilizacin de un operador de sistema y un sistema operativo primitivo se logr minimizar el tiempo ocioso de los computadores. Tercera Generacin (1965-1980): Multisistemas : El estudio del hardware se menciona el desarrollo de los canales de datos para absorber algo de carga de E/S de la CPU. Sin embargo, todava exista un equilibrio entre la UCP y la E/S an con la ayuda de los canales en la mayor parte de los sistemas comerciales que tienen mucha actividad de E/S se puede tener la UCP ociosa ms del 50% del tiempo principalmente debido a la espera de la terminacin de operaciones de entrada/salida. Los sistemas operativos en batch de la tercera generacin introdujeron el concepto de multiprogramacin, proceso muy similar a las tcnicas de sacar y meter programas desarrollados para el tiempo compartido. En la multiprogramacin hay ms de un programa semiactivo en la memoria a la vez. La multiprogramacin intenta ocultar retrasos de E/S cambiando a UCP a otro programa cuando no puede procesar por ms tiempo el que estaba procesando, debido a un solicitud de E/S. La multiprogramacin ha ayudado a incrementar la productividad, o sea el nmero de trabajos por unidad de tiempo. Sin embargo, puede tomar ms tiempo correr un solo trabajo bajo multiprogramacin que bajo un procesador unitario, a causa de las interrupciones.

No debe confundirse la multiprogramacin con el multiprocesamiento. En un sistema de multiprogramacin, la unidad central de procesamiento ejecuta solamente un programa a la vez. Varios programas estn presentes en la memoria en un estado semiactivo; su ejecucin ha sido suspendida temporalmente. Algunos sistemas de la tercera generacin tambin presentan el multiprocesamiento, o sea la presencia de ms de una unidad central de proceso. Estos procesadores estn controlados por el sistema operativo y, por supuesto, son multiprogramados ya que por lo menos existe el potencial para ejecutar un programa en cada procesador al mismo tiempo. Estos sistemas multiprocesadores con atractivos en un ambiente de fuerte actividad computacional o como respaldo. Varios sistemas de tiempo compartido, por ejemplo, utilizan el multiprocesamiento. Sistemas en lnea : Durante la tercera generacin, los sistemas operativos vinieron con ms mdulos para facilitar el desarrollo de los sistemas en lnea, especialmente para respaldar el procesamiento de terminales y telecomunicaciones. Los sistemas estaban diseados para apoyar una mezcla de procesamiento batch y consultas en lnea. Tiempo compartido: Durante la tercera generacin, el proyecto MAC del MIT desarroll tambin un nuevo sistema de tiempo compartido llamado MULTICS. Este sistema presenta una importante innovacin que influy en los sistemas de cmputo posteriores. Un objetivo del MULTICS era proporcionar al programador la apariencia de una memoria real. La memoria virtual puede producirse combinando la segmentacin y la paginacin enfoque que tambin facilita el desarrollo de los procedimientos re-entrantes. Bsicamente, un programa y sus datos se dividen en pginas. Solamente se cargan en un momento dado, las pginas necesarias en el almacenamiento primario; las otras pginas se mantienen en dispositivos de almacenamiento secundario. La tecnologa utilizada en este perodo corresponde a la de circuitos integrados, lo cual permiti construir mquinas ms baratas y con mejor rendimiento. La empresa IBM fue la primera en utilizar esta tecnologa. Una de las principales caractersticas de los sistemas operativos de hoy, que aparecen en esta generacin es la Multiprogramacin. Esta tcnica consiste en particionar la memoria de manera de contener simultneamente muchos trabajos, lo que permite independencia en las acciones de la mquina. Por ejemplo, si un trabajo est esperando por Entrada/Salida, otro trabajo puede estar utilizando la CPU. Con la utilizacin de la multiprogramacin, se mejora el tiempo de utilizacin de la CPU, pero se crean problemas de proteccin y seguridad, debido al particionamiento de la memoria. Otra caracterstica importante de los sistemas operativos de esta generacin es la aparicin de la tcnica de Spooling (Operacin simultnea y en lnea de perifricos ). Esta consiste en la capacidad de leer los trabajos de cinta al disco, haciendo posible que a medida que hubiera espacio en memoria se poda pasar al siguiente trabajo. De esta manera las operaciones de perifricos se realizan en paralelo con la utilizacin de la CPU. Durante esta generacin aparecen los primeros sistemas de Tiempo compartido, esto consiste en que se le asigna a cada trabajo un tiempo fijo de utilizacin de CPU, este perodo de tiempo (denominado time slot) es pequeo, pues el uso de tiempo compartido tiene como objetivo manejar a distintos usuarios mediante terminales que tengan la ilusin de estar ocupando la mquina como si fueran nicos. El primer sistema operativo importante de tiempo compartido es el (CTSS) y fue desarrollado en MIT (Massachusetts Institute of Technology). Otros de los sistemas que surgi en este periodo es MULTICS, el que sirvi de base para el desarrollo del sistema UNIX. Cuarta Generacin (1980-1990):

Esta generacin se caracteriza por la utilizacin de los microprocesadores para la construccin de computadores de menor tamao, haciendo posible que una sola persona tuviera su propio computador personal. Los computadores personales con mayores capacidades y que se empezaron a utilizar en la empresa y en las universidades recibieron el nombre de estaciones de trabajo. Durante esta generacin aparecen los sistemas operativos que proporcionan una interfaz ms amigable al usuario, esto se traduce en mejores herramientas de interaccin con el computador, tales como capacidades grficas, conos, sistemas de mens, etc. Los sistemas operativos que cobran gran popularidad en este perodo son MS-DOS de Microsoft y UNIX. Este ltimo tuvo sus primeros desarrollos en Berkeley y posteriormente en AT&T. DOS (sistema operativo en disco) VERSIONES: PC-DOS (IBM) DR-DOS (Digital Research) MS-DOS 1.0 Abril 1981 1.1 2.0 3.0 3.1 3.2 MS-DOS (Microsoft) ! 3.3 ! 4.0 5.0 ! 6.0 6.2 7.0 Agosto 1995 Se trata del 1 sistema operativo creado para ordenadores personales en la dcada de los 80 dado que los sistemas anteriores fueron creados para maquinas grandes en entornos de empresa. A lo largo del tiempo pugnaron tres fabricantes por la hegemona del mercado hasta que en la dcada de los 90 con la aparicin de las 1as plataformas de Windows 3.0 3.1 y 3.11 Microsoft se queda sola por la retirada de los dems aunque ya IBM lo haba dejado mucho tiempo antes. Se trata de un sistema operativo grabado sobre disco de modo que se ha de encontrar permanentemente activo y residente para poder trabajar con esa maquina. Esto ahora parece intrascendente ya que todos los sistemas operativos (Windows, Windows9.x, unix, linux, etc..) Estn ocupando algunos de los discos duros del ordenador pero al principio los ordenadores

no tenan disco duro ya que aun no se haban inventado y por tanto se encontraba en un diskette que deba estar permanentemente introducido con el agravante de que solo haba una disquetera. Entre todas las versiones que salieron al mercado y omitiendo las primeras muy dependientes de la rudimentaria tecnologa de entonces son las versiones 3.3,4.0 y 6.2 las que tuvieron un mayor xito comercial. En la actualidad la versin 7.0 aun siendo la ms reciente no es la mas difundida ya que esta muy arraigada la 6.22. Por otro lado estas versiones han dejado paso a aquellas otras que dependen de Windows como sistema mayoritariamente extendido pasando a adoptar la numeracin de la versin de Windows. CARACTERISTICAS DEL SISTEMA a)Monotarea.- Ya que no dispone de gestores de memoria protegida para ejecutar cada aplicacin o proceso en su espacio individual de memoria distribuyendo las zonas del mapa que se han visto segn las necesidades del programa para el solo. b)Monopuesto.- Ya que no permite gestionar espacios de memoria distintos para diferentes usuarios c)Monoproceso.-Porque no esta diseado para trabajar con mas de un procesador a la vez y tampoco ninguna de las aplicaciones desarrolladas para ver esto. d)Entorno de texto.- Con fondo negro y ejecucion en modo carcter por medio de comandos u ordenes y sus parametros cuya sintaxis se ha de respetar. El arranque de un sistema gobernado por el DOS se produce escalonadamente cargandose en la memoria una serie de modulos de diferentes programas del DOS que se encargaran de todas las operaciones PROCESO BATCH O POR LOTES Un proceso batch es un archivo q contiene comandos del DOS y q se ejecutan en forma autonoma por el propio carcter del fichero similiar a un ejecutable de cualquier otro programa. Se emplean en la automatizacion de tareas que exigen de crear varios comando con sus parametros y tambien para personalizar un entorno de trabajo bajo DOS. Se crean mediante cualquier editor de texto simple o bien con el editor del DOS mediante el comando EDIT (tb se pueden crear pequeos BAT de pocas lineas con la orden COPY CON , pero no admite correccion. Admite cualquier comando visto hasta ahora y otra serie de ellos especificos para procesos BAT como son los siguientes: CALL, IF, KEYB, LOAD, PATH, PAUSE, PROMPT, SET, GOTO, MENU.... Cualquier archivo de este tipo para que se pueda ejecutar debe tener extension BAT. Si hubiera otro de mismo nombre pero con extension EXE tiene prioridad sobre el BAT. Ejemplos de estos procesos es el fichero AUTOEXEC.BAT Quinta Generacin (1990 - Actualidad): Desde aproximadamente mediados de los '80 surgi el crecimiento de las redes de computadores con sistemas operativos de red y sistemas operativos distribuidos.

En los sistemas operativos de red cada computador tiene su propia copia de sistema operativo, los usuarios saben que existen varios computadores, pueden conectarse explcitamente a diferentes mquinas remotas para transferir archivos, hacer bsquedas, etc. En los sistemas operativos distribuidos existe una integracin real de los recursos, la red es transparente a los usuarios, es decir, que stos pueden no darse cuenta de la existencia de varias mquinas conectadas. Sobre este tipo de sistema operativo, una tarea puede ser ejecutada en varios nodos a la vez, pues existen facilidades de migracin de procesos. Adems este sistema computacional puede crecer fcilmente y la tolerancia a fallas se realiza en mejor forma (la tolerancia a fallas est relacionada con la confiabilidad, por ejemplo, si un computador falla puede seguir operando en su reemplazo). El desarrollo de los sistemas computacionales de los ltimos tiempos ha generado un conjunto de estndares, que han servido de base para futuros desarrollos de fabricantes que trabajan en conjunto. Dentro de los estndares ms conocidos se encuentran los siguientes:

Estndares de comunicaciones abierto


o

Modelo OSI (Open System Interconection), desarrollado por I SO.

Estndares de sistemas operativos abiertos


o o

POSIX (IEEE standar 1003.1) SVID (System V Interfase Definition)

Estndares de interfaces de usuarios abiertos


o

X Windows desarrollado por MIT

Estndares de aplicaciones de usuarios abiertos


o

X/Open

OSF (Open Software Foundation) La mezcla de sistemas contina durante la tercera y cuarta generacin. Ahora pueden tenerse aplicaciones en tiempo compartido, en lnea y en batch procesndose simultneamente en el mismo sistema de cmputo. Adems existen nuevos paquetes para reducir los problemas del desarrollo de sistemas en lnea. El sistema operativo consiste en una serie de manejadores y cada manejador debe lograr lo siguiente: controlar los recursos; hacer cumplir las polticas en cuanto a qu, quin y cunto del recurso se asigna; asignar el recurso, y recuperar el recurso. Las tendencias de futuro prevn el desarrollo de Sistemas Operativos con potencialidad de: - Explotacin del proceso en paralelo y de forma concurrente. - Integracin mediante informtica corporativa del tratamiento en distintos Sistemas Operativos de micros, minis y mainframes, a travs de interfaces grficas de usuario y la arquitectura cliente-servidor. Avances Evolutivos La tercera y media generacin de hardware trajo consigo modificaciones y mejoras a los sistemas operativos. El avance ms importante fue sacar el concepto de la memoria virtual fuera del dominio

exclusivo del tiempo compartido e incluirlo en los sistemas batch. Para facilitar los esquemas de la memoria virtual, un fabricante adicion hardware especial para ayudar a traducir las direcciones virtuales. Los programas utilizan direcciones que sobrepasan el tamao de la memoria primaria de la computadora en un sistema virtual, y es necesario hacer un mapa de estas direcciones en el espacio de la memoria fsica. Este mapeo puede lograrse mediante software o hardware. CONCLUSIN Un sistema operativo es un conjunto de rutinas que proveen facilidades para con dos funciones principales: manejo de recursos y embellecimiento. Un sistema puede mantener varios procesos ejecutndose concurrentemente. Cada uno de esos procesos representa un hilo de control separado y est asociado a una estiba diferente. Desde la construccin de las primeras computadoras (1943) la introduccin y la ejecucin de programas se haca manualmente, uno a uno ya que no existan los Sistemas Operativos. Esto hacia que las computadoras fueran muy complicadas de usar y que se requiriera tener altos conocimientos tcnicos para operarlas. Era tan complejo su manejo, que en algunos casos el resultado llegaba a ser desastroso. Se buscaron medios ms elaborados para manipular la computadora, pero que a su vez simplificaran la labor del operador o el usuario. Es entonces cuando surge la idea de crear un medio para que el usuario pueda operar la computadora con un entorno, lenguaje y operacin bien definidos para hacer un verdadero uso y explotacin de esta. Surge la grandiosa idea de los Sistemas Operativos. En 1955 comenz el desarrollo de los lenguajes de alto nivel, y al mismo tiempo se empez a dividir el trabajo entre personas: operadores y programadores. Las funciones del operador tenan ms directamente que ver con la administracin y control de los recursos del Sistema Operativo y la carga de trabajos, y las de los programadores con la codificacin de los programas. BIBLIOGRAFA

Aprende computacin. Editorial ocano. Espaa. Pp36/39 Milenkovic, Milan (1994). Sistemas Operativos: conceptos y diseo. McGraw-Hill. 2 edicin. James L. Peterson, Abraham Silberschatz (1991). Sistemas Operativos, conceptos fundamentales. Editorial Revert. William Stallings (1997). Sistemas Operativos. Prentice-Hall. 2 edicin. Andrew Tanenbaum (1991). Sistemas Operativos: Diseo e implementacin. Prentice Hall. 1 edicin. CONCEPTO DE LOS SISTEMAS DE INFORMACION PARA LA ADMINISTRACION HenryC.Lucas,Jr.ed.McGrawHill

Sistema operativo
Saltar a: navegacin, bsqueda

Interaccin entre el SO con el resto de las partes.

Estimacin del uso de sistemas operativos en computadoras de escritorio con acceso a Internet en enero de 2012.

Estimacin del uso de versiones de sistemas operativos segn una muestra de computadoras con acceso a Internet en enero de 2012.

Estimacin del uso de sistemas operativos en dispositivos mviles con acceso a Internet en enero de 2012.

Estimacin del uso de sistemas operativos segn una muestra de computadoras con acceso a Internet en noviembre de 2009.1

Un sistema operativo (SO, frecuentemente OS, del ingls Operating System) es un programa o conjunto de programas que en un sistema informtico gestiona los recursos de hardware y provee servicios a los programas de aplicacin, ejecutndose en modo privilegiado respecto de los restantes.2 Ntese que es un error comn muy extendido denominar al conjunto completo de herramientas sistema operativo, es decir, la inclusin en el mismo trmino de programas como el explorador de ficheros, el navegador web y todo tipo de herramientas que permiten la interaccin con el sistema operativo, tambin llamado ncleo o kernel. Esta identidad entre kernel y sistema operativo es solo cierta si el ncleo es monoltico. Otro ejemplo para comprender esta diferencia se encuentra en la plataforma Amiga, donde el entorno grfico de usuario se distribua por separado, de modo que, tambin poda reemplazarse por otro, como era el caso de directory Opus o incluso manejarlo arrancando con una lnea de comandos y el sistema grfico. De este modo, al arrancar un Amiga, comenzaba a funcionar con el propio sistema operativo que llevaba incluido en una ROM, por lo que era cuestin del usuario decidir si necesitaba un entorno grfico para manejar el sistema operativo o simplemente otra aplicacin. Uno de los ms prominentes ejemplos de esta diferencia, es el ncleo Linux, usado en las llamadas distribuciones Linux, ya que al estar tambin basadas en Unix, proporcionan un sistema de funcionamiento similar. Este error de precisin, se debe a la modernizacin de la informtica llevada a cabo a finales de los 80, cuando la filosofa de estructura bsica de funcionamiento de los grandes computadores3 se redise a fin de llevarla a los hogares y facilitar su uso, cambiando el concepto de computador multiusuario, (muchos usuarios al mismo tiempo) por un sistema monousuario (nicamente un usuario al mismo tiempo) ms sencillo de gestionar.4 (Vase AmigaOS, beOS o MacOS como los pioneros5 de dicha modernizacin, cuando los Amiga fueron bautizados con el sobrenombre de Video Toasters6 por su capacidad para la Edicin de vdeo en entorno multitarea round robin, con gestin de miles de colores e interfaces intuitivos para diseo en 3D. Uno de los propsitos del sistema operativo que gestiona el ncleo intermediario consiste en gestionar los recursos de localizacin y proteccin de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. La mayora de aparatos electrnicos que utilizan microprocesadores para funcionar, llevan incorporado un sistema operativo (telfonos mviles, reproductores de DVD, computadoras, radios, enrutadores, etc.). En cuyo caso, son manejados mediante una Interfaz Grfica de Usuario, un gestor de ventanas o un entorno de escritorio, si es un celular,

mediante una consola o control remoto si es un DVD y, mediante una lnea de comandos o navegador web si es un enrutador.

ndice

1 Perspectiva histrica o 1.1 Problemas de explotacin y soluciones iniciales o 1.2 Monitores residentes o 1.3 Sistemas con almacenamiento temporal de E/S o 1.4 Spoolers o 1.5 Sistemas operativos multiprogramados 2 Llamadas al sistema operativo o 2.1 Modos de ejecucin en un CPU o 2.2 Llamadas al sistema o 2.3 Bibliotecas de interfaz de llamadas al sistema 3 Interrupciones y excepciones o 3.1 Tratamiento de las interrupciones o 3.2 Importancia de las interrupciones o 3.3 Excepciones 3.3.1 Clases de excepciones 3.3.2 Importancia de las excepciones 4 Componentes de un sistema operativo o 4.1 Gestin de procesos o 4.2 Gestin de la memoria principal o 4.3 Gestin del almacenamiento secundario o 4.4 El sistema de entrada y salida o 4.5 Sistema de archivos o 4.6 Sistemas de proteccin o 4.7 Sistema de comunicaciones o 4.8 Programas de sistema o 4.9 Gestor de recursos 5 Clasificacin o 5.1 Administracin de tareas o 5.2 Administracin de usuarios o 5.3 Manejo de recursos o 5.4 Ejemplos de sistemas operativos para PC o 5.5 Ejemplos de sistemas operativos para dispositivos mviles 6 Vase tambin 7 Referencias 8 Bibliografa 9 Enlaces externos

Perspectiva histrica
Los primeros sistemas (1945-1955) eran grandes mquinas operadas desde la consola maestra por los programadores. Durante la dcada siguiente (1955-1965) se llevaron a cabo avances en el hardware: lectoras de tarjetas, impresoras, cintas magnticas, etc. Esto a su vez provoc un avance en el software: compiladores, ensambladores, cargadores, manejadores de dispositivos, etc. A finales de los aos 1980, una computadora Commodore Amiga equipada con una aceleradora Video Toaster era capaz de producir efectos comparados a sistemas dedicados que costaban el triple. Un Video Toaster junto a Lightwave ayud a producir muchos programas de televisin y pelculas, entre las que se incluyen Babylon 5, Seaquest DSV y Terminator II.7

Problemas de explotacin y soluciones iniciales


El problema principal de los primeros sistemas era la baja utilizacin de los mismos, la primera solucin fue poner un operador profesional que lo manejase, con lo que se eliminaron las hojas de reserva, se ahorr tiempo y se aument la velocidad. Para ello, los trabajos se agrupaban de forma manual en lotes mediante lo que se conoce como procesamiento por lotes (batch) sin automatizar.

Monitores residentes

Fichas en lenguaje de procesamiento por lotes, con programa y datos, para ejecucin secuencial.

Segn fue avanzando la complejidad de los programas, fue necesario implementar soluciones que automatizaran la organizacin de tareas sin necesidad de un operador. Debido a ello se crearon los monitores residentes: programas que residan en memoria y que gestionaban la ejecucin de una cola de trabajos. Un monitor residente estaba compuesto por un cargador, un Intrprete de comandos y un Controlador (drivers) para el manejo de entrada/salida.

Sistemas con almacenamiento temporal de E/S


Los avances en el hardware crearon el soporte de interrupciones y posteriormente se llev a cabo un intento de solucin ms avanzado: solapar la E/S de un trabajo con sus propios clculos, por lo que se cre el sistema de bfers con el siguiente funcionamiento:

Un programa escribe su salida en un rea de memoria (bfer 1). El monitor residente inicia la salida desde el buffer y el programa de aplicacin calcula depositando la salida en el buffer 2. La salida desde el buffer 1 termina y el nuevo clculo tambin. Se inicia la salida desde el buffer 2 y otro nuevo clculo dirige su salida al buffer 1. El proceso se puede repetir de nuevo.

Los problemas surgen si hay muchas ms operaciones de clculo que de E/S (limitado por la CPU) o si por el contrario hay muchas ms operaciones de E/S que clculo (limitado por la E/S).

Spoolers
Hace aparicin el disco magntico con lo que surgen nuevas soluciones a los problemas de rendimiento. Se eliminan las cintas magnticas para el volcado previo de los datos de dispositivos lentos y se sustituyen por discos (un disco puede simular varias cintas). Debido al solapamiento del clculo de un

trabajo con la E/S de otro trabajo se crean tablas en el disco para diferentes tareas, lo que se conoce como Spool (Simultaneous Peripherial Operation On-Line).

Sistemas operativos multiprogramados


Surge un nuevo avance en el hardware: el hardware con proteccin de memoria. Lo que ofrece nuevas soluciones a los problemas de rendimiento:

Se solapa el clculo de unos trabajos con la entrada/salida de otros trabajos. Se pueden mantener en memoria varios programas. Se asigna el uso de la CPU a los diferentes programas en memoria.

Debido a los cambios anteriores, se producen cambios en el monitor residente, con lo que ste debe abordar nuevas tareas, naciendo lo que se denomina como Sistemas Operativos multiprogramados, los cuales cumplen con las siguientes funciones:

Administrar la memoria. Gestionar el uso de la CPU (planificacin). Administrar el uso de los dispositivos de E/S.

Cuando desempea esas tareas, el monitor residente se transforma en un sistema operativo multiprogramado.

Llamadas al sistema operativo


Definicin breve: llamadas que ejecutan los programas de aplicacin para pedir algn servicio al SO. Cada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto de llamadas es la interfaz del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Por ello si cambiamos de SO, y abrimos un programa diseado para trabajar sobre el anterior, en general el programa no funcionar, a no ser que el nuevo SO tenga la misma interfaz. Para ello:

Las llamadas correspondientes deben tener el mismo formato. Cada llamada al nuevo SO tiene que dar los mismos resultados que la correspondiente del anterior.

Modos de ejecucin en un CPU


Las aplicaciones no deben poder usar todas las instrucciones de la CPU. No obstante el Sistema Operativo, tiene que poder utilizar todo el conjunto de instrucciones del CPU. Por ello, una CPU debe tener (al menos) dos modos de operacin diferentes:

Modo usuario: el CPU podr ejecutar slo las instrucciones del juego restringido de las aplicaciones. Modo supervisor: la CPU debe poder ejecutar el juego completo de instrucciones.

Llamadas al sistema
Una aplicacin, normalmente no sabe dnde est situada la rutina de servicio de la llamada. Por lo que si sta se codifica como una llamada de funcin, cualquier cambio en el S.O. hara que hubiera que reconstruir la aplicacin. Pero lo ms importante es que una llamada de funcin no cambia el modo de ejecucin de la CPU. Con lo que hay que conseguir llamar a la rutina de servicio, sin tener que conocer su ubicacin, y hacer que se

fuerce un cambio de modo de operacin de la CPU en la llamada (y la recuperacin del modo anterior en el retorno). Esto se hace utilizando instrucciones mquina diseadas especficamente para este cometido, distintas de las que se usan para las llamadas de funcin.

Bibliotecas de interfaz de llamadas al sistema


Las llamadas al sistema no siempre tienen una expresin sencilla en los lenguajes de alto nivel, por ello se crean las bibliotecas de interfaz, que son bibliotecas de funciones que pueden usarse para efectuar llamadas al sistema. Las hay para distintos lenguajes de programacin. La aplicacin llama a una funcin de la biblioteca de interfaz (mediante una llamada normal) y esa funcin es la que realmente hace la llamada al sistema.

Interrupciones y excepciones
El SO ocupa una posicin intermedia entre los programas de aplicacin y el hardware. No se limita a utilizar el hardware a peticin de las aplicaciones ya que hay situaciones en las que es el hardware el que necesita que se ejecute cdigo del SO. En tales situaciones el hardware debe poder llamar al sistema, pudiendo deberse estas llamadas a dos condiciones:

Algn dispositivo de E/S necesita atencin. Se ha producido una situacin de error al intentar ejecutar una instruccin del programa (normalmente de la aplicacin).

En ambos casos, la accin realizada no est ordenada por el programa de aplicacin, es decir, no figura en el programa. Segn los dos casos anteriores tenemos las interrupciones y la excepciones:

Interrupcin: seal que enva un dispositivo de E/S a la CPU para indicar que la operacin de la que se estaba ocupando, ya ha terminado. Excepcin: una situacin de error detectada por la CPU mientras ejecutaba una instruccin, que requiere tratamiento por parte del SO.

Tratamiento de las interrupciones


Una interrupcin se trata en todo caso, despus de terminar la ejecucin de la instruccin en curso. El tratamiento depende de cul sea el dispositivo de E/S que ha causado la interrupcin, ante la cual debe poder identificar el dispositivo que la ha causado. La ventaja de este procedimiento es que no se tiene que perder tiempo ejecutando continuamente rutinas para consultar el estado del perifrico. El inconveniente es que el dispositivo debe tener los circuitos electrnicos necesarios para acceder al sistema de interrupciones del computador.

Importancia de las interrupciones


El mecanismo de tratamiento de las interrupciones permite al SO utilizar la CPU en servicio de una aplicacin, mientras otra permanece a la espera de que concluya una operacin en un dispositivo de E/S.

El hardware se encarga de avisar al SO cuando el dispositivo de E/S ha terminado y el SO puede intervenir entonces, si es conveniente, para hacer que el programa que estaba esperando por el dispositivo, se contine ejecutando. En ciertos intervalos de tiempo puede convenir no aceptar seales de interrupcin. Por ello las interrupciones pueden inhibirse por programa (aunque esto no deben poder hacerlo las mismas). Un ejemplo de sincronismo por interrupcin es el almacenamiento de caracteres introducidos mediante el teclado. Cuando se introduce un carcter, se codifica en el registro de datos del dispositivo y adems se activa un bit del registro de estado quien crea una interrupcin en el hardware. El procesador deja temporalmente la tarea que estaba completando y ejecuta la rutina de atencin a la interrupcin correspondiente. El teclado almacena el carcter en el vector de memoria intermedia ( tambin llamado buffer) asociada al teclado y despierta el proceso que haba en el estado de espera de la operacin de entrada/salida.

Excepciones
Cuando la CPU intenta ejecutar una instruccin incorrectamente construida, la unidad de control lanza una excepcin para permitir al SO ejecutar el tratamiento adecuado. Al contrario que en una interrupcin, la instruccin en curso es abortada. Las excepciones al igual que las interrupciones deben estar identificadas.
Clases de excepciones

Las instrucciones de un programa pueden estar mal construidas por diversas razones:

El cdigo de operacin puede ser incorrecto. Se intenta realizar alguna operacin no definida, como dividir por cero. La instruccin puede no estar permitida en el modo de ejecucin actual. La direccin de algn operando puede ser incorrecta o se intenta violar alguno de sus permisos de uso.

Importancia de las excepciones

El mecanismo de tratamiento de las excepciones es esencial para impedir, junto a los modos de ejecucin de la CPU y los mecanismos de proteccin de la memoria, que las aplicaciones realicen operaciones que no les estn permitidas. En cualquier caso, el tratamiento especfico de una excepcin lo realiza el SO. Como en el caso de las interrupciones, el hardware se limita a dejar el control al SO, y ste es el que trata la situacin como convenga. Es bastante frecuente que el tratamiento de una excepcin no retorne al programa que se estaba ejecutando cuando se produjo la excepcin, sino que el SO aborte la ejecucin de ese programa. Este factor depende de la pericia del programador para controlar la excepcin adecuadamente.

Componentes de un sistema operativo

Componentes del Sistema Operativo.

Gestin de procesos
Un proceso es simplemente, un programa en ejecucin que necesita recursos para realizar su tarea: tiempo de CPU, memoria, archivos y dispositivos de E/S. El SO es el responsable de:

Crear y destruir procesos Parar y reanudar procesos Ofrecer mecanismos para que los procesos puedan comunicarse y se sincronicen

La gestin de procesos podra ser similar al trabajo de oficina. Se puede tener una lista de tareas a realizar y a estas fijarles prioridades alta, media, baja por ejemplo. Debemos comenzar haciendo las tareas de prioridad alta primero y cuando se terminen seguir con las de prioridad media y despus las de baja. Una vez realizada la tarea se tacha. Esto puede traer un problema que las tareas de baja prioridad pueden que nunca lleguen a ejecutarse. y permanezcan en la lista para siempre. Para solucionar esto, se puede asignar alta prioridad a las tareas ms antiguas.

Gestin de la memoria principal


La memoria es una gran tabla de palabras o bytes que se referencian cada una mediante una direccin nica. Este almacn de datos de rpido acceso es compartido por la CPU y los dispositivos de E/S, es voltil y pierde su contenido ante fallos del sistema. El SO es el responsable de:

Conocer qu partes de la memoria estn siendo utilizadas y por quin Decidir qu procesos se cargarn en memoria cuando haya espacio disponible Asignar y reclamar espacio de memoria cuando sea necesario

Gestin del almacenamiento secundario


Un sistema de almacenamiento secundario es necesario, ya que la memoria principal (almacenamiento primario) es voltil y adems muy pequea para almacenar todos los programas y datos. Tambin es necesario mantener los datos que no convenga mantener en la memoria principal. El SO se encarga de:

Planificar los discos. Gestionar el espacio libre. Asignar el almacenamiento. Verificar que los datos se guarden en orden

El sistema de entrada y salida


Consiste en un sistema de almacenamiento temporal (cach), una interfaz de manejadores de dispositivos y otra para dispositivos concretos. El sistema operativo debe gestionar el almacenamiento temporal de E/S y servir las interrupciones de los dispositivos de E/S.

Sistema de archivos
Artculo principal: Sistema de archivos.

Los archivos son colecciones de informacin relacionada, definidas por sus creadores. stos almacenan programas (en cdigo fuente y objeto) y datos tales como imgenes, textos, informacin de bases de datos, etc. El SO es responsable de:

Construir y eliminar archivos y directorios. Ofrecer funciones para manipular archivos y directorios. Establecer la correspondencia entre archivos y unidades de almacenamiento. Realizar copias de seguridad de archivos.

Existen diferentes sistemas de archivos, es decir, existen diferentes formas de organizar la informacin que se almacena en las memorias (normalmente discos) de los ordenadores. Por ejemplo, existen los sistemas de archivos FAT, FAT32, EXT3, NTFS, XFS, etc. Desde el punto de vista del usuario estas diferencias pueden parecer insignificantes a primera vista, sin embargo, existen diferencias muy importantes. Por ejemplo, los sistemas de ficheros FAT32 y NTFS, que se utilizan fundamentalmente en sistemas operativos de Microsoft, tienen una gran diferencia para un usuario que utilice una base de datos con bastante informacin ya que el tamao mximo de un fichero con un sistema de archivos FAT32 est limitado a 4 gigabytes, sin embargo, en un sistema NTFS el tamao es considerablemente mayor.

Sistemas de proteccin
Mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. El SO se encarga de:

Distinguir entre uso autorizado y no autorizado. Especificar los controles de seguridad a realizar. Forzar el uso de estos mecanismos de proteccin.

Sistema de comunicaciones
Para mantener las comunicaciones con otros sistemas es necesario poder controlar el envo y recepcin de informacin a travs de las interfaces de red. Tambin hay que crear y mantener puntos de comunicacin que sirvan a las aplicaciones para enviar y recibir informacin, y crear y mantener conexiones virtuales entre aplicaciones que estn ejecutndose localmente y otras que lo hacen remotamente.

Programas de sistema
Son aplicaciones de utilidad que se suministran con el SO pero no forman parte de l. Ofrecen un entorno til para el desarrollo y ejecucin de programas, siendo algunas de las tareas que realizan:

Manipulacin y modificacin de archivos. Informacin del estado del sistema. Soporte a lenguajes de programacin. Comunicaciones.

Gestor de recursos
Como gestor de recursos, el sistema operativo administra:

La unidad central de procesamiento (donde est alojado el microprocesador). Los dispositivos de entrada y salida. La memoria principal (o de acceso directo). Los discos (o memoria secundaria). Los procesos (o programas en ejecucin). Y en general todos los recursos del sistema.

Clasificacin

Administracin de tareas

Monotarea: Solamente permite ejecutar un proceso (aparte de los procesos del propio SO) en un momento dado. Una vez que empieza a ejecutar un proceso, continuar hacindolo hasta su finalizacin y/o interrupcin. Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de SO. normalmente asigna los recursos disponibles (CPU, memoria, perifricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente.

Administracin de usuarios

Monousuario: Si slo permite ejecutar los programas de un usuario al mismo tiempo. Multiusuario: Si permite que varios usuarios ejecuten simultneamente sus programas, accediendo a la vez a los recursos de la computadora. Normalmente estos sistemas operativos utilizan mtodos de proteccin de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario.

Manejo de recursos

Centralizado: Si permite usar los recursos de una sola computadora. Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, perifricos...) de ms de una computadora al mismo tiempo.

Ejemplos de sistemas operativos para PC


Canaima Mac OS X Microsoft Windows GNU/Linux Unix Solaris FreeBSD OpenBSD Google Chrome OS Debian Ubuntu Mandriva Sabayon Fedora Linpus linux Haiku (BeOS)

Ejemplos de sistemas operativos para dispositivos mviles


Artculo principal: Sistema operativo mvil.

iOS Android Bada BlackBerry OS Windows Phone Symbian OS HP webOS Firefox OS

SISTEMA OPERATIVO
CONCEPTO DE SISTEMA OPERATIVO

Conjunto de programas que se integran con el hardware para facilitar al usuario, el aprovechamiento de los recursos disponibles. Algunos de sus objetivos principales son:
o o o

Provee de un ambiente conveniente de trabajo. Hace uso eficiente del Hardware. Provee de una adecuada distribucin de los recursos. Para un Sistema Operativo real deber satisfacer las siguientes funciones:

o o o

Gobierna el Sistema. Asigna los recursos. Administra y controlar la ejecucin de los programas. Un sistema de computo en muchos casos cuenta con demasiados recursos para ser utilizados por un solo usuario, es en estos casos cuando se puede dar servicio a varios procesos.

Sistema Operativo Llamadas al Sistema El Sistema Operativo en conjunto con el Hardware aparecen al usuario como un solo dispositivo con un conjunto de instrucciones ms flexibles y variadas a las que se conoce como Llamadas al Sistema (System Callings). Intrprete de Comandos Tambin conocido por su nombre en ingls, Shell, es un programa que interpreta las rdenes del usuario y las convierte en Llamadas al Sistema. Ncleo (o Kernel) Es la parte del Sistema Operativo que se encarga de sincronizar la activacin de los procesos y definir prioridades. Programas del Sistema Son programas de servicio que debe ser solicitados explcitamente por los usuarios. Como ejemplos de estos tenemos: 1. Compiladores Son programas que traducen Programas Fuente en programas Objeto. 2. Ensambladores Traducen programas escritos con mnemnicos a lenguaje de mquina. 3. Editores Son programas que permiten escribir textos y guardarlos en memoria secundaria. 4. Utileras de Archivos Programas para dar mantenimiento a los archivos.

5. Bibliotecas Programas que contienen rutinas para realizar funciones frecuentemente requeridas. Estas funciones pueden ser ligadas a los programas escritos por el usuario. Programas de Aplicacin Programas externos al sistema, utilizados para realizar tareas especficas como simulacin, creacin y edicin de grficas e imgenes, etc.. Sistema Operativo Es el programa o programas que tienen todas las computadoras modernas, el usuario de un equipo de computo no tiene que preocuparse de como funciona, por ejemplo, una unidad lectora de disco, slo necesita pedirle al sistema operativo que lo lea o escriba en el disco mediante un comando. El ms comnmente usado es el MS-DOS. Conjunto de programas que sirven como interfaz entre el usuario (Sirve como agente de intercambio de informacin entre la computadora y el usuario.) y la computadora, adems de que administran los recursos de la misma (Entendindose como recursos: Memoria, Disco Duro, Procesador, Monitor, Etc.).

TIPOS DE SISTEMAS OPERATIVOS


Existen dos tipos generales de sistemas operativos: Los basados en caracteres y los de interfaz grfica (ambientes amigables). El sistema basado en caracteres es ejemplificado perfectamente con el sistema operativo utilizado por las computadoras IBM y compatibles. El MS-DOS est listo para recibir un comando desplegando el tipo de indicador (A> o C>) en la pantalla; en donde el usuario escribe carcter por carcter el comando que se desea ejecutar. Ante las justificadas quejas de los usuarios por la falta de programas amigables, los desarrolladores de software respondieron aadiendo mens y mensajes en pantalla. Los mens mejoran en mucho la cordialidad de los programas, reduciendo el nmero de comandos que se necesitan conocer. La Macintosh logr crear la primera interfaz grfica, posteriormente Microsoft introdujo la interfaz grfica Windows para las computadoras IBM y compatibles. Cada programa en Windows tiene reservada un rea de la pantalla conocida con el nombre de ventana. Un sistema operativo que se opera mediante el uso de imgenes y smbolos en vez de palabras se denomina interfaz grfica para el usuario, o GUI (Graphic User Interface).

ESTRUCTURA BASICA DE UN SISTEMA OPERATIVO

A) CARGADOR Cualquier programa que requiere ser ejecutado en la computadora, deber ser transferido desde su lugar de residencia a la memoria principal. B) CARGADOR PARA EL SISTEMA OPERATIVO

Este programa se encarga de transferir desde algn medio de almacenamiento externo (disco, cinta o tambor) a la memoria principal, los programas del sistema operativo que tienen como finalidad establecer el ambiente de trabajo del equipo de cmputo. Existe un programa especial almacenado en memoria ROM que se encarga de accesar a este programa cargador. Cuando el sistema operativo esta cargado en memoria toma el control absoluto de las operaciones del sistema. C) CARGADOR INCLUIDO EN EL SISTEMA OPERATIVO Su funcin es cargar a memoria todos los archivos necesarios para la ejecucin de un proceso. SUPERVISOR (EJECUTIVO O MONITOR) Es el administrador del sistema que controla todo el proceso de la informacin por medio de un gran nmero de rutinas que entran en accin cuando son requeridos. Funge como enlace entre los programas del usuario y todas las rutinas que controlan los recursos requeridos por el programa para posteriormente continuar con su ejecucin. El supervisor tambin realiza otras funciones como son: - Administra la memoria. - Administracin de las rutinas que controlan el funcionamiento de los recursos de la computadora. - Manejo de Archivos - Administracin y control de la ejecucin de los programas. LENGUAJE DE COMUNICACION Es el medio a travs del cual el usuario interacta directamente con el sistema operativo y esta formado por comandos que son introducidos a travs de algn dispositivo. Generalmente un comando consta de dos partes, la primera formada por una palabra que identifica el comando y la accin a realizar y la segunda parte por un conjunto de valores o parmetros que permiten seleccionar diversas operaciones de entre los que dispone el comando. UTILERIA DE SISTEMA Son programas o rutinas del sistema operativo que realizan diversas funciones de uso comn o aplicacin frecuente como son: clasificar, copiar e imprimir informacin.

FUNCIONES BASICAS DE UN SISTEMA OPERATIVO


PROGRAMAS DE CONTROL

ADMINISTRACION DE TRABAJOS Cuando existen varios programas en espera de ser procesados, el sistema operativo debe decidir el orden de procesamiento de ellos, as como asignar los recursos necesarios para su proceso. ADMINISTRACION DE RECURSOS

Mediante est funcin el sistema operativo esta en capacidad de distribuir en forma adecuada y en el momento oportuno los diferentes recursos (memoria, dispositivos, etc.,...) entre los diversos programas que se encuentran en proceso, para esto, lleva un registro que le permite conocer que recursos estn disponibles y cuales estn siendo utilizados, por cuanto tiempo y por quien, etc. CONTROL DE OPERACIONES DE ENTRADA Y SALIDA Mediante esta actividad el sistema operativo decide que proceso har uso del recurso, durante cunto tiempo y en que momento. ADMINISTRACION DE LA MEMORIA Supervisa que reas de memoria estn en uso y cual estn libre, determina cuanta memoria asignar a un proceso y en que momento, adems libera la memoria cuando ya no es requerida para el proceso. RECUPERACION DE ERRORES El sistema operativo contiene rutinas que intentan evitar perder el control de una tarea cuando se suscitan errores en la trasferencia de informacin hacia y desde los dispositivos de entrada / salida. PROGRAMAS DE PROCESO El sistema operativo contiene programas de servicios que sirven de apoyo al procesamiento de los trabajos, se conocen tambin como utileras y se pueden clasificar en tres tipos: A) UTILERIAS DEL SISTEMA Se ejecutan bajo el control del sistema operativo y se utilizan para preparar algunos recursos usados por el sistema. Son de uso interno. B) UTILERIAS PARA ARCHIVOS Manejan informacin de los archivos tales como imprimir, clasificar, copiar, etc. C) UTILERIAS INDEPENDIENTES Realizar funciones que se relacionan con la iniciacin de dispositivos de Entrada/Salida, carga del sistema operativo, etc. TIPOS DE SISTEMA OPERATIVO El sistema operativo como controlador y supervisor de todas las actividades que realiza la computadora tiene caractersticas que le permiten soportar tcnicas avanzadas de procesamiento de datos como: - La utilizacin de Lenguaje de Alto Nivel. - Tiempo Compartido. - Multiprogramacin. - Memoria Virtual.

A futuro en un S.O
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. El sistema operativo examina entonces los parmetros de la llamada, para determinar cual de ellas se desea realizar. A continuacin, el sistema operativo analiza una tabla que contiene en la entrada k un apuntador al procedimiento que realiza la n-esima llamada al sistema. Esta operacin identifica el procedimiento de servicio, al cual se llama. Por ultimo, la llamada al sistema termina y el control regresa al programa del usuario. La forma en que debe hacerse una llamada al sistema: 1. 2. 3. 4. el programa del usuario es atrado hacia el ncleo. el sistema operativo determina el nmero del servicio solicitado. el sistema operativo localiza y llama al procedimiento correspondiente al servicio. 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.

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: 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. La capa 5 En esta capa se localizaba el proceso operador del sistema. 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. 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, 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.

El modelo Cliente-servidor:

Otra de las ventajas del modelo cliente-servidor es su capacidad de adaptacin para su uso en los sistemas distribuidos. 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.

Você também pode gostar