Historia de Unix
La historia de Unix se remonta a mediados de la década de 1960, cuando el Instituto Tecnológico de Massachusetts, AT&T Bell Labs y General Electric estaban desarrollando conjuntamente un sistema operativo experimental de tiempo compartido llamado Multics. para la computadora central GE-645. Multics introdujo muchas innovaciones, pero también tuvo muchos problemas. Bell Labs, frustrados por el tamaño y la complejidad de Multics pero no por sus objetivos, se retiraron lentamente del proyecto. Los últimos investigadores que abandonaron Multics (entre ellos Ken Thompson, Dennis Ritchie, Doug McIlroy y Joe Ossanna) decidieron rehacer el trabajo, pero a una escala mucho menor.
En 1979, Ritchie describió la visión del grupo para Unix:
Lo que queríamos preservar no era sólo un buen ambiente en el que hacer la programación, sino un sistema en torno al cual una beca podría formar. Sabíamos por experiencia que la esencia de la computación comunal, suministrada por máquinas de acceso remoto, de tiempo compartido, no es sólo escribir programas en un terminal en lugar de un llavero, sino fomentar una comunicación estrecha.
década de 1960
Múltiples
A finales de la década de 1960, Bell Labs participó en un proyecto con el MIT y General Electric para desarrollar un sistema de tiempo compartido, llamado Multics, que permitiera a múltiples usuarios acceder a una computadora central simultáneamente. Un concepto clave del sistema Multics fue el uso de una tienda de un solo nivel. En este concepto, no existe 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 archivos en la memoria para manipularlos; el sistema operativo hace todo esto de manera invisible.
El proyecto Multics comenzó a estancarse y al equipo de Bell le quedó claro que era poco probable que el sistema ofreciera un sistema operativo funcional en el corto plazo, y mucho menos uno con un rendimiento razonable. La dirección de Bell Labs finalmente se retiró del proyecto y parecía probable que la empresa iba a poner fin al contrato de arrendamiento de la muy costosa computadora central GE 645. Ken Thompson, programador de Labs' El departamento de investigación informática, disfrutó de la flexibilidad de Multics y comenzó a considerar un nuevo sistema operativo que pudiera ejecutarse en máquinas menos sofisticadas.
Nuevo sistema
El concepto básico era utilizar Multics' sistema de archivos jerárquico pero elimine el almacén de un solo nivel. Thompson consideró que la idea de un almacén de un solo nivel era, en última instancia, mala, ya que trata toda la memoria de la misma manera, ya sea código de programa o datos, cuando en el uso real se los trata de manera muy diferente. El código del programa rara vez se modifica en tiempo de ejecución, puede colocarse en un área de memoria de solo lectura y se accede a él aleatoriamente debido a la bifurcación. Por el contrario, los datos casi siempre se pueden escribir, ya que la modificación en tiempo de ejecución de los datos del archivo suele ser el objetivo principal del programa, y el acceso secuencial, a diferencia 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 irrazonable.
Thompson comenzó a escribir simulaciones del nuevo sistema bajo Multics, para comprender 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 quedó claro que el 645 desaparecería en unos meses y el trabajo fue abandonado. A lo largo de 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 igualmente fácil de programar. La dirección rechazó todas estas solicitudes.
Viaje espacial, pasar 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 dólares en tiempo de ejecución de CPU facturable. Cuando se enteró de que el departamento de Investigación Visual y Acústica tenía una pequeña PDP-7 que prácticamente no se usaba, comenzó a reescribir el juego para esta máquina. Inicialmente, esto se realizó construyendo un binario para el PDP-7 usando un compilador cruzado en el 635 y luego moviendo el código resultante al PDP-7 usando cinta de papel.
Esto se volvió tedioso y Thompson comenzó a considerar escribir su nuevo sistema operativo en la nueva máquina. A esto contribuyó unas oportunas vacaciones de su esposa, que le dejaron un mes para trabajar a tiempo completo. 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, 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. Una vez implementados estos elementos, se escribió un nuevo ensamblador para la máquina y Space Travel se trasladó por completo a la nueva plataforma.
Ritchie creó un concepto clave que se agregó durante este período: el concepto de archivo de dispositivo. Este era un archivo en el sistema de archivos con la capacidad especial de realizar operaciones de entrada/salida. Esto permitió admitir diferentes dispositivos simplemente colocando un archivo en una ubicación adecuada en el sistema de archivos. Las operaciones de lectura y escritura que acceden a estos pseudoarchivos realizarían 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 encontraran.
Douglas McIlroy luego portó el compilador TMG al ensamblador PDP-7, creando el primer lenguaje de alto nivel que se ejecuta en Unix. Thompson utilizó esta herramienta para desarrollar la primera versión de su lenguaje de programación B.
1970s



Al principio, el nuevo sistema operativo carecía de respaldo organizativo y tampoco tenía nombre. En esta etapa, el nuevo sistema operativo era un sistema operativo de tarea única, no uno multitarea como Multics. El nombre Unics (Servicio de Computación e Información Uniplex, pronunciado como "eunucos"), un juego de palabras con Multics (Servicios de Computación e Información Multiplexada), fue inicialmente sugerido para el proyecto en 1970. Brian Kernighan reivindica la acuñación y añade que "nadie puede recordarlo". a quien se le ocurrió la ortografía final Unix. Dennis Ritchie y Doug McIlroy también le dan crédito a Kernighan.
Cuando el Centro de Investigación en Ciencias de la Computación quiso utilizar Unix en una máquina más grande que la PDP-7, mientras El Departamento de Patentes de Bell Labs necesitaba un procesador de textos, Thompson y Ritchie agregaron capacidades de procesamiento de textos a Unix y recibieron financiación para un PDP-11/45. Por primera vez en 1970, el sistema operativo Unix fue nombrado oficialmente y se ejecutó en el PDP-11. Se agregaron un programa de formato de texto llamado roff y un editor de texto. Los tres fueron escritos en lenguaje ensamblador PDP-11. Bell Labs utilizó este sistema inicial de procesamiento de textos, compuesto por Unix, Roff y el editor, para el procesamiento de textos de solicitudes de patente. Roff pronto evolucionó hasta convertirse en troff, el primer programa de publicación electrónica con capacidad completa de composición tipográfica.
A medida que el sistema crecía en complejidad y el equipo de investigación quería más usuarios, la necesidad de un manual se hizo evidente. El Manual del programador de UNIX se publicó el 3 de noviembre de 1971; Los comandos se documentaron en la "página de manual" formato que todavía se utiliza, que ofrece información de referencia concisa sobre el uso y los errores del software, y enumera los autores de los programas para canalizarles las preguntas.
Después de que otros departamentos de Bell Labs compraron DEC PDP-11, también optaron por ejecutar Unix en lugar del propio sistema operativo de DEC. En la versión 4 se utilizó ampliamente en el laboratorio y se formó un grupo de soporte Unix, que ayudó a que el sistema operativo sobreviviera al formalizar su distribución.
En 1973, la versión 4 de Unix fue reescrita en el lenguaje de nivel superior C, contrariamente a la noción general en ese momento de que la complejidad y sofisticación de un sistema operativo requería que estuviera escrito en lenguaje ensamblador. El lenguaje C apareció como parte de la Versión 2. Thompson y Ritchie fueron tan influyentes en los primeros años de Unix que McIlroy estimó que escribieron y depuraron alrededor de 100.000 líneas de código ese año, afirmando que "se puede suponer con seguridad que [sus nombres] adjuntarse a casi todo lo que no se atribuye de otra manera". Aunque el ensamblador no desapareció de las páginas de manual hasta la Versión 8, la migración a C sugirió la portabilidad del software, requiriendo sólo una cantidad relativamente pequeña de código dependiente de la máquina para ser reemplazado al migrar 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 adecuada para su portabilidad. El primer puerto a otra plataforma se realizó cinco años después (1978) para Interdata 8/32.
El sistema operativo Unix se presentó formalmente por primera vez al mundo exterior en el Simposio sobre principios de sistemas operativos de 1973, donde Ritchie y Thompson presentaron un documento. Esto dio lugar a solicitudes para el sistema, pero en virtud de un decreto de consentimiento de 1956 para resolver un caso antimonopolio, a Bell System (la organización matriz de Bell Labs) se le prohibió ingresar a cualquier negocio que no fuera el de "servicios de comunicaciones de operadores comunes". ;, y estaba obligado a otorgar licencias sobre cualquier patente que tuviera previa solicitud. Por lo tanto, Unix no podía convertirse en un producto. En cambio, Bell Labs envió el sistema pagando el costo de los medios y el envío. Ken Thompson silenciosamente comenzó a responder solicitudes enviando cintas y discos, cada uno acompañado, según la leyenda, de una nota firmada: "Con amor, Ken".
En 1973, AT&T lanzó la versión 5 de Unix y la concedió licencias a instituciones educativas, y la versión 6 de 1975 concedió licencias a empresas por primera vez. Si bien los usuarios comerciales eran raros debido al costo de 20.000 dólares (equivalente a 113.247 dólares en 2023), esta última fue la versión más utilizada a principios de la década de 1980. Cualquiera podía adquirir una licencia, pero los términos eran muy restrictivos; los licenciatarios solo recibieron el código fuente, tal como está. Las licencias también incluían las partes del kernel que dependen de la máquina, escritas en lenguaje ensamblador PDP-11. Copias de los Leones' El comentario sobre la sexta edición de UNIX, con código fuente, circuló ampliamente, 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 y atrajo 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 admitía en absoluto Unix.
Las versiones del sistema Unix fueron determinadas por las ediciones de sus manuales de usuario; por ejemplo, "Quinta edición UNIX" y "UNIX Versión 5" Ambos se han utilizado para designar la misma versión. Los desarrolladores de Bell Labs no pensaron en términos de "lanzamientos" del sistema operativo, utilizando en su lugar un modelo de desarrollo continuo y, a veces, distribuyendo cintas con parches (sin la aprobación de los abogados de AT&T). El desarrollo se amplió, agregando el concepto de canalizaciones, 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, dio lugar a una gran cantidad de diferentes versiones de Unix tanto dentro como fuera de los Laboratorios Bell, incluido PWB/UNIX y el primer Unix comercial, IS/1.
Unix todavía sólo se ejecutaba en sistemas DEC. A medida que se reescribió una mayor parte del sistema operativo en C (y el lenguaje C se amplió 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. A continuación, Unix se ejecutó como 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. Las máquinas objetivo 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 la UNIVAC 1100.
En mayo de 1975, ARPA documentó los beneficios del sistema de tiempo compartido Unix que "presenta varias capacidades interesantes" como 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 solo de alrededor de 50, aunque posteriormente Unix y sistemas similares agregarían muchas más:
La versión 7 del Sistema de Investigación UNIX proporcionó alrededor de 50 llamadas del sistema, 4.4BSD proporcionó alrededor de 110, y SVR4 tenía alrededor de 120. El número exacto de llamadas del sistema varía dependiendo de la versión del sistema operativo. Los sistemas más recientes han visto un crecimiento increíble en el número de llamadas de sistema compatibles. Linux 3.2.0 tiene 380 llamadas del sistema y FreeBSD 8.0 tiene más de 450.
En 1978 se completó una adaptación del microprocesador Unix al LSI-11, y se informó que una versión Intel 8086 estaba "en progreso" en 1978. el mismo año. Las primeras versiones para microcomputadoras de Unix y sistemas operativos similares a Unix como Whitesmiths' Idris, apareció a finales de los años 1970.
década de 1980




Bell desarrolló múltiples versiones de Unix para uso interno, como CB UNIX (con mejor apoyo para bases de datos) y PWB/UNIX, el "Programmer's Workbench", dirigido a grandes grupos de programadores. Anunció la última versión, así como 32V y V7, afirmando que "más de 800 sistemas ya están en uso fuera del sistema Bell" en 1980, y "más de 2000" al año siguiente. Las versiones de Research Unix 8 (1985), 9 (1986) y 10 (1989) se desarrollaron a lo largo del decenio de 1980, pero sólo fueron liberadas a algunas universidades, aunque sí generaron documentos que describían el nuevo trabajo.
- "Muchos de los programas de herramientas de tamaño mediano (Versión 10 Unix) sobrevivieron al sistema Plan 9, y se describen en el manual de su programador y su propia colección de documentos".
Este enfoque de investigación luego se centró en el desarrollo del Plan 9 de Bell Labs, un nuevo sistema operativo distribuido portátil.
Debido a que la compañía obtuvo licencias de Unix de manera amplia y económica, a principios de la década de 1980, miles de personas usaban Unix en AT&T y en otros lugares, y a medida que los estudiantes de ciencias de la computación pasaban de las universidades a las empresas, querían seguir usándolo. Los observadores empezaron a ver en Unix un potencial sistema operativo universal, apto para todos los ordenadores. Menos de 20.000 líneas de código (casi todas en C) componían el núcleo Unix en 1983, y más del 75% no dependía de la máquina. 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 de informática "pueden admitir otros sistemas [operativos], pero siempre hay disponible una implementación de Unix", y que DEC e IBM admitieron Unix como alternativa a su sistema propietario. sistemas operativos.
El microordenador Unix estuvo disponible comercialmente en 1980, cuando Onyx Systems lanzó su C8002 basado en Zilog Z8000 y Microsoft anunció su primer Unix para microordenadores de 16 bits llamado Xenix, que Santa Cruz Operation (SCO) portó al procesador 8086 en 1983. Otras empresas 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; otros 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 ( equivalente a 335,14 dólares en 2023), lo que los observadores creían que indicaba que AT&T ahora veía a Unix como un producto comercial. Esto también incluyó soporte para VAX. AT&T continuó emitiendo licencias para versiones anteriores de Unix. Para poner fin a 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 Berkeley Software Distribution de Unix desarrollado en la Universidad de California, Berkeley. Grupo de Investigación en Sistemas Informáticos. Esto también incluyó soporte para las computadoras de la serie Western Electric 3B. AT&T proporcionó soporte para System III y System V a través del Unix Support Group (USG), y estos sistemas a veces se denominaban USG Unix.
En 1983, el Departamento de Justicia de Estados Unidos resolvió su segundo caso antimonopolio contra AT&T, provocando la disolución de 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 provocó fragmentación e incompatibilidad. El Proyecto GNU fue fundado ese mismo año por Richard Stallman.
Dado que los nuevos términos de licencia comercial 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 trabajos (modelado según ITS). Quizás el aspecto más importante del esfuerzo de desarrollo de BSD fue la adición del código de red TCP/IP al núcleo principal de Unix. El esfuerzo de BSD produjo varios lanzamientos importantes 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 del kernel BSD que no es DEC), Net/1, 4.3BSD-Reno (para que coincida con el nombre de "Tahoe", y que la versión fue una especie de apuesta), Net/2, 4.4 BSD y 4.4BSD-lite. El código de red que se encuentra en estas versiones es el antepasado de gran parte del código de red TCP/IP que se utiliza hoy en día, incluido el código que se publicó más tarde en AT&T System V UNIX y 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, sus ricas capacidades y el apoyo de empresas como DEC e IBM, probablemente se convirtiera en un sistema operativo estándar de la industria para microcomputadoras. Citando su biblioteca de software y su base instalada mucho más pequeñas que las de MS-DOS y IBM PC, otros esperaban que los clientes prefirieran las computadoras personales en redes de área local a los sistemas multiusuario Unix. Microsoft planeaba convertir a Xenix en el sucesor multiusuario de MS-DOS; en 1983, un Altos 586 basado en Xenix con 512 KB de RAM y 10 MB de disco duro costaba 8.000 dólares estadounidenses (equivalente a 24.473 dólares en 2023). BYTE informó que Altos "bajo carga moderada se aproxima 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 el VAX. La revista agregó que tanto PC/IX como Venix en IBM PC superaron a Venix en PDP-11/23. uNETix, una microcomputadora Unix comercial, implementó el primer sistema de ventanas en color Unix.
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 viajó casi exclusivamente en círculos académicos y técnicos... Pero ahora, casi en su totalidad debido a los denodados esfuerzos de AT&T, algunas personas están comenzando a percibir a Unix como una opción viable para grandes instalaciones comerciales.& #34; Unix estuvo disponible comercialmente para mainframe a través de Amdahl UTS en 1981, y ahora IBM comenzó a ofrecer Unix como IX/370 y VM/IX. La base total instalada de Unix, sin embargo, siguió siendo pequeña: unas 230.000 máquinas.
A pesar de su reputación académica – InfoWorld declaró en 1989, "Hasta hace poco, Unix evocaba visiones de tecnoides barbudos de pelo largo atrapados 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, provocaron que Unix "explotara" en popularidad para aplicaciones empresariales; Xenix, 386/ix y otros sistemas Unix para el mercado compatible con PC compitieron con OS/2 en términos de redes, soporte multiusuario, multitarea y compatibilidad con MS-DOS. El inicio en 1984 de la feria comercial anual Unix Expo en Nueva York reflejó la creciente presencia comercial de Unix.
Durante este tiempo, varios proveedores, incluidos Digital Equipment, Sun, Addamax y otros, comenzaron a crear versiones confiables de UNIX para aplicaciones de alta seguridad, en su mayoría diseñadas para aplicaciones militares y policiales.
La estandarización y las guerras Unix
Un problema que afectó a Unix en este período fue la multitud de implementaciones, basadas en System V, BSD o lo que Poul-Henning Kamp describió más tarde como un sistema "ejecutado más o menos competente" combinación de los dos, generalmente con extensiones locales de los sistemas básicos de AT&T o Berkeley. Xenix era efectivamente un tercer linaje, basado en el anterior System III. La rivalidad entre proveedores se denominó guerras Unix; Los clientes pronto exigieron la estandarización.
AT&T respondió emitiendo un estándar, la Definición de Interfaz del Sistema V (SVID, 1985), y exigió conformidad para que los sistemas operativos llevaran la marca "System V". En 1984, varios proveedores de computadoras europeos establecieron el consorcio X/Open con el objetivo de crear una especificación de sistema abierto basado en Unix (y eventualmente en SVID). Otro esfuerzo de estandarización más fue la especificación POSIX de IEEE (1988), diseñada como una API de compromiso fácilmente implementada en plataformas BSD y System V. En 1993, el gobierno de los Estados Unidos exigió POSIX para muchos de sus propios sistemas.
En la primavera de 1988, ATENT dio un paso más adelante a la estandarización. En primer lugar, colaboró con SCO para fusionar el Sistema V y Xenix en el Sistema V/386. A continuación, buscó la colaboración con Sun Microsystems (vendor de la derivación 4.2BSD SunOS y su sistema de archivos de red) para fusionar el Sistema V, BSD/SunOS y Xenix en un único Unix unificado, que se convertiría en System V Release 4. AT implicaT y Sun, como UNIX International (UI), actuaron independientemente de X/Open y dibujó ire de otros proveedores, que iniciaron la Open Software Foundation para trabajar en su propio OSF/1.
1990s


Las guerras Unix continuaron en la década de 1990, pero resultaron ser una amenaza menor de lo que se pensaba originalmente: AT&T y Sun siguieron sus propios caminos después del System V.4, mientras que el cronograma de OSF/1 se retrasó. . En 1993, la mayoría de los proveedores comerciales cambiaron sus variantes de Unix para basarlas en System V con muchas características BSD agregadas. La creación de la iniciativa Common Open Software Environment (COSE) ese año, por parte de los principales actores de Unix, marcó el final de la fase más notoria de las guerras Unix, y fue seguida por la fusión de UI y OSF en 1994. El nuevo La entidad combinada retuvo el nombre OSF y dejó de trabajar en OSF/1. En ese momento, el único proveedor que lo utilizaba era Digital Equipment Corporation, que continuó su propio desarrollo y cambió el nombre de su producto a Digital UNIX a principios de 1995. POSIX se convirtió en el estándar unificador para los sistemas Unix (y algunos otros sistemas operativos).
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 simplificada 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 AT&T. Tuvieron problemas legales cuando la filial Unix de AT&T demandó a BSDi por infracción de derechos de autor y varios otros cargos en relación con BSD; Posteriormente, la Universidad de California contrademandó. Poco después de su fundación, Bill Jolitz dejó BSDi para dedicarse a la distribución de 386BSD, el antepasado del software libre de FreeBSD, OpenBSD y NetBSD.
En 1991, USL y Novell se asociaron para desarrollar una versión del System 4 para computadoras i386 e i486 que combinaría los protocolos de red TCP/IP y IPX/SPX de Novell, llamado Proyecto Destiny. Formaron la filial Univel como empresa de propiedad conjunta para desarrollar, comercializar y dar soporte al producto, al que se le dio el nombre oficial UnixWare (también conocido como SRV4.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 a cambio de un potaje. Novell intentó utilizar el hecho de que UnixWare combinaba las tecnologías de red TCP/IP y NetWare como herramienta de marketing frente a Windows NT, pero sus mercados principales sufrieron considerablemente. También resolvió rápidamente las batallas judiciales con BSDi y Berkeley.
En 1993, Novell decidió transferir la marca registrada UNIX y los derechos de certificación al X/Open Consortium. En 1996, X/Open se fusionó con OSF, creando Open Group. Varios estándares del Open Group definen ahora qué es y qué no es un sistema operativo UNIX, en particular la Especificación Única UNIX posterior a 1998.
En 1993, Unix se utilizó como elemento secundario de la trama en la exitosa película Jurassic Park.
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 el código base System V. Si Novell también vendió los derechos de autor sería posteriormente objeto de litigio (ver más abajo).
Una vez terminados los problemas legales entre AT&T/Novell y la Universidad de California, esta última lanzó 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. llaman una segunda generación de sistemas Unix comerciales, basados en BSD. El primer exponente de esto 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. 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 kernel 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 computadoras de escritorio.

Mientras tanto, Unix tuvo competencia del kernel copyleft de Linux, una reimplementación de Unix desde cero, utilizando partes del proyecto GNU que había estado en marcha desde mediados de los años 1980. El trabajo en Linux comenzó en 1991 por Linus Torvalds; En 1998, un memorando confidencial de Microsoft decía: "Linux está en camino de eventualmente poseer el mercado x86 UNIX", dijo. y predijo además: "Creo que Linux, más que NT, será la mayor amenaza para SCO en el futuro cercano".
década de 2000
En 2000, SCO vendió todo su negocio y activos UNIX a Caldera Systems, que luego cambió su nombre a The SCO Group.
El estallido de la burbuja de las puntocom (2001-2003) condujo a una consolidación significativa 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 funcionando relativamente bien en el mercado, aunque el IRIX de SGI persistió durante bastante tiempo. De ellos, Solaris tenía la mayor cuota de mercado en 2005.
En 2003, el Grupo SCO inició acciones legales contra varios usuarios y proveedores de Linux. SCO había alegado que Linux contenía código Unix con derechos de autor que ahora pertenece al Grupo SCO. Otras acusaciones incluyeron violaciones de secretos comerciales por parte de IBM o violaciones de contratos 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 UNIX. Según Novell, SCO (y por tanto el Grupo SCO) son efectivamente operadores de franquicias para Novell, que también retuvo los derechos de autor principales, los derechos de veto sobre futuras actividades de licencia 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 contra 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 se había quedado indebidamente con el dinero que se le debía a Novell). El tribunal también dictaminó que "SCO está obligada a reconocer la renuncia de Novell a las reclamaciones de SCO contra IBM y Sequent". Después del fallo, Novell anunció que no tenía interés en demandar a nadie por Unix y declaró: "No creemos que haya Unix en Linux". La SCO logró que el Tribunal de Apelaciones del Décimo Circuito anulara parcialmente esta decisión el 24 de agosto de 2009, lo que devolvió la demanda a los tribunales para un juicio con jurado.
El 30 de marzo de 2010, tras un juicio con jurado, Novell, y no el Grupo SCO, fue "unánimemente [hallado]" ser propietario de los derechos de autor de UNIX y UnixWare. El Grupo SCO, a través del administrador de quiebras Edward Cahn, decidió continuar la demanda contra IBM por provocar una disminución en los ingresos de SCO. El 1 de marzo de 2016, la demanda de SCO contra IBM fue desestimada con prejuicio.
En 2005, Sun Microsystems lanzó 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 SunOS, en particular el sistema de archivos ZFS, se lanzaron por primera vez como código fuente 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 principal sistema operativo tipo Unix, mientras que otras variantes de Unix (aparte de macOS) tienen sólo una cuota de mercado insignificante (consulte Cuota de uso de los sistemas operativos).