Вы находитесь на странице: 1из 38

La Segunda Generacin (1955 - 1965): Transistores y Sistemas de Lote.

En esta poca las computadoras seguan siendo muy caras y por esa razn se senta la necesidad de hacer que trabajaran lo ms eficientemente posible. Una forma para vencer la barrera de los costos era tratar de mantener la computadora ocupada el mayor tiempo posible. La solucin tom dos caminos principales, uno con relacin a la eficiencia de la persona que trabajaba con la computadora hizo surgir el nuevo trabajo de operador de computadora l cual tena la responsabilidad de mantenerla ocupada todo el tiempo, disminuyendo los tiempos en que deban permanecer sus componentes inactivos (principalmente la CPU). Otra persona era el programador que ya no tendra que interactuar ms con la mquina. El segundo camino hizo surgir el concepto de lote de tareas (sistemas batch), que no es ms que la agrupacin de un conjunto de tareas con requisitos afines, en una sola tarea. El operador somete la tarea (como un todo) al equipo de cmputo y las salidas se clasifican para enviarla al destino apropiado. Un ejemplo tpico de un lote de trabajo consiste en la compilacin de varios programas con el mismo compilador (Fortran, por ejemplo). Esta solucin no resolva el problema totalmente, por ejemplo si un trabajo se detena el operador deba darse cuenta de eso (observando la consola) determinar si la terminacin era normal o anormal, hacer un vaciado de memoria (si era necesario) para despus cargar el lector con el prximo trabajo y restaurar la computadora. Durante todo ese tiempo, la CPU estaba inactiva y ese era un tiempo muy grande para el costo de la computadora. Para paliar la situacin anterior se introdujo el concepto de secuencia automtica de trabajo y en ese instante surgi, realmente, el primer SO rudimentario. La solucin consista en tener cargado un pequeo programa llamado monitor residente (porque siempre estaba en memoria) que se encargara de transferir el control de un trabajo a otro en forma automtica. Este SO rudimentario tomaba el control cuando la computadora se encenda y se lo transfera a un programa, el cual deba devolver el control al SO al terminar para que de nuevo el SO le transfiriera el control a otro programa y as hasta terminar. Para hacer esas tareas surgi un lenguaje de control de tareas o JCB por sus siglas en ingls (Job Control Language). Con el fin de indicar al SO la secuencia de trabajos se introdujeron tarjetas de control especiales que especificaban dicha secuencia. El problema que deban resolver los SO de tratamientos por lotes est relacionado con el logro de una mejor eficiencia reduciendo al mximo el tiempo de espera que provoca el cambio manual de tareas, para lo cual se instrument el monitor residente. An as quedaba un problema que se relaciona con la reducida velocidad de los equipos perifricos con relacin a la CPU, para lo cual se busc una alternativa que pudiera disminuir el tiempo que debe esperar la CPU por una entrada o salida que necesita hacer. UNIVAC (UNIVersal Automatic Computer) 1951

Inicio de la dcada del 60. Operacin fuera de Lnea.


Aunque los perifricos incrementaron su velocidad (y an hoy la siguen incrementando) nunca lograron alcanzar (ni parece razonable que la alcancen) la velocidad de la CPU que tambin se fue incrementando con el tiempo. Una solucin fue la de sustituir los lentos equipos de entrada salida por otros equipos ms rpidos, por ejemplo los lectores de tarjetas dejaron de conectarse directamente a la CPU y su lugar fue tomado por lectores de banda magntica (considerablemente ms rpidos). La idea principal consista en llenar la cinta en otro equipo (fuera de lnea) y llevarla al equipo conectado a la computadora una vez llenada (el operador haca esa funcin). Esta solucin tuvo dos alternativas:

La primera fue la de especializar equipos de entrada y salida para conectarse directamente con los equipos de bandas magnticas para el llenado de las cintas. La segunda fue especializar pequeas computadoras satlites (no conectadas a la computadora principal) para que cumplieran la misin del llenado de las cintas. Cabe sealar que este es el antecedente ms remoto de la multicomputadora.

Esta idea permite que una tarea corra sin tomar en cuenta si la entrada o la salida se origina o enva a un equipo u otro, el programador no necesita decir hacia donde va a escribir o desde donde va a leer para lo cual debe haber algn agente (una parte del SO) que se encargue de manejar el problema. Esta concepcin de programar usando equipos lgicos (no fsicos o reales) se conoce como independencia del equipo.

Spooling
La operacin fuera de lnea no dur mucho tiempo, los sistemas con discos se hicieron dueos del panorama rpidamente, la velocidad de estos perifricos con relacin a todos sus antecesores era muy grande, por otra parte los discos eliminaban el principal defecto de la cinta que consista en la forma secuencial de acceder a los datos y permita que varios juegos de tarjetas (de trabajos diferentes) fueron almacenados en reas distintas del disco que podan accederse en el momento deseado con solo mover el cabezal de lectura/escritura. En estos sistemas las tarjetas se lean directamente desde el lector de entrada y se almacenaban en reas diferentes del disco, manteniendo una cierta tabla que describa los lugares donde las imgenes de entrada residan. Esta forma de trabajo recibi el nombre de SPOOL (simultaneous peripherical operating on line) por el significado de sus siglas en ingls, y la idea principal es que las entradas (o salidas) de un trabajo vayan a parar a un lugar del disco desde el que son tomadas o hacia el cual son escritas

cuando se necesitan. Queda claro que en este esquema se logra que un equipo fsico se transforme en varios equipos virtuales. Los sistemas spool forman parte de la mayora de los SO modernos ya que sus ideas (modernizadas) an son vlidas y seguramente los lectores han podido ver esa tarea reportada por el administrador de tareas de los SO de la familia Windows.

Mediados del 60
A mediados de los aos 60 surgieron las computadoras de tercera generacin que eran muy veloces al compararlas con sus antecesores y provocaban problemas cuando interactuaban con dispositivos relativamente lentos, la solucin a este problema hizo surgir la multiprogramacin que no es ms que cargar varios trabajos en memoria y compartir el uso de la CPU. El SO escoge uno de los trabajos que estn listos y comienza a ejecutarlo, puede que dicho trabajo tenga que esperar por algn evento externo (una entrada, una salida, etc.), el sistema operativo, en lugar de quedarse inactivo mientras espera que se satisfaga la demanda del trabajo, se cambia hacia otro trabajo y lo ejecuta. El principal problema de esta concepcin es que si un trabajo est acotado a CPU (usa ms CPU que entrada salida, por ejemplo los programas de clculo cientfico), no da oportunidad para que otros se ejecuten. Por ese motivo surgieron los sistemas de tiempo compartido (no es ms que una variante de la multiprogramacin) en los cuales el procesador no se abandona en forma voluntaria, en lugar de eso el SO asigna espacios de tiempo conocidos como quantum para cada proceso y una vez vencidos los quantum asignados, le quita el procesador y lo transfiere a otro trabajo. IBM 360 1964

Dcada de los 70
A fines de los 70 las computadoras tenan CPU ms rpidas y se hizo mayor el distanciamiento entre stas y los equipos de entrada/salida, los esquemas de multiprogramacin estaban limitados por el tamao de la memoria que no permita

cargar ms trabajos. Surgi la idea de la memoria virtual, la cual consiste, en esencia, en usar la memoria secundaria o externa (de forma transparente a los usuarios) como una expansin de la memoria principal, los trabajos se dividen en unidades lgicas que solo se cargan cuando se necesitan lo que permite trabajar con ms tareas a la vez. En esta poca se le prest mayor atencin a la conservacin de los recursos de datos, el software de administracin de bases de datos se convirti en una herramienta popular. Los programas se distanciaron ms y ms de las especificaciones de hardware o de software de bajo nivel y se convirtieron en juegos de palabras ms cercanos a los lenguajes humanos o naturales.

Dcada de los 80
Se mejor, notablemente, la relacin costo/rendimiento de las computadoras, el hardware se hizo ms flexible con tarjetas de fcil reemplazo que incorporaban funciones lgicas, ms y ms funciones del SO pasaron del software al hardware, lo que acu el nuevo trmino de firmware. La industria pas al multiprocesamiento (uso de ms de un procesador) y se elaboraron lenguajes que permitieran el manejo de los distintos procesadores que formaban parte de las mquinas. Por supuesto que los sistemas operativos de esta poca, debieron asimilar estos avances del hardware. Las computadoras personales y las comunicaciones de alta velocidad llevaron al procesamiento distribuido y a las redes de computadoras.

Dcada de los 90
A mediados de los 90 la demanda generalizada de capacidades de Internet origin la proliferacin de la redes, hoy la accesibilidad a Web y el intercambio de correo electrnico son caractersticas comunes a los sistemas operativos. Durante esta dcada se incrementaron las aplicaciones multimedias que demandaron del SO potencia y flexibilidad para manejar diferentes equipos. Con estas nuevas tcnicas se hace mas necesario administrar muy eficientemente la memoria que ha crecido enormemente, pero que a la vez se hace ms escasa ya que las aplicaciones son ms gastadoras de recursos.

Actualidad
Cada da que pasa el ser humano descubre ms y ms cosas, la computadora se ha convertido en su medio auxiliar inseparable para la cual mira cada vez que necesita resolver un problema. La solucin de ese problema, a menudo, hace que se fabriquen nuevos medios que se pueden conectar a la mquina o que pueden incorporarse dentro de ella, cada nuevo componente necesita ser manipulado de una forma cmoda (como hacemos con el ratn o mouse) aislando al usuario (en el sentido amplio, persona u otro software) de sus interioridades. En todas esas nuevas soluciones deber estar el SO como intermediario ideal y la tendencia es que esos nuevos medios se instalen de manera automtica lo que se ha denominado tecnologa plug and play.

Relacin de diferentes Sistemas Operativos segn caractersticas ms notables.


SO Atlas The RC4000 Solo CTSS Multics Unix Sprite Merlin Windows NT Mach Amoeba Ao 50-60 1969 1984 1984 1985 Autor University of Manchester Universidad de Eindhoven Brinch Hansen de Regenecentralen Brinch Hansen de Regenecentralen MIT MIT Ritchie / Thompson Microsoft Gestin de procesos Lotes Lotes S.O Completo Arquitectura Multiusuario Monoltico No Modular Modular No No No Si Si Si Si No Si

Multiprogramado Modular multiprogramado-t Monoltico compartido multiprogramado-t Modular compartido multiprogramado-t Monoltico compartido Multiprogramado Modular Lotes Monoltico Multiprogramado Modular

1986 Darpa 1994 (En desarrollo) Microsoft Trinity College Dubln

Multiprogramado Monoltico Si Distribuido Microkernel Si

Windows 1995/98 95/98 Coyote Exokernel 1996

Multiprogramado Monoltico No Distribuido Micro-kernel Modular Si

En desarrollo

Monoltico Si

Para tratar de comprender los requisitos de un Sistema Operativo y el significado de las principales caractersticas de un Sistema Operativo contemporneo, es til considerar cmo han ido evolucionando estos con el tiempo. A finales de los aos 40 el uso de ordenadores estaba restringido a aquellas empresas o instituciones que podan pagar su alto precio, y no existan los sistemas operativos. En su lugar, el programador deba tener un conocimiento y contacto profundo con el hardware, y en el infortunado caso de que su programa fallara, deba 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, adems de enfrentarse nuevamente a los procedimientos del sistema y poner a punto los compiladores, ligadores, etc, para volver a correr su programa. La importancia de los sistemas operativos nace histricamente desde los aos 50, cuando se hizo evidente que el operar un ordenador por medio de tableros enchufables en la primera generacin y luego por medio del trabajo en lote en la segunda generacin se poda mejorar notoriamente, pues el operador realizaba siempre una secuencia de pasos repetitivos, lo cual es una de las caractersticas contempladas en la definicin de lo que es un programa. Es decir, se comenz a ver que las tareas mismas del operador podan plasmarse en un programa, el cual a travs del tiempo y por su enorme complejidad se le llam "Sistema Operativo". As, tenemos entre los primeros sistemas operativos al Fortran Monitor System (FMS) y el IBSYS. Posteriormente, en la tercera generacin de ordenadores nace uno de los primeros sistemas operativos con la filosofa de administrar una familia de ordenadores: el OS/360 de IBM. Fue este un proyecto tan novedoso y ambicioso que enfrent por primera vez una serie de problemas conflictivos debido a que anteriormente los ordenadores eran creados para dos propsitos en general: el comercial y el cientfico. As, al tratar de crear un solo sistema operativo para ordenadores que podan dedicarse a un propsito, al otro, o a ambos, puso en evidencia la problemtica del trabajo en equipos de anlisis, diseo e implantacin de sistemas grandes. El resultado fue un sistema del cual uno de sus mismos diseadores patentiz su opinin en la portada de un libro: una horda de bestias prehistricas atascadas en un foso de brea. Surge tambin en la tercera generacin de ordenadores el concepto de la multiprogramacin, porque debido al alto costo de los ordenadores era necesario idear un esquema de trabajo que mantuviese a la unidad central de proceso ms tiempo ocupada, as 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 generacin siguieron siendo bsicamente sistemas de lote. En la cuarta generacin, la electrnica avanza hacia la integracin a gran escala, pudiendo crear circuitos con miles de transistores en un centmetro cuadrado de silicio y ya es posible hablar de los ordenadores personales y las estaciones de trabajo. Surgen los conceptos de interfaces amigables intentando as atraer al pblico en general al uso de los ordenadores como herramientas cotidianas. Se hacen populares el MS-DOS y el UNIX en estas mquinas. Tambin es comn encontrar clones de ordenadores personales y una multitud de empresas pequeas ensamblndolas por todo el mundo. A mediados de los aos 80, comienza el auge de las redes de ordenadores y la necesidad de sistemas operativos en red y sistemas operativos distribuidos. La red mundial Internet 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

aos 90 el paradigma de la programacin orientada a objetos cobra auge, as como el manejo de objetos desde los sistemas operativos. Las aplicaciones intentan crearse para ser ejecutadas en una plataforma especfica y poder ver sus resultados en la pantalla o monitor de otra diferente (por ejemplo, ejecutar una simulacin en una mquina con UNIX y ver los resultados en otra con DOS ). Los niveles de interaccin se van haciendo cada vez ms profundos. Qu es un Sistema Operativo? Un Sistema Operativo es un programa que acta como intermediario entre el usuario y el hardware de un ordenador, y su propsito es proporcionar un entorno en el cual el usuario pueda ejecutar programas. El objetivo principal de un Sistema Operativo es lograr que el Sistema de computacin se use de manera cmoda, y el objetivo secundario es que el hardware del ordenador se emplee de manera eficiente. Un Sistema Operativo es una parte importante de cualquier sistema de computacin. Un sistema de computacin puede dividirse en cuatro componentes: el hardware, el Sistema Operativo, los programas de aplicacin y los usuarios. El hardware (Unidad Central de Proceso(UCP), memoria y dispositivos de entrada/salida (E/S)) proporciona los recursos de computacin bsicos. Los programas de aplicacin (compiladores, sistemas de bases de datos, vdeo y programas para negocios) definen la forma en que estos recursos se emplean para resolver los problemas de computacin de los usuarios. Caracterstica de un Sistema Operativo En general, se puede decir que un Sistema Operativo tiene las siguientes caractersticas: Conveniencia. Un Sistema Operativo hace ms conveniente el uso de un ordenador. Eficiencia. Un Sistema Operativo permite que los recursos del ordenador se usen de la manera ms eficiente posible. Habilidad para evolucionar. Un Sistema Operativo deber construirse de manera que permita el desarrollo, prueba o introduccin efectiva de nuevas funciones del sistema sin interferir con el servicio. Encargado de administrar el hardware. El Sistema Operativo se encarga de manejar de una mejor manera los recursos 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 travs del kernel). El Sistema Operativo se debe encargar de comunicar a los dispositivos perifricos, cuando el usuario as lo requiera. Organizar datos para acceso rpido y seguro. Manejar las comunicaciones en red. El Sistema Operativo permite al usuario manejar con alta facilidad todo lo referente a la instalacin y uso de las redes de ordenadores. Procesamiento por bytes de flujo a travs del bus de datos.

Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle fcil al usuario el acceso y manejo de los dispositivos de Entrada/Salida del ordenador. Tcnicas de recuperacin de errores. Evita que otros usuarios interfieran. El Sistema Operativo evita que los usuarios se bloqueen entre ellos, informndoles si esa aplicacin esta siendo ocupada por otro usuario. Generacin de estadsticas. Permite que se puedan compartir el hardware y los datos entre los usuarios. El software de aplicacin son programas que se utilizan para disear, tal como el procesador de textos, lenguajes de programacin, hojas de clculo, etc. El software de base sirve para interactuar el usuario con la mquina. Est compuesto por : cargadores, compiladores, ensambladores y macros. Tipos de Sistemas Operativos Actualmente los sistemas operativos se clasifican en tres tipos: sistemas operativos por su estructura (visin interna), sistemas operativos por los servicios que ofrecen y sistemas operativos por la forma en que ofrecen sus servicios (visin externa). Sistemas Operativos por Servicios(Visin Externa) Por Nmero de Usuarios: Sistema Operativo Monousuario. Los sistemas operativos monousuarios son aqullos que soportan a un usuario a la vez, sin importar el nmero de procesadores que tenga el ordenador o el nmero de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Los ordenadores personales tpicamente se han clasificado en este rengln. En otras palabras, los sistemas monousuarios son aquellos que nada ms pueden atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de aplicacin que se este ejecutando. Sistema Operativo Multiusuario. Los sistemas operativos multiusuarios son capaces de dar servicio a ms de un usuario a la vez, ya sea por medio de varias terminales conectadas al ordenador o por medio de sesiones remotas en una red de comunicaciones. No importa el nmero de procesadores en la mquina ni el nmero de procesos que cada usuario puede ejecutar simultneamente. En esta categora se encuentran todos los sistemas que cumplen simultneamente las necesidades de dos o ms 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 Nmero de Tareas: Sistema Operativo Monotarea. Los sistemas monotarea son aquellos que slo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede

estar haciendo solo una tarea a la vez. Los sistemas operativos monotareas son ms primitivos y, solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una. Sistema Operativo Multitarea. Un sistema operativo multitarea es aqul que le permite al usuario estar realizando varias labores 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 conmutacin de contextos (context Switching) es un tipo muy simple de multitarea en el que dos o ms aplicaciones se cargan al mismo tiempo, pero en el que solo se esta procesando la aplicacin que se encuentra en primer plano (la que ve el usuario). En la multitarea 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 aplicacin esta esperando informacin del usuario), y siempre que esta aplicacin lo permita. En los sistemas multitarea de tiempo compartido, como OS/2, cada tarea recibe la atencin del microprocesador durante una fraccin de segundo. Un sistema operativo multitarea puede estar editando el cdigo fuente de un programa durante su depuracin mientras compila otro programa, a la vez que est recibiendo correo electrnico en un proceso en background. Es comn encontrar en ellos interfaces grficas orientadas al uso de mens y el ratn, lo cual permite un rpido intercambio entre las tareas para el usuario, mejorando su productividad. Un sistema operativo multitarea se distingue por su capacidad para soportar la ejecucin concurrente de dos o ms procesos activos. La multitarea se implementa generalmente manteniendo el cdigo y los datos de varios procesos simultneamente en memoria y multiplexando el procesador y los dispositivos de E/S entre ellos. La multitarea suele asociarse con soporte hardware y software para proteccin de memoria con el fin de evitar que procesos corrompan el espacio de direcciones y el comportamiento de otros procesos residentes. Por el Nmero de Procesadores: Sistema Operativo de Uniproceso. Un sistema operativo uniproceso es aqul que es capaz de manejar solamente un procesador del ordenador, de manera que si el ordenador tuviese ms de uno le sera intil. El ejemplo ms tpico de este tipo de sistemas es el DOS y el MacOS. Sistema Operativo de Multiproceso. Un sistema operativo multiproceso se refiere al nmero de procesadores del sistema, que es ms de uno y ste es capaz de usarlos todos para distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos formas: simtrica o asimtricamente. Asimtrica: cuando se trabaja de manera

asimtrica, el sistema operativo selecciona a uno de los procesadores el cual jugar el papel de procesador maestro y servir como pivote para distribuir la carga a los dems procesadores, que reciben el nombre de esclavos. Simtrica: cuando se trabaja de manera simtrica, los procesos o partes de ellos (threads) son enviados indistintamente a cual quiera de los procesadores disponibles, teniendo, tericamente, una mejor distribucin y equilibrio en la carga de trabajo bajo este esquema. Un aspecto importante a considerar en estos sistemas es la forma de crear aplicaciones para aprovechar los varios procesadores. Existen aplicaciones que fueron hechas para correr en sistemas monoproceso que no toman ninguna ventaja a menos que el sistema operativo o el compilador detecte secciones de cdigo paralelizable, los cuales son ejecutados al mismo tiempo en procesadores diferentes. Por otro lado, el programador puede modificar sus algoritmos y aprovechar por s mismo esta facilidad, pero esta ltima opcin las ms de las veces es costosa en horas y muy tediosa, obligando al programador a ocupar tanto o ms tiempo a la paralelizacin que a elaborar el algoritmo inicial. Sistemas Operativos por su Estructura (Visin Interna) Se deben observar dos tipos de requisitos cuando se construye un sistema operativo: Requisitos de usuario: Sistema fcil de usar y de aprender, seguro, rpido y adecuado al uso al que se le quiere destinar. Requisitos del software: Donde se engloban aspectos como el mantenimiento, forma de operacin, restricciones de uso, eficiencia, tolerancia frente a los errores y flexibilidad. A continuacin se describen las distintas estructuras que presentan los actuales sistemas operativos para satisfacer las necesidades que de ellos se quieren obtener. Estructura Monoltica. Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra. Las caractersticas fundamentales de este tipo de estructura son:

Construccin del programa final a base de mdulos compilados separadamente que se unen a travs del ligador. Buena definicin de parmetros de enlace entre las distintas rutinas existentes, que puede provocar mucho acoplamiento. Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos de los recursos de la computadora, como memoria, disco, etc.

Generalmente estn hechos a medida, por lo que son eficientes y rpidos en su ejecucin y gestin, pero por lo mismo carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones.

Estructura Jerrquica. A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organizacin del software, del sistema operativo, donde una parte del sistema contena subpartes y esto organizado en forma de niveles. Se dividi el sistema operativo en pequeas partes, de tal forma que cada una de ellas estuviera perfectamente definida y con un claro interface con el resto de elementos. Se constituy una estructura jerrquica o de niveles en los sistemas operativos, el primero de los cuales fue denominado THE (Technische Hogeschool, Eindhoven), de Dijkstra, que se utiliz con fines didcticos. Se puede pensar tambin en estos sistemas como si fueran `multicapa'. Multics y Unix estn en esa categora. En la estructura anterior se basan prcticamente la mayora de los sistemas operativos actuales. Otra forma de ver este tipo de sistema es la denominada de anillos concntricos o "rings". En el sistema de anillos, cada uno tiene una apertura, conocida como puerta o trampa (trap), por donde pueden entrar las llamadas de las capas inferiores. De esta forma, las zonas ms internas del sistema operativo o ncleo del sistema estarn ms protegidas de accesos indeseados desde las capas ms externas. Las capas ms internas sern, por tanto, ms privilegiadas que las externas. Mquina Virtual. Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrando una mquina que parece idntica a la mquina real subyacente. Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la multiprogramacin y la mquina extendida. El objetivo de los sistemas operativos de mquina virtual es el de integrar distintos sistemas operativos dando la sensacin de ser varias mquinas diferentes. El ncleo de estos sistemas operativos se denomina monitor virtual y tiene como misin llevar a cabo la multiprogramacin, presentando a los niveles superiores tantas mquinas virtuales como se soliciten. Estas mquinas virtuales no son mquinas extendidas, sino una rplica de la mquina real, de manera que en cada una de ellas se pueda ejecutar un sistema operativo diferente, que ser el que ofrezca la mquina extendida al usuario Cliente-Servidor(Microkernel). El tipo ms reciente de sistemas operativos es el denominado Cliente-servidor, que puede ser ejecutado en la mayora de las computadoras, ya sean grandes o pequeas. Este sistema sirve para toda clase de aplicaciones; por tanto, es de propsito general y cumple con las mismas actividades que los sistemas operativos convencionales. El ncleo tiene como misin establecer la comunicacin entre los clientes y los servidores. Los procesos pueden ser tanto servidores como clientes. Por ejemplo, un programa de aplicacin normal es un cliente que llama al servidor correspondiente para acceder a un archivo o realizar una operacin de entrada/salida sobre un dispositivo concreto. A su vez, un proceso cliente

puede actuar como servidor para otro. Este paradigma ofrece gran flexibilidad en cuanto a los servicios posibles en el sistema final, ya que el ncleo provee solamente funciones muy bsicas de memoria, entrada/salida, archivos y procesos, dejando a los servidores proveer la mayora que el usuario final o programador puede usar. Estos servidores deben tener mecanismos de seguridad y proteccin que, a su vez, sern filtrados por el ncleo que controla el hardware. Actualmente se est trabajando en una versin de UNIX que contempla en su diseo este paradigma. Sistemas Operativos por la Forma de Ofrecer sus Servicios Esta clasificacin tambin se refiere a una visin externa, que en este caso se refiere a la del usuario, el cmo accesa a los servicios. Bajo esta clasificacin 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 travs de un medio de transmisin con el objeto de intercambiar informacin, transferir archivos, ejecutar comandos remotos y un sin fin de otras actividades. El punto crucial de estos sistemas es que el usuario debe saber la sintaxis de un conjunto de comandos o llamadas al sistema para ejecutar estas operaciones, adems de la ubicacin de los recursos que desee aadir. 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 podra copiarlo a travs de la red con los comandos siguientes: hidalgo% hidalgo% rcp morelos:/software/codigo/matriz.pas . hidalgo%. En este caso, el comando rcp que significa "remote copy" trae el archivo indicado del ordenador "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 ) en una sola mquina virtual que el usuario accesa en forma transparente. Es decir, ahora el usuario ya no necesita saber la ubicacin de los recursos, sino que los conoce por nombre y simplemente los usa como si todos ellos fuesen locales a su lugar de trabajo habitual. Todo lo anterior es el marco terico de lo que se deseara tener como sistema operativo 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 y consolidar la proteccin y seguridad entre los diferentes componentes del sistema y los usuarios. Los avances tecnolgicos en las redes de rea local y la creacin de microprocesadores de 32 y 64 bits lograron que ordenadores ms o menos baratos tuvieran el suficiente poder en forma autnoma para desafiar en cierto grado a los mainframes, y a la vez se dio la posibilidad de intercomunicarlos, sugiriendo la oportunidad de partir procesos muy pesados en clculo en unidades ms pequeas y distribuirlas en los varios microprocesadores para luego reunir los sub-resultados, creando as una mquina 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 dems recursos como una sola entidad en forma transparente, se le llama sistema operativo distribudo. 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 ms seguridad y disponibilidad de recursos. En el primer caso tenemos, por ejemplo, el control de los cajeros automticos. Ah no es posible ni eficiente mantener un control centralizado, es ms, no existe capacidad de cmputo y de entrada/salida para dar servicio a los millones de operaciones por minuto. En el segundo caso, supngase que se tienen en una gran empresa varios grupos de trabajo; cada uno necesita almacenar grandes cantidades de informacin en el disco duro con una alta seguridad y disponibilidad. La solucin puede ser que para cada grupo de trabajo se asigne una particin del disco duro en servidores diferentes, de manera que si uno de los servidores falla, no se deje dar el servicio a todos, sino slo a unos cuantos y, ms an, se podra tener un sistema con discos en espejo (mirror) a travs de la red, de manera que si un servidor se cae, el servidor en espejo contina trabajando y el usuario 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 Operativos distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, 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 ejecucin junto con el entorno asociado (registros, variables ,etc.). El corazn de un sistema operativo es el ncleo, un programa de control que reacciona ante cualquier interrupcin de eventos externos y que da servicio a los procesos, crendolos, terminndolos y respondiendo a cualquier peticin de servicio por parte de los mismos.

Planificacin del Procesador. La planificacin del procesador se refiere a la manera o tcnicas que se usan para decidir cunto tiempo de ejecucin y cundo 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 cmputo procesan el mismo tipo de trabajos, y un algoritmo de planificacin que en un sistema funciona bien puede dar un rendimiento psimo en otro cuyos procesos tienen caractersticas diferentes. Estas caractersticas 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 ms 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 turnos de ejecucin. Longevidad de los Procesos: Existen procesos que tpicamente requerirn 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: Localizacin de la informacin sobre el proceso por parte del sistema operativo. Mantener registrados los datos del proceso en caso de tener que suspender temporalmente su ejecucin o reanudarla. La informacin contenida en el bloque de control es la siguiente: Estado del proceso. Informacin relativa al contenido del controlador del programa (Program Counter, PC), estado de procesador en cuanto a prioridad del proceso, modo de ejecucin, etc., y por ultimo el estado de los registros internos de la computadora. Estadsticas de tiempo y ocupacin de recursos para la gestin de la planificacin del procesador. Ocupacin 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 actualizacin 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 ejecucin de una instruccin privilegiada, una llamada al sistema operativo o una interrupcin, es decir, siempre que se requiera la atencin de algn 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 estn en condiciones de hacerlo. Se dividen en: Ejecucin. Estado en el que se encuentra un proceso cuando tiene el control del procesador. En un sistema monoprocesador este estado slo lo puede tener un proceso. Preparado. Aquellos procesos que estn dispuestos para ser ejecutados, pero no estn en ejecucin por alguna causa (Interrupcin, haber entrado en cola estando otro proceso en ejecucin, etc.). Bloqueado. Son los procesos que no pueden ejecutarse de momento por necesitar algn recurso no disponible (generalmente recursos de entrada/salida). 2.- Estados inactivos: Son aquellos que no pueden competir 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 actuales poseen una serie de funciones cuyo objetivo es el de la manipulacin de los procesos. Las operaciones que se pueden hacer sobre un proceso son las siguientes: Crear el proceso. Se produce con la orden de ejecucin del programa y suele necesitar varios argumentos, como el nombre y la prioridad del proceso.

Aparece en este momento el PCB, que ser insertado en la cola de procesos preparados. La creacin de un proceso puede ser de dos tipos: Jerrquica. En ella, cada proceso que se crea es hijo del proceso creador y hereda el entorno de ejecucin de su padre. El primer proceso que ejecuta un usuario ser hijo del intrprete de comandos con el que interacta. No jerrquica. Cada proceso creado por otro proceso se ejecuta independientemente de su creador con un entorno diferente. Es un tipo de creacin que no suele darse en los sistemas operativos actuales. Destruir un proceso. Se trata de la orden de eliminacin 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 ejecucin 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 habr sido bloqueado previamente por temporizacin o cualquier otra causa. Prioridades Todo proceso por sus caractersticas e importancia lleva aparejadas unas determinadas necesidades de ejecucin en cuanto a urgencia y asignacin de recursos. Las prioridades segn 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 ejecucin y dependen fundamentalmente de los privilegios de su propietario y del modo de ejecucin.

Asignadas por el propietario. Estticas. Dinmicas.

El Ncleo del Sistema Operativo Todas las operaciones en las que participan procesos son controladas por la parte del sistema operativo denominada ncleo (nucleus, core o kernel, en ingls). El ncleo normalmente representa slo una pequea parte de lo que por lo general se piensa que es todo el sistema operativo, pero es tal vez el cdigo que ms se utiliza. Por esta razn, el ncleo reside por lo regular en la memoria principal, mientras que otras partes del sistema operativo son cargadas en la memoria principal slo cuando se necesitan. Los ncleos se disean para realizar "el mnimo" posible de procesamiento en cada interrupcin y dejar que el resto lo realice el proceso apropiado del sistema, que puede operar mientras el ncleo se habilita para atender otras

interrupciones. El ncleo de un sistema operativo normalmente contiene el cdigo necesario para realizar las siguientes funciones: Manejo de interrupciones. Creacin y destruccin de procesos. Cambio de estado de los procesos. Despacho. Suspensin y reanudacin de procesos. Sincronizacin de procesos. Comunicacin entre procesos. Manipulacin de los bloques de control de procesos. Apoyo para las actividades de entrada/salida. Apoyo para asignacin y liberacin de memoria. Apoyo para el sistema de archivos. Apoyo para el mecanismo de llamada y retorno de un procedimiento. Apoyo para ciertas funciones de contabilidad del sistema. Ncleo o Kernel y niveles de un Sistema Operativo. El Kernel consiste en la parte principal del cdigo del sistema operativo, el cual se encargan de controlar y administrar los servicios y peticiones de recursos y de hardware con respecto a uno o varios procesos. Se divide en 5 capas: Nivel 1. Gestin de Memoria: que proporciona las facilidades de bajo nivel para la gestin de memoria secundaria necesaria para la ejecucin 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. Informacin o Aplicacin o Interprete de Lenguajes: Facilita la comunicacin 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 e invoca a los procesos correspondientes. Nivel 5. Control de Archivos: Proporciona la facilidad para el almacenamiento a largo plazo y manipulacin de archivos con nombre, va asignando espacio y acceso de datos en memoria. El ncleo (Kernel) de un sistema operativo es un conjunto de rutinas cuya misin es la de gestionar el procesador, la memoria, la entrada/salida y el resto de procesos disponibles en la instalacin. Dispositivos de Entrada y Salida El cdigo destinado a manejar la entrada y salida de los diferentes perifricos en un sistema operativo es de una extensin considerable y sumamente complejo. Resuelve 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 dispositivo realizando primero una operacin de posicionamiento sobre el dispositivo. Los dispositivos ms comunes orientados a bloques son los discos duros, la memoria, discos compactos y, posiblemente, las unidades de cinta. Orientados a Caracteres. Los dispositivos orientados a caracteres son aquellos que trabajan con secuencias de bytes sin importar su longitud ni ninguna agrupacin en especial. No son dispositivos direccionables. Ejemplos de estos dispositivos son el teclado, la pantalla o display y las impresoras. La clasificacin anterior no es perfecta, porque existen varios dispositivos que generan entrada o salida que no pueden englobarse en esas categoras. Por ejemplo, un reloj que genera pulsos. Sin embargo, aunque existan algunos perifricos que no se puedan catalogar, todos estn administrados por el sistema operativo por medio de una parte electrnica - mecnica 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 o el usuario no debe darse cuenta de los manejos de bajo nivel para los casos en que el dispositivo est ocupado y se debe suspender el proceso o sincronizar algunas tareas. Desde el punto de vista del proceso o usuario, el sistema simplemente tard ms o menos en responder a su peticin. Manejadores de Dispositivos. El sistema debe proveer los manejadores de dispositivos necesarios para los perifricos, as como ocultar las peculiaridades del manejo interno de cada uno de ellos, tales como el formato de la informacin, los medios mecnicos, 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 tcnicas 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. Aqu el sistema operativo debe ser capaz de ofrecer un conjunto de utilidades para accesar perifricos 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' o no, o para posicionarse en ellos. Software para Usuarios. La mayora de las rutinas de entrada - salida trabajan en modo privilegiado, o son llamadas 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 libreras en donde el usuario s tiene poder de decisin (por ejemplo la llamada a "printf" en el lenguaje "C"). Otra facilidad ofrecida son las reas de trabajos encolados (spooling areas), tales como las de impresin y correo electrnico. Manejo de los Dispositivos de E/S En el manejo de los dispositivos de E/S es necesario, introducir dos nuevos trminos: 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 ledo y la CPU va a iniciar inmediatamente la operacin 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 habr terminado de leerlos. La CPU podr empezar el proceso de los ltimos datos ledos, mientras el dispositivo de entrada iniciar la lectura de los datos siguientes. Para la salida, el proceso es anlogo. En este caso los datos de salida se descargan en otro buffer hasta que el dispositivo de salida pueda procesarlos. 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 tamao 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 dispositivo de E/S ha finalizado una operacin. Este problema se resuelve mediante las interrupciones. Tan pronto como un dispositivo de E/S acaba con una operacin interrumpe a la CPU; en ese momento la CPU detiene lo que est haciendo e inmediatamente transfiere el control a una posicin determinada. Normalmente las instrucciones que existen en esta posicin corresponden a una rutina de servicio de interrupciones. La rutina de servicio de interrupcin comprueba si el buffer no est lleno o no est vaco y entonces inicia la siguiente peticin de E/S. La CPU puede continuar entonces el proceso interrumpido. Cada diseo de ordenador tiene su propio mecanismo de interrupcin, 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 posicin de las imgenes de las tarjetas se registran en una tabla mantenida por el sistema operativo. En la tabla se anota cada trabajo una vez ledo. 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 en la 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 aceptarlos. La ventaja sobre el buffering es que el spooling solapa la E/S de un trabajo con la computacin de otro. Es una caracterstica utilizada en la mayora de los sistemas operativos. Afecta directamente a las prestaciones. La CPU puede simultanear la computacin 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. Adems mantiene una estructura de datos llama "job spooling", que hace que los trabajos ya ledos permanezcan en el disco y el sistema operativo puede seleccionar cul ejecutar; por lo tanto se hace posible la planificacin de trabajos. Administracin de Archivos Un archivo es un conjunto de informacin 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 raz, que es la unidad principal del disco del ordenador; este puede ser un disco duro o disco flexible. Entonces el sistema operativo visualiza el entorno al abrir un archivo. Uno de los problemas ms frecuentes en el manejo de archivos son los "deadlock". Un deadlock es una situacin no deseada de espera indefinida y se da cuando en un grupo de procesos, dos o ms procesos de ese grupo esperan para llevar a cabo una tarea que ser 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 ltimos es ms difcil de prevenirlos, evitarlos e incluso detectarlos, y si se los logra detectar es muy complicado solucionarlos ya que la informacin se encuentra dispersa por todo el sistema. Una vez que un deadlock se detecta, es obvio que el sistema tiene problemas y lo nico que resta por hacer es una de estas dos cosas: tener algn mecanismo de suspensin o reanudacin que permita copiar todo el contexto de un proceso incluyendo valores de memoria y aspecto de los perifricos que est usando para reanudarlo otro da, o simplemente eliminar un proceso o

arrebatarle el recurso, causando para ese proceso la prdida de datos y tiempo. Seguridad de un Sistema Operativo. En los sistemas operativos se requiere tener una buena seguridad informtica, 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 informacin 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 caractersticas en el entorno donde se encuentra la instalacin de los equipos, con el fin de impedir el acceso a personas no autorizadas, mantener un buen estado y uso del material y equipos, as como eliminar los riesgos de causas de fuerza mayor, que puedan destruir la instalacin y la informacin contenida. En la actualidad son muchas las violaciones que se producen en los sistemas informticos, en general por acceso de personas no autorizadas que obtienen informacin 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 pequeos programas que poseen gran facilidad para reproducirse y ejecutarse y cuyos efectos son destructivos: nos estamos refiriendo a los virus informticos. Las cuestiones de seguridad que se analizan lo son desde dos perspectivas diferentes: la seguridad externa y la seguridad interna. Todos los mecanismos dirigidos a asegurar el sistema informtico 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: Seguridad fsica. Engloba aquellos mecanismos que impiden a los agentes fsicos la destruccin de la informacin existente en el sistema; entre ellos podemos citar el fuego, el humo, inundaciones descargas elctricas, campos magnticos, acceso fsico de personas con no muy buena intencin, entre otros. Seguridad de administracin. Engloba los mecanismos ms usuales para impedir el acceso lgico de personas fsicas al sistema. Todos los mecanismos dirigidos a asegurar el sistema informtico, siendo el propio sistema el que controla dichos mecanismos, se engloban en lo que podemos denominar seguridad interna. La historia de la informtica no puede ser escrita si no son mencionados los programas o softwares que como un torrente en lneas de cdigo e instrucciones le dan vida al cuerpo o hardware de cualquier dispositivo electrnico en nuestros das. Escribir, adems, sobre los sistemas operativos, la llamada alma del ordenador, es por otra parte, muy difcil. Porque, en

realidad, qu son los sistemas operativos? Los sistemas operativos o SO, como se les conoce, no son ms que programas que luego de ser cargados en un ordenador por el conjunto de cdigos de carga, (una rutina conocida como BOOT), administran todos los dems programas (aplicaciones) que corren en la mquina. Las aplicaciones a su vez interactan con el SO mediante llamadas de servicios definidas bajo el nombre de API (aplication program interface). A su vez el propio usuario interacta directamente con el SO mediante la interfaz de usuario, ya sea sta por comandos o grfica (GUI). Entre las tareas que realiza un SO tenemos: - Si es un sistema multitarea: asignar y controlar los recursos del sistema, definir qu aplicacin y en qu orden deben ser ejecutadas. - Manejar la memoria del sistema que comparten las mltiples aplicaciones. - Maneja los sistemas de entrada y salida, incluidos discos duros, impresoras y todo tipo de puertos. - Envo de mensajes de estado a las aplicaciones, al administrador de sistema o al propio usuario, sobre cualquier error o informacin necesaria para el trabajo estable y uniforme del sistema. - Asume tareas delegadas de las propias aplicaciones, como impresin en background y procesamiento por lotes, con el fin de que stas ganen en eficiencia y tiempo. - Administra, de existir, el procesamiento en paralelo. El lector observador se percatar de que el diseo de un SO est estrechamente vinculado al hardware donde reside y a su vez determinar la forma en que se programen las aplicaciones para dicho hardware. En la historia de la computacin han existido muchos SO. Al principio, todos atados a cada mquina en la que corran: 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 Internet un poco de aqu y otro de all, rescatamos para esta edicin la historia de tres de los Sistemas Operativos ms conocidos. Historia del UNIX "...el nmero 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 siglas a UNIX..." Tomado de "A brief look at the eraly History" Despus de tres dcadas de haber escapado de los laboratorios Bell, el UNIX sigue siendo uno de los SO ms potentes, verstiles y flexibles en el mundo de la computacin. Su popularidad se debe a muchos factores, incluidas su portabilidad y habilidad de correr eficientemente en una inmensa variedad de mquinas computadoras. Descrito frecuentemente como un sistema "simple, potente y elegante" el UNIX es hoy el corazn que late en el seno de millones de aplicaciones de telefona fija y mvil, de millones de servidores en

universidades, centros acadmicos, grandes, medianas y pequeas empresas, el SO cuyo desarrollo viene de la mano del de Internet y que alberga a millones de servidores y aplicaciones de la red de redes. Sin UNIX, no cabe duda, el mundo de la informtica hubiera sido otro. Del MULTICS al UNICS El origen del UNIX se remonta a los finales del ao 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 especficas, por lo que eran necesarios, incluso, intrpretes en una misma compaa 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 y la General Electrics, que si bien fue funcional, econmicamente era inviable. "A pesar de que MULTICS no poda manejar muchos usuarios simultneos, al menos nos era de utilidad a nosotros, aunque a costes exorbitantes", explicara luego Dennis Ritchie, uno de sus fundadores. La frustracin se llen de esperanza cuando un grupo escindido del proyecto MULTICS no se dio por vencido. En ese mismo ao, el grupo formado por Ken Thompson, Dennis Ritchie, Doug McIlroy y J.F Osanna continu en la bsqueda del santo grial. Los primeros intentos fueron de nuevo un fracaso: propuestas excesivamente complicadas, soluciones muy caras y sin una lnea coherente de trabajo, hicieron que los directivos de Bell rechazaran una y otra vez los trabajos presentados por el grupo. Antese adicionalmente que el costo de un ordenador para la poca era no menor de 60 000 dlares. 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 cmo debiera ser un SO de un ordenador. Despus de una larga tormenta de ideas, Canaday tom el telfono y llam a la Bell para dictar las notas que haba tomado. Acrnimos 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 desarroll un pequeo juego llamado "Viaje Espacial", el cual simulaba el movimiento de los planetas en el sistema solar y de una nave manejada en ese escenario intergalctico 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 anfitrin al sistema de ficheros cuyas notas haban sido escritas en aquella primavera del

69. En el verano de ese mismo ao, 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 mdulo: el sistema operativo, el editor, el shell y el ensamblador", dira Thompsom. Primero los requerimientos del sistema, en particular los procesos, luego un pequeo grupo de herramientas del sistema para copiar, imprimir, borrar, etc. Trabajado sobre GECOS el sistema de la GE635 y luego transportado a la PDP7, el nuevo SO estaba casi listo. Una vez completado el ensamblador, el sistema poda soportarse a s mismo. Haba nacido el UNIX. Las primeras aplicaciones para UNIX Pronto se hizo evidente que la PDP-7 no ofreca poder de cmputo suficiente y quedara obsoleta en breve. El grupo propuso a los Laboratorios adquirir una PDP-11. Con una idea ms clara y un embrin por desarrollar, as como el apoyo de Doug McIlroy y Lee MacMahom, jefes de departamentos en Bell, esta vez los directivos aceptaron. Durante la espera dela llegada del nuevo equipo, el trabajo sobre la PDP-7 no se detuvo, demostrando con creces la utilidad del nuevo UNIX. Despus de largas y trabajosas sesiones, el resultado fue milagroso: no slo el Departamento de Patentes adopt el UNIX, sino que la credibilidad del grupo creci y se hizo notable el apoyo e inters del Laboratorio en traer la PDP-11. Esta primera versin 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 da. Despus escribi un lenguaje muy sencillo que llam B, que aunque funcional tendra que enfrentar algunos problemas de concepcin. Ritchie transform el B para la PDP-11, al introducirle algunas mejoras, lo denomin NB e hizo un compilador para l. As 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 ao 1972. Concatenando procesos El otro paso importante, y que ms que una solucin puntual constituy toda una filosofa en el diseo del software, fue llevar al nuevo SO el concepto de la concatenacin de procesos, el llamado "pipes concept". La habilidad de encadenar en una misma lnea de comandos varios procesos fue una innovacin que tiene su origen en una idea de McIlroy, cuyas conferencias sobre el uso 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 diseando el sistema de ficheros, McIlroy llevaba otro tanto tratando de interconectar entre s los procesos y construir una sintaxis en el lenguaje para ello. "...es muy fcil decir who into cat into grep, pero est todo el asunto este de los parmetros laterales que estos comandos tienen..." acota McIlroy. Aunque sin concretarla, la idea estuvo presente a lo largo del perodo del 70 al

72. Una noche, despus de presentarle propuesta tras propuesta a Thompson, ste se llev un prototipo a casa y al da siguiente estaba listo. "Ken puso la concatenacin de comandos en el UNIX, las notaciones en el shell del usuario, todo ello en una sola noche", dira luego McIlroy maravillado. Saltando los muros de Bell Labs No fue hasta tiempo despus que el UNIX saltara los muros de la Bell para insertarse en el mundo. Durante un semestre sabtico para Ken Thompson entre 1976 y 1977, fue como profesor invitado en el Departamento de Ciencias de la Computacin de la Universidad californiana de Berkeley. Lo que por supuesto imparti fue precisamente el sistema UNIX, cuya versin 6 desarroll durante ese tiempo. Enseguida fue recibido con mucho xito y se fue propagando por toda la comunidad acadmica. Una vez de vuelta a los Laboratorios, la versin 6 ya haba sido enriquecida en la propia universidad, lo que dio origen a lo que luego se conoci como Berkeley Software Distribution (BSD) versin 4.2, comprada por muchas otras universidades. La universidad de Berkeley jug un papel importante en el desarrollo y extensin del UNIX, cuyas licencias a importantes instituciones acadmicas, de negocios y militares como el DARPA, propiciaron un acelerado trabajo en protocolos como el TCP/IP y el nacimiento de Internet. La entrada al mundo comercial no fue ms que una evolucin lgica, despus 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, seoreando 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 electrnico. Una vez llegado a este punto todo estaba listo para la aparicin de las innumerables versiones del sistema, las batallas legales para las licencias, la produccin de estaciones de trabajo para UNIX por parte de IBM, Sun, NCR y HP y con ellas nuevas versiones comerciales, y as sucesivamente en espiral ascendente. Mucho del progreso de la computacin en el ltimo cuarto del siglo pasado est ntimamente ligado a la influencia que el UNIX tuvo en la industria de la computacin. Estaba embebido de ideas visionarias, toda una llamada a la abertura y generalidad entre sistemas, toda una fuerza, que an mueve el desarrollo de la informtica moderna. Como dira uno de sus creadores, " ...a 30 aos de su nacimiento, el UNIX sigue siendo un gran fenmeno". Linux, la otra cara "Yo realmente no sigo mucho lo que hacen los otros sistemas operativos. Yo no compito, slo me preocupo con hacer de Linux un producto cada vez mejor que s mismo, no respecto a otros. Y honestamente no veo nada interesante desde el punto de vista tcnico, tampoco (en FreeBSD 5.0 y Windows XP)" Linus Torvalds, 10 de octubre del 2001, OSNews. La fascinacin de los medios por Linux viene dada, entre otras cosas, por ser un proyecto de ingeniera de software distribuido a escala global, esfuerzo

mancomunado de ms de 3 000 desarrolladores y un sin nmero de colaboradores distribuidos en ms de 90 pases. El rango de participantes en la programacin del Linux se ha estimado desde unos cuantos cientos hasta ms de 40 000, ya sea ofreciendo cdigo, sugiriendo mejoras, facilitando comentarios o describiendo y enriqueciendo manuales. De hecho, se cuenta que el mayor soporte tcnico jams diseado de manera espontnea y gratuita pertenece a este SO. Escribir la historia de UNIX sin mencionar a Linux es pecado: realmente merece todo un captulo propio. Salido de una raz comn, 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 versin 1.0, salida en marzo de 1994 ofreci bsicamente las mismas facilidades que el UNIX, incluyendo soporte multitarea, tratamiento de memoria virtual y soporte TCP/IP. Estaba constituido por unas 175 000 lneas de cdigo. Ya su versin 2.0, de junio de 1996, ofreca procesamiento de 64 bits, multiprocesamiento en paralelo y soporte avanzado de redes. El nmero de lneas de cdigo se haba triplicado: 780 000, y en la versin de julio de 1998 la cifra sobrepasaba el milln y medio, 17% especficos de la arquitectura del SO, 54% en manipuladores y el 29% el ncleo del kernel y el sistema de ficheros. Ello ha sido posible por el simple hecho de que Linux es ms que un SO: es una fuente inagotable en permanente evolucin por miles de programadores a escala mundial. Cmo surgi? A qu se debe el fenmeno de la espontaneidad en su creacin y desarrollo? Adentrmonos brevemente en su historia. En octubre de 1991 un estudiante graduado de Ciencias de la Computacin en la Universidad de Helsinki, llamado Linus Torvalds, anuncia en Internet que haba escrito una versin libre de un sistema MINIX (una variante de UNX) para un ordenador con procesador Intel 386 y lo dejaba disponible para todo aquel que estuviera interesado. La causa? El MINIX fue una versin simplificada de UNIX escrito y mantenido durante mucho tiempo como herramienta de estudio en una escuela europea por un profesor de Ciencias de la Computacin llamado Andrew Tanenbaum. El MINIX era ampliamente utilizado como recurso en clases de Computacin, aun a costo de su licencia (79 dlares) que limitaba su redistribucin. 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 versin de MINIX y dejar libre su cdigo fuente para ser copiado por cualquiera y as saciar la sed de desarrollo de aquellos que se vean impedidos de hacerlo. "Se lamenta de los das del MINIX-1.1, cuando los programadores escriban sus propios manipuladores de dispositivos? Est usted sin un proyecto interesante y murindose 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 :-)", escribira en un foro de discusin 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 nica condicin de que el resultado fuera a su vez distribuido libremente. La piedra haba echado a rodar montaa abajo. En los siguientes 30 meses se desarrollaran hasta 90 versiones del nuevo SO, finalizando en 1994 con la definitiva, llamndola Linux versin 1.0. Varias condiciones adicionales propiciaron la buena acogida que tuvo la decisin de Torvalds, pero dos de ellas de especial impacto: el status legal y social del llamado cdigo abierto, open source, una va para intercambiar software de manera libre, e Internet. El intercambio de cdigos fue una prctica bastante comn en los albores de la computacin en el sector acadmico. Laboratorios como el MIT Artificial Intelligence Laboratory, universidades como Standford y Carnegie Mellon solan practicar una poltica de cdigo abierto. Debido a que las mquinas computadoras eran muy limitadas en aquel entonces, las personas solan 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 perteneca a AT&T, pero que por restricciones de la ley anti trust de ese momento, le impeda comercializar, fue distribuido a la comunidad acadmica por una tarifa nominal, sin soporte oficial al programa. Ello acostumbr a los programadores y usuarios del sistema a intercambiar los errores y soluciones, as como las mejoras. La llegada del protocolo UUCP (Unix to Unix Copy) permiti la transferencia de ficheros y datos con el uso de una lnea telefnica e introdujo el soporte de transmisin como mecanismo natural para intercambiar informacin entre los usuarios del sistema. Se crearon los primeros foros y apareci Usenet. Las innovaciones de diseo y caractersticas propias del UNIX como sistema, a su vez, propiciaron la cultura del intercambio. A medida que el UNIX tomaba fuerza y segua atado a las nuevas computadoras de diferentes fabricantes, la cultura del libre intercambio se vio amenazada entre su comunidad. Surge as, por idea de Richard Sallman, el proyecto GNU en 1984 para crear sistemas operativos libres que hicieran posible la distribucin y trabajo de colaboracin entre diferentes desarrolladores. Para evitar que el mecanismo fuese deformado se instituy lo que Sallman llam "Copyleft": usted puede distribuir, copiar, modificar el software, obligando a su vez a las derivaciones de ste a cumplir con los mismos requisitos. El marco legal y social para la distribucin y copia gratuita estaba instituido. Huelga mencionar las facilidades que aport Internet cuando Torvalds decidi hacer su anuncio: ya no era slo un grupo privilegiado con acceso a mquinas computadoras grandes en laboratorios estratgicos o grandes universidades los que podan colaborar con un cdigo de programa. Internet elev el intercambio a un marco global. Si bien Torvalds nunca persigui encabezar un proyecto de programacin distributiva a escala mundial, sus habilidades como lder de proyecto y excelente programador fueron determinantes en el xito de Linux. Ms all de sus cualidades como programador, su mayor contribucin fueron sus

habilidades en el diseo de una arquitectura modular y portable para el kernel. Por tanto, al disponer de un cdigo base nico para todo tipo de plataforma, desde Intel hasta Motorola, que permita soportar de manera simultnea varias ramas segn el tipo de arquitectura de ordenador que se tratase, increment considerablemente la portabilidad del Linux. Por otro lado, la modularidad del sistema minimizaba la comunicacin entre las distintas componentes del kernel y por ende haca posible el trabajo en paralelo, al disminuir la necesidad de un trabajo coordinado entre sus diseadores. Otra decisin brillante de Torvalds fue establecer una nomenclatura paralela para cada tipo de versin del SO. Para ello se separaron en versiones pares o impares segn la estabilidad y seguridad de la misma o la inclusin de cdigo experimental o alguna nueva rutina en fase de estudio. Ello haca posible disponer de dos tipos de colaboradores: los que buscaban una versin estable del programa o los que preferan probar con nuevas estructuras, innovar y llevar sus sistemas hasta el extremo. Ello enriqueci al Linux extraordinariamente. Es interesante conocer, adems, que los programadores suelen escribir cdigo para Linux en aras de resolver sus propios problemas. El mismo Torvalds buscaba un SO para su 386 y su anunci explcitamente invitaba a "modificarlo segn sus necesidades ". As, cuando la comunidad de programadores acept el reto de Torvalds, cada cual escribi sus propios manipuladores de dispositivos. Por ejemplo, un programador alemn dise el driver para teclado en su idioma y ste fue incluido en la versin de diciembre del 91. Hasta nuestros das se mantiene la misma filosofa: cada cual trabaja en las reas que le interesa. He aqu la historia. Hoy Linux es una alternativa 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 su lista, del tipo: "...mi prioridad personal no es este tipo de comportamiento, por tanto sera bueno que alguien implementara esta opcin...". Historia de Microsoft Windows "...Microsoft siempre ha sido una compaa optimista, que cree que el software puede crear herramientas que realmente no tengan ninguna atadura en trminos de lo que es posible..." Bill Gates, Future Forum, septiembre del 2001 De todos los sistemas operativos que se han hecho famosos a lo largo del desarrollo de la informtica en el ocaso del siglo pasado, sin duda, ningn 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 irrupcin en el primer PC tena ms de suerte que de propsito, amparado por disfrutar de un frreo y despiadado control de mercado, es, hoy por hoy, odiado o amado, el sistema operativo ms extendido del planeta.

Al buscar su historia en la red, no encontramos ancdotas de noches en vela, de errores que se convirtieron en xitos, de genios convertidos en hroes de la noche a la maana. En cambio, s conocimos de oportunidades, visin de futuro, monopolios y juicios. La historia de Windows tiene mezclado un poco de Bill Gates, de MSDOS y de la propia compaa Microsoft. Fundacin La Compaa fue fundada en 1975 por William H. Gates III y Paul Allen. Ambos se haban conocido durante su poca de estudiantes por su aficin comn a programar con una computadora PDP-10 de Digital Equipment Corporation. Eran aos en que la revista Popular Electronics dedicaba su portada a la Altair 8800, para muchos el primer ordenador personal (PC). El artculo de dicha revista anim a Gates y Allen a desarrollar la primera versin del lenguaje de programacin BASIC para el equipo Altair. Con un ojo para los negocios fuera de lo comn, el do 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 Mxico. Su idea: desarrollar versiones de BASIC para otras compaas del sector. Apple Computer, fabricante del equipo Apple II; Commodore, fabricante del PET, y Tandy Corporation, fabricante del equipo Radio Shack TRS-80, todas compaas creadas por aquel entonces, fueron los primeros clientes de Microsoft. En 1977 Microsoft lanz al mercado su segundo producto: Microsoft FORTRAN, otro lenguaje de programacin, y pronto sac versiones del lenguaje BASIC para los microprocesadores 8080 y 8086. MS-DOS En 1979, Gates y Allen trasladaron la compaa a Bellevue, Washington, muy cerca de Seattle, la ciudad donde ambos nacieron (el traslado a Redmond, su sede de hoy, no se producira hasta 1986). En 1980, IBM contrat a Microsoft para escribir el sistema operativo del IBM PC que saldra al mercado al ao siguiente. Presionada por el poco tiempo disponible, Microsoft compr QDOS (Quick and Dirty Operating System, como se le sola llamar entonces) a Tim Paterson, un programador de Seattle, por 50 000 dlares, cambindole el nombre a MS-DOS. El contrato firmado con IBM permita a Microsoft vender este SO a otras compaas. La mesa estaba servida. La arquitectura abierta del primer PC y los artilugios legales permitieron la extensin de la arquitectura X86 de Intel y con ella del PC fuera del marco de IBM. Fue la poca del florecimiento de los clnicos y el surgimiento de algunas compaas que luego seran todo un estandarte, como la fusionada Compaq. En 1984, Microsoft haba otorgado licencias de MS-DOS a 200 fabricantes de equipos informticos y as este SO se convirti en el ms utilizado para PCs, lo que permiti a Microsoft crecer vertiginosamente en la dcada de 1980. Por qu el MS-DOS qued 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 algn SO, realizara lo que se llam el POST (Power

On Self Test), que determinaba los dispositivos disponibles (teclado, vdeo, discos, etc.) y luego buscaba un disco de arranque. Estas funciones eran realizadas por un conjunto de instrucciones incorporadas en la mquina mediante una ROM. Luego qued escrito que siempre hubiera algn tipo de software en el sistema an sin ser cargado el SO. Entre las rutinas del POST tenemos las de revisin del sistema, inicializacin y prueba de teclado, habilitacin de vdeo, chequeo de la memoria y la rutina de inicializacin que preparaba a la mquina para ejecutar DOS. Despus que las pruebas de arranque han sido ejecutadas y el sistema est cargado, la ROM an sigue siendo importante debido a que contiene el soporte bsico de entrada y salida (BIOS). La BIOS provee un conjunto de rutinas que el SO o los programas de aplicacin pueden llamar para manipular el monitor, teclado, discos duros, discos flexibles, puertos COM o impresoras. El trato de IBM con Microsoft tena entre otras condiciones una particularidad interesante: la administracin directa de las tarjetas adaptadoras podra ser manejada slo por programas que IBM provea con la ROM del ordenador. DOS sera escrito para utilizar estos servicios. De esta manera, si IBM decida cambiar el hardware, ste poda embarcar nuevos modelos de chips con cambios en la BIOS y no requera que Microsoft cambiara el SO. Ello posibilit, junto con la clonacin 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 haba hecho un trabajo estratgico brillante e IBM haba perdido la supremaca de los ordenadores para siempre. Realmente, el ncleo del DOS estaba contenido en un par de archivos ocultos llamados IO.SYS y MSDOS.SYS en las versiones de DOS realizadas por Microsoft, e IBMBIO.SYS e IBMDOS.SYS, para las versiones de DOS hechas por IBM bajo licencia Microsoft. Los servicios de DOS eran solicitados cuando una aplicacin llamaba a la interrupcin 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 mdulo MSDOS.SYS. En otros SO, la aplicacin deba 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 Asignacin de Archivos, que divida 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 reemplazarlo por un sistema ms 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 llamado QDOS, que tras realizar unas pocas modificaciones, se convierte en la primera versin del sistema operativo de Microsoft MS-DOS 1.0 (MicroSoft Disk Operating System) A partir de aqu, se suceden una serie de modificaciones del sistema operativo, hasta llegar a la versin 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 cronologa de MS-DOS en todas sus versiones: En 1982, aparece la versin 1.25, con la que se aade soporte para disquetes de doble cara. El ao siguiente, 1983, el sistema comienza a tener ms funcionalidad, con su versin 2.0, que aade 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 versin 2.11 del mismo ao, se aaden nuevos caracteres de teclado. En 1984, Microsoft lanzara su versin 3.0 de MS-DOS, y es entonces cuando se aade soporte para discos de alta densidad de 1,2MB y posibilidad de instalar un disco duro con un mximo de 32MB. En ese mismo ao, se aadira en la versin 3.1 el soporte para redes Microsoft. Tres aos ms tarde, en 1987, se lanza la versin 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 versin 4.0 y con ella el soporte para memoria XMS y la posibilidad de incluir discos duros de hasta 2GB; cabe destacar que esta versin fue la mayor catstrofe realizada por la empresa, ya que estaba llena de bugs, fallos, etc... esto se arregl en 1989 con el lanzamiento de la versin 4.01 que arreglaba todos estos problemas y fallos. Uno de los avances ms relevantes de la historia de MS-DOS, es el paso en 1991 de la versin 4.01 a la versin 5.0, en la que DOS es capaz ya de cargar programas en la parte de la memoria alta del sistema utilizando la memoria superior (de los 640Kb a los 1024Kb). En la versin 5.0 se aade el programador BASIC y el famoso editor EDIT. Tambin se aadieron las utilidades UNDELETE (Recuperacin de ficheros borrados), FDISK (Administracin de particiones) y una utilidad para hacer funcionar los programas diseados para versiones anteriores de MS-DOS, llamada SETVER. Es a finales de 1992 cuando se resuelven unos problemas con UNDELETE y CHKDSK en la versin 5.0a. En 1993, aparece MS-DOS 6.0 con muchas novedades, entre ellas la utilidad Doublespace que se encargaba de comprimir el disco y as tener ms espacio disponible; tambin se incluy un antivirus bsico (MSAV), un defragmentador (DEFRAG), un administrador de memoria (MEMMAKER) y se suprimieron ciertas utilidades antiguas, ya que haciendo un mal uso de ellas podan destruir datos: estas utilidades eran JOIN y RECOVER entre otras. En el mismo ao sale la versin 6.2 que aade seguridad a la perdida de datos de Doublespace, y aade un nuevo escner de discos, SCANDISK, y soluciona problemas con DISKCOPY y SmartDrive. En la versin 6.21 aparecida en el mismo ao 1993, Microsoft suprime Doublespace y busca una nueva alternativa para esta utilidad.

Un ao ms tarde, en 1994, aparece la solucin al problema de Doublespace; es la utilidad de la compaa Stac Electronics, Drivespace, la elegida para incluirse en la versin 6.22 En el ao 1995 aparece Microsoft Windows 95, que supone apartar a MS-DOS a un segundo plano. El sistema MS-DOS, no obstante, sigue estando presente con una nueva versin, 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 \other\oldmsdos. En 1997 aparece Windows 95 OSR2, y con l una revisin exhaustiva del sistema DOS, aadiendo el soporte para particiones FAT32. En la actualidad, la utilizacin de MS-DOS sigue siendo muy importante cuando Windows no es capaz de realizar la tarea que estamos haciendo o cuando Windows falla. Muchos tcnicos en el rea de la informtica 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 utilizado por prcticamente todos los usuarios de PC desde 1981 hasta la actualidad, utilizando 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 incursin en lo que luego se llamara Microsoft Windows en el ao 1981 con el llamado Interface Manager, en tiempos en que las interfaces grficas de usuario, GUI, eran una quimera de lujo para muchos, en tanto la computacin estaba suscrita al rea geogrfica de los centros acadmicos, grandes instituciones y empresas. Ms 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 Compaa en aquel entonces, el Multiplan, luego sta fue cambiada por menes pulldown y cajas de dilogo, similares a las usadas en el programa Xerox Star del mencionado fabricante. Al sentir la presin de programas similares en aquel entonces (recordemos que ms que un SO, Windows naci como una interfaz grfica entre ste y el usuario), Microsoft anuncia oficialmente Windows a finales del ao 1983. En ese momento, muchas compaas trabajan la lnea de las interfaces grficas, entre ellas Apple, reconocida casi por todos como la primera, DESQ de Quraterdeck, Amiga Workbech, NEXTstep, etc. Windows prometa una interfaz GUI de fcil uso, soporte multitarea y grfico. 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 prrico. El paquete inicial de Windows 1.0 inclua: MS-DOS Ejecutivo, Calendario, Tarjetero (alguien realmente us esto alguna vez?), el Notepad, Terminal, Calculadora, Reloj, Panel de Control, el editor PIF (Program Information File), un spooler de impresin, el Clipboard, as como el Windows Write y Windows Paint. En los aos siguientes, si bien el ordenador personal como concepto ya se haba establecido y serva de alternativa vlida a las mini, sobre todo en el entorno institucional y empresarial, an el poder de cmputo limitado y la gran variedad de fabricantes limitaron la explosin de Windows como SO, debido al despliegue universal que con el MS-DOS la Compaa haba logrado establecer. Windows /286 y Windows/386, renombrados como Windows 2.0 terminan la saga en el otoo de 1987, al ofrecer algunas mejoras de uso, adicionar iconos y permitir la superposicin de ventanas, lo que propici un marco mucho ms apropiado para la co-ubicacin 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 mltiples programas DOS de manera simultnea. El Windows 3.0, que aparece en mayo de 1990, constituy un cambio radical del ambiente Windows hasta entonces. Su habilidad de direccionar espacios de memorias por encima de los 640 k y una interfaz de usuario mucho ms potente propiciaron que los productores se estimularan con la produccin 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 grfico (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 rcord. Dos aos despus llegara la saga del Windows 3.1 y 3.11, as como su variante para trabajo en grupo. Con ste se hizo patente el traslado de la mayora de los usuarios del ambiente de texto que ofreca el MS-DOS hacia el ambiente grfico de la nueva propuesta, olvidndonos todos paulatinamente del Copy A:\ *.* para sustituirlo por el COPY AND PASTE. Las primeras aplicaciones "adquiridas y/o desplazadas" por Microsoft ofrecidas como un todo nico, el ambiente de RED peer to peer, los sistemas de upgrade de una versin 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 versin para trabajo en grupo, Microsoft integr por primera vez su SO con un paquete de tratamiento para redes, lo que permiti, sobre un protocolo propio, el compartir ficheros entre PCs (incluso corriendo DOS), compartir impresoras, sistema de correo electrnico y un planificador para trabajo en grupo. Sin embargo, lo realmente llamativo consisti en su plena integracin 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 diseado para el procesador de Intel 80286. De esa forma, la

versin 1.0 de OS/2 es lanzada en 1988, poca en que ya el 386 se haca popular. Se hizo claro que el hardware estaba cambiando muy rpido con relacin al desarrollo del software. De manera que ambas compaas decidieron que la OS/2 versin 2 sera un refinamiento evolutivo de sistemas previos, actualizado para las nuevas caractersticas de hardware del 386. Sin embargo, para la versin 3 se procedi a trabajar desde cero, basado todo sobre Nueva Tecnologa. En un principio sera un SO para procesadores de Intel, pero portable a otros, como los ALPHA, de Digital, por aquel entonces muy famosos. Despus de la ruptura con IBM, Microsoft le llamara al SO Windows NT. El OS/2, tras una existencia catica bajo el pulso de IBM, qued en el olvido. Microsoft se percat que si bien tena bajo control el mercado de los SO para las masas, se senta 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 ao 95 signific un nuevo vuelco en la lnea de los SO de Microsoft. En agosto sale al mercado el controvertido Windows 95, un entorno multitarea con interfaz simplificada y con otras funciones mejoradas. A slo siete semanas de su lanzamiento ya se haban 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 comn de su timonel, no se haba dado cuenta que el futuro de los ordenadores estaba precisamente en la red y que Internet significara toda una revolucin. El lanzamiento de Windows 95 estuvo acompaado de una serie de pasos que el Gigante dio en aras de remediar su equivocacin y enderezar el rumbo. Adems de "empotrar" su navegador y obligar a los fabricantes de PCs a tenerlo en cuenta, ese mismo ao se crea The Microsoft Network y mediante su incursin acelerada en los medios masivos de comunicacin, surge MSNBC, un ao despus. En ese momento, Microsoft pag 425 millones de dlares por la adquisicin de WebTV Networks, un fabricante de dispositivos de bajo costo para conectar televisiones a Internet e invirti mil millones de dlares en Comcast Corporation, un operador estadounidense de televisin por cable, como parte de su poltica de extender la disponibilidad de conexiones de alta velocidad a Internet. Por ltimo, para introducirse en el mercado de los asistentes personales y los ordenadores de bolsillo, handheld devices, crea una nueva lnea de su SO, el Windows CE, una especie de Windows en miniatura que ya en su versin 3.0 ha logrado una integracin 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 hbrido que mezclaba cdigos de 16 y 32 bits. Posea capacidad de multitarea y multihilo, un sofisticado sistema de ficheros y pleno soporte de red. Su lanzamiento se pregonaba con la desaparicin del MS-DOS, aunque en verdad la crtica no lo perdon, pues traa de fondo el viejo sistema DOS en su versin 7.0. As Windows 95 tomaba el control inmediatamente despus de la secuencia de arranque, para dar lugar a una interfaz totalmente mejorada y una filosofa de trabajo diferente.

Adale la famosa promesa del "plug and play" y tendremos un timo de marketing bien montado. Claro, en realidad la solucin si bien novedosa y prometedora, era una meta muy alta para Microsoft y los fabricantes de entonces. No slo habra que garantizar la compatibilidad de un legado de dispositivos de una variedad incontable, en plena explosin y desarrollo de los perifricos en los PCs, sino que adems habra que lidiar con todo un arco iris de fabricantes y sistemas, que poco a poco se organizaran e integraran para sobrevivir slo los ms fuertes. An aos despus, el trmino plug and play sigue mostrando sorpresas con algunas configuraciones o dispositivos, pero aquellos primeros intentos felizmente quedaron atrs. Una de las notas ms contradictorias del nuevo SO fue la inclusin de un navegador para Internet, el Internet Explorer, como una utililidad ms del sistema. Esto no era ms que el resultado de una estrategia de mercado que Microsoft haba aplicado desde sus inicios: comprar las licencias de lo mejor de la competencia para integrarla a su SO o desarrollar su propia versin y ofrecerla gratis como parte de su paquete completo, para desplazar al que no quisiera vender. Comenz la guerra de los browsers, que finalmente ganara el Explorer debido a la abismal ventaja que le ofreca llegar de manera natural al ordenador con cada nueva instalacin 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 a la inclusin de Internet Explorer. El Gobierno sostuvo que la Compaa se aprovechaba de la posicin en el mercado de sus sistemas operativos para obtener el control de los exploradores de Internet. Microsoft afirm que deba disponer del derecho de mejorar la funcionalidad de 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 ao, alegando que haba incumplido el contrato por el que se le permita utilizar el lenguaje de programacin universal JAVA, propiedad de Sun, al introducir mejoras slo 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 Compaa desde entonces. Windows 95, a pesar de su "obligado" xito no estuvo exento de problemas prcticos. Con l, Microsoft nos at para siempre a su tradicional poltica de los paquetes de servicio o service packs para enmendar errores, huecos de seguridad o adicionar mejoras, que las premuras del mercado no haban permitido disponer a tiempo. Con l 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 l, finalmente, se le dio bienvenida a la desenfrenada carrera de poder de cmputo y memoria, que provoc la obsolescencia de muchos sistemas que haban sobrevivido durante aos. 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 hara para penetrar en el mercado de Internet y barrer con los que haban dominado en

este tema hasta entonces. La indisoluble integracin del WEB con el escritorio, el llamado active desktop, la interfaz a lo "HTML", los canales (que pocos visitaron) 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 versin. El 98 incluy utilidades para el tratamiento de FAT16 y su conversin a FAT32, mejor manejo de los discos duros, manipulacin mltiple de varios monitores, una lista extendida de soporte plug and play (extendida, s, 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 disminucin de los pantallazos azules, que realmente cumpli y mejor con la versin SR1 (service release 1), tiempo despus. El Windows 98 se ha mantenido hasta nuestros das y debe ser la ltima versin del SO que quede vinculada a lo que fue la lnea MS-DOS-Windows (salvando la variante Millenium o Windows Me que no ha convencido a nadie) hasta su total sustitucin por Windows 2000 y el XP, en una serie de zigzagueantes cambios que deja a todos adivinando si debe cambiar o no para la prxima versin. Pero tras este errtico rumbo, Microsoft persigue slo una cosa: conservar la supremaca de los SO de por vida. La saga NT La misin 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 o futura. Con esa idea, el equipo encabezado por un antiguo programador de SO para mquinas grandes, se traz los siguientes objetivos: portabilidad en otras arquitecturas de 32 bits, escalabilidad y multiprocesamiento, procesamiento distribuido, soporte API y disponer de mecanismos de seguridad clase 2 (C2), segn parmetros definidos por el Gobierno estadounidense. La robustez del sistema, fue un requisito a toda costa: el NT deba protegerse a s mismo de cualquier mal funcionamiento interno o dao externo, accidental o deliberado, respondiendo de manera activa a los errores de hardware o software. Deba ser desarrollado orientado al futuro, prever las necesidades de desarrollo de los fabricantes de equipos de cmputo, su adaptacin tecnolgica no slo al hardware, sino al propio software. Todo ello sin sacrificar el desempeo y eficiencia del sistema. En cuanto al certificado de seguridad, C2, debiera cumplir con los estndares establecidos por ste como la auditora, la deteccin de acceso, proteccin de recursos, etc. As naci el Windows NT 3.5 all por el ao 1994 y se introdujo poco a poco en un mercado hasta ese momento desterrado para Microsoft. El NT 4.0 de nombre cdigo Cairo, sale a luz en 1996. Por ah leamos que el nuevo sistema operativo cumpla una frmula muy sencilla: tomar un NT 3.51, sumarle los service packs 1, 2 y 3 y mezclarlo con una interfaz a lo Windows 95 (incluido su recycle bin, algo realmente til para un sistema montado sobre NTFS). Un pas ms en la integracin del SO con Internet lo dio el NT 4.0 al

incluir Internet Information Server, servidor de Microsoft para soporte WEB, FTP, etc. como una utilidad ms dentro del paquete y que como la lgica indicaba engranaba con ste a las mil maravillas al desplazar en eficiencia y velocidad cualquier producto externo. La cara "Windows 95" se sobrepuso a un inicio incierto, ya que tuvo que vencer la desconfianza que pudo haber generado. Tngase en cuenta que la familia NT estaba orientada a un cliente en el que la estabilidad y seguridad del sistema eran el requisito nmero uno y ello contrastaba con la experiencia que haba tenido el 95. Sin embargo, el golpe fue genial. Por primera vez, Microsoft mezcl la solidez con el fcil uso y desterr para siempre el concepto impuesto hasta entonces de que para las grandes compaas y las grandes empresas los servidores deban ser cosa de cientficos de bata blanca. El crecimiento de los usuarios NT se multiplic 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 ingenieras, incluido la informtica, la pequea 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. El 14 de septiembre de 2000 sale el Millenium, no como un sucesor del 98, sino como un producto orientado al usuario domstico (interfaz de colores, mucha msica y vdeo, soporte para redes LAN inalmbricas, cortafuegos personales), nada del otro mundo, con poca perspectiva de supervivencia, aunque esto siempre es una incgnita. En cambio, Windows 2000 es la alternativa actual para la mayora, en la fase justa de emigrar de un 95 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 especfico con posibilidad de manejo de hasta 16 procesadores simtricos y 64 Gb de memoria fsica. Pensamos que lo destacable de este paso estriba en haber llevado la robustez, la seguridad y la 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, encriptacin a nivel de disco o de red y riguroso control de acceso son otras de sus bondades. La historia terminara aqu... si hubiese sido escrita el ao pasado. No obstante, un nuevo producto, de nombre cdigo Whistler fue inaugurado en Nueva York bajo las cuerdas de Sting, el 21 de octubre de 2003, el Windows XP. Bajo su manto, un kernel 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 filosofa de trabajo, siempre, claro est, con la red de redes

en su mira. Se dice que el XP es un upgrade discreto del Windows 2000 y una piedra ms en el camino de Microsoft hacia su prximo gran SO, de nombre cdigo Blackcomb. Hay dos cuestiones a destacar en el XP: primero que parece ser la integracin lgica y perfecta a su plataforma de desarrollo para la red, eNET, promesa paradisaca para programadores y desarrolladores de aplicaciones, que como nos comentaba un profesor estudioso del tema, constituye el primer gran esfuerzo de la compaa de Redmond en el cual no ha intervenido la compra de una licencia a un tercero. Segundo, la clave de habilitacin en lnea para la activacin del producto, que con la justificacin 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 visin de sus fundadores, sus prcticas poco ortodoxas, as 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 computacin, dentro de varios aos, no tengamos ms alternativa que contar la de un nico sistema operativo. Eso sera imperdonable.

Вам также может понравиться