Sunteți pe pagina 1din 16

Sistemas Operativos

Unidad 1

1. INTRODUCCIN A LOS SISTEMAS OPERATIVOS


1.1 CONCEPTO Y FUNCIONES DEL SISTEMA OPERATIVO Sin el software una computadora es en esencia una masa metlica sin utilidad. Con el software, una computadora puede almacenar, procesar y recuperar informacin, encontrar errores de ortografa e intervenir en muchas otras valiosas actividades para ganar el sustento. El software para computadoras puede clasificarse en general, en 2 clases: los programas de sistema, que controlan la operacin de la computadora en s y los programas de aplicacin, los cuales resuelven problemas para sus usuarios. El progr ama 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. Qu es un Sistema Operativo? Una de las definiciones ms comnmente aceptadas expresa: Un Sistema Operativo es un grupo de programas de proceso con las rutinas de control necesarias para mantener continuamente operativos dichos programas. 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, entonces, 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. En base en lo anterior, el objetivo primario de un Sistema Operativo es: Optimizar todos los recursos del sistema para soportar los requerimientos. El Sistema Operativo es el programa fundamental de todos los programas de sistema. El protege y libera a los programadores de la complejidad del hardware, colocndose un nivel de software por sobre el hardware para: Controlar todas las partes del sistema. Presentar al usuario una interfaz o mquina virtual. Una de las principales funciones del Sistema Operativo es ocultar toda esta complejidad y brindar al programador un conjunto ms conveniente de instrucciones para trabajar. El Sistema Operativo se encuentra almacenado en la memoria secundaria. Primero se carga y ejecuta un pedazo de cdigo que se encuentra en el procesador, el cual carga el BIOS, y este a su vez carga el Sistema Operativo que carga todos los programas de aplicacin y software variado. En los aos sesenta, un sistema operativo se podra haber definido como el software que controla al hardware. Sin embargo, actualmente existe una tendencia significativa a la transferencia de las funciones del software al firmware, es decir, microcdigo. Dicha tendencia se ha pronunciado tanto que es probable que en algunos sistemas las funciones codificadas en firmware sobrepasen pronto a aqullas codificadas en software. Es evidente que se necesita una nueva definicin de sistema operativo. Se puede imaginar un sistema operativo como los programas, instalados en el software o el firmware, que hacen utilizable el hardware.
Universidad Autnoma de Nayarit

Sistemas Operativos

Unidad 1

Un sistema operativo es un conjunto de programas que administran eficientemente los recursos de un sistema de cmputo, controlando la ejecucin de programas de aplicacin y actuando como una interfaz entre el usuario y la computadora (el hardware). Puede considerarse que un sistema operativo lleva a cabo tres funciones principales: Comodidad: Un sistema operativo hace que una computadora sea ms fcil de utilizar. Eficiencia: Un sistema operativo permite que los recursos de un sistema informtico se aprovechen de una manera ms eficiente. Capacidad de evolucin: Un sistema operativo deber construirse de modo que permita el desarrollo efectivo, la verificacin y la introduccin de nuevas funciones en el sistema y a la vez, no interferir en los servicios que brinda.

Las principales caractersticas de los S. O. son: Definir la Interfaz del Usuario. Compartir el hardware entre usuarios. Permitir a los usuarios compartir los datos entre ellos. Planificar recursos entre usuarios. Facilitar la entrada / salida. Recuperarse de los errores. Los principales recursos administrados por los S. O. son: Procesadores. Almacenamiento. Dispositivos de e / s. Datos. Los sistemas operativos son ante todo administradores de recursos; el principal recurso que administran es el hardware de la computadora: el procesador, los medios de almacenamiento, los dispositivos de E/S, los dispositivos de comunicacin y los datos. Los sistemas operativos realizan muchas funciones, como proporcionar la interfaz con el usuario, permitir que los usuarios compartan entre s el hardware y los datos, evitar que los usuarios se interfieran recprocamente, planificar la distribucin de los recursos entre los usuarios, facilitar la entrada y salida, recuperarse de los errores, contabilizar el uso de los recursos, facilitar las operaciones en paralelo, organizar los datos para lograr un acceso rpido y seguro, y manejar las comunicaciones en red.

Fig 1.1: Hardware, Sistema Operativo y Aplicaciones

Como sea que se decida definir los sistemas operativos, lo importante es no olvidar que constituyen una parte integral del ambiente de cmputo y, por tanto, necesitan ser comprendidos en alguna medida por todos los usuarios de computadoras.
Universidad Autnoma de Nayarit

Sistemas Operativos

Unidad 1

1.2 ESTRUCTURA DE UN SISTEMA OPERATIVO


El esquema que suele usarse para el estudio de los sistemas operativos recibe el nombre de modelo de cebolla, debido a que esta formado por capas concntricas al rededor del ncleo (ver figura 1.2).

La parte interna del conjunto jerrquico de programas que forman un sistema operativo recibe el nombre de ncleo o kernel. Las otras capas se encargan del manejo de la memoria, el procesador, los dispositivos de E/S y los archivos.

Cmo est conforma do un sistema operativo? Un sistema operativo est conformado bsicamente por cuatro mdulos: Ncleo o Kernel. Administrador de memoria. Sistema de entrada/salida. Administrador de archivos. A veces se considera un quinto mdulo: el intrprete de comandos o intrprete de instrucciones, tambin llamado shell, el cual se encarga de "traducir" las rdenes que el usuario ingresa mediante el teclado u otros dispositivos a un "lenguaje" que la mquina pueda entender. Ncleo o Kernel Es el mdulo de ms bajo nivel de un sistema operativo, pues descansa directamente sobre el hardware de la computadora. Entre las tareas que desempea se incluyen el manejo de las interrupciones, la asignacin de trabajo al procesador y el proporcionar una va de comunicacin entre los distintos programas. En general, el ncleo se encarga de controlar el resto de los mdulos y sincronizar su ejecucin. El ncleo contiene un submdulo denominado "planificador", el cual se encarga de asignar tiempo del procesador a los programas, de acuerdo a una cierta poltica de planificacin que vara de un sistema operativo a otro. Normalmente se utiliza una jerarqua de prioridades que determinan cmo se asignar el tiempo del CPU a cada programa. Una poltica de planificacin muy comn en los sistemas de multiprogramacin y multiproceso son las tcnicas de "time slicing" (fraccin de tiempo). Se asigna a cada programa un corto intervalo de tiempo del procesador. Si el programa no ha terminado durante este intervalo de tiempo, vuelve a la cola de programas. Administrador de memoria Este mdulo se encarga de asignar ciertas porciones de la memoria principal (RAM) a los diferentes programas o partes de los programas que la necesiten, mientras el resto de los datos y los programas se mantienen en los dispositivos de almacenamiento masivo. De este modo, cuando se asigna una parte de la memoria principal se hace de una forma estructurada, siguiendo un determinado orden. La forma ms comn de administracin de la memoria supone crear una memoria virtual; con este sistema, la memoria de la computadora aparece, para cualquier usuario del sistema, mucho mayor de lo que en realidad es.
Universidad Autnoma de Nayarit

Sistemas Operativos

Unidad 1

Sistema de entrada/salida (E/S) Este componente presenta al usuario la E/S de datos como una cuestin independiente del dispositivo; es decir, para los usuarios, todos los dispositivos tienen las mismas caractersticas y son tratados de la misma forma, siendo el sistema operativo el encargado de atender las particularidades de cada uno de ellos (como su velocidad de operacin). Una tcnica muy comn, especialmente en salida, es el uso de "spoolers". Los datos de salida se almacenan de forma temporal en una cola situada en un dispositivo de almacenamiento masivo (el spool), hasta que el dispositivo perifrico requerido se encuentre libre; de este modo se evita que un programa quede retenido porque el perifrico no est disponible. Administrador de archivos Se encarga de mantener la estructura de los datos y los programas del sistema y de los diferentes usuarios (que se mantienen en archivos) y de asegurar el uso eficiente de los medios de almacenamiento masivo. El administrador de archivos tambin supervisa la creacin, actualizacin y eliminacin de los archivos, manteniendo un directorio con todos los archivos que existen en el sistema en cada momento y coopera con el mdulo administrador de memoria durante las transferencias de datos desde y hacia la memoria principal. Si se dispone de un sistema de memoria virtual, existen transferencias entre la memoria principal y los medios de almacenamiento masivo para mantener la estructura de la misma.

1.3 CLASIFICACION DE LOS SISTEMAS OPERATIVOS


En esta seccin se describirn las caractersticas que clasifican a los sistemas operativos, bsicamente se cubrirn tres clasificaciones: sistemas operativos por su estructura (visin interna), sistemas operativos por los servicios que ofrecen, sistemas operativos por la forma en que ofrecen sus servicios (visin externa).

Sistemas Operativos por su Estructura


Estructura monoltica. Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra (Ver Fig. 2).

Universidad Autnoma de Nayarit

Sistemas Operativos

Unidad 1

Las caractersticas fundamentales de este tipo de estructura son: Construccin del programa final a base de mdulos compilados separadamente que se unen a travs del ligador. Buena definicin de parmetros de enlace entre las distintas rutinas existentes, que puede provocar mucho acoplamiento. Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos de los recursos de la computadora, como memoria, disco, etc. Generalmente estn hechos a medida, por lo que son eficientes y rpidos en su ejecucin y gestin, pero por lo mismo carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones. Estructura jerrquica o por capas. A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organizacin del software, del sistema operativo, donde una parte del sistema contena subpartes y esto organizado en forma de niveles. Se dividi el sistema operativo en pequeas partes, de tal forma que cada una de ellas estuviera perfectamente definida y con un claro interface con el resto de elementos. Se constituy una estructura jerrquica o de niveles en los sistemas operativos, el primero de los cuales fue denominado THE (Technische Hogeschool, Eindhoven), de Dijkstra, que se utiliz con fines didcticos (Ver Fig. 3). Se puede pensar tambin en estos sistemas como si fueran `multicapa'. Multics y Unix caen en esa categora. En la estructura anterior se basan prcticamente la mayora de los sistemas operativos actuales. Otra forma de ver este tipo de sistema es la denominada de anillos concntricos o "rings" (Ver Fig. 4).

Universidad Autnoma de Nayarit

Sistemas Operativos

Unidad 1

En el sistema de anillos, cada uno tiene una apertura, conocida como puerta o trampa (trap), por donde pueden entrar las llamadas de las capas inferiores. De esta forma, las zonas ms internas del sistema operativo o ncleo del sistema estarn ms protegidas de accesos indeseados desde las capas ms externas. Las capas ms internas sern, por tanto, ms privilegiadas que las externas. Mquina Virtual. Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrando una mquina que parece idntica a la mquina real subyacente. Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la multiprogramacin y la mquina extendida. El objetivo de los sistemas operativos de mquina virtual es el de integrar distintos sistemas operativos dando la sensacin de ser varias mquinas diferentes. El ncleo de estos sistemas operativos se denomina monitor virtual y tiene como misin llevar a cabo la multiprogramacin, presentando a los niveles superiores tantas mquinas virtuales como se soliciten. Estas mquinas virtuales no son mquinas extendidas, sino una rplica de la mquina real, de manera que en cada una de ellas se pueda ejecutar un sistema operativo diferente, que ser el que ofrezca la mquina extendida al usuario (Ver Fig. 5). Cliente-servidor ( Microkernel) El tipo ms reciente de sistemas operativos es el denominado Cliente-servidor, que puede ser ejecutado en la mayora de las computadoras, ya sean grandes o pequeas. Este sistema sirve para toda clase de aplicaciones por tanto, es de propsito general y cumple con las mismas actividades que los sistemas operativos convencionales. Se separa el sistema operativo en mdulos: Sistema de Archivos, Memoria, Procesos, etc. El kernel slo se dedica a pasar mensajes entre los mdulos. La mayora de los mdulos en user-mode. El ncleo tiene como misin establecer la comunicacin entre los clientes y los servidores. Los procesos pueden ser tanto servidores como clientes. Por ejemplo, un programa de aplicacin normal es un cliente que llama al servidor correspondiente para acceder a un archivo o realizar una operacin de entrada/salida sobre un dispositivo concreto. A su vez, un proceso cliente puede actuar como servidor para otro." . Este paradigma ofrece gran flexibilidad en cuanto a los servicios posibles en el sistema final, ya que el ncleo provee solamente funciones muy bsicas de memoria, entrada/salida, archivos y procesos, dejando a los servidores proveer la mayora que el usuario final o programador puede usar. Estos servidores deben tener mecanismos de seguridad y proteccin que, a su vez, sern filtrados por el ncleo que controla el hardware. Actualmente se est trabajando en una versin de UNIX que contempla en su diseo este paradigma.
Universidad Autnoma de Nayarit

Sistemas Operativos

Unidad 1

Sistemas Operativos por Servicios


Esta clasificacin es la ms comnmente usada y conocida desde el punto de vista del usuario final. Esta clasificacin se comprende fcilmente con el cuadro sinptico que a continuacin se muestra en la Fig. 6. Monousuarios Los sistemas operativos monousuarios son aqullos que soportan a un usuario a la vez, sin importar el nmero de procesadores que tenga la computadora o el nmero de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras personales tpicame nte se han clasificado en este rengln. Multiusuarios Los sistemas operativos multiusuarios son capaces de dar servicio a ms de un usuario a la vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una red de comunicaciones. No importa el nmero de procesadores en la mquina ni el nmero de procesos que cada usuario puede ejecutar simultneamente. Monotareas Los sistemas monotarea son aquellos que slo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez. Multitareas Un sistema operativo multitarea es aqul que le permite al usuario estar realizando varias labores al mismo tiempo. Por ejemplo, puede estar editando el cdigo fuente de un programa durante su depuracin mientras compila otro programa, a la vez que est recibiendo correo electrnico en un proceso en background. Es comn encontrar en ellos interfaces grficas orientadas al uso de mens y el ratn, lo cual permite un rpido intercambio entre las tareas para el usuario, mejorando su productividad. Uniproceso Un sistema operativo uniproceso es aqul que es capaz de manejar solamente un procesador de la computadora, de manera que si la computadora tuviese ms de uno le sera intil. El ejemplo ms tpico de este tipo de sistemas es el DOS y MacOS.
Universidad Autnoma de Nayarit

Sistemas Operativos

Unidad 1

Multiproceso Un sistema operativo multiproceso se refiere a l nmero de procesadores del sistema, que es ms de uno y ste es capaz de usarlos todos para distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos formas: simtrica o asimtricamente. Cuando se trabaja de manera asimtrica, el sistema operativo selecciona a uno de los procesadores el cual jugar el papel de procesador maestro y servir como pivote para distribuir la carga a los dems procesadores, que reciben el nombre de esclavos. Cuando se trabaja de manera simtrica, los procesos o partes de ellos (threads) son enviados indistintamente a cualquiera de los procesadores disponibles, teniendo, tericamente, una mejor distribucin y equilibrio en la carga de trabajo bajo este esquema. Un aspecto importante a considerar en estos sistemas es la forma de crear aplicaciones para aprovechar los varios procesadores. Existen aplicaciones que fueron hechas para correr en sistemas monoproceso que no toman ninguna ventaja a menos que el sistema operativo o el compilador detecte secciones de cdigo paralelizable, los cuales son ejecutados al mismo tiempo en procesadores diferentes.

Sistemas Operativos por la Forma de Ofrecer sus Servicios


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. Muchos Sistemas Operativos de tiempo real son construidos para aplicaciones muy especficas como control de trfico areo, bolsas de valores, control de refineras, control de laminadores. Tambin en el ramo automovilstico y de la electrnica de consumo, las aplicaciones de tiempo real estn creciendo muy rpidamente. Otros campos de aplicacin de los Sistemas Operativos de tiempo real son los siguientes: Control de trenes. Telecomunicaciones. Sistemas de fabricacin integrada. Produccin y distribucin de energa elctrica. Control de edificios. Sistemas multimedia.

Algunos ejemplos de Sistemas Operativos de tiempo real son: VxWorks, Solaris, Lyns OS y Spectra.
Universidad Autnoma de Nayarit

Sistemas Operativos

Unidad 1

Sistemas Operativos por lotes. Los Sistemas Operativos por lotes, procesan una gran cantidad de trabajos con poca o ninguna interaccin entre los usuarios y los programas en ejecucin. 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. Cuando estos sistemas son bien planeados, pueden tener un tiempo de ejecucin muy alto, porque el procesador es mejor utilizado y los Sistemas Operativos pueden ser simples, debido a la secuenciabilidad de la ejecucin de los trabajos. Algunos ejemplos de Sistemas Operativos por lotes exitosos son el SCOPE, del DC6600, el cual est orientado a procesamiento cientfico pesado, y el EXEC II para el UNIVAC 1107, orientado a procesamiento acadmico.

Figura. Trabajos ms comunes que realiza el Sis tema Operativo por lotes.

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 posib le, y la respuesta aparecer en la terminal del 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.

Ejemplos de Sistemas Operativos de tiempo compartido son Multics, OS/360 y DEC-10.


Universidad Autnoma de Nayarit

Sistemas Operativos

Unidad 1

Sistemas Operativos de Red Los sistemas operativos de red se definen como aquellos que tiene la capacidad de interactuar con sistemas operativos en otras computadoras por medio de un medio de transmisin con el objeto de intercambiar informacin, transferir archivos, ejecutar comandos remotos y un sin fin de otras actividades. El punto crucial de estos sistemas es que el usuario debe saber la sintaxis de un conjunto de comandos o llamadas al sistema para ejecutar estas operaciones, adems de la ubicacin de los recursos que desee accesar. Por ejemplo, si un usuario en la computadora hidalgo necesita el archivo matriz.pas que se localiza en el directorio /software/codigo en la computadora morelos bajo el sistema operativo UNIX, dicho usuario podra copiarlo a travs de la red con los comandos siguientes: hidalgo% hidalgo% rcp morelos:/software/codigo/matriz.pas . hidalgo% En este caso, el comando rcp que significa "remote copy" trae el archivo indicado de la computadora morelos y lo coloca en el directorio donde se ejecut el mencionado comando. Lo importante es hacer ver que el usuario puede accesar y compartir muchos recursos.

Figura. Se muestra un Sistema Operativo en red.

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 mas ampliamente usados son: Novell Netware, Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic. 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. En UNIX existe tambin la posibilidad de ejecutar programas sin tener que atenderlos en forma interactiva, simulando paralelismo (es decir, atender de manera concurrente varios procesos de un mismo usuario). As, en lugar de esperar a que el proceso termine de ejecutarse (como lo hara normalmente), regresa a atender al usuario inmediatamente despus de haber creado el proceso. Ejemplos de estos tipos de Sistemas Operativos estn: Alpha, PVM, la serie AIX, que es utilizado en los sistemas RS/6000 de IBM.
Universidad Autnoma de Nayarit

10

Sistemas Operativos

Unidad 1

Sistemas Operativos Distribudos Los sistemas operativos distribudos abarcan los servicios de los de red, logrando integrar recursos (impresoras, unidades de respaldo, memoria, procesos, unidades centrales de proceso) en una sola mquina virtual que el usuario acceda en forma transparente. Es decir, ahora el usuario ya no necesita saber la ubicacin de los recursos, sino que los conoce por nombre y simplemente los usa como si todos ellos fuesen locales a su lugar de trabajo habitual. Todo lo anterior es el marco terico de lo que se deseara tener como sistema operativo distribudo, pero en la realidad no se ha conseguido crear uno del todo, por la complejidad que suponen: distribuir los procesos en las varias unidades de procesamiento, reintegrar sub-resultados, resolver problemas de concurrencia y paralelismo, recuperarse de fallas de algunos recursos distribudos y consolidar la proteccin y seguridad entre los diferentes componentes del sistema y los usuarios. Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se compone otro componente debe de ser capaz de reemplazarlo. Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.

El sistema integrador de los microprocesadores que hace ver a las varias memorias, procesadores, y todos los dems recursos como una sola entidad en forma transparente se le llama sistema operativo distribudo. Las razones para crear o adoptar sistemas distribudos se dan por dos razones principales: por necesidad (debido a que los problemas a resolver son inherentemente distribudos) o porque se desea tener ms confiabilidad y disponibilidad de recursos. En el primer caso tenemos, por ejemplo, el control de los cajeros automticos en diferentes estados de la repblica. Ah no es posible ni eficiente mantener un control centralizado, es ms, no existe capacidad de cmputo y de entrada/salida para dar servicio a los millones de operaciones por minuto. En el segundo caso, supngase que se tienen en una gran empresa varios grupos de trabajo, cada uno necesita almacenar grandes cantidades de informacin en disco duro con una alta confiabilidad y disponibilidad.

Universidad Autnoma de Nayarit

11

Sistemas Operativos

Unidad 1

La solucin puede ser que para cada grupo de trabajo se asigne una particin de disco duro en servidores diferentes, de manera que si uno de los servidores falla, no se deje dar el servicio a todos, sino slo a unos cuantos y, ms an, se podra tener un sistema con discos en espejo ( mirror ) a travs de la red, de manera que si un servidor se cae, el servidor en espejo contina trabajando y el usuario ni cuenta se da de estas fallas, es decir, obtiene acceso a recursos en forma transparente.
Ventajas de los Sistemas Distribudos

En general, los sistemas distribudos (no solamente los sistemas operativos) exhiben algunas ventajas sobre los sistemas centralizados que se describen enseguida. Economa: El cociente precio/desempeo de la suma del poder de los procesadores separados contra el poder de uno solo centralizado es mejor cuando estn distribudos. Velocidad: Relacionado con el punto anterior, la velocidad sumada es muy superior. Confiabilidad: Si una sola mquina fa lla, el sistema total sigue funcionando. Crecimiento: El poder total del sistema puede irse incrementando al aadir pequeos sistemas, lo cual es mucho ms difcil en un sistema centralizado y caro. Por otro lado, los sistemas distribudos tambin exhiben algunas ventajas sobre sistemas aislados. Estas ventajas son: Compartir datos: Un sistema distribudo permite compartir datos ms fcilmente que los sistemas aislados, que tendran que duplicarlos en cada nodo para lograrlo. Compartir dispositivo s: Un sistema distribudo permite accesar dispositivos desde cualquier nodo en forma transparente, lo cual es imposible con los sistemas aislados. El sistema distribudo logra un efecto sinergtico.
Desventajas de los Sistemas Distribudos

As como los sistemas distribudos exhiben grandes ventajas, tambin se pueden identificar algunas desventajas, algunas de ellas tan serias que han frenado la produccin comercial de sistemas operativos en la actualidad. El problema ms importante en la creacin de sistemas distribudos es el software: los problemas de comparticin de datos y recursos es tan complejo que los mecanismos de solucin generan mucha sobrecarga al sistema hacindolo ineficiente. El checar, por ejemplo, quines tienen acceso a algunos recursos y quines no, el aplicar los mecanismos de proteccin y registro de permisos consume demasiados recursos. En general, las soluciones presentes para estos problemas estn an en paales. Otros problemas de los sistemas operativos distribudos surgen debido a la concurrencia y al paralelismo. Tradicionalmente las aplicaciones son creadas para computadoras que ejecutan secuencialmente, de manera que el identificar secciones de cdigo `paralelizable' es un trabajo ardo, pero necesario para dividir un proceso grande en sub-procesos y enviarlos a diferentes unidades de procesamiento para lograr la distribucin. Con la concurrencia se deben implantar mecanismos para evitar las condiciones de competencia, las postergaciones indefinidas, el ocupar un recurso y estar esperando otro, las condiciones de espera circulares y, finalmente, los "abrazos mortales" (deadlocks). Estos problemas de por s se presentan en los sistemas operativos multiusuarios o multitareas, y su tratamiento en los sistemas distribudos es an m s complejo, y por lo tanto, necesitar de algoritmos ms complejos con la inherente sobrecarga esperada. Por otro lado, en el tema de sistemas distribudos existen varios conceptos importantes referentes al hardware que no se ve remos en este momento: multicomputadoras, multiprocesadores, sistemas acoplados dbil y fuertemente, etc.

Universidad Autnoma de Nayarit

12

Sistemas Operativos

Unidad 1

1.4 HISTORIA Y EVOLUCIN DE LOS SISTEMAS OPERATIVOS


Historia de los Sistemas Operativos Para tratar de comprender los requisitos de un Sistema Operativo y el significado de las principales caractersticas de un Sistema Operativo contemporneo, es til considerar como han ido evolucionando stos con el tiempo. Existen diferentes enfoques o versiones de como han ido evolucionando los Sistemas Operativos. La primera de estas versiones podra ser esta: En los 40's, se introducen los programas bit a bit, por medio de interruptores mecnicos y despus se introdujo el lenguaje mquina que trabajaba por tarjetas perforadas. Con las primeras computadoras, desde finales de los aos 40 hasta la mitad de los aos 50, el programador interactuaba de manera directa con el hardware de la computadora, no exista realmente un Sistema Operativo; las primeras computadoras utilizaban bulbos, la entrada de datos y los programas se realizaban a travs del lenguaje mquina (bits) o a travs de interruptores. Durante los aos 50's y 60's.- A principio de los 50's, la compaa General's Motors implanto el primer sistema operativo para su IBM 170. Empiezan a surgir las tarjetas perforadas las cuales permiten que los usuarios (que en ese tiempo eran programadores, diseadores, capturistas, etc.), se encarguen de modificar sus programas. Establecan o apartaban tiempo, metan o introducan sus programas, corregan y depuraban sus programas en su tiempo. A esto se le llamaba trabajo en serie. Todo esto se traduca en prdida de tiempo y tiempos de programas excesivos. En los aos 60's y 70's se genera el circuito integrado, se organizan los trabajos y se generan los procesos Ba tch (por lotes), lo cual consiste en determinar los trabajos comunes y realizarlos todos juntos de una sola vez. En esta poca surgen las unidades de cinta y el cargador de programas, el cual se considera como el primer tipo de Sistema Operativo. En los 80's, inici el auge de la INTERNET en los Estados Unidos de Amrica. A finales de los aos 80's comienza el gran auge y evolucin de los Sistemas Operativos. Se descubre el concepto de multiprogramacin que consiste en tener cargados en memoria a varios trabajos al mismo tiempo, tema principal de los Sistemas Operativos actuales. Los 90's y el futuro, entramos a la era de la computacin distribuida y del multiprocesamiento a travs de mltiples redes de computadoras, aprovechando el ciclo del procesador. Se tendr una configuracin dinmica con un reconocimiento inmediato de dispositivos y software que se aada o elimine de las redes a travs de procesos de registro y localizadores. La conectividad se facilita gracias a estndares y protocolos de sistemas abiertos por organizaciones como la Org. Intern. de normas, fundacin de software abierto, todo estar mas controlado por los protocolos de comunicacin OSI y por la red de servicios digital ISDN.

Universidad Autnoma de Nayarit

13

Sistemas Operativos

Unidad 1

Se ha desarrollado otra versin, la cual se ha hecho en base a etapas o generaciones: Primera generacin (1945-1955): bulbos y conexiones:
o o

Carencia de S. O. En los aos cincuenta comienzan como transicin entre trabajos, haciendo la misma ms simple. Completo acceso al lenguaje de mquina.

Segunda generacin (1955-1965): transistores y sistemas de procesamiento por lotes (batch):


o

En los aos sesenta aparecen los S. O. para sistemas compartidos con:

Multiprogramacin: varios programas de usuarios se encuentran al mismo tiempo en el almacenamiento principal, cambiando el procesador rpidamente de un trabajo a otro. Multiprocesamiento : varios procesadores se utilizan en un mismo sistema para incrementar el poder de procesamiento.

Posteriorme nte aparece la independencia de dispositivo :

El programa del usuario especifica las caractersticas de los dispositivos que requieren los archivos. El S. O. asigna los dispositivos correspondientes segn los requerimientos y las disponibilidades.

Tercera generacin (1965-1980): circuitos integrados y multiprogramacin:


o

Difusin de la multiprogramacin:

Particin de la memoria en porciones, con trabajos distintos en cada una de ellas. Aprovechamiento del tiempo de espera consecuencia de operaciones de e / s, para utilizar la CPU para otros procesos.

o o

Proteccin por hardware del contenido de cada particin de memoria. Aparicin de tcnicas de spooling :

Simultaneous Peripheral Operation On Line: operacin simultnea y en lnea de perifricos. Almacenamiento de trabajos de entrada y de salida en dispositivos transitorios rpidos (discos), para disminuir el impacto de los perifricos ms lentos.

Son sistemas de modos mltiples, es decir que deben soportar sistemas de propsitos generales; son grandes y complejos pero muy poderosos. Interponen una capa de software entre el usuario y el hardware.

Universidad Autnoma de Nayarit

14

Sistemas Operativos o

Unidad 1

Aparecen los lenguajes de control de trabajos , necesarios para especificar el trabajo y los recursos requeridos. Soportan timesharing (tiempo compartido), variante de la multiprogramacin con usuarios conectados mediante terminales en lnea, permitiendo la operacin en modo interactivo o conversacional. Aparecen los sistemas de tiempo real, que requieren tiempos de respuesta muy exigentes, especialmente para usos industriales o militares. Se difunden las computadoras de rango medio.

Cuarta generacin (1980-1990): computadoras personales:


o

Aparicin de software amigable con el usuario, destinado a usuarios no profesionales y con una interfase grfica muy desarrollada. Se hacen populares el MS-DOS y UNIX. Desarrollo de sistemas operativos de red y sistemas operativos distribuidos. Sistemas operativos de red:

o o o

Los usuarios estn conscientes de la existencia de varias computadoras conectadas. Cada mquina ejecuta su propio S. O. local. Son similares a los S. O. de un solo procesador pero con el agregado de:

Controlador de interfaz de la red y su software de bajo nivel. Software para conexin y acceso a archivos remotos, etc.

Sistemas operativos distribuidos:

Aparece ante los usuarios como un S. O. de un solo procesador, an cuando de soporte a varios procesadores. Los usuarios no son conscientes del lugar donde se ejecutan sus programas o donde se encuentran sus archivos, ya que lo debe administrar el S. O. automticamente.

Aparicin de emuladores de terminal para el acceso a equipos remotos desde computadoras personales (PC). Gran nfasis en la seguridad, en especial por el desarrollo de los sistemas de comunicaciones de datos. El S. O. crea un ambiente de trabajo segn el concepto de mquina virtual, que lo asla del funcionamiento interno de la mquina. Proliferacin de sistemas de bases de datos , accesibles mediante redes de comunicacin Para los 90's el paradigma de la programacin orientada a objetos cobra auge, as como el manejo de objetos desde los sistemas operativos.
Universidad Autnoma de Nayarit

o o

15

Sistemas Operativos

Unidad 1

1.5 ANLISIS DE LOS SISTEMAS OPERATIVOS MS COMERCIALES.


Windows 98 http://www.microsoft.com/windows98/ Este es uno de los sistemas operativos de escritorio con mayor cantidad de usuarios en el mundo, ya que se encuentra a mitad de camino (en trminos de tiempo) entre la aparicin de Windows 95 y de Windows 2000, entre sus principales caractersticas se encuentra el soporte real a multitarea (en Win95 era simulado). Windows 2000 http://www.microsoft.com/windows2000/ Win2000 es la nueva generacin del sistema operativo para redes de esta empresa (Windows NT), constituyndose en una mejora significativa desde varias perspectivas, entre las que cabe destacar la estabilidad. Windows XP http://www.microsoft.com/windowsxp Este sistema operativo hace uso del nuevo motor de sistema que Microsoft desarroll para Windows 2000, por lo tanto integra altas prestaciones grficas junto a caractersticas de trabajo corporativo (en redes) heredadas de Win2000. Linux Es un sistema libre desarrollado por miles de personas a travs de Internet, y que es el sistema operativo de mayor crecimiento en la actualidad, y el segundo de mayor uso en el mundo (tomando como uno slo a toda la gama de la familia Windows. Mac OS X http://www.apple.com/macosx/ Es un sistema operativo desarrollado por Apple Computer Inc., es una reescritura prcticamente completa de su sistema operativo Macintosh, este nuevo sistema Mac est basado en el sistema Darwin http://developer.apple.com/darwin/, un proyecto OpenSource (aunque esta es la definicin que da Apple, prefiero utilizar el termino Libre), el cual utiliza caractersticas de otros sistemas UNIX como Mach, FreeBSD y otros, la idea detrs de Mac OS X y por supuesto de Darwin es crear un completo sistema operativo con la flexibilidad y robustez de un UNIX y la facilidad de uso que siempre a caracterisado a los MAC. FreeBSD http://www.freebsd.org FreeBSD es un sistema operativo derivado del 386 BSD, es un sistema operativo libre (y gratuito) creado por cientos de desarrolladores, es altamente usado como servidor de Internet debido a sus altas prestaciones en comunicaciones, NetBSD http://www.netbsd.org NetBSD es tal vez el sistema operativo ms portado en el mundo, es otro descendie nte de 4.4 BSD y 386 BSD, por lo cual tambin se distribuye bajo los trminos de la licencia BSD4.1 , lo que implica que puede ser libremente distribuido en forma binaria o de cdigo fuente. El principal objetivo de NetBSD es la portabilidad, obviamente sin descuidar seguridad y estabilidad como la mayora de derivados UNIX. OpenBSD http://www.openbsd.org Este sistema operativo es derivado de NetBSD, sus principales metas son la seguridad, la estandarizacin y la portabilidad, est catalogado como el sistema operativo ms seguro del mundo (aunque en trminos de seguridad no se puede hablar de una verdad absoluta).
Universidad Autnoma de Nayarit

16

S-ar putea să vă placă și