Sistemas Operativos                                                                Unidad 1           1. INTRODUCCIÓN A LO...
Sistemas Operativos                                                                   Unidad 1Un sistema operativo es un c...
Sistemas Operativos                                                                    Unidad 11.2 ESTRUCTURA DE UN SISTEM...
Sistemas Operativos                                                                  Unidad 1Sistema de entrada/salida (E/...
Sistemas Operativos                                                                 Unidad 1Las características fundamenta...
Sistemas Operativos                                                                   Unidad 1En el sistema de anillos, ca...
Sistemas Operativos                                                                    Unidad 1Sistemas Operativos por Ser...
Sistemas Operativos                                                                  Unidad 1MultiprocesoUn sistema operat...
Sistemas Operativos                                                                Unidad 1Sistemas Operativos por lotes.L...
Sistemas Operativos                                                                 Unidad 1Sistemas Operativos de RedLos ...
Sistemas Operativos                                                                 Unidad 1Sistemas Operativos Distribuíd...
Sistemas Operativos                                                                    Unidad 1La solución puede ser que p...
Sistemas Operativos                                                                  Unidad 11.4 HISTORIA Y EVOLUCIÓN DE L...
Sistemas Operativos                                                                  Unidad 1Se ha desarrollado otra versi...
Sistemas Operativos                                                                Unidad 1       o   Aparecen los lenguaj...
Sistemas Operativos                                                                   Unidad 11.5 ANÁLISIS DE LOS SISTEMAS...
Próxima SlideShare
Cargando en…5
×

Unidad 1

444 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
444
En SlideShare
0
De insertados
0
Número de insertados
34
Acciones
Compartido
0
Descargas
14
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Unidad 1

  1. 1. Sistemas Operativos Unidad 1 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS1.1 CONCEPTO Y FUNCIONES DEL SISTEMA OPERATIVOSin el software una computadora es en esencia una masa metálica sin utilidad. Con el software, unacomputadora puede almacenar, procesar y recuperar información, encontrar errores de ortografía eintervenir en muchas otras valiosas actividades para ganar el sustento.El software para computadoras puede clasificarse en general, en 2 clases: los programas de sistema, quecontrolan la operación de la computadora en sí y los programas de aplicación, los cuales resuelvenproblemas para sus usuarios.El progr ama fundamental de todos los programas de sistema, es el Sistema Operativo, que controla todoslos recursos de la computadora y proporciona la base sobre la cual pueden escribirse los programas deaplicación.¡Qué es un Sistema Operativo?Una de las definiciones más comúnmente aceptadas expresa: “Un Sistema Operativo es un grupo deprogramas de proceso con las rutinas de control necesarias para mantener continuamente operativosdichos programas”.Un Sistema Operativo es un programa que actúa como intermediario entre el usuario y el hardware de uncomputador y su propósito es proporcionar un entorno en el cual el usuario pueda ejecutar programas. Elobjetivo principal de un Sistema Operativo es, entonces, lograr que el Sistema de computación se use demanera cómoda, y el objetivo secundario es que el hardware del computador se emplee de maneraeficiente. 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 liberaa los programadores de la complejidad del hardware, colocándose un nivel de software por sobre elhardware para: • Controlar todas las partes del sistema. • Presentar al usuario una interfaz o máquina virtual.Una de las principales funciones del Sistema Operativo es ocultar toda esta complejidad y brindar alprogramador un conjunto más conveniente de instrucciones para trabajar. El Sistema Operativo seencuentra almacenado en la memoria secundaria. Primero se carga y ejecuta un pedazo de código que seencuentra en el procesador, el cual carga el BIOS, y este a su vez carga el Sistema Operativo que cargatodos los programas de aplicación y software variado.En los años sesenta, un sistema operativo se podría haber definido como el software que controla alhardware. Sin embargo, actualmente existe una tendencia significativa a la transferencia de las funcionesdel software al firmware, es decir, microcódigo. Dicha tendencia se ha pronunciado tanto que es probableque en algunos sistemas las funciones codificadas en firmware sobrepasen pronto a aquéllas codificadasen software.Es evidente que se necesita una nueva definición de sistema operativo. Se puede imaginar un sistemaoperativo como los programas, instalados en el software o el firmware, que hacen utilizable el hardware. Universidad Autónoma de Nayarit 1
  2. 2. Sistemas Operativos Unidad 1Un sistema operativo es un conjunto de programas que administran eficientemente los recursos de unsistema de cómputo, controlando la ejecución de programas de aplicación y actuando como una interfazentre 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 más fácil de utilizar. • Eficiencia: Un sistema operativo permite que los recursos de un sistema informático se aprovechen de una manera más eficiente. • Capacidad de evolución: Un sistema operativo deberá construirse de modo que permita el desarrollo efectivo, la verificación y la introducción de nuevas funciones en el sistema y a la vez, no interferir en los servicios que brinda.Las principales características 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 administranes el hardware de la computadora: el procesador, los medios de almacenamiento, los dispositivos de E/S,los dispositivos de comunicación 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 interfieranrecíprocamente, planificar la distribución 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 rápido y seguro, y manejar las comunicaciones en red. Fig 1.1: Hardware, Sistema Operativo y AplicacionesComo sea que se decida definir los sistemas operativos, lo importante es no olvidar que constituyen unaparte integral del ambiente de cómputo y, por tanto, necesitan ser comprendidos en alguna medida portodos los usuarios de computadoras. Universidad Autónoma de Nayarit 2
  3. 3. Sistemas Operativos Unidad 11.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 concéntricas al rededor del núcleo (ver figura 1.2). La parte interna del conjunto jerárquico de programas que forman un sistema operativo recibe el nombre de núcleo o kernel. Las otras capas se encargan del manejo de la memoria, el procesador, los dispositivos de E/S y los archivos.¿Cómo está conforma do un sistema operativo?Un sistema operativo está conformado básicamente por cuatro módulos: • Núcleo o Kernel. • Administrador de memoria. • Sistema de entrada/salida. • Administrador de archivos.A veces se considera un quinto módulo: el intérprete de comandos o intérprete de instrucciones, tambiénllamado “shell”, el cual se encarga de "traducir" las órdenes que el usuario ingresa mediante el teclado uotros dispositivos a un "lenguaje" que la máquina pueda entender.Núcleo o KernelEs el módulo de más bajo nivel de un sistema operativo, pues descansa directamente sobre el hardware dela computadora. Entre las tareas que desempeña se incluyen el manejo de las interrupciones, laasignación de trabajo al procesador y el proporcionar una vía de comunicación entre los distintosprogramas. En general, el núcleo se encarga de controlar el resto de los módulos y sincronizar suejecución. El núcleo contiene un submódulo denominado "planificador", el cual se encarga de asignartiempo del procesador a los programas, de acuerdo a una cierta política de planificación que varía de unsistema operativo a otro. Normalmente se utiliza una jerarquía de prioridades que determinan cómo seasignará el tiempo del CPU a cada programa. Una política de planificación muy común en los sistemas demultiprogramación y multiproceso son las técnicas de "time slicing" (fracción de tiempo). Se asigna acada programa un corto intervalo de tiempo del procesador. Si el programa no ha terminado durante esteintervalo de tiempo, vuelve a la cola de programas.Administrador de memoriaEste módulo se encarga de asignar ciertas porciones de la memoria principal (RAM) a los diferentesprogramas o partes de los programas que la necesiten, mientras el resto de los datos y los programas semantienen en los dispositivos de almacenamiento masivo. De este modo, cuando se asigna una parte de lamemoria principal se hace de una forma estructurada, siguiendo un determinado orden. La forma máscomún de administración de la memoria supone crear una memoria virtual; con este sistema, la memoriade la computadora aparece, para cualquier usuario del sistema, mucho mayor de lo que en realidad es. Universidad Autónoma de Nayarit 3
  4. 4. Sistemas Operativos Unidad 1Sistema de entrada/salida (E/S)Este componente presenta al usuario la E/S de datos como una cuestión independiente del dispositivo; esdecir, para los usuarios, todos los dispositivos tienen las mismas características y son tratados de lamisma forma, siendo el sistema operativo el encargado de atender las particularidades de cada uno deellos (como su velocidad de operación).Una técnica muy común, especialmente en salida, es el uso de "spoolers". Los datos de salida sealmacenan de forma temporal en una cola situada en un dispositivo de almacenamiento masivo (el spool),hasta que el dispositivo periférico requerido se encuentre libre; de este modo se evita que un programaquede retenido porque el periférico no esté disponible.Administrador de archivosSe 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 también supervisa la creación, actualización y eliminación de los archivos,manteniendo un directorio con todos los archivos que existen en el sistema en cada momento y cooperacon el módulo administrador de memoria durante las transferencias de datos desde y hacia la memoriaprincipal. Si se dispone de un sistema de memoria virtual, existen transferencias entre la memoriaprincipal y los medios de almacenamiento masivo para mantener la estructura de la misma.1.3 CLASIFICACION DE LOS SISTEMAS OPERATIVOSEn esta sección se describirán las características que clasifican a los sistemas operativos, básicamente secubrirán tres clasificaciones: • sistemas operativos por su estructura (visión interna), • sistemas operativos por los servicios que ofrecen, • sistemas operativos por la forma en que ofrecen sus servicios (visión externa).Sistemas Operativos por su EstructuraEstructura monolítica.Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un soloprograma compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar acualquier otra (Ver Fig. 2). Universidad Autónoma de Nayarit 4
  5. 5. Sistemas Operativos Unidad 1Las características fundamentales de este tipo de estructura son: • Construcción del programa final a base de módulos compilados separadamente que se unen a través del ligador. • Buena definición de parámetros 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 están hechos a medida, por lo que son eficientes y rápidos en su ejecución y gestión, pero por lo mismo carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones.Estructura jerárquica o por capas.A medida que fueron creciendo las necesidades de los usuarios y seperfeccionaron los sistemas, se hizo necesaria una mayor organizacióndel software, del sistema operativo, donde una parte del sistemacontenía subpartes y esto organizado en forma de niveles.Se dividió el sistema operativo en pequeñas partes, de tal forma quecada una de ellas estuviera perfectamente definida y con un clarointerface con el resto de elementos.Se constituyó una estructura jerárquica o de niveles en los sistemasoperativos, el primero de los cuales fue denominado THE (Technische Hogeschool, Eindhoven), deDijkstra, que se utilizó con fines didácticos (Ver Fig. 3). Se puede pensar también en estos sistemas comosi fueran `multicapa. Multics y Unix caen en esa categoría.En la estructura anterior se basan prácticamente la mayoría de los sistemas operativos actuales. Otraforma de ver este tipo de sistema es la denominada de anillos concéntricos o "rings" (Ver Fig. 4). Universidad Autónoma de Nayarit 5
  6. 6. Sistemas Operativos Unidad 1En el sistema de anillos, cada uno tiene una apertura, conocida como puerta o trampa (trap), por dondepueden entrar las llamadas de las capas inferiores. De esta forma, las zonas más internas del sistemaoperativo o núcleo del sistema estarán más protegidas de accesos indeseados desde las capas másexternas. Las capas más internas serán, por tanto, más privilegiadas que las externas.Máquina Virtual.Se trata de un tipo de sistemas operativosque presentan una interface a cada proceso,mostrando una máquina que pareceidéntica a la máquina real subyacente.Estos sistemas operativos separan dosconceptos que suelen estar unidos en elresto de sistemas: la multiprogramación yla máquina extendida. El objetivo de lossistemas operativos de máquina virtual esel de integrar distintos sistemas operativosdando la sensación de ser varias máquinasdiferentes.El núcleo de estos sistemas operativos sedenomina monitor virtual y tiene comomisión llevar a cabo la multiprogramación,presentando a los niveles superiores tantasmáquinas virtuales como se soliciten.Estas máquinas virtuales no son máquinas extendidas, sino una réplica de la máquina real, de manera queen cada una de ellas se pueda ejecutar un sistema operativo diferente, que será el que ofrezca la máquinaextendida al usuario (Ver Fig. 5).Cliente-servidor ( Microkernel)El tipo más reciente de sistemas operativos es el denominado Cliente-servidor, que puede ser ejecutadoen la mayoría de las computadoras, ya sean grandes o pequeñas.Este sistema sirve para toda clase de aplicaciones por tanto, es de propósito general y cumple con lasmismas actividades que los sistemas operativos convencionales.Se separa el sistema operativo en módulos: Sistema de Archivos, Memoria, Procesos, etc. El kernel sólose dedica a pasar mensajes entre los módulos. La mayoría de los módulos en user-mode.El núcleo tiene como misión establecer la comunicación entre los clientes y los servidores. Los procesospueden ser tanto servidores como clientes. Por ejemplo, un programa de aplicación normal es un clienteque llama al servidor correspondiente para acceder a un archivo o realizar una operación deentrada/salida sobre un dispositivo concreto. A su vez, un proceso cliente puede actuar como servidorpara otro." . Este paradigma ofrece gran flexibilidad en cuanto a los servicios posibles en el sistema final,ya que el núcleo provee solamente funciones muy básicas de memoria, entrada/salida, archivos yprocesos, dejando a los servidores proveer la mayoría que el usuario final o programador puede usar.Estos servidores deben tener mecanismos de seguridad y protección que, a su vez, serán filtrados por elnúcleo que controla el hardware. Actualmente se está trabajando en una versión de UNIX que contemplaen su diseño este paradigma. Universidad Autónoma de Nayarit 6
  7. 7. Sistemas Operativos Unidad 1Sistemas Operativos por ServiciosEsta clasificación es la más comúnmente usada y conocida desde el punto de vista del usuario final. Estaclasificación se comprende fácilmente con el cuadro sinóptico que a continuación se muestra en la Fig. 6. Monousuarios Los sistemas operativos monousuarios son aquéllos que soportan a un usuario a la vez, sin importar el número de procesadores que tenga la computadora o el número de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras personales típicame nte se han clasificado en este renglón. Multiusuarios Los sistemas operativos multiusuarios son capaces de dar servicio a más 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 número de procesadores en la máquina ni el número de procesos que cada usuario puede ejecutar simultáneamente.MonotareasLos sistemas monotarea son aquellos que sólo permiten una tarea a la vez por usuario. Puede darse elcaso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo perocada uno de ellos puede estar haciendo solo una tarea a la vez.MultitareasUn sistema operativo multitarea es aquél que le permite al usuario estar realizando varias labores almismo tiempo. Por ejemplo, puede estar editando el código fuente de un programa durante su depuraciónmientras compila otro programa, a la vez que está recibiendo correo electrónico en un proceso enbackground.Es común encontrar en ellos interfaces gráficas orientadas al uso de menús y el ratón, lo cual permite unrápido intercambio entre las tareas para el usuario, mejorando su productividad.UniprocesoUn sistema operativo uniproceso es aquél que es capaz de manejar solamente un procesador de lacomputadora, de manera que si la computadora tuviese más de uno le sería inútil. El ejemplo más típicode este tipo de sistemas es el DOS y MacOS. Universidad Autónoma de Nayarit 7
  8. 8. Sistemas Operativos Unidad 1MultiprocesoUn sistema operativo multiproceso se refiere a l número de procesadores del sistema, que es más de uno yéste es capaz de usarlos todos para distribuir su carga de trabajo. Generalmente estos sistemas trabajan dedos formas: simétrica o asimétricamente. Cuando se trabaja de manera asimétrica, el sistema operativoselecciona a uno de los procesadores el cual jugará el papel de procesador maestro y servirá como pivotepara distribuir la carga a los demás procesadores, que reciben el nombre de esclavos. Cuando se trabajade manera simétrica, los procesos o partes de ellos (threads) son enviados indistintamente a cualquiera delos procesadores disponibles, teniendo, teóricamente, una mejor distribución y equilibrio en la carga detrabajo bajo este esquema.Un aspecto importante a considerar en estos sistemas es la forma de crear aplicaciones para aprovecharlos varios procesadores. Existen aplicaciones que fueron hechas para correr en sistemas monoprocesoque no toman ninguna ventaja a menos que el sistema operativo o el compilador detecte secciones decódigo paralelizable, los cuales son ejecutados al mismo tiempo en procesadores diferentes.Sistemas Operativos por la Forma de Ofrecer sus ServiciosSistemas Operativos de tiempo real.Los Sistemas Operativos de tiempo real son aquellos en los cuales no tiene importancia el usuario, sinolos procesos. Por lo general, están subutilizados sus recursos con la finalidad de prestar atención a losprocesos en el momento que lo requieran. Se utilizan en entornos donde son procesados un gran númerode sucesos o eventos.Muchos Sistemas Operativos de tiempo real son construidos para aplicaciones muy específicas comocontrol de tráfico aéreo, bolsas de valores, control de refinerías, control de laminadores. También en elramo automovilístico y de la electrónica de consumo, las aplicaciones de tiempo real están creciendomuy rápidamente.Otros campos de aplicación de los Sistemas Operativos de tiempo real son los siguientes: • Control de trenes. • Telecomunicaciones. • Sistemas de fabricación integrada. • Producción y distribución de energía eléctrica. • Control de edificios. • Sistemas multimedia.Algunos ejemplos de Sistemas Operativos de tiempo real son: VxWorks, Solaris, Lyns OS y Spectra. Universidad Autónoma de Nayarit 8
  9. 9. Sistemas Operativos Unidad 1Sistemas Operativos por lotes.Los Sistemas Operativos por lotes, procesan una gran cantidad de trabajos con poca o ningunainteracción entre los usuarios y los programas en ejecución. Se reúnen todos los trabajos comunes pararealizarlos al mismo tiempo, evitando la espera de dos o más trabajos como sucede en el procesamientoen serie. Estos sistemas son de los más tradicionales y antiguos, y fueron introducidos alrededor de 1956para aumentar la capacidad de procesamiento de los programas.Cuando estos sistemas son bien planeados, pueden tener un tiempo de ejecución muy alto, porque elprocesador es mejor utilizado y los Sistemas Operativos pueden ser simples, debido a la secuenciabilidadde la ejecución de los trabajos.Algunos ejemplos de Sistemas Operativos por lotes exitosos son el SCOPE, del DC6600, el cual estáorientado a procesamiento científico pesado, y el EXEC II para el UNIVAC 1107, orientado aprocesamiento académico.Figura. Trabajos más comunes que realiza el Sis tema Operativo por lotes.Sistemas Operativos de tiempo compartido.Permiten la simulación de que el sistema y sus recursos son todos para cada usuarios. El usuario hace unapetición a la computadora, esta la procesa tan pronto como le es posib le, y la respuesta aparecerá en laterminal del usuario.Los principales recursos del sistema, el procesador, la memoria, dispositivos de E/S, son continuamenteutilizados entre los diversos usuarios, dando a cada usuario la ilusión de que tiene el sistema dedicadopara sí mismo. Esto trae como consecuencia una gran carga de trabajo al Sistema Operativo,principalmente en la administración de memoria principal y secundaria.Ejemplos de Sistemas Operativos de tiempo compartido son Multics, OS/360 y DEC-10. Universidad Autónoma de Nayarit 9
  10. 10. Sistemas Operativos Unidad 1Sistemas Operativos de RedLos sistemas operativos de red se definen como aquellos que tiene la capacidad de interactuar consistemas operativos en otras computadoras por medio de un medio de transmisión con el objeto deintercambiar información, transferir archivos, ejecutar comandos remotos y un sin fin de otrasactividades. El punto crucial de estos sistemas es que el usuario debe saber la sintaxis de un conjunto decomandos o llamadas al sistema para ejecutar estas operaciones, además de la ubicación de los recursosque desee accesar.Por ejemplo, si un usuario en la computadora hidalgo necesita el archivo matriz.pas que se localiza en eldirectorio /software/codigo en la computadora morelos bajo el sistema operativo UNIX, dicho usuariopodría copiarlo a través de la red con los comandos siguientes: hidalgo% hidalgo% rcpmorelos:/software/codigo/matriz.pas . hidalgo% En este caso, el comando rcp que significa "remotecopy" trae el archivo indicado de la computadora morelos y lo coloca en el directorio donde se ejecutó elmencionado comando. Lo importante es hacer ver que el usuario puede accesar y compartir muchosrecursos. 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, LANManager, Windows NT Server, UNIX, LANtastic.Sistemas Operativos paralelos.En estos tipos de Sistemas Operativos se pretende que cuando existan dos o más procesos que compitanpor algún recurso se puedan realizar o ejecutar al mismo tiempo.En UNIX existe también la posibilidad de ejecutar programas sin tener que atenderlos en formainteractiva, simulando paralelismo (es decir, atender de manera concurrente varios procesos de un mismousuario). Así, en lugar de esperar a que el proceso termine de ejecutarse (como lo haría normalmente),regresa a atender al usuario inmediatamente después de haber creado el proceso.Ejemplos de estos tipos de Sistemas Operativos están: Alpha, PVM, la serie AIX, que es utilizado en lossistemas RS/6000 de IBM. Universidad Autónoma de Nayarit 10
  11. 11. Sistemas Operativos Unidad 1Sistemas Operativos DistribuídosLos sistemas operativos distribuídos abarcan los servicios de los de red, logrando integrar recursos(impresoras, unidades de respaldo, memoria, procesos, unidades centrales de proceso) en una solamáquina virtual que el usuario acceda en forma transparente. Es decir, ahora el usuario ya no necesitasaber la ubicación de los recursos, sino que los conoce por nombre y simplemente los usa como si todosellos fuesen locales a su lugar de trabajo habitual.Todo lo anterior es el marco teórico de lo que se desearía tener como sistema operativo distribuído, peroen la realidad no se ha conseguido crear uno del todo, por la complejidad que suponen: distribuir losprocesos en las varias unidades de procesamiento, reintegrar sub-resultados, resolver problemas deconcurrencia y paralelismo, recuperarse de fallas de algunos recursos distribuídos y consolidar laprotección 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 componeotro 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 todoslos demás recursos como una sola entidad en forma transparente se le llama sistema operativo distribuído.Las razones para crear o adoptar sistemas distribuídos se dan por dos razones principales: por necesidad(debido a que los problemas a resolver son inherentemente distribuídos) o porque se desea tener másconfiabilidad y disponibilidad de recursos.En el primer caso tenemos, por ejemplo, el control de los cajeros automáticos en diferentes estados de larepública. Ahí no es posible ni eficiente mantener un control centralizado, es más, no existe capacidad decómputo y de entrada/salida para dar servicio a los millones de operaciones por minuto. En el segundocaso, supóngase que se tienen en una gran empresa varios grupos de trabajo, cada uno necesita almacenargrandes cantidades de información en disco duro con una alta confiabilidad y disponibilidad. Universidad Autónoma de Nayarit 11
  12. 12. Sistemas Operativos Unidad 1La solución puede ser que para cada grupo de trabajo se asigne una partición de disco duro en servidoresdiferentes, de manera que si uno de los servidores falla, no se deje dar el servicio a todos, sino sólo a unoscuantos y, más aún, se podría tener un sistema con discos en espejo ( mirror ) a través de la red, de maneraque si un servidor se cae, el servidor en espejo continúa trabajando y el usuario ni cuenta se da de estasfallas, es decir, obtiene acceso a recursos en forma transparente.Ventajas de los Sistemas DistribuídosEn general, los sistemas distribuídos (no solamente los sistemas operativos) exhiben algunas ventajassobre los sistemas centralizados que se describen enseguida. • Economía: El cociente precio/desempeño de la suma del poder de los procesadores separados contra el poder de uno solo centralizado es mejor cuando están distribuídos. • Velocidad: Relacionado con el punto anterior, la velocidad sumada es muy superior. • Confiabilidad: Si una sola máquina fa lla, el sistema total sigue funcionando. • Crecimiento: El poder total del sistema puede irse incrementando al añadir pequeños sistemas, lo cual es mucho más difícil en un sistema centralizado y caro.Por otro lado, los sistemas distribuídos también exhiben algunas ventajas sobre sistemas aislados. Estasventajas son: • Compartir datos: Un sistema distribuído permite compartir datos más fácilmente que los sistemas aislados, que tendrían que duplicarlos en cada nodo para lograrlo. • Compartir dispositivo s: Un sistema distribuído permite accesar dispositivos desde cualquier nodo en forma transparente, lo cual es imposible con los sistemas aislados. El sistema distribuído logra un efecto sinergético.Desventajas de los Sistemas DistribuídosAsí como los sistemas distribuídos exhiben grandes ventajas, también se pueden identificar algunasdesventajas, algunas de ellas tan serias que han frenado la producción comercial de sistemas operativosen la actualidad. El problema más importante en la creación de sistemas distribuídos es el software: losproblemas de compartición de datos y recursos es tan complejo que los mecanismos de solución generanmucha sobrecarga al sistema haciéndolo ineficiente. El checar, por ejemplo, quiénes tienen acceso aalgunos recursos y quiénes no, el aplicar los mecanismos de protección y registro de permisos consumedemasiados recursos. En general, las soluciones presentes para estos problemas están aún en pañales.Otros problemas de los sistemas operativos distribuídos surgen debido a la concurrencia y al paralelismo.Tradicionalmente las aplicaciones son creadas para computadoras que ejecutan secuencialmente, demanera que el identificar secciones de código `paralelizable es un trabajo ardúo, pero necesario paradividir un proceso grande en sub-procesos y enviarlos a diferentes unidades de procesamiento para lograrla distribución. Con la concurrencia se deben implantar mecanismos para evitar las condiciones decompetencia, las postergaciones indefinidas, el ocupar un recurso y estar esperando otro, las condicionesde espera circulares y, finalmente, los "abrazos mortales" (deadlocks). Estos problemas de por sí sepresentan en los sistemas operativos multiusuarios o multitareas, y su tratamiento en los sistemasdistribuídos es aún má s complejo, y por lo tanto, necesitará de algoritmos más complejos con la inherentesobrecarga esperada.Por otro lado, en el tema de sistemas distribuídos existen varios conceptos importantes referentes alhardware que no se ve remos en este momento: multicomputadoras, multiprocesadores, sistemasacoplados débil y fuertemente, etc. Universidad Autónoma de Nayarit 12
  13. 13. Sistemas Operativos Unidad 11.4 HISTORIA Y EVOLUCIÓN DE LOS SISTEMAS OPERATIVOSHistoria de los Sistemas OperativosPara tratar de comprender los requisitos de un Sistema Operativo y el significado de las principalescaracterísticas de un Sistema Operativo contemporáneo, es útil considerar como han ido evolucionandoéstos con el tiempo. Existen diferentes enfoques o versiones de como han ido evolucionando los SistemasOperativos.La primera de estas versiones podría ser esta: • En los 40s, se introducen los programas bit a bit, por medio de interruptores mecánicos y después se introdujo el lenguaje máquina que trabajaba por tarjetas perforadas. • Con las primeras computadoras, desde finales de los años 40 hasta la mitad de los años 50, el programador interactuaba de manera directa con el hardware de la computadora, no existía realmente un Sistema Operativo; las primeras computadoras utilizaban bulbos, la entrada de datos y los programas se realizaban a través del lenguaje máquina (bits) o a través de interruptores. • Durante los años 50s y 60s.- A principio de los 50s, la compañía Generals 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, diseñadores, capturistas, etc.), se encarguen de modificar sus programas. Establecían o apartaban tiempo, metían o introducían sus programas, corregían y depuraban sus programas en su tiempo. A esto se le llamaba trabajo en serie. Todo esto se traducía en pérdida de tiempo y tiempos de programas excesivos. • En los años 60s y 70s 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 80s, inició el auge de la INTERNET en los Estados Unidos de América. A finales de los años 80s comienza el gran auge y evolución de los Sistemas Operativos. Se descubre el concepto de multiprogramación que consiste en tener cargados en memoria a varios trabajos al mismo tiempo, tema principal de los Sistemas Operativos actuales. • Los 90s y el futuro, entramos a la era de la computación distribuida y del multiprocesamiento a través de múltiples redes de computadoras, aprovechando el ciclo del procesador. • Se tendrá una configuración dinámica con un reconocimiento inmediato de dispositivos y software que se añada o elimine de las redes a través de procesos de registro y localizadores. • La conectividad se facilita gracias a estándares y protocolos de sistemas abiertos por organizaciones como la Org. Intern. de normas, fundación de software abierto, todo estará mas controlado por los protocolos de comunicación OSI y por la red de servicios digital ISDN. Universidad Autónoma de Nayarit 13
  14. 14. Sistemas Operativos Unidad 1Se ha desarrollado otra versión, la cual se ha hecho en base a etapas o generaciones:• Primera generación (1945-1955): bulbos y conexiones: o Carencia de S. O. o En los años cincuenta comienzan como transición entre trabajos, haciendo la misma más simple. o Completo acceso al lenguaje de máquina.• Segunda generación (1955-1965): transistores y sistemas de procesamiento por lotes (batch): o En los años sesenta aparecen los S. O. para sistemas compartidos con: § Multiprogramación: varios programas de usuarios se encuentran al mismo tiempo en el almacenamiento principal, cambiando el procesador rápidamente de un trabajo a otro. § Multiprocesamiento: varios procesadores se utilizan en un mismo sistema para incrementar el poder de procesamiento. o Posteriorme nte aparece la independencia de dispositivo: § El programa del usuario especifica las características de los dispositivos que requieren los archivos. § El S. O. asigna los dispositivos correspondientes según los requerimientos y las disponibilidades.• Tercera generación (1965-1980): circuitos integrados y multiprogramación: o Difusión de la multiprogramación: § Partición 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 Protección por hardware del contenido de cada partición de memoria. o Aparición de técnicas de spooling : § Simultaneous Peripheral Operation On Line: operación simultánea y en línea de periféricos. § Almacenamiento de trabajos de entrada y de salida en dispositivos transitorios rápidos (discos), para disminuir el impacto de los periféricos más lentos. o Son sistemas de modos múltiples, es decir que deben soportar sistemas de propósitos generales; son grandes y complejos pero muy poderosos. o Interponen una capa de software entre el usuario y el hardware. Universidad Autónoma de Nayarit 14
  15. 15. Sistemas Operativos Unidad 1 o Aparecen los lenguajes de control de trabajos, necesarios para especificar el trabajo y los recursos requeridos. o Soportan timesharing (tiempo compartido), variante de la multiprogramación con usuarios conectados mediante terminales en línea, permitiendo la operación en modo interactivo o conversacional. o Aparecen los sistemas de tiempo real, que requieren tiempos de respuesta muy exigentes, especialmente para usos industriales o militares. o Se difunden las computadoras de rango medio.• Cuarta generación (1980-1990): computadoras personales: o Aparición de software amigable con el usuario, destinado a usuarios no profesionales y con una interfase gráfica muy desarrollada. o Se hacen populares el MS-DOS y UNIX. o Desarrollo de sistemas operativos de red y sistemas operativos distribuidos. o Sistemas operativos de red: § Los usuarios están conscientes de la existencia de varias computadoras conectadas. § Cada máquina 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 conexión y acceso a archivos remotos, etc. o Sistemas operativos distribuidos: § Aparece ante los usuarios como un S. O. de un solo procesador, aún 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. automáticamente. o Aparición de emuladores de terminal para el acceso a equipos remotos desde computadoras personales (PC). o Gran énfasis en la seguridad, en especial por el desarrollo de los sistemas de comunicaciones de datos. o El S. O. crea un ambiente de trabajo según el concepto de máquina virtual, que lo aísla del funcionamiento interno de la máquina. o Proliferación de sistemas de bases de datos, accesibles mediante redes de comunicación o Para los 90s el paradigma de la programación orientada a objetos cobra auge, así como el manejo de objetos desde los sistemas operativos. Universidad Autónoma de Nayarit 15
  16. 16. Sistemas Operativos Unidad 11.5 ANÁLISIS DE LOS SISTEMAS OPERATIVOS MÁS COMERCIALES.Windows 98http://www.microsoft.com/windows98/ Este es uno de los sistemas operativos de escritorio con mayorcantidad de usuarios en el mundo, ya que se encuentra a mitad de camino (en términos de tiempo) entre laaparición de Windows 95 y de Windows 2000, entre sus principales características se encuentra elsoporte real a multitarea (en Win95 era simulado).Windows 2000http://www.microsoft.com/windows2000/ Win2000 es la nueva generación del sistema operativo pararedes de esta empresa (Windows NT), constituyéndose en una mejora significativa desde variasperspectivas, entre las que cabe destacar la estabilidad.Windows XPhttp://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 gráficas junto acaracterísticas de trabajo corporativo (en redes) heredadas de Win2000.LinuxEs un sistema libre desarrollado por miles de personas a través de Internet, y que es el sistema operativode mayor crecimiento en la actualidad, y el segundo de mayor uso en el mundo (tomando como uno sóloa toda la gama de la familia Windows.Mac OS Xhttp://www.apple.com/macosx/ Es un sistema operativo desarrollado por Apple Computer Inc., es unareescritura prácticamente completa de su sistema operativo Macintosh, este nuevo sistema Mac estábasado en el sistema Darwin http://developer.apple.com/darwin/, un proyecto «OpenSource» (aunqueesta es la definición que da Apple, prefiero utilizar el termino «Libre»), el cual utiliza características deotros sistemas UNIX como Mach, FreeBSD y otros, la idea detrás de Mac OS X y por supuesto deDarwin es crear un completo sistema operativo con la flexibilidad y robustez de un UNIX y la facilidadde 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 operativolibre (y gratuito) creado por cientos de desarrolladores, es altamente usado como servidor de Internetdebido a sus altas prestaciones en comunicaciones,NetBSD http://www.netbsd.org NetBSD es tal vez el sistema operativo más portado en el mundo, es otrodescendie nte de 4.4 BSD y 386 BSD, por lo cual también se distribuye bajo los términos de la licenciaBSD4.1 , lo que implica que puede ser libremente distribuido en forma binaria o de código fuente. Elprincipal objetivo de NetBSD es la portabilidad, obviamente sin descuidar seguridad y estabilidad comola mayoría de derivados UNIX.OpenBSD http://www.openbsd.org Este sistema operativo es derivado de NetBSD, sus principales metas son laseguridad, la estandarización y la portabilidad, está catalogado como el sistema operativo más seguro delmundo (aunque en términos de seguridad no se puede hablar de una verdad absoluta). Universidad Autónoma de Nayarit 16

×