stringtranslate.com

Historia de Unix

La historia de Unix se remonta a mediados de la década de 1960, cuando el Instituto Tecnológico de Massachusetts , Bell Labs y General Electric estaban desarrollando conjuntamente un sistema operativo experimental de tiempo compartido llamado Multics para el mainframe GE-645 . [1] Multics introdujo muchas innovaciones , pero también tuvo muchos problemas. Bell Labs, frustrado por el tamaño y la complejidad de Multics pero no por sus objetivos, se retiró lentamente del proyecto. Sus últimos investigadores en abandonar Multics –entre ellos Ken Thompson , Dennis Ritchie , Doug McIlroy y Joe Ossanna [2] – decidieron rehacer el trabajo, pero a una escala mucho menor. [3]

En 1979, Ritchie describió la visión del grupo para Unix : [3]

Lo que queríamos preservar no era sólo un buen entorno en el que programar , sino un sistema en torno al cual se pudiera formar una comunidad. Sabíamos por experiencia que la esencia de la informática comunitaria, tal como la proporcionan las máquinas de acceso remoto y tiempo compartido , no consiste simplemente en escribir programas en una terminal en lugar de en una máquina perforadora de teclado , sino en fomentar una comunicación estrecha.

Década de 1960

Multics

A finales de los años 1960, Bell Labs participó en un proyecto con el MIT y General Electric para desarrollar un sistema de tiempo compartido , llamado Multics , que permitía a varios usuarios acceder a un mainframe simultáneamente. Un concepto clave del sistema Multics era el uso de un almacenamiento de un solo nivel . En este concepto, no hay un sistema de archivos directamente accesible . En cambio, los programas simplemente se refieren a los datos como si ya estuvieran en la memoria; si no lo están, el sistema de memoria virtual (VM) los carga automáticamente. Esto significa que los programas no tienen que escribir código para leer y escribir explícitamente datos de los archivos en la memoria para manipularlos, el sistema operativo hace todo esto de forma invisible. [4]

El proyecto Multics empezó a estancarse y el equipo de Bell se dio cuenta de que era poco probable que el sistema ofreciera un sistema operativo funcional en el corto plazo, y mucho menos uno con un rendimiento razonable. [4] La gerencia de Bell Labs finalmente se retiró del proyecto y parecía probable que la compañía fuera a terminar su contrato de arrendamiento del costoso mainframe GE 645. [5] Ken Thompson , un programador del departamento de investigación informática de los laboratorios, disfrutó de la flexibilidad de Multics y comenzó a considerar un nuevo sistema operativo que pudiera ejecutarse en máquinas menos sofisticadas. [4]

Nuevo sistema

El concepto básico era utilizar el sistema de archivos jerárquico de Multics pero eliminar el almacenamiento de un solo nivel. [4] Thompson sintió que la idea de un almacenamiento de un solo nivel era en última instancia mala ya que trata a toda la memoria de la misma manera, ya sea código de programa o datos, cuando en el uso real se trataban de manera muy diferente. El código de programa rara vez se modifica en tiempo de ejecución, puede colocarse en un área de solo lectura de la memoria y se accede a él aleatoriamente debido a la ramificación . Por el contrario, los datos casi siempre se pueden escribir, ya que la modificación de los datos de archivo en tiempo de ejecución es a menudo el objetivo principal del programa, y ​​el acceso secuencial, en lugar del aleatorio, es un medio normal de acceso. Si bien su nuevo sistema requeriría que los programadores escribieran sus propias rutinas para cargar y guardar datos, eso no parecía ser irrazonable. [4]

Thompson comenzó a escribir simulaciones del nuevo sistema en Multics, para entender el rendimiento de paginación del sistema. Como esto parecía prometedor, Thompson comenzó a escribir el sistema para el GE 645, comenzando con un nuevo lenguaje ensamblador personalizado . Pero pronto se hizo evidente que el 645 desaparecería en unos meses, y el trabajo fue abandonado. [6] Durante este período, Thompson también solicitó repetidamente a la gerencia que comprara un sistema más pequeño que el GE 645 para construir un sistema operativo similarmente amigable para los programadores. La gerencia rechazó todas estas solicitudes. [5]

Viajes espaciales, traslado a PDP-7

En 1969, Thompson también había escrito un videojuego , Space Travel , bajo el sistema operativo GECOS en la máquina más pequeña GE 635. Esto tenía el problema de que un juego típico costaba $75 ($623.00 en 2023) en tiempo de ejecución de CPU facturable. [6] Cuando se enteró de que el departamento de Investigación Visual y Acústica [7] tenía una pequeña PDP-7 que estaba en gran parte sin uso, comenzó a reescribir el juego para esta máquina. [6] Esto se realizó inicialmente construyendo un binario para la PDP-7 usando un compilador cruzado en la 635 y luego moviendo el código resultante a la PDP-7 usando cinta de papel . [6]

Esto se volvió tedioso y Thompson comenzó a considerar escribir su nuevo sistema operativo en la nueva máquina. Esto fue ayudado por unas vacaciones oportunas de su esposa, dejándolo con un mes para trabajar en él a tiempo completo. [8] Con la ayuda de Ritchie y Rudd Canaday , implementaron una versión del sistema de archivos jerárquico que Thompson había estudiado en el 645. Pronto siguió la capacidad de iniciar programas almacenados en ese sistema de archivos, [6] y luego pequeños programas para copiar, eliminar, imprimir y editar esos archivos, junto con un intérprete de línea de comandos para permitir al usuario realizar todas estas operaciones de forma interactiva. Con esto en su lugar, se escribió un nuevo ensamblador para la máquina y Space Travel se trasladó por completo a la nueva plataforma. [9]

Un concepto clave que se añadió durante este período fue creado por Ritchie, [6] el concepto de archivo de dispositivo . Se trataba de un archivo en el sistema de archivos con la capacidad especial de realizar operaciones de entrada/salida . Esto permitió que se admitieran diferentes dispositivos simplemente colocando un archivo en una ubicación adecuada en el sistema de archivos. Las operaciones de lectura y escritura que accedían a estos pseudoarchivos realizaban operaciones en el propio dispositivo. Esto significaba que los dispositivos se abstraían a través del sistema de archivos y los programas podían manipular archivos sin importar en qué tipo de dispositivo se encontraban. [10]

Luego, Douglas McIlroy adaptó el compilador TMG al lenguaje ensamblador PDP-7, creando así el primer lenguaje de alto nivel que funcionaba en Unix. Thompson utilizó esta herramienta para desarrollar la primera versión de su lenguaje de programación B. [ 3]

Década de 1970

Ken Thompson y Dennis Ritchie
Versión 7 de Unix para PDP-11 , ejecutándose en SIMH
Tiempo compartido en Unix en la Universidad de Wisconsin , 1978

El nuevo sistema operativo no tenía en un principio ningún respaldo organizativo ni tampoco un nombre. En esa etapa, el nuevo sistema operativo era un sistema operativo monotarea, [3] no multitarea como Multics. El nombre Unics (Uniplexed Information and Computing Service, pronunciado como " eunuchs "), un juego de palabras con Multics (Multiplexed Information and Computer Services), fue sugerido inicialmente para el proyecto en 1970. Brian Kernighan reivindica la creación de este nombre y añade que "nadie recuerda" quién se inventó la ortografía final de Unix . [11] Dennis Ritchie y Doug McIlroy también le dan crédito a Kernighan. [3] [12]

Cuando el Centro de Investigación de Ciencias de la Computación quiso utilizar Unix en una máquina más grande que la PDP-7, mientras que el Departamento de Patentes de Bell Labs [13] necesitaba un procesador de textos , Thompson y Ritchie añadieron capacidades de procesamiento de textos a Unix y recibieron financiación para un PDP-11 /45. [14] Por primera vez en 1970, el sistema operativo Unix recibió un nombre oficial y se ejecutó en el PDP-11. Se añadieron un programa de formato de texto llamado roff y un editor de textos . Los tres estaban escritos en lenguaje ensamblador PDP-11 . Bell Labs utilizó este sistema de procesamiento de textos inicial, formado por Unix, roff y el editor, para el procesamiento de textos de las solicitudes de patentes . Roff pronto evolucionó a troff , el primer programa de publicación electrónica con capacidad completa de composición tipográfica .

A medida que el sistema se hacía más complejo y el equipo de investigación quería más usuarios, se hizo evidente la necesidad de un manual. El Manual del Programador de UNIX se publicó el 3 de noviembre de 1971; los comandos se documentaban en el formato de " página de manual " que todavía se utiliza, ofreciendo información de referencia concisa sobre el uso, así como errores en el software, y enumerando los autores de los programas para canalizarles las preguntas. [12]

Después de que otros departamentos de Bell Labs adquirieran DEC PDP-11, también decidieron [15] ejecutar Unix en lugar del sistema operativo propio de DEC. En la versión 4, ya se usaba ampliamente en el laboratorio y se formó un grupo de soporte de Unix, que ayudó a que el sistema operativo sobreviviera formalizando su distribución. [14] [12]

En 1973, la versión 4 de Unix fue reescrita en el lenguaje de alto nivel C , contrariamente a la noción general en ese momento de que la complejidad y sofisticación de un sistema operativo requería que se escribiera en lenguaje ensamblador. [16] [14] El lenguaje C apareció como parte de la versión 2. Thompson y Ritchie fueron tan influyentes en los primeros Unix que McIlroy estimó que escribieron y depuraron alrededor de 100.000 líneas de código ese año, afirmando que "se puede asumir con seguridad que [sus nombres] están asociados a casi todo lo que no se atribuye de otra manera". [12] Aunque el lenguaje ensamblador no desapareció de las páginas de manual hasta la versión 8 , [12] la migración a C sugirió portabilidad del software, requiriendo solo una cantidad relativamente pequeña de código dependiente de la máquina para ser reemplazado al portar Unix a otras plataformas informáticas . La versión 4 de Unix, sin embargo, todavía tenía un código considerable dependiente de PDP-11 y no era adecuado para la portabilidad. El primer puerto a otra plataforma se realizó cinco años después (1978) para Interdata 8/32 . [17]

El sistema operativo Unix fue presentado formalmente por primera vez al mundo exterior en el Simposio sobre Principios de Sistemas Operativos de 1973 , donde Ritchie y Thompson presentaron un documento. [18] Esto dio lugar a solicitudes para el sistema, pero en virtud de un decreto de consentimiento de 1956 en la resolución de un caso antimonopolio, se prohibió al Sistema Bell (la organización matriz de Bell Labs) entrar en cualquier negocio que no fuera el de "servicios de comunicaciones de operador común", y se le exigió que licenciara cualquier patente que tuviera si se lo solicitaban. [8] Por lo tanto, Unix no podía convertirse en un producto. Bell Labs en su lugar envió el sistema por el costo del medio y el envío. [8] Ken Thompson silenciosamente comenzó a responder a las solicitudes enviando cintas y discos, cada uno acompañado de -según la leyenda- una nota firmada, "Con amor, Ken". [19]

En 1973, AT&T lanzó la versión 5 de Unix y la licenció a instituciones educativas, y licenció la versión 6 de 1975 a empresas por primera vez. [20] Si bien los usuarios comerciales eran raros debido al costo de 20 000 dólares estadounidenses (equivalentes a 113 247 dólares en 2023), esta última fue la versión más utilizada hasta principios de la década de 1980. Cualquiera podía comprar una licencia, pero los términos eran muy restrictivos; los licenciatarios solo recibían el código fuente, tal como estaba . [20] Las licencias también incluían las partes del núcleo que dependían de la máquina, escritas en lenguaje ensamblador PDP-11. Circulaban ampliamente copias del Comentario de los Leones sobre UNIX 6.ª edición, con el código fuente , lo que llevó a un uso considerable de Unix como ejemplo educativo. La primera reunión de usuarios de Unix tuvo lugar en Nueva York en 1974, atrayendo a unas pocas docenas de personas; esto luego se convertiría en la organización USENIX . La importancia del grupo de usuarios surgió del hecho de que AT&T no brindaba ningún soporte para Unix. [8]

Las versiones del sistema Unix se determinaban por las ediciones de sus manuales de usuario; [20] por ejemplo, "UNIX Quinta Edición" y "UNIX Versión 5" se han utilizado para designar la misma versión. Los desarrolladores de Bell Labs no pensaron en términos de "lanzamientos" del sistema operativo, sino que utilizaron un modelo de desarrollo continuo y, a veces, distribuyeron cintas con parches (sin la aprobación de los abogados de AT&T). [8] El desarrollo se expandió, añadiendo el concepto de tuberías, lo que llevó al desarrollo de una base de código más modular y ciclos de desarrollo más rápidos. La versión 5, y especialmente la versión 6, dieron lugar a una plétora de diferentes versiones de Unix tanto dentro como fuera de Bell Labs, incluyendo PWB/UNIX y el primer Unix comercial, IS/1 .

Unix todavía sólo se ejecutaba en sistemas DEC. [20] A medida que se reescribía más del sistema operativo en C (y el lenguaje C se extendía para adaptarse a esto), la portabilidad también aumentó; en 1977, Bell Labs adquirió un Interdata 8/32 con el objetivo de portar Unix a una computadora que fuera lo más diferente posible del PDP-11, haciendo que el sistema operativo fuera más independiente de la máquina en el proceso. Unix se ejecutó a continuación como un sistema operativo invitado dentro de un hipervisor VM/370 en Princeton . Simultáneamente, un grupo de la Universidad de Wollongong portó Unix al similar Interdata 7/32 . [21] Las máquinas de destino de otros puertos de Bell Labs para investigación y uso interno de AT&T incluyeron una computadora basada en Intel 8086 (con MMU personalizada ) y el UNIVAC 1100. [ 22] [14]

En mayo de 1975, ARPA documentó los beneficios del sistema de tiempo compartido Unix que "presenta varias capacidades interesantes" como un minihost de red ARPA en RFC 681.

En 1978, se lanzó UNIX/32V para el entonces nuevo sistema VAX de DEC . En ese momento, más de 600 máquinas ejecutaban Unix de alguna forma. La versión 7 de Unix , la última versión de Research Unix que se lanzó ampliamente, se lanzó en 1979. En la versión 7, el número de llamadas al sistema era de solo unas 50, aunque más tarde, los sistemas Unix y similares a Unix agregarían muchas más: [23]

La versión 7 del Research UNIX System ofrecía unas 50 llamadas al sistema, la 4.4BSD unas 110 y la SVR4 unas 120. La cantidad exacta de llamadas al sistema varía según la versión del sistema operativo. Los sistemas más recientes han experimentado un crecimiento increíble en la cantidad de llamadas al sistema admitidas. Linux 3.2.0 tiene 380 llamadas al sistema y FreeBSD 8.0 más de 450.

En 1978 se completó un puerto de microprocesador de Unix, el LSI-11 , [24] y se informó que una versión Intel 8086 estaba "en progreso" el mismo año. [21] Las primeras versiones de microcomputadoras de Unix, y sistemas operativos similares a Unix como Idris de Whitesmiths , aparecieron a fines de la década de 1970. [20]

Década de 1980

Terminal LSI ADM-3A , interfaz física para BSD Unix
El terminal DEC VT100 , ampliamente utilizado para el tiempo compartido Unix
Ponentes de verano de USENIX 1984. USENIX se fundó en 1975 y se centró principalmente en el estudio y desarrollo de Unix y sistemas similares.
El sistema X Window con twm y una serie de aplicaciones X fundamentales

Bell desarrolló múltiples versiones de Unix para uso interno, como CB UNIX (con soporte mejorado para bases de datos) y PWB/UNIX , el "Programmer's Workbench", dirigido a grandes grupos de programadores. Publicitó la última versión, así como la 32V y la V7, afirmando que "más de 800 sistemas ya están en uso fuera del Sistema Bell" en 1980, [25] y "más de 2000" el año siguiente. [26] Las versiones 8 (1985 [27] [28] ), 9 (1986 [29] [28] ) y 10 (1989 [30] [31] [28] [32] ) de Unix se desarrollaron durante la década de 1980, pero solo se publicaron en unas pocas universidades, aunque generaron artículos [33] que describían el nuevo trabajo. [ cita requerida ]

Este enfoque de investigación se trasladó luego al desarrollo de Plan 9 de Bell Labs , un nuevo sistema operativo distribuido portátil.

Debido a que la compañía licenciaba Unix de forma amplia y económica, [35] a principios de los años 1980 miles de personas usaban Unix en AT&T y en otros lugares, y a medida que los estudiantes de informática pasaban de las universidades a las empresas querían seguir usándolo. Los observadores comenzaron a ver a Unix como un posible sistema operativo universal, adecuado para todos los ordenadores. Menos de 20.000 líneas de código –casi todas en C– componían el núcleo de Unix en 1983, y más del 75% no dependía de la máquina. Para ese año, Unix o un sistema similar a Unix estaba disponible para al menos 16 procesadores y arquitecturas diferentes de unos 60 proveedores; BYTE señaló que las empresas informáticas "pueden dar soporte a otros sistemas [operativos], pero siempre hay una implementación de Unix disponible", [14] [20] [36] y que DEC e IBM apoyaban a Unix como una alternativa a sus sistemas operativos propietarios. [37]

El Unix para microcomputadoras comenzó a comercializarse en 1980, cuando Onyx Systems lanzó su C8002 basado en Zilog Z8000 [20] y Microsoft anunció su primer Unix para microcomputadoras de 16 bits llamado Xenix , que la Santa Cruz Operation (SCO) portó al procesador 8086 en 1983. Otras compañías comenzaron a ofrecer versiones comerciales de Unix para sus propias minicomputadoras y estaciones de trabajo. Muchas de estas nuevas versiones de Unix se desarrollaron a partir de la base System V bajo una licencia de AT&T; otras se basaron en BSD. Uno de los principales desarrolladores de BSD, Bill Joy , cofundó Sun Microsystems en 1982 y creó SunOS para sus estaciones de trabajo .

AT&T anunció UNIX System III  , basado en la versión 7 y PWB, en 1981. Los licenciatarios podían vender sublicencias binarias por tan solo 100 dólares estadounidenses (equivalentes a 335,14 dólares en 2023), lo que, según los observadores, indicaba que AT&T ahora consideraba a Unix como un producto comercial. [20] Esto también incluía soporte para VAX. AT&T continuó emitiendo licencias para versiones anteriores de Unix. Para terminar con la confusión entre todas sus diferentes versiones internas, AT&T las combinó en UNIX System V Release 1. Esto introdujo algunas características como el editor vi y curses de la Berkeley Software Distribution de Unix desarrollada en el Grupo de Investigación de Sistemas Informáticos de la Universidad de California, Berkeley . Esto también incluía soporte para las computadoras de la serie 3B de Western Electric . AT&T brindó soporte para System III y System V a través del Unix Support Group (USG), y estos sistemas a veces se denominaban USG Unix. [ cita requerida ]

En 1983, el Departamento de Justicia de los Estados Unidos resolvió su segundo caso antimonopolio contra AT&T, lo que provocó la disolución del Bell System . Esto liberó a AT&T del decreto de consentimiento de 1956 que había impedido a la empresa comercializar Unix. AT&T introdujo rápidamente Unix System V en el mercado. La competencia recién creada casi destruyó la viabilidad a largo plazo de Unix, porque sofocó el libre intercambio de código fuente y condujo a la fragmentación y la incompatibilidad. [19] El Proyecto GNU fue fundado en el mismo año por Richard Stallman .

Como los términos de licencia comercial más nuevos de UNIX no eran tan favorables para el uso académico como las versiones anteriores de Unix, los investigadores de Berkeley continuaron desarrollando BSD como una alternativa a UNIX System III y V. Muchas contribuciones a Unix aparecieron por primera vez en las versiones de BSD, en particular el shell C con control de tareas (modelado sobre ITS ). Quizás el aspecto más importante del esfuerzo de desarrollo de BSD fue la adición de código de red TCP/IP al núcleo Unix principal . El esfuerzo de BSD produjo varias versiones significativas que contenían código de red: 4.1cBSD, 4.2BSD, 4.3BSD, 4.3BSD-Tahoe ("Tahoe" es el apodo de la arquitectura Power 6/32 de Computer Consoles Inc. que fue la primera versión no DEC del núcleo BSD), Net/1, 4.3BSD-Reno (para que coincida con el nombre "Tahoe", y que la versión fuera algo así como una apuesta), Net/2, 4.4BSD y 4.4BSD-lite. El código de red que se encuentra en estas versiones es el antecesor de gran parte del código de red TCP/IP que se utiliza en la actualidad, incluido el código que se publicó posteriormente en AT&T System V UNIX y en las primeras versiones de Microsoft Windows . La API de sockets de Berkeley que la acompaña es un estándar de facto para las API de redes y se ha copiado en muchas plataformas.

Durante este período, muchos observadores esperaban que UNIX, con su portabilidad, ricas capacidades y soporte de empresas como DEC e IBM, probablemente se convertiría en un sistema operativo estándar de la industria para microcomputadoras. [37] [38] Citando su biblioteca de software y base instalada mucho más pequeñas que las de MS-DOS y la IBM PC , otros esperaban que los clientes preferirían las computadoras personales en redes de área local a los sistemas multiusuario de Unix. [39] Microsoft planeó hacer de Xenix el sucesor multiusuario de MS-DOS; [20] para 1983 un Altos 586 basado en Xenix con 512 KB de RAM y 10 MB de disco duro costaba US$8000 (equivalente a US$24 473 en 2023). [40] BYTE informó que el Altos "bajo una carga moderada se acerca al rendimiento de DEC VAX para la mayoría de las tareas que un usuario normalmente invocaría", mientras que otras computadoras de Sun y MASSCOMP eran mucho más caras pero igualaban al VAX. La revista añadió que tanto PC/IX como Venix en el IBM PC superaron a Venix en el PDP-11/23. [37] uNETix , un microordenador comercial Unix, implementó el primer sistema de ventanas de color Unix. [ cita requerida ]

Thompson y Ritchie recibieron el Premio Turing en 1983 por su trabajo en Unix.

En 1986, Computerworld escribió que "Hasta hace muy poco, casi nadie asociaba Unix con el procesamiento de datos corporativos. [...] El sistema operativo circulaba casi exclusivamente en círculos académicos y técnicos... Pero ahora, casi en su totalidad debido a los arduos esfuerzos de AT&T, algunas personas están comenzando a percibir a Unix como una opción viable para grandes instalaciones comerciales". Unix se comercializó para el mainframe a través de Amdahl UTS en 1981, y luego IBM comenzó a ofrecer Unix como IX/370 y VM/IX . Sin embargo, la base instalada total de Unix siguió siendo pequeña, con unas 230.000 máquinas. [41]

A pesar de su reputación académica ( InfoWorld afirmó en 1989 que "hasta hace poco, Unix evocaba visiones de tecnoides con barba y pelo largo metidos en las entrañas de un laboratorio de I+D, codificando software hasta altas horas de la madrugada"), la creciente potencia de los microordenadores a finales de los años 1980, y en particular la introducción del Intel 80386 de 32 bits , hizo que Unix "explotara" en popularidad para aplicaciones empresariales; Xenix, 386/ix y otros sistemas Unix para el mercado de compatibilidad con PC compitieron con OS/2 en términos de redes, soporte multiusuario, multitarea y compatibilidad con MS-DOS. [42] El comienzo en 1984 de la feria comercial anual Unix Expo en Nueva York reflejó la creciente presencia comercial de Unix. [43]

Durante este tiempo, varios proveedores, incluidos Digital Equipment, Sun, Addamax y otros, comenzaron a construir versiones confiables de UNIX para aplicaciones de alta seguridad, diseñadas principalmente para aplicaciones militares y de aplicación de la ley.

La estandarización y las guerras de Unix

Un problema que aquejaba a Unix en este período era la multitud de implementaciones, basadas en System V, BSD o lo que Poul-Henning Kamp describió más tarde como una combinación "ejecutada de manera más o menos competente" de los dos, [44] generalmente con extensiones de cosecha propia para los sistemas base de AT&T o Berkeley. [45] Xenix era efectivamente un tercer linaje, ya que se basaba en el anterior System III. [46] La rivalidad entre proveedores se denominó las guerras Unix ; los clientes pronto exigieron estandarización. [46]

AT&T respondió emitiendo un estándar, la System V Interface Definition (SVID, 1985), y exigió que los sistemas operativos se conformaran con la marca "System V". En 1984, varios proveedores de ordenadores europeos establecieron el consorcio X/Open con el objetivo de crear una especificación de sistema abierto basada en Unix (y, finalmente, en SVID). [47] Otro esfuerzo de estandarización fue la especificación POSIX del IEEE (1988), diseñada como una API de compromiso fácilmente implementable tanto en plataformas BSD como System V. En 1993, el gobierno de los Estados Unidos impuso el uso de POSIX para muchos de sus propios sistemas. [48]

En la primavera de 1988, AT&T llevó la estandarización un paso más allá. Primero, colaboró ​​con SCO para fusionar System V y Xenix en System V/386. [46] Después, buscó la colaboración con Sun Microsystems (proveedor del derivado de 4.2BSD SunOS y su Network File System ) para fusionar System V, BSD/SunOS y Xenix en un único Unix unificado, que se convertiría en System V Release 4. AT&T y Sun, como UNIX International (UI), actuaron independientemente de X/Open y provocaron la ira de otros proveedores, que iniciaron la Open Software Foundation para trabajar en su propio Unix unificado, OSF/1 , marcando el comienzo de una nueva fase de las guerras Unix. [46]

Década de 1990

Estaciones de trabajo Unix de la década de 1990, incluidas las fabricadas por DEC , HP , SGI y Sun
El entorno de escritorio común (CDE) se utilizó ampliamente en las estaciones de trabajo Unix .

Las guerras de Unix continuaron hasta la década de 1990, pero resultaron ser una amenaza menor de lo que se pensaba originalmente: AT&T y Sun siguieron caminos separados después de System V.4, mientras que el cronograma de OSF/1 se retrasó. [46] Para 1993, la mayoría de los proveedores comerciales cambiaron sus variantes de Unix para basarse en System V con muchas características de BSD agregadas. La creación de la iniciativa Common Open Software Environment (COSE) ese año, por los principales actores de Unix, marcó el final de la fase más notoria de las guerras de Unix, y fue seguida por la fusión de UI y OSF en 1994. La nueva entidad combinada mantuvo el nombre OSF y dejó de trabajar en OSF/1. En ese momento, el único proveedor que lo usaba era Digital Equipment Corporation , que continuó su propio desarrollo, rebautizando su producto Digital UNIX a principios de 1995. POSIX se convirtió en el estándar unificador para los sistemas Unix (y algunos otros sistemas operativos). [46]

Mientras tanto, el mundo BSD vio sus propios desarrollos. El grupo de Berkeley movió su sistema operativo hacia la compatibilidad con POSIX y lanzó una versión reducida de su código de red, supuestamente sin ningún código que fuera propiedad de AT&T. En 1991, un grupo de desarrolladores de BSD (Donn Seeley, Mike Karels, Bill Jolitz y Trent Hein) dejaron la Universidad de California para fundar Berkeley Software Design, Inc. (BSDi), que vendió una versión comercial completamente funcional de BSD Unix para la plataforma Intel, que anunciaron como libre de código de AT&T. Tuvieron problemas legales cuando la subsidiaria Unix de AT&T demandó a BSDi por violación de derechos de autor y varios otros cargos en relación con BSD; posteriormente, la Universidad de California presentó una contrademanda. [49] Poco después de su fundación, Bill Jolitz dejó BSDi para dedicarse a la distribución de 386BSD , el antecesor de software libre de FreeBSD , OpenBSD y NetBSD .

En 1991, USL y Novell se unieron para desarrollar una versión de System 4 para computadoras i386 e i486 que combinaría TCP/IP y los protocolos de red IPX/SPX de Novell, llamado Proyecto Destiny. Formaron la subsidiaria Univel como una compañía de propiedad conjunta para desarrollar, comercializar y dar soporte al producto, que recibió el nombre oficial de UnixWare (también conocido como SVR4.2) y se vendió como Univel UnixWare 1.0 ese mismo año. Poco después de que Univel lanzara UnixWare 1.0, AT&T vendió USL y su parte de Univel a Novell, lo que significa que Novell ahora poseía todos los derechos de AT&T sobre Unix. Dennis Ritchie comparó esta venta con la historia bíblica de Esaú vendiendo su primogenitura por el plato de lentejas . [50] Novell intentó usar el hecho de que UnixWare combinaba tecnologías de red TCP/IP y NetWare como una herramienta de marketing contra Windows NT , pero sus mercados principales sufrieron considerablemente. También resolvió rápidamente las batallas judiciales con BSDi y Berkeley. [49]

En 1993, Novell decidió transferir la marca registrada UNIX y los derechos de certificación al Consorcio X/Open . [51] En 1996, X/Open se fusionó con OSF , creando el Open Group . Varias normas del Open Group definen ahora qué es y qué no es un sistema operativo UNIX, en particular la Single UNIX Specification posterior a 1998 .

En 1993, Unix se utilizó como un elemento de trama menor en la exitosa película Jurassic Park . [52]

En 1995, Novell vendió a Santa Cruz Operation el negocio de administración y soporte de las licencias UNIX existentes, además de los derechos para seguir desarrollando la base de código del System V. [53] Si Novell también vendió los derechos de autor sería posteriormente objeto de litigio (véase más adelante).

Una vez superados los problemas legales entre AT&T/Novell y la Universidad de California, esta última publicó dos versiones más de BSD antes de disolver su Grupo de Investigación de Sistemas Informáticos en 1995. Sin embargo, el código BSD sobrevivió en sus derivados libres y en lo que Garfinkel et al. denominan una segunda generación de sistemas Unix comerciales, basados ​​en BSD. El primer exponente de estos fue la oferta de BSDi, popular entre los proveedores de servicios de Internet , pero que finalmente no tuvo el éxito suficiente para sostener a la empresa. [54] El otro gran exponente sería Apple Computer .

En 1997, Apple buscó una nueva base para su sistema operativo Macintosh y eligió NeXTSTEP , un sistema operativo desarrollado por NeXT . El sistema operativo central, que se basaba en BSD y el núcleo Mach , pasó a llamarse Darwin después de que Apple lo adquiriera. La implementación de Darwin en Mac OS X lo convierte, según una declaración hecha por un empleado de Apple en una conferencia de USENIX , en el sistema basado en Unix más utilizado en el mercado de las computadoras de escritorio . [ cita requerida ]

En la lista de supercomputadoras Top500, Linux eclipsó a Unix 1998-2017

Mientras tanto, Unix tuvo competencia con el núcleo Linux copyleft , una reimplementación de Unix desde cero, que utilizaba partes del proyecto GNU que se venía desarrollando desde mediados de los años 1980. El trabajo sobre Linux comenzó en 1991 por Linus Torvalds ; en 1998, un memorándum confidencial de Microsoft afirmaba: "Linux está en camino de eventualmente adueñarse del mercado de UNIX x86", y predecía además: "Creo que Linux -más que NT- será la mayor amenaza para SCO en el futuro cercano". [55]

Década de 2000

En 2000, SCO vendió todo su negocio y activos de UNIX a Caldera Systems , que más tarde cambió su nombre a The SCO Group .

El estallido de la burbuja punto-com (2001-2003) condujo a una importante consolidación de las versiones de Unix. De las muchas variantes comerciales de Unix que nacieron en la década de 1980, sólo Solaris , HP-UX y AIX seguían teniendo un rendimiento relativamente bueno en el mercado, aunque IRIX de SGI persistió durante bastante tiempo. De ellas, Solaris tenía la mayor cuota de mercado en 2005. [56]

En 2003, el Grupo SCO inició acciones legales contra varios usuarios y vendedores de Linux. SCO había alegado que Linux contenía código Unix con derechos de autor que ahora era propiedad del Grupo SCO. Otras acusaciones incluían violaciones de secretos comerciales por parte de IBM o violaciones de contrato por parte de antiguos clientes de Santa Cruz que desde entonces se habían convertido a Linux. Sin embargo, Novell cuestionó la afirmación del Grupo SCO de poseer los derechos de autor sobre la base fuente de UNIX. Según Novell, SCO (y por lo tanto el Grupo SCO) son efectivamente operadores de franquicia para Novell, que también retuvo los derechos de autor principales, derechos de veto sobre futuras actividades de licencias de SCO y el 95% de los ingresos por licencias. El Grupo SCO no estuvo de acuerdo con esto y la disputa resultó en la demanda SCO v. Novell . El 10 de agosto de 2007, una parte importante del caso se decidió a favor de Novell (que Novell tenía los derechos de autor de UNIX y que el Grupo SCO había retenido indebidamente dinero que se le debía a Novell). El tribunal también dictaminó que "SCO está obligada a reconocer la renuncia de Novell a sus reclamaciones contra IBM y Sequent". Después del fallo, Novell anunció que no tenía interés en demandar a la gente por Unix y declaró: "No creemos que haya Unix en Linux". [57] [58] [59] SCO logró que el Tribunal de Apelaciones del Décimo Circuito revocara parcialmente esta decisión el 24 de agosto de 2009, lo que envió la demanda de nuevo a los tribunales para un juicio con jurado. [60] [61] [62]

El 30 de marzo de 2010, tras un juicio con jurado, Novell, y no The SCO Group, fue "declarado por unanimidad" como el propietario de los derechos de autor de UNIX y UnixWare. [63] The SCO Group, a través del síndico de quiebras Edward Cahn, decidió continuar la demanda contra IBM por causar una disminución en los ingresos de SCO. [64] El 1 de marzo de 2016, la demanda de SCO contra IBM fue desestimada con perjuicio.

En 2005, Sun Microsystems publicó la mayor parte del código de su sistema Solaris (basado en UNIX System V Release 4) en un proyecto de código abierto llamado OpenSolaris . Las nuevas tecnologías de SunOS , en particular el sistema de archivos ZFS , se publicaron por primera vez como código abierto a través del proyecto OpenSolaris. Poco después, OpenSolaris generó varias distribuciones que no eran de Sun. En 2010, después de que Oracle adquiriera Sun, OpenSolaris se suspendió oficialmente, pero el desarrollo de derivados continuó.

Desde principios de la década de 2000, Linux es el sistema operativo tipo Unix líder y macOS lidera entre todas las variantes de Unix, mientras que todas las demás variantes de Unix tienen solo una participación de mercado insignificante (ver Participación en el uso de los sistemas operativos ).

Véase también

Referencias

Citas

  1. ^ Stuart, Brian L. (2009). Principios de los sistemas operativos: diseño y aplicaciones . Boston, Massachusetts: Thompson Learning. pág. 23. ISBN 978-1-4188-3769-3.
  2. ^ Mahoney . "En el principio: Unix en Bell Labs".
  3. ^ abcde Ritchie, Dennis M. (1984). "La evolución del sistema de tiempo compartido Unix". AT&T Bell Laboratories Technical Journal . 63 (6 Parte 2): 1577–93. doi :10.1002/j.1538-7305.1984.tb00054.x. S2CID  571269. Archivado desde el original el 6 de mayo de 2010 . Consultado el 22 de septiembre de 2013 .En formato PDF
  4. ^ abcde Cooke 1999, pág. 60.
  5. ^ por Ritchie 1984, pág. 1.
  6. ^ abcdef Ritchie 1984, pág. 2.
  7. ^ "Doug McIlroy".
  8. ^ abcde Salus, Peter H. (2005). El demonio, el ñu y el pingüino. Groklaw ."En agosto de 1969, la esposa de Ken Thompson, Bonnie, se llevó a su hijo de un año de viaje a California para presumir ante sus familias. Como soltero temporal, Ken tenía tiempo para trabajar. 'Le dediqué una semana a cada uno de los componentes del sistema operativo, el shell, el editor y el ensamblador [me dijo]... y durante el mes que ella no estuvo, lo reescribí por completo de una forma que parecía un sistema operativo'".
  9. ^ Ritchie 1984, pág. 3.
  10. ^ Ritchie y Thompson 1978, pág. 1909.
  11. ^ Dolya, Aleksey (29 de julio de 2003). "Entrevista con Brian Kernighan". Linux Journal .
  12. ^ abcde McIlroy, MD (1987). Un lector de Unix para investigación: extractos anotados del Manual del programador, 1971–1986 (PDF) (Informe técnico). CSTR. Bell Labs. 139.
  13. ^ "La creación del sistema operativo UNIX*: Portando UNIX para su primera aplicación comercial".
  14. ^ abcde byte198308.
  15. ^ "Investigación!RSC: Historia de la informática en Bell Labs".
  16. ^ Stallings, William (2005). Sistemas operativos: principios internos y de diseño (5.ª ed.). Pearson Education. pág. 91. ISBN 978-8131703045.
  17. ^ "Portabilidad de los programas C y el sistema UNIX". Bell-labs.com . Consultado el 4 de noviembre de 2017 .
  18. ^ Ritchie y Thompson 1978.
  19. ^ ab "Orígenes e historia de Unix, 1969–1995". Faqs.org. Archivado desde el original el 9 de noviembre de 2010. Consultado el 9 de noviembre de 2010 .
  20. ^ abcdefghi Fiedler, Ryan (octubre de 1983). "El tutorial de Unix / Parte 3: Unix en el mercado de los microordenadores". BYTE . p. 132 . Consultado el 30 de enero de 2015 .
  21. ^ ab Johnson, Stephen C. ; Ritchie, Dennis M. (1978). "Portabilidad de programas C y el sistema UNIX". Bell System Technical Journal . 57 (6): 2021–48. doi :10.1002/j.1538-7305.1978.tb02141.x. S2CID  17510065.
  22. ^ Bodenstab, DE; Houghton, TF; Kelleman, KA; Ronkin, G.; Schan, EP (1984). "Experiencias de portabilidad del sistema operativo UNIX". AT&T Bell Laboratories Technical Journal . 63 (8): 1769–90. doi :10.1002/j.1538-7305.1984.tb00064.x. S2CID  35326182.
  23. ^ Stevens, W. Richard ; Rago, Stephen A. (2013). "1.11 Llamadas al sistema y funciones de biblioteca". Programación avanzada en el entorno UNIX (3.ª ed.). Addison-Wesley. pág. 21. ISBN 978-0321638007.
  24. ^ Lycklama, Heinz (1978). "Sistema de tiempo compartido UNIX: UNIX en un microprocesador". Bell System Technical Journal . 57 (6): 2087–2101. doi :10.1002/j.1538-7305.1978.tb02143.x. S2CID  39236801.
  25. ^ Bell System Software (abril de 1980). "(Anuncio)" (PDF) . Boletín del grupo de usuarios de Unix de Australia . Vol. 2, núm. 4. pág. 8.
  26. ^ Ritchie, Dennis M. "Publicidad Unix". Ex investigador en ciencias matemáticas y computación de Bell Labs . Archivado desde el original el 2 de enero de 2013. Consultado el 17 de febrero de 2014 .
  27. ^ "V8". The Unix Heritage Society . 1 de agosto de 1985 . Consultado el 27 de abril de 2024 .
  28. ^abc
    • ¿Qué es Unix? theregister.com 16 de febrero de 2024
  29. ^ "V9". The Unix Heritage Society . 12 de mayo de 1989 . Consultado el 27 de abril de 2024 .
  30. ^ ab "Manual de Unix Décima Edición". Archivado desde el original el 13 de mayo de 2021.
  31. ^ "V10". The Unix Heritage Society . 18 de septiembre de 1984 . Consultado el 27 de abril de 2024 .
  32. ^ Chirgwin, Richard (30 de marzo de 2017). "Samizdat no more: Old Unix source code opened for study" (No más samizdat: código fuente de Unix antiguo abierto para estudio). The Register . Consultado el 27 de abril de 2024 .
  33. ^ * M. Douglas McIlroy Un lector de investigación de UNIX: extractos anotados del Manual del programador, 1971-1986
    • Un lector de investigación de UNIX: extractos comentados del Manual del programador cs.dartmouth.edu
    • Un archivo de lectura de Unix para investigación archive.org
  34. ^ * Séptima edición
    • Laboratorios Bell
  35. ^ Morgan, Chris (enero de 1982). «De IBM, los sistemas operativos y las piedras Rosetta». BYTE . p. 6 . Consultado el 19 de octubre de 2013 .
  36. ^ Tilson, Michael (octubre de 1983). "Moving Unix to New Machines" (Trasladar Unix a nuevas máquinas). BYTE . p. 266 . Consultado el 31 de enero de 2015 .
  37. ^ abc Hinnant, David F. (agosto de 1984). «Benchmarking de sistemas UNIX». BYTE . págs. 132–135, 400–409 . Consultado el 23 de febrero de 2016 .
  38. ^ "UNIX". Las Crónicas de la Computadora . 1985.
  39. ^ Howitt, Doran (10 de diciembre de 1984). "Unix and the Single User". InfoWorld . p. 28 . Consultado el 7 de febrero de 2015 .
  40. ^ Yates, Jean L. (octubre de 1983). «Unix y la estandarización de sistemas informáticos pequeños». BYTE . págs. 160–166 . Consultado el 30 de enero de 2015 .
  41. ^ Kelleher 1986, págs. 37, 44.
  42. ^ Jeff Tye; Lauren Black; Gregory Smith (10 de julio de 1989). "Unix en el escritorio: los sistemas operativos multiusuario Unix basados ​​en 80386 presentan una alternativa a las redes LAN". InfoWorld .
  43. ^ Marshall, Martin (18 de diciembre de 1989). "Las esperanzas de reunificación destacan en un año lleno de acontecimientos para la comunidad Unix". InfoWorld . p. 41.
  44. ^ Kamp, Poul-Henning (2012). "Una generación perdida en el bazar". ACM Queue . 10 (8): 20–23. doi : 10.1145/2346916.2349257 . S2CID  11656592.
  45. ^ Kelleher 1986, pág. 38.
  46. ^ abcdef Garfinkel, Simson; Spafford, Gene ; Schwartz, Alan (2003). "2 Historia y linaje de Unix". Seguridad práctica de UNIX e Internet . O'Reilly. págs. 15-17. ISBN. 978-1449310127.
  47. ^ Libes, Don; Ressler, Sandy; Ressler, Sanford (1989). La vida con UNIX: una guía para todos . Prentice Hall. pág. 74. ISBN 978-0-13-536657-8.
  48. ^ «FIPS 151-2 – (POSIX), Interfaz de sistema operativo portátil – [lenguaje C]». 20 de febrero de 2014. Archivado desde el original el 20 de febrero de 2014. Consultado el 18 de febrero de 2023 .
  49. ^ ab McKusick, Marshall Kirk (1999). "Veinte años de Berkeley Unix: de propiedad de AT&T a libre distribución" . En DiBona, Chris; Ockman, Sam; Stone, Mark (eds.). Fuentes abiertas: voces de la revolución . O'Reilly. ISBN 978-1-56592-582-3.
  50. ^ "comp.unix.questions | Grupos de Google" . Consultado el 9 de noviembre de 2010 .
  51. ^ Chuck Karish. "El nombre UNIX ahora es propiedad de X/Open – comp.std.unix | Google Groups" . Consultado el 9 de noviembre de 2010 .
  52. ^ Brian Kernighan sobre los orígenes de Unix LWN.net. 2022.
  53. ^ "HP, Novell y SCO ofrecerán un sistema operativo UNIX de gran volumen con servicios empresariales y de red avanzados". Novell.com. 20 de septiembre de 1995. Consultado el 9 de noviembre de 2010 .
  54. ^ Garfinkel, Spafford y Schwartz 2003, pág. 22.
  55. ^ Vinod Valloppillil (11 de agosto de 1998). «Software de código abierto: una (¿nueva?) metodología de desarrollo» . Consultado el 3 de febrero de 2014 .
  56. ^ Stephen (7 de diciembre de 2005). "Itanium: una advertencia". Noticias tecnológicas . ZDNet. Archivado desde el original el 23 de septiembre de 2006 . Consultado el 4 de octubre de 2006 . En el tercer trimestre de este año, se vendieron 7.845 servidores Itanium, según una investigación de Gartner. Esto se compara con 62.776 máquinas con UltraSparc de Sun Microsystems, 31.648 con Power de IBM y 9.147 con PA-RISC de HP.
  57. ^ "Memorando y orden de decisión en SCO v. Novell". Groklaw.net . Consultado el 9 de noviembre de 2010 .
  58. ^ "Tuxrocks.com" (PDF) . Archivado desde el original (PDF) el 24 de junio de 2009. Consultado el 6 de enero de 2012 .
  59. ^ Novell no reclamará derechos de autor sobre Unix Archivado el 9 de abril de 2008 en Wayback Machine 15 de agosto de 2007
  60. ^ "Fallo de apelación: 08-4217: The SCO Group v. Novell" (PDF) . Tribunal de Apelaciones de los Estados Unidos, Décimo Circuito. 24 de agosto de 2009. 01018260169.
  61. ^ Novell.com 24 de agosto de 2009
  62. ^ Kravets, David (24 de agosto de 2009). "Está de vuelta... El Tribunal de Apelaciones resucita la demanda contra la SCO". Wired .
  63. ^ "30/03/2010 – 846 – VEREDICTO DEL JURADO a favor del acusado Novell. (slm) (Ingresado: 30/03/2010)" (PDF) . Consultado el 9 de noviembre de 2010 .
  64. ^ Harvey, Tom (30 de marzo de 2010). "La decisión en el caso SCO-Novell tiene repercusiones más allá de Utah". The Salt Lake Tribune .

Bibliografía

Lectura adicional

Libros
Televisión
Negociaciones

Enlaces externos