Está en la página 1de 29
cones ‘SISTEMAS OPERATIVOS Para tratar de comprender los requisitos de un Sistema Operativo y el significado de las principales caracteristicas de un Sistema Operative contemporaneo, es util considerar cémo han ido evolucionando estos con el tiempo. A finales de los afios 40 el uso de ordenadores estaba restringido a aquellas empresas 0 instituciones que podian pagar su alto precio, y no existian los sistemas operativos. En su lugar, el programador debia tener un conocimiento y contacto profundo con el hardware, y en el infortunado caso de que su programa fallara, debia examinar los valores de los registros y paneles de luces indicadoras del estado del ordenador para determinar la causa del fallo y poder corregir su programa, ademas de enfrentarse nuevamente a los procedimientos del sistema y poner a punto los compiladores, ligadores, etc, para volver a corter su programa. La importancia de los sistemas operatives nace histéricamente desde los afios 50, cuando se hizo evidente que el operar un ordenador por medio de tableros enchufables en /a primera generacién y luego por medio del trabajo en lote en la segunda generacién se podia mejorar notoriamente, pues el operador realizaba siempre una secuencia de pasos repetitivos, lo cual es una de las caracteristicas contempladas en la definicién de lo que es un programa. Es decir, se comenzé a ver que las tareas mismas del operador podian plasmarse en un programa, el cual a través del tiempo y por su enorme complejidad se le llamé "Sistema Operativo". Asi, tenemos entre los primeros sistemas operatives al Fortran Monitor System (FMS) y el IBSYS. Posteriormente, en la tercera generacién de ordenadores nace uno de los primeros sistemas operativos con la filosofia de administrar una familia de ordenadores: el OS/360 de IBM. Fue este un proyecto tan novedoso y ambicioso que enfrent6 por primera vez una serie de problemas conflictivos debido a que anteriormente los ordenadores eran creados para dos propésitos en general: el comercial y el cientfico. Asi, al tratar de crear un solo sistema operativo para ordenadores que podian dedicarse a un propésito, al otfo, o a ambos, puso en evidencia la problematica del trabajo en equipos de andlisis, disefio e implantacién de sistemas grandes. El resultado fue un sistema del cual uno de sus mismos diseftadores patentiz6 su opinién enla portada de un libro: una horda de bestias prehistoricas atascadas en un foso de brea. Surge también en la tercera generacién de ordenadores el concepto de la multiprogramacién, porque debido al alto costo de los ordenadores era necesario idear un esquema de trabajo que mantuviese a la unidad central de proceso mas tiempo ocupada, asi como el encolado (spooling ) de trabajos para su lectura hacia los lugares libres de memoria o la escritura de resultados. Sin embargo, se puede afirmar que los sistemas durante la tercera generacién siguieron siendo basicamente sistemas de lote. Enla cuarta generacién, la electronica avanza hacia la integracién a gran escala, pudiendo crear circuitos con miles de transistores en un centimetro cuadrado de silicio y ya es posible hablar de los ordenadores personales y las estaciones de trabajo. Surgen los conceptos de interfaces amigables intentando asi atraer al publico en general al uso de los ordenadores como herramientas cotidianas. Se hacen populares el MS-DOS y el UNIX en estas maquinas. También es comin encontrar clones de ordenadores personales y una multitud de empresas pequefias atc pric mec esdalucaslsstorascperanes im 12 canis SISTEMAS OPERATIVOS ensamblandolas por todo el mundo. Amediados de los afios 80, comienza el auge de las redes de ordenadores yla necesidad de sistemas operativos en red y sistemas operativos distribuidos. La red mundial Intemet se va haciendo accesible a toda clase de instituciones y se comienzan a dar muchas soluciones (y problemas) al querer hacer convivir recursos residentes en ordenadores con sistemas operativos diferentes. En los afios 90 el paradigma de la programacién orientada a objetos cobra auge, asi como el manejo de objetos desde los sistemas operativos. Las aplicaciones intentan crearse para ser ejecutadas en una plataforma especffica y poder ver sus resultados en|a pantalla o monitor de otra diferente (por ejemplo, ejecutar una simulacién en una maquina con UNIX y ver los resultados en otra con DOS ). Los niveles de interaccién se van haciendo cada vez mas profundos 2Qu un Sistema Operativo? Un Sistema Operativo es un programa que acta como intermediario entre el usuario y el hardware de un ordenador, y su propésito 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 computacién se use de manera cémoda, y el objetivo secundario es que el hardware del ordenador se emplee de manera eficiente. Un Sistema Operativo es una parte importante de cualquier sistema de computacién. Un sistema de computacién puede dividirse en cuatro componentes: el hardware, el Sistema Operativo, los programas de aplicacién y los usuarios. El hardware (Unidad Central de Proceso(UCP), memoria ydispositivos de entrada/salida (E/S)) proporciona los recursos de computacién basicos. Los programas de aplicacién (compiladores, sistemas de bases de datos, video y programas para negocios) definen la forma en que estos recursos se emplean para resolver los problemas de computacién de los usuarios. Caracteristica in Sistema rativo: En general, se puede decir que un Sistema Operative tiene las siguientes caracteristicas: Conveniencia. Un Sistema Operative hace mas conveniente el uso de un ordenador. Eficiencia, Un Sistema Operativo permite que los recursos del ordenador se usen de la manera mas eficiente posible. Habilidad para evolucionar. Un Sistema Operativo deberé construirse de manera que permita el desarrollo, prueba o introduccién efectiva de nuevas funciones del sistema sin interferir con el senicio. Encargado de administrar el hardware. El Sistema Operativo se encarga de manejar de una mejor manera los recursos del ordenador 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 través del kemel). E| Sistema Operativo se debe encargar de comunicar a los dispositivos periféricos, cuando el usuario asi lo requiera Organizar datos para acceso rapido y seguro. Manejar las comunicaciones en red. El Sistema Operativo permite al usuario manejar con alta facilidad todo lo referente a la instalacién y uso de las redes de ordenadores. Procesamiento por bytes de flujo a través del bus de datos. ate pic mer. sdelucasisistemasoperatvs. Nin 29 canis SISTEMAS OPERATIVOS Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle facil al usuario el acceso y manejo de los dispositivos de Entrada/Salida del ordenador. Técnicas de recuperacién de errores Evita que otros usuarios interfieran. El Sistema Operativo evita que los usuarios se bloqueen entre ellos, informandoles si esa aplicacién esta siendo ocupada por otro usuario. Generacién de estadisticas. Permite que se puedan compartir el hardware y los datos entre los usuarios. El software de aplicacién son programas que se utilizan para disefiar, tal como el procesador de textos, lenguajes de programacién, hojas de calculo, etc. El software de base sirve para interactuar el usuario con la maquina. Esta compuesto por : cargadores, compiladores, ensambladores y macros. Ti Sis ° . Actualmente los sistemas operativos se clasifican en tres tipos: sistemas operativos por su estructura (visién intema), sistemas operativos por los servicios que ofrecen y sistemas operativos por la forma en que ofrecen sus servicios (visién externa). Sistemas Operativos por Servicios(Vision External Por Numero de Usuarios: Sistema Operative Monousuario. Los sistemas operativos monousuarios son aquéllos que soportan a un usuario a la vez, sin importar el niimero de procesadores que tenga el ordenador o el niimero de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Los ordenadores personales tipicamente se han clasificado en este rengion. En otras palabras, los sistemas monousuarios son aquellos que nada mas pueden atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los programas 0 el tipo de aplicacién que se este ejecutando. Sistema Operativo Multiusuario, Los sistemas operativos multiusuarios son capaces de dar servicio a mas de un usuario a la vez, ya sea por medio de varias terminales conectadas al ordenador o por medio de sesiones remotas en una red de comunicaciones. No importa el ntimero de procesadores en la maquina ni el niimero de procesos que cada usuario puede ejecutar simultineamente. En esta categoria se encuentran todos los sistemas que cumplen simulténeamente las necesidades de dos o mas usuarios, que comparten los mismos recursos. Este tipo de sistemas se emplean especialmente en redes. En otras palabras consiste en el fraccionamiento del tiempo (timesharing). Por el Numero de Tareas: Sistema Operativo Monotarea Los sistemas monotarea son aquellos que sélo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema muftiusuario 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. Los sistemas operativos monotareas son mas primitivos y, solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una Sistema Operativo Muttitarea Un sistema operativo multitarea es aquél que le permite al usuario estar realizando varias labores ate pic mer. sdelucasisistemasoperatvs. Nin a9 carina SISTEMAS OPERATIVOS al mismo tiempo. Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual un ordenador procesa varias tareas al mismo tiempo. Existen varios tipos de multitareas. La conmutacién de contextos (context Switching) es un tipo muy simple de multitarea en el que dos 0 mas aplicaciones se cargan al mismo tiempo, pero en el que solo se esta procesando la aplicacién que se encuentra en primer plano (la que ve el usuario). En la muttitarea cooperativa, la que se utiliza en el sistema operativo Macintosh, las tareas en segundo plano reciben tiempo de procesado durante los tiempos muertos de la tarea que se encuentra en primer plano (por ejemplo, cuando esta aplicacién esta esperando informacién del usuario), y siempre que esta aplicacién lo permita. En los sistemas multitarea de tiempo compartido, como OS/2, cada tarea recibe la atencién del microprocesador durante una fraccién de segundo Un sistema operativo multitarea puede estar editando el cédigo fuente de un programa durante su depuracién mientras compila otro programa, a la vez que esta recibiendo correo electrénico en un proceso en background. Es comtin encontrar en ellos interfaces graficas orientadas al uso de mentis y el ratén, lo cual permite un rapido intercambio entre las tareas para el usuario, mejorando su productividad. Un sistema operative multitarea se distingue por su capacidad para soportar la ejecucién coneurrente de dos o mas procesos activos. La multitarea se implementa generalmente manteniendo el cédigo y los datos de varios procesos simultaneamente en memoria y multiplexando el procesador y os dispositivos de E/S entre ellos. La multitarea suele asociarse con soporte hardware y software para proteccién de memoria con el fin de evitar que procesos corrompan el espacio de direcciones y el comportamiento de otros procesos residentes. Por el Niimero de Procesadores: Sistema Operativo de Uniproceso. Un sistema operativo uniproceso es aquél que es capaz de manejar solamente un procesador del ordenador, de manera que si el ordenador tuviese mas de uno le seria init. El ejemplo mas tipico de este tipo de sistemas es el DOS y el MacOS. Sistema Operativo de Multiproceso. Un sistema operativo multiproceso se refiere al nimero de procesadores del sistema, que es mas de uno y éste es capaz de usarlos todos para distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos formas: simétrica o asimétricamente. Asimétrica: cuando se trabaja de manera asimétrica, el sistema operativo selecciona a uno de los procesadores el cual jugar el papel de procesador maestro y servira como pivote para distribuir la carga a los demas procesadores, que reciben el nombre de esclavos. Simétrica: cuando se trabaja de manera simétrica, los procesos o partes de ellos (threads) son enviados indistintamente a cual quiera de los procesadores disponibles, teniendo, tedricamente, una mejor distribucién y equilibrio en a carga de trabajo bajo este esquema. Unaspecto 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 cédigo paralelizable, los cuales son ejecutados al mismo ate pic mer. sdelucasisistemasoperatvs. Nin 49 carina SISTEMAS OPERATIVOS tiempo en procesadores diferentes. Por otro lado, el programador puede modificar sus algoritmos y aprovechar por si mismo esta facilidad, pero esta titima opcién las mas de las veces es costosa en horas y muy tediosa, obligando al programador a ocupar tanto o mas tiempo a la paralelizacién que a elaborar el algoritmo inicial. Sistemas Operativos por su Estructura (Vision Interna) Se deben observar dos tipos de requisitos cuando se construye un sistema operativo: Requisitos de usuario: Sistema facil de usar y de aprender, seguro, rapido y adecuado al uso al que se le quiere destinar. Requisitos del software: Donde se engloban aspectos como el mantenimiento, forma de operacién, restricciones de uso, eficiencia, tolerancia frente a los errores y flexibilidad A continuacién se describen las distintas estructuras que presentan los actuales sistemas operativos para satisfacer las necesidades que de ellos se quieren obtener. Estructura Monolitica Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo programa compuesto de un corjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra. Las caracteristicas 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 as 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 estan hechos a medida, por lo que son eficientes y rApidos en su ejecucién y gestién, pero por lo mismo carecen de flexibilidad para soportar diferentes ambientes de trabajo 0 tipos de aplicaciones. Estructura Jerdrquica. A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organizacion del software, del sistema operativo, donde una parte del sistema contenia subpartes y esto organizado en forma de niveles. Se dividio el sistema operativo en pequefias partes, de tal forma que cada una de ellas estuviera perfectamente definida y con un claro interface con el resto de elementos. Se constituyo una estructura jerarquica o de niveles en|os sistemas operativos, el primero de los cuales fue denominado THE (Technische Hogeschool, Eindhoven), de Dijkstra, que se utilizé con fines didacticos. Se puede pensar también en estos sistemas como si fueran ‘multicapa’. Multics y Unix estan en esa categoria. Enla estructura anterior se basan practicamente la mayoria de los sistemas operativos actuales. Otra forma de ver este tipo de sistema es la denominada de anillos concéntricos o "rings". 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 mas internas del sistema operativo o nucleo del sistema estaran mas protegidas de accesos indeseados desde las capas mas externas. Las capas mas intemas seran, por tanto, mas privilegiadas que las extermas. ate pic mer. sdelucasisistemasoperatvs. Nin 59 canis SISTEMAS OPERATIVOS Maquina Virtual Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrando una maquina que parece idéntica a la maquina real subyacente. Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la multiprogramacién y la maquina extendida. El objetivo de los sistemas operativos de maquina virtual es el de integrar distintos sistemas operatives dando la sensacién de ser varias mquinas diferentes. El nticleo de estos sistemas operativos se denomina monitor virtual y tiene como misién llevar a cabo la multiprogramacién, presentando a los niveles superiores tantas maquinas virtuales como se soliciten. Estas maquinas virtuales no son maquinas extendidas, sino una réplica de la maquina real, de manera que en cada una de ellas se pueda ejecutar un sistema operative diferente, que sera el que ofrezca la maquina extendida al usuario. Cliente-Servidor(Microkernel) El tipo mas reciente de sistemas operativos es el denominado Cliente-servidor, que puede ser ejecutado en la mayoria de las computadoras, ya sean grandes o pequefias. Este sistema sirve para toda clase de aplicaciones; por tanto, es de propésito general y cumple con las mismas actividades que los sistemas operativos convencionales El nticleo tiene como misién establecer la comunicacién entre los clientes y los servidores. Los procesos pueden ser tanto servidores como clientes. Por ejemplo, un programa de aplicacién normal es un cliente que llama al servidor correspondiente para acceder a un archivo o realizar una operacién 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 senicios posibles en el sistema final, ya que el nicleo prove solamente funciones muy basicas de memoria, entradalsalida, archivos y procesos, dejando a los servidores prover la mayorla que elusuario final o programador puede usar, Estos servidores deben tener mecanismos de seguridad y proteccién que, a su vez, serdn fitrados por el nticleo que controla el hardware. Actualmente se esta trabajando en una versin de UNIX que contempla en su disefio este paradigma Sistemas Operativos por la Forma de Ofrecer sus Servicios Esta clasificacién también se refiere a una vision externa, que en este caso se refiere a la del usuario, el como accesa a los servicios, Bajo esta clasificacién se pueden detectar dos tipos principales: sistemas operativos de red y sistemas operativos distribuidos. Sistema Operativo de Red. Los sistemas operativos de red se definen como aquellos que tiene la capacidad de interactuar con sistemas operativos en otros ordenadores a través de un medio de transmisién con el objeto de intercambiar informacion, 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, ademas de la ubicacién de los recursos que desee afiadir. Por ejemplo, si un usuario en el ordenador “hidalgo" necesita el archivo "matriz.pas" que se localiza en el directorio /software/codigo en el ordenador "morelos" bajo el sistema operativo UNIX, dicho usuario podria copiario a través de la red con los. comandos siguientes: hidalgo% hidalgo% rcp morelos:/software/codigo/matriz.pas . hidalgo%. En este caso, el comando rep que significa "remote copy" trae el archivo indicado del ordenador platea.pntic.mec.es/idelucas/sistemasoperatives. him 629 canis SISTEMAS OPERATIVOS "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. 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 Distribuidos. Los sistemas operativos distribuidos abarcan los servicios de los de red, logrando integrar recursos ( impresoras, unidades de respaldo, memoria, procesos, unidades centrales de proceso ) enuna sola maquina virtual que el usuario accesa en forma transparente. Es decir, ahora el usuario ya no necesita saber la ubicacién 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 teérico de lo que se desearia tener como sistema operativo distribuido, 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 fallos de algunos recursos distribuidos yconsolidar la proteccién y seguridad entre los diferentes componentes del sistema y los usuarios Los avances tecnolégicos en las redes de area local y la creacién de microprocesadores de 32 y 64 bits lograron que ordenadores mas o menos baratos tuvieran el suficiente poder en forma aut6noma para desafiar en cierto grado a los mainframes, ya la vez se dio la posibilidad de intercomunicarlos, sugiriendo la oportunidad de partir procesos muy pesados en calculo en unidades mas pequefias y distribuirlas en los varios microprocesadores para luego reunir los sub- resultados, creando asi una maquina virtual en la red que exceda en poder a un mainframe. El sistema integrador de los microprocesadores que hacen ver a las varias memorias, procesadores, y todos los demas recursos como una sola entidad en forma transparent, se le llama sistema operativo distribuido, Las razones para crear o adoptar sistemas distribuidos se dan por dos razones principales: por necesidad (debido a que los problemas a resolver son inherentemente distribuidos) o porque se desea tener mas seguridad y disponibilidad de recursos, En el primer caso tenemos, por ejemplo, el control de los cajeros automaticos. Ahi no es posible ni eficiente mantener un control centralizado, es mas, no existe capacidad de cémputo y de entrada/salida para dar servicio a los millones de operaciones por minuto. En el segundo caso, supéngase que se tienen en una gran empresa varios grupos de trabajo; cada uno necesita almacenar grandes cantidades de informacién en el disco duro con una alta seguridad y disponibilidad. La solucién puede ser que para cada grupo de trabajo se asigne una particién del disco duro en servidores diferentes, de manera que si uno de los servidores falla, no se deje dar el servicio a todos, sino sélo a unos cuantos y, mas atin, se podria tener un sistema con discos en espejo (mirror) a través de la red, de manera que si un servidor se cae, el servidor en espejo continda trabajando y el usuario no se da cuenta de estos fallos, es decir, obtiene acceso a recursos en forma transparente. Los sistemas distribuidos deben de ser muy seguros, ya que si un componente del sistema falla, otro componente debe de ser capaz de reemplazarlo. Entre los diferentes Sistemas Operatives distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, platea.pntic.mec.es/idelucas/sistemasoperatives. him 28 canis SISTEMAS OPERATIVOS Amoeba, Taos, etc. Proceso Uno de los conceptos mas importantes que gira entorno a un sistema operativo es el de proceso. Un proceso es un programa en ejecucién junto con el entomo asociado (registros, variables ,etc.) El corazén de un sistema operativo es el nlicleo, un programa de control que reacciona ante cualquier interrupcién de eventos externos y que da servicio a los procesos, credndolos, terminandolos y respondiendo a cualquier peticion de servicio por parte de los mismos Planificacién del Procesador. La planificacién del procesador se refiere a la manera o técnicas que se usan para decidir cuanto tiempo de ejecucién y cuando se le asignan a cada proceso del sistema. Obviamente, si el sistema es monousuario y monotarea no hay mucho que decidir, pero en el resto de los sistemas esto es crucial para el buen funcionamiento del sistema. Caracteristicas a considerar de los Procesos. No todos los equipos de cémputo procesan el mismo tipo de trabajos, y un algoritmo de planificacién que en un sistema funciona bien puede dar un rendimiento pésimo en otro cuyos procesos tienen caracteristicas diferentes, Estas caracteristicas pueden ser: * Cantidad de Entrada/Salida: Existen procesos que realizan una gran cantidad de operaciones de entrada y salida (aplicaciones de bases de datos, por ejemplo). * Cantidad de Uso de CPU: Existen procesos que no realizan muchas operaciones de entrada y salida, sino que usan intensivamente la unidad central de proceso. Por ejemplo, operaciones con matrices. * Procesos de Lote o Interactivos: Un proceso de lote es mas eficiente en cuanto a la lectura de datos, ya que generalmente lo hace de archivos, mientras que un programa interactivo espera mucho tiempo (no es lo mismo el tiempo de lectura de un archivo que la velocidad en que una persona teclea datos) por las respuestas de los usuarios. * Procesos en Tiempo Real: Si los procesos deben dar respuesta en tiempo real se requiere que tengan prioridad para los tumos de ejecucién. * Longevidad de los Procesos: Existen procesos que tipicamente requeriran varias horas para finalizar su labor, mientras que existen otros que solo necesitan algunos segundos. Un proceso es una actividad que se apoya en datos, recursos, un estado en cada momento y un programa El Bloque de Control de Procesos (PCB). Un proceso se representa desde el punto de vista del sistema operativo, por un conjunto de datos donde se incluyen el estado en cada momento, recursos utilizados, registros, etc., denominado Bloque de Control de Procesos (PCB) Los objetivos del bloque de control de procesos son los siguientes: Localizacién de la informacién sobre el proceso por parte del sistema operativo. Mantener registrados los datos del proceso en caso de tener que suspender temporalmente su ejecucién o reanudarla La informacién contenida en el bloque de control es la siguiente: Estado del proceso. Informacién relativa al contenido del controlador del programa (Program Counter, PC), estado de procesador en cuanto a prioridad del proceso, modo de ejecucién, etc., ate pic mer. sdelucasisistemasoperatvs. Nin a9 carina SISTEMAS OPERATIVOS y por ultimo el estado de los registros intemnos de la computadora. Estadisticas de tiempo y ocupacién de recursos para la gestién de la planificacién del procesador. Ocupacién de memoria interna y externa para el intercambio (swapping). Recursos en uso (normalmente unidades de entrada/salida), Archivos en uso. Privilegios Estas informaciones se encuentran en memoria principal en disco y se accede a ellas en los momentos en que se hace necesaria su actualizacién o consulta. Los datos relativos al estado del proceso siempre se encuentran en memoria principal Existe un Bloque de Control de Sistema (SCB) con objetivos similares al anterior y entre los que se encuentra el enlazado de los bloques de control de procesos existentes en el sistema. El cambio de contexto se produciré en caso de ejecucién de una instruccién privilegiada, una llamada al sistema operativo o una interrupcidn, es decir, siempre que se requiera la atencién de algiin servicio del sistema operativo. Estado de los Procesos Los bloques de control de los procesos se almacenan en colas, cada una de las cuales representa un estado particular de los procesos, existiendo en cada bloque, entre otras informaciones. Los estados de los procesos son internos del sistema operativo y transparentes al usuario. Los estados de los procesos se pueden dividir en dos tipos: activos e inactivos. 1.-Estados activos: Son aquellos que compiten con el procesador o estan en condiciones de hacerlo, Se dividen en: Ejecucién, Estado en el que se encuentra un proceso cuando tiene el control del procesador. En un sistema monoprocesador este estado sdlo lo puede tener un proceso. Preparado. Aquellos procesos que estén dispuestos para ser ejecutados, pero no estan en ejecucién por alguna causa (Interrupcién, haber entrado en cola estando otro proceso en ejecucién, etc.) Bloqueado, Son los procesos que no pueden ejecutarse de momento por necesitar algtin recurso no disponible (generalmente recursos de entradalsalida). 2. Estados inactivos: Son aquellos que no pueden competi por el procesador, pero que pueden volver a hacerlo por medio de ciertas operaciones. En estos estados se mantiene el bloque de control de proceso aparcado hasta que vuelva a ser activado. Se trata de procesos que no han terminado su trabajo que lo han impedido y que pueden volver a activarse desde el punto en que se quedaron sin que tengan que volver a ejecutarse desde el principio. Son de dos tipos: + Suspendido bloqueado. Es el proceso que fue suspendido en espera de un evento, sin que hayan desaparecido las causas de su bloqueo. + Suspendido programado. Es el proceso que han sido suspendido, pero no tiene causa parta estar bloqueado, Operaciones sobre procesos. Los sistemas operativos actuals poseen una serie de funciones cuyo objetivo es el de la manipulacién de los procesos. Las operaciones que se pueden hacer sobre un proceso son las siguientes: Crear el proceso. Se produce con la orden de ejecucién del programa y suele necesitar varios ate pic mer. sdelucasisistemasoperatvs. Nin a9 canis SISTEMAS OPERATIVOS argumentos, como el nombre ya prioridad del proceso. Aparece en este momento el PCB, que sera insertado en la cola de procesos preparados La creacién de un proceso puede ser de dos tipos: Jerarquica. En ella, cada proceso que se crea es hijo del proceso creador y hereda el entorno de ejecucién de su padre. El primer proceso que ejecuta un usuario sera hijo del intérprete de comandos con el que interactiia No jerarquica. Cada proceso creado por otro proceso se ejecuta independientemente de su creador con un entomo diferente. Es un tipo de creacién que no suele darse en los sistemas operativos actuales. Destruir un proceso. Se trata de la orden de eliminacién del proceso con la cual el sistema operativo destruye su PCB Suspender un proceso. Es un proceso de alta prioridad que paraliza un proceso que puede ser reanudado posteriormente. Suele utilizarse en ocasiones de mal funcionamiento o sobrecarga del sistema Reanudar un proceso. Trata de activar un proceso que a sido previamente suspendido. Cambiar la prioridad de un proceso. Temporizar la ejecucién de un proceso, Hace que un determinado proceso se ejecute cada cierto tiempo (segundos, minutos, horas...) por etapas de una sola vez, pero transcurrido un periodo de tiempo fijo Despertar un proceso. Es una forma de desbloquear un proceso que habra sido bloqueado previamente por temporizacién o cualquier otra causa. Prioridades Todo proceso por sus caracteristicas e importancia lleva aparejadas unas determinadas necesidades de ejecucién en cuanto a urgencia y asignacién de recursos. Las prioridades segtin los sistemas operativos se pueden clasificar del siguiente modo: Asignadas por el sistema operativo. Se trata de prioridades que son asignadas a un proceso en el momento de comenzar su ejecucién y dependen fundamentalmente de los privilegios de su propietario y del modo de ejecucién * Asignadas por el propietario * Estaticas * Dindmicas. El Nacleo del Sistema Operativo Todas las operaciones en las que participan procesos son controladas por la parte del sistema operative denominada niicleo (nucleus, core o kernel, en inglés). El nucleo normalmente representa sélo una pequefia parte de lo que por lo general se piensa que es todo el sistema operativo, pero es tal vez el codigo que mas se utiliza. Por esta razon, el nucleo reside por lo regular en la memoria principal, mientras que otras partes del sistema operativo son cargadas en la memoria principal sélo cuando se necesitan. Los ncleos se disefian para realizar "el minimo" posible de procesamiento en cada interrupcién y dejar que el resto lo realice el proceso apropiado del sistema, que puede operar mientras el néicleo se habilita para atender otras interrupciones El nucleo de un sistema operativo normalmente contiene el cédigo necesario para realizar las siguientes funciones: ate pic mer. sdelucasisistemasoperatvs. Nin 09 canis SISTEMAS OPERATIVOS Manejo de interrupciones, Creacién y destruccién de procesos. Cambio de estado de los procesos Despacho. Suspensién y reanudacién de procesos. Sincronizacién de procesos Comunicacién entre procesos Manipulacién de los bloques de control de procesos Apoyo para las actividades de entrada/salida Apoyo para asignacién y iberacién de memoria Apoyo para el sistema de archivos Apoyo para el mecanismo de llamada y retomo de un procedimiento. ‘Apoyo para ciertas funciones de contabilidad del sistema. Nucleo o Kemel y niveles de un Sistema Operativo. ElKemel consiste en la parte principal del cédigo del sistema operativo, el cual se encargan de controlar y administrar los servicios y peticiones de recursos y de hardware con respecto a uno 0 varios procesos. Se divide en 5 capas: Nivel 1. Gestién de Memoria: que proporciona las facilidades de bajo nivel para la gestion de memoria secundaria necesaria para la ejecucién de procesos. Nivel 2. Procesador: Se encarga de activar los espacios de tiempo para cada uno de los procesos, creando interrupciones de hardware cuando no son respetadas. Nivel 3. Entrada/Salida: Proporciona las facilidades para poder utilizar los dispositivos de E/S requeridos por procesos Nivel 4, Informacién o Aplicacién o Interprete de Lenguajes: Facilita la comunicacién con los lenguajes y el sistema operativo para aceptar las érdenes en cada una de las aplicaciones. Cuando se solicitan ejecutando un programa, el software de este nivel crea el ambiente de trabajo ¢ invoca a los procesos correspondientes. Nivel 5. Control de Archivos: Proporciona la facilidad para el almacenamiento a largo plazo y manipulacién de archivos con nombre, va asignando espacio y acceso de datos en memoria. Elnticleo (Kemel) de un sistema operativo es un conjunto de rutinas cuya misién es la de gestionar el procesador, la memoria, la entrada/salida y el resto de procesos disponibles enla instalacion Dispositivos de Entrada y Salida El codigo destinado a manejar la entrada y salida de los diferentes periféricos en un sistema operativo es de una extension considerable y sumamente complejo. Resueive la necesidades de sincronizar, atrapar interrupciones y ofrecer llamadas al sistema para los programadores. Los dispositivos de entrada salida se dividen, en general, en dos tipos: dispositivos orientados a bloques y dispositivos orientados a caracteres. Orientados a Bloques Los dispositivos orientados a bloques tienen la propiedad de que se pueden direccionar, esto es, el programador puede escribir o leer cualquier bloque del dispositive realizando primero una operacién de posicionamiento sobre el dispositivo. Los dispositivos mas comunes orientados a bloques son los discos duros, la memoria, discos compactos y, posiblemente, las unidades de platea.pntic.mec.es/idelucas/sistemasoperatives. him 11129 canis SISTEMAS OPERATIVOS cinta Orientados a Caracteres Los dispositivos orientados a caracteres son aquellos que trabajan con secuencias de bytes sin importar su longitud ni ninguna agrupacién en especial. No son dispositivos direccionables. Ejemplos de estos dispositivos son el teclado, la pantalla o display y las impresoras. La olasificacién anterior no es perfecta, porque existen varios dispositivos que generan entrada 0 salida que no pueden englobarse en esas categorias. Por ejemplo, un reloj que genera pulsos Sin embargo, aunque existan algunos periféricos que no se puedan catalogar, todos estan administrados por el sistema operativo por medio de una parte electronica - mecdnica y una parte de software Principios del Software de Entrada y Salida Los principios de software en la entrada - salida se resumen en cuatro puntos: el software debe ofrecer manejadores de interrupciones, manejadores de dispositivos, software que sea independiente de los dispositivos y software para usuarios Manejadores de Interrupciones El primer objetivo referente a los manejadores de interrupciones consiste en que el programador 0 elusuario no debe darse cuenta de los manejos de bajo nivel para los casos en que el dispositivo esta ocupado y se debe suspender el proceso o sincronizar algunas tareas. Desde el punto de vista del proceso o usuario, el sistema simplemente tardé mas o menos en responder a su peticién Manejadores de Dispositivos El sistema debe proveer los manejadores de dispositivos necesarios para los petiféricos, asi como ocultar las peculiaridades del manejo intemo de cada uno de ellos, tales como el formato de la informacién, los medios mecanicos, los niveles de voltaje y otros. Por ejemplo, si el sistema tiene varios tipos diferentes de discos duros, para el usuario o programador las diferencias técnicas entre ellos no le deben importar, y los manejadores le deben ofrecer el mismo conjunto de rutinas para leer y escribir datos. Software que sea independiente de los dispositivos. Este es un nivel superior de independencia que el ofrecido por los manejadores de dispositivos. Aquiel sistema operativo debe ser capaz de ofrecer un conjunto de utilidades para accesar periféricos o programarlos de una manera consistente. Por ejemplo, que para todos los dispositivos orientados a bloques se tenga una llamada para decidir si se desea usar 'buffers' 0 no, o para posicionarse en ellos. Software para Usuarios. La mayoria de las rutinas de entrada - salida trabajan en modo privilegiado, o son lamadas al sistema que se ligan a los programas del usuario formando parte de sus aplicaciones y que no le dejan ninguna flexibilidad al usuario en cuanto a la apariencia de los datos. Existen otras librerias en donde el usuario si tiene poder de decisién (por ejemplo la llamada a "printf" en el lenguaje "C"). Otra facilidad ofrecida son las areas de trabajos encolados (spooling areas), tales como las de impresién y correo electrénico Manejo de los Dispositivos de E/S ate pic mer. sdelucasisistemasoperatvs. Nin a9 canis SISTEMAS OPERATIVOS En el manejo de los dispositivos de E/S es necesario, introducir dos nuevos términos: Buffering (uso de memoria intermedia). El buffering trata de mantener ocupados tanto la CPU como los dispositivos de E/S. La idea es sencilla, los datos se leen y se almacenan en un buffer. Una vez que los datos se han leido yla CPU va a iniciar inmediatamente la operaci6n con ellos, el dispositivo de entrada es instruido para iniciar inmediatamente la siguiente lectura. La CPU y el dispositivo de entrada permanecen ocupados. Cuando la CPU esté libre para el siguiente grupo de datos, el dispositivo de entrada habra terminado de leerlos. La CPU podra empezar el proceso de los titimos datos leidos, mientras el dispositivo de entrada iniciara la lectura de los datos siguientes. Para la salida, el proceso es analogo. En este caso los datos de salida se descargan en otro buffer hasta que el dispositive de salida pueda procesarios. Este sistema soluciona en forma parcial el problema de mantener ocupados todo el tiempo la CPU y los dispositivos de E/S, ya que todo depende del tamajio del buffer y de la velocidad de procesamiento tanto de la CPU como de los dispositivos de E/S. El manejo de buffer es complicado. Uno de los principales problemas reside en determinar tan pronto como sea posible que un dispositive de E/S ha finalizado una operacién. Este problema se resuelve mediante las interrupciones. Tan pronto como un dispositive de E/S acaba con una operacién interrumpe a la CPU; en ese momento la CPU detiene lo que esta haciendo e inmediatamente transfiere el control a una posicién determinada. Normalmente las instrucciones que existen en esta posicién corresponden a una rutina de servicio de interrupciones. La rutina de servicio de interrupcién comprueba si el buffer no esté lleno o no esta vacio y entonces inicia la siguiente peticién de E/S. La CPU puede continuar entonces el proceso interrumpido. Cada disefio de ordenador tiene su propio mecanismo de interrupcién, pero hay varias funciones comunes que todos contemplan. El buffering puede ser de gran ayuda pero pocas veces es suficiente. En un sistema de discos, las tarjetas se leen directamente desde la lectora sobre el disco. La posicién de las imagenes de las tarjetas se registran en una tabla mantenida por el sistema operativo. En|a tabla se anota cada trabajo una vez leido, Cuando se ejecuta un trabajo, sus peticiones de entrada desde la tarjeta se satisfacen leyendo el disco. Cuando el trabajo solicita la salida, ésta se copia en el buffer del sistema y se escribe en el disco. Cuando la tarea se ha completado se escribe ena salida realmente Esta forma de procesamiento se denomina spooling: utiliza el disco como un buffer muy grande para leer por delante como sea posible de los dispositivos de entrada y para almacenar los ficheros hasta que los dispositivos de salida sean capaces de aceptarios. La ventaja sobre el buffering es que el spooling solapa la E/S de un trabajo con la computacién de otro, Es una caracteristica utilizada en la mayoria de los sistemas operativos. Afecta directamente a las prestaciones. La CPU puede simultanear la computacién de un trabajo con la E/S de otros. De esta manera, puede mantener tanto a la CPU como a los dispositivos de E/S trabajando con un rendimiento mucho mayor, Ademas mantiene una estructura de datos llama “job spooling”, que hace que los trabajos ya leidos permanezcan en el disco y el sistema operativo puede seleccionar cual ejecutar; por lo tanto se hace posible la planificacién de trabajos n hive ate pic mer. sdelucasisistemasoperatvs. Nin 1329 carina SISTEMAS OPERATIVOS Un archivo es un conjunto de informacién que se encuentra almacenada o guardada en la memoria principal del ordenador, en el disco duro, en el disquete flexible o en los discos compactos (Cd-Rom) Antes de que un archivo pueda leerse o escribirse en él, debe abrirse, momento en el cual se verifican los permisos. Estos archivos se abren especificando en el ordenador la ruta de acceso al archivo desde el directorio raiz, que es la unidad principal del disco del ordenador; este puede ser un disco duro o disco flexible. Entonces el sistema operativo visualiza el entomo al abrir un archivo. Uno de los problemas mas frecuentes en el manejo de archivos son los "deadlock". Un deadlock es una situacién no deseada de espera indefinida y se da cuando en un grupo de procesos, dos © mas procesos de ese grupo esperan para llevar a cabo una tarea que sera ejecutada por otro proceso del mismo grupo: entonces se produce el bloqueo. Los bloqueos se dan tanto en los sistemas operativos tradicionales como en los distribuidos, solo que en estos titimos es mas dificil de prevenirlos, evitarlos ¢ incluso detectarlos, y si se los logra detectar es muy complicado solucionarlos ya que la informacién se encuentra dispersa por todo el sistema Una vez que un deadlock se detecta, es obvio que el sistema tiene problemas y lo tinico que resta por hacer es una de estas dos cosas: tener algtin mecanismo de suspensién o reanudacién que permita copiar todo el contexto de un proceso incluyendo valores de memoria y aspecto de los periféricos que esté usando para reanudarlo otro dia, o simplemente eliminar un proceso 0 arrebatarle el recurso, causando para ese proceso la pérdida de datos y tiempo. Seguridad de un Sistema Operativo. Enlos sistemas operativos se requiere tener una buena seguridad informatica, tanto del hardware, programas y datos, previamente haciendo un balance de los requerimientos y mecanismos necesarios, con el fin de asegurar la integridad de la informacién contenida. Dependiendo de los mecanismos utilizados y de su grado de efectividad, se puede hablar de sistemas seguros e inseguros. En primer lugar, deben imponerse ciertas caracteristicas en el entomo donde se encuentra la instalacién de los equipos, con el fin de impedir el acceso a personas no autorizadas, mantener un buen estado y uso del material y equipos, asi como eliminar los riesgos de causas de fuerza mayor, que puedan destruir la instalacién y la informacién contenida, Enla actualidad son muchas las violaciones que se producen en los sistemas informaticos, en general por acceso de personas no autorizadas que obtienen informacién confidencial pudiendo incluso manipularla. En ocasiones este tipo de incidencias resulta grave por la naturaleza de los datos; por ejemplo si se trata de datos bancarios, datos oficiales que puedan afectar a la seguridad de los estados, etc. El software mal intencionado se produce por diversas causas; son pequefios programas que poseen gran facilidad para reproducirse y ejecutarse y cuyos efectos son destructivos: nos estamos refiriendo a los virus informaticos. Las cuestiones de seguridad que se analizan lo son desde dos perspectivas diferentes: la seguridad extema y la seguridad interna. Todos los mecanismos dirigidos a asegurar el sistema informatico sin que el propio sistema intervenga en el mismo se engloban en lo que podemos denominar seguridad externa. La seguridad externa puede dividirse en dos grandes grupos: ate pic mer. sdelucasisistemasoperatvs. Nin ag carina SISTEMAS OPERATIVOS Seguridad fisica. Engloba aquellos mecanismos que impiden a los agentes fisicos la destruccién de la informacién existente en el sistema; entre ellos podemos citar el fuego, e! humo, inundaciones descargas eléctricas, campos magnéticos, acceso fisico de personas con no muy buena intencién, entre otros. Seguridad de administracién. Engloba los mecanismos mas usuales para impedir el acceso légico de personas fisicas al sistema. Todos los mecanismos dirigidos a asegurar el sistema informatico, siendo el propio sistema el que controla dichos mecanismos, se engloban en lo que podemos denominar seguridad interna La historia de la informatica no puede ser escrita si no son mencionados los programas 0 softwares que como un torrente en lineas de cédigo e instrucciones le dan vida al cuerpo 0 hardware de cualquier dispositivo electronico en nuestros dias. Escribir, ademas, sobre los sistemas operatives, la llamada alma del ordenador, es por otra parte, muy dificil. Porque, en realidad, qué son los sistemas operatives? Los sistemas operativos 0 SO, como se les conoce, no son mas que programas que luego de ser cargados en un ordenador por el conjunto de cédigos de carga, (una rutina conocida como BOOT), administran todos los demas programas (aplicaciones) que corren en la maquina. Las aplicaciones a su vez interacttian con el SO mediante llamadas de servicios definidas bajo el nombre de API (aplication program interface). A su vez el propio usuario interactua directamente con el SO mediante la interfaz de usuario, ya sea ésta por comandos o grafica (GUI) Entre las tareas que realiza un SO tenemos: - Si es un sistema multitarea: asignar y controlar los recursos del sistema, definir qué aplicacién y en qué orden deben ser ejecutadas - Manejar la memoria del sistema que comparten las multiples aplicaciones. - Maneja los sistemas de entrada y salida, incluidos discos duros, impresoras y todo tipo de puertos, - Envio de mensajes de estado a las aplicaciones, al administrador de sistema o al propio usuario, sobre cualquier error o informacién necesaria para el trabajo estable y uniforme del sistema. - Asume tareas delegadas de las propias aplicaciones, como impresién en background y procesamiento por lotes, con el fin de que éstas ganen en eficiencia y tiempo. - Administra, de existir, el procesamiento en paralelo. Elector observador se percatard de que el disefio de un SO esta estrechamente vinculado al hardware donde reside y a su vez determinaré la forma en que se programen las aplicaciones para dicho hardware. Enla historia de la computacién han existido muchos SO. Al principio, todos atados a cada maquina en la que corrian: la marca tal lleva el programa tal, la marca cual, el programa cual. Posteriormente fueron asociados a cada plataforma y finalmente se hicieron multiplataformas. Registrando en Intemet un poco de aqui y otro de alla, rescatamos para esta edici6n la historia de tres de los Sistemas Operativos mas conocidos. Historia del UNI el nimero de instalaciones de UNIX ha crecido a 10, con tendencia al aumento.. Dennis Rictchie y Ken Thompson, junio de 1972 "el resultado fue un sistema llamado UNICS (Uniplexed Information and Computing Service)...nadie recuerda de quien fue la idea de cambiar las sigias a UNIX..." Tomado de "A brief look at the eraly History" ate pic mer. sdelucasisistemasoperatvs. Nin 1529 carina SISTEMAS OPERATIVOS Después de tres décadas de haber escapado de los laboratorios Bell, el UNIX sigue siendo uno de los SO mas potentes, versatiles y flexibles en el mundo de la computacién. Su popularidad se debe a muchos factores, incluidas su portabilidad y habilidad de correr eficientemente en una inmensa variedad de maquinas computadoras. Descrito frecuentemente como un sistema “simple, potente y elegante” el UNIX es hoy el corazén que late en el seno de millones de aplicaciones de telefonia fija y mévil, de millones de servidores en universidades, centros académicos, grandes, medianas y pequefias empresas, el SO cuyo desarrollo viene de la mano del de Intemet y que alberga a millones de servidores y aplicaciones de la red de redes. Sin UNIX, no cabe duda, el mundo de la informatica hubiera sido otro. Del MULTICS al UNICS Elorigen del UNIX se remonta a los finales del afio 1969, al renacer de las cenizas de un fracasado intento en los Laboratorios Bell de producir un SO multitarea. En esos tiempos remotos los sistemas eran desarrollados para computadoras especfficas, por lo que eran necesatios, incluso, intérpretes en una misma compafila para trabajar programas iguales de una computadora a otra, MULTICS fue el resultado del esfuerzo conjunto de un grupo de investigadores de los Laboratorios Bell yla General Electrics, que si bien fue funcional, econémicamente era inviable. "A pesar de que MULTICS no podia manejar muchos usuarios simulténeos, al menos nos era de ultilidad a nosotros, aunque a costes exorbitantes”, explicaria luego Dennis Ritchie, uno de sus fundadores. La frustracién se llené de esperanza cuando un grupo escindido del proyecto MULTICS no se dio por vencido, En ese mismo ajo, el grupo formado por Ken Thompson, Dennis Ritchie, Doug Meloy y J.F Osanna continué en la busqueda del santo grial. Los primeros intentos fueron de nuevo un fracaso: propuestas excesivamente complicadas, soluciones muy caras y sin una linea coherente de trabajo, hicieron que los directivos de Bell rechazaran una y otra vez los trabajos presentados por el grupo. Anétese adicionalmente que el costo de un ordenador para la época era no menor de 60 000 délares. Como todo mito que rodea a un producto genial, el UNIX tiene el suyo propio. En la primavera de 1969, Thompson, Ritchie y Rudd Canaday, cofundador de Sun-Microsystems, intercambiaban y filosofaban sobre cémo debiera ser un SO de un ordenador. Después de una larga tormenta de ideas, Canaday tomé el teléfono y llamé a la Bell para dictar las notas que habia tomado. Acrénimos como "inode"y "eyen” entre sus notas, fueron la base del UNIX y el primer documento de trabajo, a decir de Thompsom, para desarrollar el sistema. Un Sistema Operativo para una PDP-7 Thompson, en su tiempo, libre desarrollo un pequefio juego llamado "Viaje Espacial’, el cual simulaba el movimiento de los planetas en el sistema solar y de una nave manejada en ese escenario intergalactico por comandos de consola. El juego fue escrito para MULTICS y luego pasado por FORTRAN todo ello corriendo sobre una computadora GE 635. "El coste, el tiempo empleado y la mala calidad de la consola, hicieron que Thompson buscara llevar el juego a una poco usada PDP-7 (Programmed Data Processor) de DEC con un terminal excelente. El juego, escrito en ensamblador, era portado usando cinta de papel de la GE 635 a la PDP-7 Este mecanismo preparé el escenario para que la PDP-7 sirviera de anfitrién al sistema de ficheros cuyas notas habian sido escritas en aquella primavera del 69. En el verano de ese mismo ate pic mer. sdelucasisistemasoperatvs. Nin 629 carina SISTEMAS OPERATIVOS aio, Thompson y Ritchie empezaron a implementar el sistema operativo, llamado "sistema de tiza" ya que éste tomaba forma luego de numerosas sesiones de pizarra entre ambos investigadores. "Destiné una semana de trabajo para cada médulo: el sistema operativo, el editor, el shell y el ensamblador’, diria Thompsom. Primero los requerimientos del sistema, en particular los procesos, luego un pequefio grupo de herramientas del sistema para copiar, imprimir, borrar, etc. Trabajado sobre GECOS el sistema de la GE635 y luego transportado ala PDP7, el nuevo SO estaba casi listo. Una vez completado el ensamblador, el sistema podia soportarse a si mismo. Habia nacido el UNIX Las primeras aplicaciones para UNIX Pronto se hizo evidente que la PDP-7 no offecia poder de cémputo suficiente y quedaria obsoleta en breve. El grupo propuso a los Laboratorios adquirir una PDP-11. Con una idea més clara y un embrién por desarrollar, asi como el apoyo de Doug Meloy y Lee MacMahom, jefes de departamentos en Bell, esta vez los directivos aceptaron. Durante la espera dela liegada del nuevo equipo, el trabajo sobre la PDP-7 no se detuvo, demostrando con creces la utilidad de! nuevo UNIX. Después de largas y trabajosas sesiones, el resultado fue milagroso: no sélo el Departamento de Patentes adopté el UNIX, sino que la credibilidad del grupo crecié y se hizo notable el apoyo e interés del Laboratorio en traer la PDP-11 Esta primera versién estaba escrita en ensamblador: la siguiente tarea de Thompson fue escribirla en un lenguaje de alto nivel, En 1971 intenta trabajar con FORTRAN en la vieja PDP-7, pero se rindié el primer dia, Después escribié un lenguaje muy sencillo que lamé B, que aunque funcional tendria que enfrentar algunos problemas de concepcién. Ritchie transform el B para la PDP-11, alintroducirle algunas mejoras, lo denominé NB e hizo un compilador para él. Asi surgi el lenguaje C, que si bien es cierto pertenece a otra historia, constituyé el lenguaje de alto nivel en el que se reescribié el UNIX por primera vez en el afio 1972. Concatenando procesos El otro paso importante, y que mas que una solucién puntual constituyé toda una filosofia en el disefio del software, fue llevar al nuevo SO el concepto de la concatenacién de procesos, el llamado "pipes concept’, La habilidad de encadenar en una misma linea de comandos varios procesos fue una innovacién que tiene su origen en una idea de Meliroy, cuyas conferencias sobre eluso de macros y flujos de datos para producir un determinado resultado ya eran conocidas. Mientras Thompson y Ritchie pasaban horas de su tiempo frente a una pizarra disefiando el sistema de ficheros, Mcliroy llevaba otro tanto tratando de interconectar entre silos procesos y construir una sintaxis en el lenguaje para ello. "...es muy facil decir who into cat into grep, pero esta todo el asunto este de los parametros laterales que estos comandos tienen..." acota Mcliroy. Aunque sin concretarla, la idea estuvo presente a lo largo del periodo del 70 al 72. Una noche, después de presentarle propuesta tras propuesta a Thompson, éste se llevé un prototipo a casa y al dia siguiente estaba listo. "Ken puso la concatenacién de comandos en el UNIX, las. notaciones en el shell del usuario, todo ello en una sola noche", diria luego Melirey maravillado ni mi Bell L: No fue hasta tiempo después que el UNIX saltaria los muros de la Bell para insertarse en el mundo. Durante un semestre sabatico para Ken Thompson entre 1976 y 1977, fue como profesor platea.pntic.mec.es/idelucas/sistemasoperatives. him 17129 carina SISTEMAS OPERATIVOS invitado en el Departamento de Ciencias de la Computacién de la Universidad californiana de Berkeley. Lo que por supuesto impartié fue precisamente el sistema UNIX, cuya version 6 desarrollé durante ese tiempo. Enseguida fue recibido con mucho éxito y se fue propagando por toda la comunidad académica. Una vez de vuelta a los Laboratorios, la versién 6 ya habia sido enriquecida en la propia universidad, lo que dio origen a lo que luego se conocié como Berkeley Software Distribution (BSD) versién 4.2, comprada por muchas otras universidades. La universidad de Berkeley jugé un papel importante en el desarrollo y extensién del UNIX, cuyas licencias a importantes instituciones académicas, de negocios y militares como el DARPA, propiciaron un acelerado trabajo en protocolos como el TCP/IP y el nacimiento de Intemet La entrada al mundo comercial no fue mas que una evolucién légica, después del paso de los primeros licenciados del mundo universitario criados bajo el manto del UNIX, al sector empresarial. Lo que hizo del SO un programa popular fue su habilidad de multitarea, sefioreando por aquel entonces el mundo de los mini y los mainframes, su portabilidad por medio de los distintos fabricantes de ordenadores y su capacidad de correo electrénico. Una vez llegado a este punto todo estaba listo para la aparicién de las innumerables versiones del sistema, las batallas legales para las licencias, la produccién de estaciones de trabajo para UNIX por parte de IBM, Sun, NCR y HP y con ellas nuevas versiones comerciales, y asi sucesivamente en espiral ascendente Mucho del progreso de la computacién en el titimo cuarto del siglo pasado esta intimamente ligado a la influencia que el UNIX tuo en la industria de la computacién. Estaba embebido de ideas visionarias, toda una llamada a la abertura y generalidad entre sistemas, toda una fuerza, que atin mueve el desarrollo de la informatica moderna. Como diria uno de sus creadores, 30 afios de su nacimiento, el UNIX sigue siendo un gran fenémeno". Linux, la otra cara Yo realmente no sigo mucho lo que hacen los otros sistemas operativos. Yo no compito, sélo me preocupo con hacer de Linux un producto cada vez mejor que si mismo, no respecto a otros. Y honestamente no veo nada interesante desde el punto de vista técnico, tampoco (en FreeBSD 5.0 y Windows XP)" Linus Torvalds, 10 de octubre del 2001, OSNews. La fascinacién de los medios por Linux viene dada, entre otras cosas, por ser un proyecto de ingenieria de software distribuido a escala global, esfuerzo mancomunado de mas de 3 000 desarrolladores y un sin nimero de colaboradores distribuidos en mas de 90 paises. El rango de participantes en la programacién del Linux se ha estimado desde unos cuantos cientos hasta mas de 40 000, ya sea ofreciendo cédigo, sugiriendo mejoras, facilitando comentarios o describiendo yenriqueciendo manuales. De hecho, se cuenta que el mayor soporte técnico jamas disefiado de manera espontanea y gratuita pertenece a este SO. Escribir la historia de UNIX sin mencionar a Linux es pecado: realmente merece todo un capitulo propio. Salido de una raiz comtin, hoy el Linux comparte un tanto por ciento no despreciable del mercado de los SO, con un crecimiento que ha llegado a preocupar al gigante Microsoft. Su versién 1.0, salida en marzo de 1994 ofrecié basicamente las mismas facilidades que el UNIX, ate pic mer. sdelucasisistemasoperatvs. Nin 1029 canis SISTEMAS OPERATIVOS incluyendo soporte multitarea, tratamiento de memoria virtual y soporte TCP/IP. Estaba constituido por unas 175 000 lineas de cédigo. Ya su versién 2.0, de junio de 1996, ofrecia procesamiento de 64 bits, multiprocesamiento en paralelo y soporte avanzado de redes. El numero de lineas de cédigo se habia triplicado: 780 000, y en la version de julio de 1998 la cifra sobrepasaba el millon y medio, 17% especificos de la arquitectura del SO, 54% en manipuladores y el 29% el niicleo del kernel y el sistema de ficheros. Ello ha sido posible por el simple hecho de que Linux es mas que un SO: es una fuente inagotable en permanente evolucién por miles de programadores a escala mundial ~Cémo surgid? {A qué se debe el fendmeno de la espontaneidad en su creacion y desarrollo? Adentrémonos brevemente en su historia. En octubre de 1991 un estudiante graduado de Ciencias de la Computacién en la Universidad de Helsinki, llamado Linus Torvalds, anuncia en Intemet que habia escrito una versi6n libre de un sistema MINIX (una variante de UNIX) para un ordenador con procesador Intel 386 y lo dejaba disponible para todo aquel que estuviera interesado. {La causa? El MINIX fue una versién simplificada de UNIX escrito y mantenido durante mucho tiempo como herramienta de estudio en una escuela europea por un profesor de Ciencias de la Computacién llamado Andrew Tanenbaum. El MINX era ampliamente utilizado como recurso en clases de Computacién, aun a costo de su licencia (79 délares) que limitaba su redistribucién. Luego de interesar a los estudiantes con el software, éstos se llenaban de deseos de realizar mejoras y extensiones, nunca aprobadas por Tanenbaum. Torvalds, uno de estos alumnos frustrados, decidié realizar su propia version de MINIX y dejar libre su cédigo fuente para ser copiado por cualquiera y asi saciar la sed de desarrollo de aquellos que se veian impedidos de hacerlo. "gSe lamenta de los dias del MINIX-1.1, cuando los programadores escribian sus propios manipuladores de dispositivos? ¢Esté usted sin un proyecto interesante y muriéndose de deseos por un SO que pueda modificar a su antojo? ¢Se siente frustrado cuando encuentra que todo trabaja bien en su MINIX?... Entonces este mensaje puede ser para usted : escribiria en un foro de discusién por Internet. Adicionalmente, el mensaje estimulaba a todo aquel que se sintiera capaz de adicionar nuevas funciones, mejoras, sugerencias y manuales de ayuda, con la Unica condicién de que el resultado fuera a su vez distribuido libremente. La piedra habia echado a rodar montafia abajo. En los siguientes 30 meses se desarrollarian hasta 90 versiones del nuevo SO, finalizando en 1994 con la definitiva, llamandola Linux versién 1.0. Varias condiciones adicionales propiciaron la buena acogida que tuvo la decisién de Torvalds, pero dos de ellas de especial impacto: el status legal y social del llamado cédigo abierto, open source, una via para intercambiar software de manera libre, ¢ Internet. El intercambio de cédigos fue una practica bastante comin en los albores de la computacién en el sector académico. Laboratorios como el MIT Artificial intelligence Laboratory, universidades como Standford y Camegie Mellon solian practicar una politica de cédigo abierto. Debido a que las maquinas computadoras eran muy limitadas en aquel entonces, las personas solian dejar en éstas el software desarrollado para que otros pudieran admirar el trabajo y sugerir mejoras. El propio UNIX de Thompson y Ritchie, que legalmente pertenecia a AT&T, pero que por restricciones de la ley anti trust de ese momento, le impedia comercializar, fue distribuido a la comunidad académica por una tarifa nominal, sin soporte oficial al programa. Ello acostumbré a platea.pntic.mec.es/idelucas/sistemasoperatives. him 19729 carina SISTEMAS OPERATIVOS los programadores y usuarios del sistema a intercambiar los errores y soluciones, asi como las mejoras. La llegada del protocolo UUCP (Unix to Unix Copy) permitié la transferencia de ficheros y datos con el uso de una linea telefonica e introdujo el soporte de transmisién como mecanismo natural para intercambiar informacién entre los usuarios del sistema. Se crearon los primeros foros y aparecié Usenet. Las innovaciones de diserio y caracteristicas propias de! UNIX como sistema, a su vez, propiciaron la cultura del intercambio. ‘A medida que el UNIX tomaba fuerza y seguia atado a las nuevas computadoras de diferentes fabricantes, la cultura del libre intercambio se vio amenazada entre su comunidad. Surge asi, por idea de Richard Sallman, el proyecto GNU en 1984 para crear sistemas operatives libres que hicieran posible la distribucién y trabajo de colaboracién entre diferentes desarrolladores. Para evitar que el mecanismo fuese deformado se instituyd lo que Sallman liamé "Copyleft": usted puede distribuir, copiar, modificar el software, obligando a su veza las derivaciones de éste a cumplir con los mismos requisitos. El marco legal y social para la distribucién y copia gratuita estaba instituido. Huelga mencionar las facilidades que aporté Internet cuando Torvalds decidié hacer su anuncio: ya no era sélo un grupo privilegiado con acceso a maquinas computadoras grandes en laboratorios estratégicos o grandes universidades los que podian colaborar con un cédigo de programa. internet elevé el intercambio a un marco global. Si bien Torvalds nunca persiguié encabezar un proyecto de programacién distributiva a escala mundial, sus habilidades como lider de proyecto y excelente programador fueron determinantes enel éxito de Linux, Mas alld de sus cualidades como programador, su mayor contribucién fueron sus habilidades en el disefio de una arquitectura modular y portable para el kernel. Por tanto, al disponer de un cédigo base Unico para todo tipo de plataforma, desde Intel hasta Motorola, que permitia soportar de manera simultanea varias ramas segiin el tipo de arquitectura de ordenador que se tratase, increment6 considerablemente la portabilidad del Linux. Por otro lado, la modularidad del sistema minimizaba la comunicacién entre las distintas componentes del kernel y por ende hacia posible el trabajo en paralelo, al disminuir la necesidad de un trabajo coordinado entre sus disefiadores. Otra decisién brillante de Torvalds fue establecer una nomenclatura paralela para cada tipo de version del SO. Para ello se separaron en versiones pares o impares segtin la estabilidad y seguridad de la misma o la inclusién de cédigo experimental o alguna nueva rutina en fase de estudio, Ello hacia posible disponer de dos tipos de colaboradores: los que buscaban una version estable del programa o los que preferian probar con nuevas estructuras, innovar y llevar sus sistemas hasta el extremo. Ello enriquecié al Linux extraordinariamente. Es interesante conocer, ademas, que los programadores suelen escribir cédigo para Linux en aras de resolver sus propios problemas. El mismo Torvalds buscaba un SO para su 386 y su anuncié explicitamente invitaba a "modificarlo segun sus necesidades ". Asi, cuando la comunidad de programadores acepté el reto de Torvalds, cada cual escribié sus propios manipuladores de dispositivos. Por ejemplo, un programador aleman dise/ié el driver para teclado en su idioma y éste fue incluido en la version de diciembre del 91. Hasta nuestros dias se mantiene la misma filosofia: cada cual trabaja en las areas que le interesa. He aquila historia. Hoy Linux es una altemnativa para muchos e indispensable para otros. Su importancia no puede ser relegada: los RED HAT, los SUSE, los Mandrake pueblan miles de servidores por todo el planeta. Lo mejor? Pues que Linus Torvalds sigue enviando mensajes a sulista, del tipo: "..mi prioridad personal no es este tipo de comportamiento, por tanto seria platea.pntic.mec.es/idelucas/sistemasoperatives. him 20128 carina SISTEMAS OPERATIVOS bueno que alguien implementara esta opcién. Historia de Microsoft Windows "Microsoft siempre ha sido una compariia optimista, que cree que el software puede crear herramientas que realmente no tengan ninguna atadura en términos de lo que es posible..." Bill Gates, Future Forum, septiembre del 2001 De todos los sistemas operativos que se han hecho famosos a Io largo del desarrollo de la informatica en el ocaso del siglo pasado, sin duda, ningtn otro posee la peculiaridad del Windows de Microsoft. Rodeado por todo tipo de mitos acerca de su emprendedor y ambicioso creador, solidificado sobre la base de un sistema DOS, cuya irrupcién en el primer PC tenia mas de suerte que de propésito, amparado por disfrutar de un férreo y despiadado control de mercado, es, hoy por hoy, odiado 0 amado, el sistema operative mas extendido del planeta Al buscar su historia ena red, no encontramos anécdotas de noches en vela, de errores que se convirtieron en éxitos, de genios convertidos en héroes de la noche a la mafiana. En cambio, si conocimos de oportunidades, visién de futuro, monopolios y juicios. La historia de Windows tiene mezclado un poco de Bill Gates, de MSDOS y de la propia comparifa Microsoft. Fundacion La Compafila fue fundada en 1975 por William H. Gates lly Paul Allen. Ambos se habian conocido durante su época de estudiantes por su aficién comtn a programar con una computadora PDP-10 de Digital Equipment Corporation. Eran afios en que la revista Popular Electronics dedicaba su portada a la Altair 8800, para muchos el primer ordenador personal (PC). Elarticulo de dicha revista animé a Gates y Allen a desarrollar la primera version del lenguaje de programacién BASIC para el equipo Altair. Con un ojo para los negocios fuera de lo comin, el dio le compré la licencia de este software a Micro Instrumentation and Telemetry Systems (MITS), la empresa fabricante del Altair, y fundaron Microsoft (originalmente Micro-soft) en Albuquerque, Nuevo México. Su idea: desarrollar versiones de BASIC para otras compajiias del sector. Apple Computer, fabricante del equipo Apple Il; Commodore, fabricante del PET, y Tandy Corporation, fabricante del equipo Radio Shack TRS-80, todas compafias creadas por aquel entonces, fueron los primeros clientes de Microsoft. En 1977 Microsoft lanzé al mercado su segundo producto: Microsoft FORTRAN, otro lenguaje de programacién, y pronto sacé versiones del lenguaje BASIC para los microprocesadores 8080 y 8086. MS-DOS En 1979, Gates y Allen trasladaron la compafiia a Bellevue, Washington, muy cerca de Seattle, la ciudad donde ambos nacieron (el traslado a Redmond, su sede de hoy, no se produciria hasta 1986), En 1980, IBM contrat6 a Microsoft para escribir el sistema operativo del IBM PC que saldria al mercado al afio siguiente. Presionada por e| poco tiempo disponible, Microsoft compré QDOS (Quick and Dirty Operating System, como se le solia llamar entonces) a Tim Paterson, un programador de Seattle, por 50 000 délares, cambiandole el nombre a MS-DOS. E! contrato firmado con IBM permitia a Microsoft vender este SO a otras compafiias. La mesa estaba servida. La arquitectura abierta del primer PC y los artilugios legales permitieron la extension de la arquitectura X86 de Intel y con ella del PC fuera del marco de IBM. Fue la época del platea.pntic.mec.es/idelucas/sistemasoperatives. him 21128 carina SISTEMAS OPERATIVOS florecimiento de los clénicos y el surgimiento de algunas compafiias que luego serian todo un estandarte, como la fusionada Compaq. En 1984, Microsoft habia otorgado licencias de MS-DOS a 200 fabricantes de equipos informaticos y asi este SO se convirtid en el mas utilizado para PCs, lo que permitié a Microsoft crecer vertiginosamente en la década de 1980 Por qué el MS-DOS qued6 estigmatizado con las sucesivas generaciones de PCs hasta no hace mucho? La respuesta a esta pregunta tiene un poco que ver con la esencia misma del origen de los ordenadores personales. Cuando IBM fabricé el PC hizo que el usuario antes de cargar algun SO, realizara lo que se llamé el POST (Power On Self Test), que determinaba los dispositivos disponibles (teclado, video, discos, etc.) y luego buscaba un disco de arranque. Estas funciones eran realizadas por un corjunto de instrucciones incorporadas en la maquina mediante una ROM Luego quedé escrito que siempre hubiera algtin tipo de software en el sistema atin sin ser cargado el SO. Entre las rutinas de! POST tenemos las de revisién del sistema, inicializacion y prueba de teclado, habilitacién de video, chequeo de la memoria y la rutina de inicializacién que preparaba a la maquina para ejecutar DOS. Después que las pruebas de arranque han sido ejecutadas y el sistema esta cargado, la ROM atin sigue siendo importante debido a que contiene el soporte basico de entrada y salida (BIOS). La BIOS provee un conjunto de rutinas que el SO o los programas de aplicacién pueden llamar para manipular el monitor, teclado, discos duros, discos flexibles, puertos COM o impresoras. Eltrato de IBM con Microsoft tenia entre otras condiciones una particularidad interesante: la administracién directa de las tarjetas adaptadoras podria ser manejada sélo por programas que IBM provela con la ROM del ordenador. DOS seria escrito para utilizar estos servicios. De esta manera, si IBM decidia cambiar el hardware, éste podia embarcar nuevos modelos de chips con cambios en la BIOS y no requeria que Microsoft cambiara el SO. Ello posibilité, junto con la clonacién de la arquitectura de IBM incluido el BIOS, que el DOS se extendiera por el universo, aun cuando el Gigante Azul rompiera su alianza con Microsoft, en 1991, para producir su propio SO. Microsoft habia hecho un trabajo estratégico brillante e IBM habia perdido la supremacia de los ordenadores para siempre. Realmente, el niicleo del DOS estaba contenido en un par de archivos ocultos llamados IO.SYS y MSDOS.SYS en las versiones de DOS realizadas por Microsoft, ¢ ISIBIO.SYS ¢ IBMDOS.SYS, para las versiones de DOS hechas por IBM bajo licencia Microsoft. Los servicios de DOS eran solicitados cuando una aplicacién llamaba a la interrupcién 21 (INT 21) reservada para estos fines. Esta buscaba un punto de entrada del administrador de servicios de DOS en una tabla y saltaba a la rutina en el médulo MSDOS.SYS. En otros SO, la aplicacién debia realizar una llamada al sistema (system call) para requerir servicios, como, por ejemplo, en UNIX. Otro rasgo distintivo del MS-DOS fue la forma en el manejo de la estructura de ficheros: la FAT (File Allocation Table) o Tabla de Asignacién de Archivos, que dividia al disco en subdirectorios y archivos. Criticados por muchos como un sistema poco seguro y no eficiente, la herencia sobrevivié por mucho tiempo y no fue hasta época reciente que Microsoft decidié reemplazario por un sistema mas robusto, el NTFS que destiné a la gama alta de sus SO: el Windows NT. La historia del MS-DOS comienza en 1981, con la compra por parte de Microsoft, de un sistema operativo lamado QDOS, que tras realizar unas pocas modificaciones, se convierte en|a primera versién del sistema operative de Microsoft MS-DOS 1.0 (MicroSoft Disk Operating System) ate pic mer. sdelucasisistemasoperatvs. Nin zane carina SISTEMAS OPERATIVOS A partir de aqui, se suceden una serie de modificaciones del sistema operativo, hasta llegar ala versién 7.1, a partir de la cual MS-DOS deja de existir como tal y se convierte en una parte integrada del sistema operativo Windows. Ahora explicaremos y comentaremos la cronologia de MS-DOS en todas sus versiones: En 1982, aparece la version 1.25, con la que se afiade soporte para disquetes de doble cara. El afio siguiente, 1983, el sistema comienza a tener mas funcionalidad, con su version 2.0, que afiade soporte a discos duros IBM de 10 MB, y la posibilidad de lectura-escritura de disquetes de 5.25" con capacidad de 360Kb. En la version 2.11 del mismo afio, se afiaden nuevos caracteres de teclado. En 1984, Microsoft lanzaria su version 3.0 de MS-DOS, y es entonces cuando se afiade soporte para discos de alta densidad de 1,2MB y posibilidad de instalar un disco duro con un maximo de 32MB. En ese mismo afo, se afiadiria en la version 3.1 el soporte para redes Microsoft. Tres afios mas tarde, en 1987, se lanza la version 3.3 con soporte para los conocidos y actuales disquetes de 3,5", y se permite utilizar discos duros mayores de 32 MB. Es en 1988 cuando Microsoft saca al mercado su versién 4.0 y con ella el soporte para memoria XMS y la posibilidad de incluir discos duros de hasta 2GB; cabe destacar que esta versién fue la mayor catastrofe realizada por la empresa, ya que estaba llena de bugs, fallos, etc... esto se arreglé en 1989 con el lanzamiento de la versién 4.01 que arregiaba todos estos problemas y fallos, Uno de los avances mas relevantes de la historia de MS-DOS, es el paso en 1991 de la version 4,01 ala version 5.0, en la que DOS es capaz ya de cargar programas en la parte de la memoria alta del sistema utiizando la memoria superior (de los 640Kb a los 1024Kb). Ena version 5.0 se afiade el programador BASIC y el famoso editor EDIT. También se afiadieron las utilidades UNDELETE (Recuperacién de ficheros borrados), FDISK (Administracién de particiones) y una ultilidad para hacer funcionar los programas disefiados para versiones anteriores de MS-DOS, llamada SETVER. Es a finales de 1992 cuando se resuelven unos problemas con UNDELETE y CHKDSK en a version 5.0. En 1993, aparece MS-DOS 6.0 con muchas novedades, entre ellas la utilidad Doublespace que se encargaba de comprimir el disco y asi tener mas espacio disponible; también se incluyé un antivirus basico (MSAV), un defragmentador (DEFRAG), un administrador de memoria (MEMMAKER) y se suprimieron ciertas utilidades antiguas, ya que haciendo un mal uso de ellas Podian destruir datos: estas utilidades eran JOIN y RECOVER entre otras. En el mismo afio sale la versién 6.2 que afiade seguridad a la perdida de datos de Doublespace, yajiade un nuevo escaner de discos, SCANDISK, y soluciona problemas con DISKCOPY y SmartDrive. Enla version 6.21 aparecida en el mismo afio 1993, Microsoft suprime Doublespace ybusca una nueva alternativa para esta utilidad Un afio mas tarde, en 1994, aparece la solucién al problema de Doublespace; es la utilidad de la compaiiia Stac Electronics, Drivespace, la elegida para incluirse en la versién 6.22 ate pic mer. sdelucasisistemasoperatvs. Nin 239 canis SISTEMAS OPERATIVOS En elafio 1995 aparece Microsoft Windows 95, que supone apartar a MS-DOS a un segundo plano, Elsistema MS-DOS, no obstante, sigue estando presente con una nueva versién, la 7.0, con la que se corrigen multitud de utilidades y proporciona soporte para nombres largos. Las utilidades borradas del anterior sistema operativo las podemos encontrar en el directorio del cd de windows 95 \otherioldmsdos En 1997 aparece Windows 95 OSR2, y con él una revisién exhaustiva del sistema DOS, aiiadiendo el soporte para particiones FAT32. Ena actualidad, la utllzacién de MS-DOS sigue siendo muy importante cuando Windows no es capaz de realizarla tarea que estamos haciendo o cuando Windows falla. Muchos técnicos en el rea de la informatica utilizan MS-DOS para realizar mantenimientos del PC, instalaciones, formateo y particionamiento de discos duros y escaneos de los mismos. Hay que dejar constancia de que MS-DOS ha sido el sistema operativo utiizado por practicamente todos los usuarios de PC desde 1981 hasta la actualidad, utiizando programas famosos para trabajar como el legendario WordPerfect 5.1, Works 2.0, Comandante Norton, Autocad, Ability 2000 entre otros. Windows Paralelamente, Microsoft hizo su primera incursién en lo que luego se llamaria Microsoft Windows enel afio 1981 con el llamado Interface Manager, en tiempos en que las interfaces graficas de usuario, GUI, eran una quimera de lujo para muchos, en tanto la computacién estaba suscrita al Area geografica de los centros académicos, grandes instituciones y empresas. Mas que un SO, se trataba en realidad de una interfaz montada sobre su estrenado DOS. Aunque los primeros prototipos usaban una interfaz similar a una de las aplicaciones estrellas de la Compafiia en aquel entonces, el Multiplan, luego ésta fue cambiada por menties pulldown y cajas de didlogo, similares a las usadas en el programa Xerox Star del mencionado fabricante. Al sentir la presion de programas similares en aquel entonces (recordemos que mas que un SO, Windows nacido como una interfaz grafica entre éste y el usuario), Microsoft anuncia oficialmente Windows a finales del afio 1983. En ese momento, muchas compafias trabajan la linea de las interfaces graficas, entre ellas Apple, reconocida casi por todos como la primera, DESQ de Quraterdeck, Amiga Workbech, NEXTstep, etc. Windows prometia una interfaz GUI de facil uso, soporte multitarea y grafico. Siguiendo el rito de los anuncio-aplazamientos de Microsoft, Windows 1.0 no llegé a los estantes de las tiendas hasta noviembre de 1985, disponiendo de un soporte de aplicaciones pobres y un nivel de ventas pico. El paquete inicial de Windows 1.0 incluia: MS-DOS Ejecutivo, Calendario, Tarjetero (alguien realmente uso esto alguna vez?), el Notepad, Terminal, Calculadora, Reloj, Panel de Control, el editor PIF (Program Information File), un spooler de impresién, el Clipboard, asi como el Windows Write y Windows Paint. Enlos afios siguientes, si bien el ordenador personal como concepto ya se habia establecido y ate pic mer. sdelucasisistemasoperatvs. Nin ang canis SISTEMAS OPERATIVOS servia de altemativa valida a las mini, sobre todo en el entorno institucional y empresarial, atin el poder de cémputo limitado y la gran variedad de fabricantes limitaron la explosién de Windows como SO, debido al despliegue universal que con el MS-DOS la Compatia habia logrado establecer. Windows /286 y Windows/386, renombrados como Windows 2.0 terminan la saga en el otofio de 1987, al ofrecer algunas mejoras de uso, adicionar iconos y permitir la superposicién de ventanas, lo que propicié un marco mucho més apropiado para la co-ubicacién de aplicaciones de mayor nivel como el Excel, Word, Corel Draw, Ami y PageMakers, etc. Una notoriedad del Windows /386 lo constituyé el hecho de poder correr aplicaciones en modo extendido y multiples programas DOS de manera simuiténea El Windows 3.0, que aparece en mayo de 1990, constituyé un cambio radical de! ambiente Windows hasta entonces. Su habilidad de direccionar espacios de memorias por encima de los 640 k y una interfaz de usuario mucho mds potente propiciaron que los productores se estimularan con la produccién de aplicaciones para el nuevo programa. Ello, unido a la fortaleza dominante del MS-DOS, hizo que el Windows 3.0 se vislumbrara como el primer SO grafico (siempre con el MS-DOS bajo su estructura) marcado para dominar el mercado de las PCs en el futuro inmediato. Windows 3.0 fue un buen producto, desde el punto de vista de las ventas: diez millones de copias. Todo un récord Dos afios después llegaria la saga del Windows 3.1 y 3.11, asi como su variante para trabajo en grupo. Con éste se hizo patente el traslado de la mayoria de los usuarios del ambiente de texto que ofrecia el MS-DOS hacia el ambiente grafico de la nueva propuesta, olvidandonos todos paulatinamente del Copy A:\*.* para sustituirlo por el COPY AND PASTE. Las primeras aplicaciones "adquiridas ylo desplazadas" por Microsoft oftecidas como un todo tinico, el ambiente de RED peer to peer, los sistemas de upgrade de una version a otra y el tratamiento diferenciado para los revendedores y los fabricantes OEM, caracterizaron los movimientos de Microsoft para afianzar el mercado de su SO insignia. En el caso de la versién para trabajo en grupo, Microsoft integré por primera vez su SO con un paquete de tratamiento para redes, lo que permitid, sobre un protocolo propio, el compartir ficheros entre PCs (incluso corriendo DOS), compartir impresoras, sistema de correo electrénico y un planificador para trabajo en grupo. Sin embargo, lo realmente llamativo consistié en su plena integracién con el ambiente Windows y con ello garantizar, independiente de la calidad del producto final, un seguro predominio. Mientras tanto, IBM y Microsoft trabajaban para desarrollar un nuevo programa especialmente disefiado para el procesador de |nte| 80286. De esa forma, la version 1.0 de OS/2 es lanzada en 1988, época en que ya el 386 se hacia popular. Se hizo claro que el hardware estaba cambiando muy rapido con relacién al desarrollo del software. De manera que ambas compafiias decidieron que la OS/2 versién 2 seria un refinamiento evolutivo de sistemas previos, actualizado para las nuevas caracteristicas de hardware del 386. Sin embargo, para la version 3 se procedié a trabajar desde cero, basado todo sobre Nueva Tecnologia. En un principio seria un SO para procesadores de intel, pero portable a otros, como los ALPHA, de Digital, por aquel entonces muy famosos. Después de la ruptura con IBM, Microsoft le llamaria al SO Windows NT. El OS/2, tras una existencia cadtica bajo el pulso de IBM, queds en el olvido. Microsoft se percaté que si bien tenia bajo control el mercado de los SO para las masas, se sentia desplazado por la comunidad UNIX al nivel de las grandes instituciones y empresas. El NT comenzé a tomar fuerza en sus planes. Volviendo al Windows tradicional, el afio 95 significé un nuevo vuelco en la linea de los SO de ate pic mer. sdelucasisistemasoperatvs. Nin 2509 canis SISTEMAS OPERATIVOS Microsoft. En agosto sale al mercado el controvertido Windows 96, un entorno multitarea con interfaz simplificada y con otras funciones mejoradas. A sélo siete semanas de su lanzamiento ya se habian vendido siete millones de copias. Es la época del despegue de Internet y el WWW, y su visualizador dominante: el Navigator de Netscape. Microsoft, en un error poco comtn de su timonel, no se habia dado cuenta que el futuro de los ordenadores estaba precisamente en la red y que Intemet significaria toda una revolucién | lanzamiento de Windows 95 estuvo acompariado de una serie de pasos que el Gigante dio en aras de remediar su equivocacién y enderezar el rumbo. Ademas de "empotrar" su navegador y obligar a los fabricantes de PCs a tenerio en cuenta, ese mismo afio se crea The Microsoft Network y mediante su incursién acelerada en los medios masivos de comunicacién, surge MSNBC, un afio después. En ese momento, Microsoft pagé 425 millones de délares por la adquisicién de WebTV Networks, un fabricante de dispositivos de bajo costo para conectar televisiones a Internet ¢ invirtié mil millones de délares en Comeast Corporation, un operador estadounidense de televisién por cable, como parte de su politica de extender la disponibilidad de conexiones de alta velocidad a Internet. Por titimo, para introducirse en el mercado de los asistentes personales y los ordenadores de bolsillo, handheld devices, crea una nueva linea de su SO, el Windows CE, una especie de Windows en miniatura que ya en su versién 3.0 ha logrado una integracién asombrosa con la plataforma e Internet. Pero, {qué significé realmente Windows 95? En esencia, cuando Microsoft lo anuncié lo describié como un SO de 32 bits. En realidad, Windows 95 era un hibrido que mezclaba cédigos de 16 y 32 bits. Poseia capacidad de multitarea y multihilo, un sofisticado sistema de ficheros y pleno soporte de red. Su lanzamiento se pregonaba con la desaparicién del MS-DOS, aunque en verdad la critica no lo perdoné, pues trala de fondo el viejo sistema DOS en su versién 7.0. Asi Windows 95 tomaba el control inmediatamente después de la secuencia de arranque, para dar lugar a una interfaz totalmente mejorada y una filosofia de trabajo diferente. Afiadale la famosa promesa del "plug and play" y tendremos un timo de marketing bien montado. Claro, en realidad la solucién si bien novedosa y prometedora, era una meta muy alta para Microsoft y los fabricantes de entonces. No sélo habria que garantizar la compatibilidad de un legado de dispositivos de una variedad incontable, en plena explosién y desarrollo de los periféricos en los PCs, sino que ademas habria que lidiar con todo un arco iris de fabricantes y sistemas, que poco a poco se organizarian e integrarian para sobrevivir sélo los mas fuertes. Adn afios después, el término plug and play sigue mostrando sorpresas con algunas configuraciones 0 dispositivos, pero aquellos primeros intentos felizmente quedaron atras. Una de las notas mas contradictorias del nuevo SO fue la inclusion de un navegador para Internet, el Internet Explorer, como una utillidad mas del sistema. Esto no era mas que el resultado de una estrategia de mercado que Microsoft habia aplicado desde sus inicios: comprar las licencias de lo mejor de la competencia para integrarla a su SO o desarrollar su propia versi6n y ofrecerla gratis como parte de su paquete completo, para desplazar al que no quisiera vender. Comenzé la guerra de los browsers, que finalmente ganaria el Explorer debido a la abismal ventaja que le ofrecia llegar de manera natural al ordenador con cada nueva instalacién de Windows. Como resultado, a finales de 1997 el Departamento de Justicia acusé a Microsoft de violar un acuerdo fechado en 1994 al obligar a los fabricantes de ordenadores que instalaban Windows 95 ala inclusién de Internet Explorer. El Gobierno sostuvo que la Compaiiia se aprovechaba de la posicién en el mercado de sus sistemas operativos para obtener el control de los exploradores de Intemet. Microsoft afirmé que debia disponer del derecho de mejorar la funcionalidad de ate pic mer. sdelucasisistemasoperatvs. Nin 2509 carina SISTEMAS OPERATIVOS Windows, integrando en el SO funciones relacionadas con Internet. En plena guerra de los browsers, otro gigante del software, la Sun Microsystems, demanda a Microsoft ese mismo afto, alegando que habia incumplido el contrato por el que se le permitia utilizar el lenguaje de programacién universal JAVA, propiedad de Sun, al introducir mejoras sdlo compatibles en Windows. La batalla legal de Microsoft en varias direcciones, con victorias y derrotas para demandados y demandantes, seré algo que caracterizaré a la Compatiia desde entonces Windows 95, a pesar de su "obligado” éxito no estuvo exento de problemas practicos. Con él, Microsoft nos até para siempre a su tradicional politica de los paquetes de servicio o service packs para enmendar errores, huecos de seguridad 0 adicionar mejoras, que las premuras del mercado no habian permitido disponer a tiempo. Con é| se estrenaron las famosas "pantallas azules", muy comunes entonces, ocasionadas en muchos casos por un deficiente tratamiento de los manipuladores de dispositivos o drivers. Con 6, finalmente, se le dio bienvenida a la desenfrenada carrera de poder de cémputo y memoria, que provocé la obsolescencia de muchos sistemas que habian sobrevivido durante afios. La llegada de Windows 98 no marcé mucha diferencia visual de su predecesor. Sin embargo, en el fondo fue todo un mensaje de lo que Microsoft haria para penetrar en el mercado de Internet y barrer con los que habian dominado en este tema hasta entonces. La indisoluble integracién del WEB con el escritorio, el llamado active desktop, la interfaza lo "HTML", los canales (que pocos \isitaron) y la persistente presencia del Explorer 4.0, para situarse por vez primera a la cabeza de los visualizadores de Internet, fueron rasgos distintivos de esta versién. El 98 incluyé utilidades para el tratamiento de FAT16 y su conversion a FAT32, mejor manejo de los discos duros, manipulacién mittiple de varios moritores, una lista extendida de soporte plug and play (jextendida, si, pero lejos de ser perfecta!), soporte DVD, AGP, etc. A su vez la promesa de una mejora sustancial en el tratamiento de los drivers de dispositivos y en la disminucién de los pantallazos azules, que realmente cumplié y mejoré con la version SR1 (service release 1), tiempo después. El Windows 98 se ha mantenido hasta nuestros dias y debe ser la titima version del SO que quede vinculada a lo que fue la linea MS-DOS-Windows (salvando la variante Millenium o Windows Me que no ha convencido a nadie) hasta su total sustitucién por Windows 2000 y el XP, enuna serie de zigzagueantes cambios que deja a todos adivinando si debe cambiar o no para la proxima version. Pero tras este erratico rumbo, Microsoft persigue s6lo una cosa: conservar la supremacia de los SO de por vida. La saga NT La misién del equipo de desarrolladores que trabajé el NT estaba bien definida: construir un SO que supliera las necesidades de este tipo de programa para cualquier plataforma presente 0 futura. Con esa idea, el equipo encabezado por un antiguo programador de SO para maquinas grandes, se trazé los siguientes objetivos: portabilidad en otras arquitecturas de 32 bits, escalabilidad y multiprocesamiento, procesamiento distribuido, soporte APly disponer de mecanismos de seguridad clase 2 (C2), segun parametros definidos por el Gobierno estadounidense La robustez del sistema, fue un requisito a toda costa: el NT debia protegerse a simismo de cualquier mal funcionamiento interno o dafio externo, accidental o deliberado, respondiendo de ate pic mer. sdelucasisistemasoperatvs. Nin aR carina SISTEMAS OPERATIVOS manera activa a los errores de hardware o software. Debia ser desarrollado orientado al futuro, prever las necesidades de desarrollo de los fabricantes de equipos de cémputo, su adaptacién tecnolégica no sélo al hardware, sino al propio software. Todo ello sin sacrificar el desempefio y eficiencia del sistema. En cuanto al certificado de seguridad, C2, debiera cumplir con los estandares establecidos por éste como la auditoria, la deteccién de acceso, proteccién de recursos, ete. Asinacié el Windows NT 3.5 alld por el afio 1994 y se introdujo poco a poco en un mercado hasta ese momento desterrado para Microsoft EINT 4.0 de nombre cédigo Cairo, sale a luz en 1996. Por ahieiamos que el nuevo sistema operativo cumplia una férmula muy sencilla: tomar un NT 3.51, sumarie los service packs 1,2 y3 y mezclarlo con una interfaz.a lo Windows 95 (incluido su recycle bin, algo realmente util para un sistema montado sobre NTFS). Un pasé mas en la integracién del SO con Internet lo dio el NT 4.0 al incluir Intemet Information Server, servidor de Microsoft para soporte WEB, FTP, etc. como una Ulilidad mas dentro del paquete y que como la légica indicaba engranaba con éste a las mil maravillas al desplazar en eficiencia y velocidad cualquier producto exteo. La cara "Windows 95" se sobrepuso a un inicio incierto, ya que tuvo que vencer la desconfianza que pudo haber generado. Téngase en cuenta que la familia NT estaba orientada a un cliente en el que la estabilidad y seguridad del sistema eran el requisito ntimero uno y ello contrastaba con la experiencia que habia tenido el 95. Sin embargo, el golpe fue genial Por primera vez, Microsoft mezclé la solidez con el facil uso y desterré para siempre el concepto impuesto hasta entonces de que para las grandes compafifas y las grandes empresas los servidores debian ser cosa de cientificos de bata blanca. El crecimiento de los usuarios NT se mulliplicé desde ese momento, EL 4.0 se comercializaba en tres versiones: Workstation, Server y Advanced Server para tres variantes de clientes tipo, el profesional de las ingenierias, incluido la informatica, la pequefia y mediana empresas y la gran empresa. La convergencia El cierre de los noventa y el inicio de siglo sorprendié a Microsoft con serios problemas legales, promesas de lanzamiento varias veces aplazadas y un nuevo cambio de estrategia. Cuando se esperaba el 5.0 como el sucesor de gama alta, éste es renombrado como Windows 2000 y la plataforma unificada en una sola, El14 de septiembre de 2000 sale el Millenium, no como un sucesor del 98, sino como un producto orientado al usuario doméstico (interfaz de colores, mucha misica y video, soporte para redes LAN inaldmbricas, cortafuegos personales), nada del otro mundo, con poca perspectiva de supervivencia, aunque esto siempre es una incégnita. En cambio, Windows 2000 es Ia alternativa actual para la mayoria, en |a fase justa de emigrar de un 95 6 98. Se ofrece en 4 clasificaciones: Windows 2000 Professional, Windows 2000 Server (anteriormente NT Server), Windows 2000 Advanced Server (anteriormente NT Advanced Server) y Windows 2000 Datacenter Server, un producto nuevo, poderoso y muy espectfico con posibilidad de manejo de hasta 16 procesadores simétricos y 64 Gb de memoria fisica. Pensamos que lo destacable de este paso estriba en haber llevado la robustez, la seguridad yla portabilidad que daba el NT al mercado masivo de los PCs. Este ofrece una plataforma impresionante para el trabajo en internet, Intranet, manejo de aplicaciones, todo muy bien integrado. La posibilidad de soporte completo de redes, incluido redes privadas virtuales, encriptacién a nivel de disco o de red y riguroso control de acceso son otras de sus bondades. La historia terminaria aqui... si hubiese sido escrita el afio pasado. No obstante, un nuevo ate pic mer. sdelucasisistemasoperatvs. Nin 2809 carina SISTEMAS OPERATIVOS producto, de nombre cédigo Whistler fue inaugurado en Nueva York bajo las cuerdas de Sting, el 21 de octubre de 2003, el Windows XP. Bajo su manto, un kemel de 32 bits y la herencia natural de los manipuladores que el NT y el 2000 han legado. Sin embargo incorpora toda una gama nueva de herramientas y otra filosofia de trabajo, siempre, claro esta, con la red de redes en su mira. Se dice que el XP es un upgrade discreto del Windows 2000 y una piedra mas en el camino de Microsoft hacia su préximo gran SO, de nombre cédigo Blackcomb. Hay dos cuestiones a destacar en el XP: primero que parece ser la integracién légica y perfecta a su plataforma de desarrollo para la red, eNET, promesa paradisiaca para programadores y desarrolladores de aplicaciones, que como nos comentaba un profesor estudioso del tema, constituye el primer gran esfuerzo de la compaiiia de Redmond en el cual no ha intervenido la compra de una licencia a un tercero. Segundo, la clave de habilitacién en linea para la activacién del producto, que con la justificacién de evitar su copia ilegal pretende mantener localizado y controlado a cada usuario del sistema El predominio de Microsoft en la arena de los sistemas operativos a escala masiva es incuestionable. La visién de sus fundadores, sus practicas poco ortodoxas, asi como los azares en su largo camino, han hecho de Microsoft y su Windows, en cualquiera de sus modalidades, un seguro ganador en el presente y el futuro inmediato. Esperemos que al hablar de la historia de la computacién, dentro de varios afios, no tengamos mas alternativa que contar la de un Unico sistema operativo, Eso seria imperdonable. © 2004 Javier de Lucas ate pic mer. sdelucasisistemasoperatvs. Nin 209

También podría gustarte