Unix

Familia de sistemas operativos de computadoras

Sistema operativo
Unix
Sistema Unix III ejecutándose en un simulador PDP-11
ReveladorKen Thompson , Dennis Ritchie , Brian Kernighan , Douglas McIlroy y Joe Ossanna en Bell Labs
Escrito enC y lenguaje ensamblador
Familia de sistemas operativosUnix
Modelo fuenteHistóricamente , el software es propietario , mientras que algunos proyectos Unix (incluida la familia BSD e illumos ) son de código abierto.
Lanzamiento inicialEl desarrollo comenzó en 1969.
El primer manual se publicó internamente en noviembre de 1971 [1]. Anunciado fuera de Bell Labs en octubre de 1973 [2]. ( 1971-11 )
 ( 1973-10 )
Disponible enInglés
Tipo de kernelVaría; monolítico , microkernel , híbrido
Influenciado porCTSS , [3] Multics

Interfaz de usuario predeterminada
Interfaz de línea de comandos y gráfica ( Wayland y X Window System ; Android SurfaceFlinger ; macOS Quartz )
LicenciaVaría; algunas versiones son propietarias , otras son software libre o de código abierto.
Sitio web oficialwww.opengroup.org/unix
Cronología de la historia de Internet

Investigación y desarrollo tempranos:

Fusionando las redes y creando Internet:

La comercialización, la privatización y el acceso más amplio conducen a la Internet moderna:

Ejemplos de servicios de Internet:

Unix ( / ˈj uːnɪks / ,YOO-niks; marca registrada comoUNIX) es una familia desistemas operativosde computadorasmultitareaymultiusuarioque derivan del Unix originalAT&T, cuyo desarrollo comenzó en 1969[1]en elBell LabsporKen Thompson,Dennis Ritchiey otros.[4]

Inicialmente pensado para su uso dentro del Bell System , AT&T licenció Unix a terceros a finales de la década de 1970, lo que dio lugar a una variedad de variantes de Unix tanto académicas como comerciales de proveedores como la Universidad de California, Berkeley ( BSD ), Microsoft ( Xenix ), Sun Microsystems ( SunOS / Solaris ), HP / HPE ( HP-UX ) e IBM ( AIX ). A principios de la década de 1990, AT&T vendió sus derechos en Unix a Novell , que luego vendió la marca registrada UNIX a The Open Group , un consorcio industrial fundado en 1996. The Open Group permite el uso de la marca para sistemas operativos certificados que cumplen con la Especificación Única UNIX (SUS).

Las primeras versiones de Unix funcionaban en computadoras PDP-11 .

Los sistemas Unix se caracterizan por un diseño modular que a veces se denomina " filosofía Unix ". Según esta filosofía, el sistema operativo debería proporcionar un conjunto de herramientas simples, cada una de las cuales realiza una función limitada y bien definida. [5] Un sistema de archivos unificado y basado en inodos y un mecanismo de comunicación entre procesos conocido como " tuberías " sirven como los principales medios de comunicación, [4] y se utiliza un lenguaje de comandos y scripts de shell (el shell de Unix ) para combinar las herramientas y realizar flujos de trabajo complejos.

Unix se distingue de sus predecesores como el primer sistema operativo portable : casi todo el sistema operativo está escrito en el lenguaje de programación C , lo que permite a Unix operar en numerosas plataformas. [6]

Descripción general

Versión 7 Unix , el ancestro Unix de todos los sistemas Unix modernos

Unix fue originalmente pensado para ser una plataforma conveniente para programadores que desarrollaban software para ser ejecutado en él y en otros sistemas, en lugar de para no programadores. [7] [8] [9] El sistema creció a medida que el sistema operativo comenzó a difundirse en círculos académicos y los usuarios agregaron sus propias herramientas al sistema y las compartieron con colegas. [10]

En un principio, Unix no fue diseñado para soportar multitarea [11] o para ser portable . [6] Más tarde, Unix gradualmente ganó capacidades multitarea y multiusuario en una configuración de tiempo compartido , así como portabilidad. Los sistemas Unix se caracterizan por varios conceptos: el uso de texto simple para almacenar datos; un sistema de archivos jerárquico ; tratar dispositivos y ciertos tipos de comunicación entre procesos (IPC) como archivos; y el uso de una gran cantidad de herramientas de software , pequeños programas que pueden unirse a través de un intérprete de línea de comandos utilizando tuberías , en lugar de usar un solo programa monolítico que incluye toda la misma funcionalidad. Estos conceptos se conocen colectivamente como la " filosofía Unix ". Brian Kernighan y Rob Pike resumen esto en The Unix Programming Environment como "la idea de que el poder de un sistema proviene más de las relaciones entre programas que de los programas mismos". [12]

A principios de la década de 1980, los usuarios comenzaron a ver a Unix como un posible sistema operativo universal, adecuado para computadoras de todos los tamaños. [13] [14] El entorno Unix y el modelo de programa cliente-servidor fueron elementos esenciales en el desarrollo de Internet y la remodelación de la informática centrada en redes en lugar de computadoras individuales.

Tanto Unix como el lenguaje de programación C fueron desarrollados por AT&T y distribuidos a instituciones gubernamentales y académicas, lo que llevó a que ambos fueran adaptados a una variedad más amplia de familias de máquinas que cualquier otro sistema operativo.

El sistema operativo Unix consta de muchas bibliotecas y utilidades junto con el programa de control maestro, el núcleo . El núcleo proporciona servicios para iniciar y detener programas, maneja el sistema de archivos y otras tareas comunes de "bajo nivel" que la mayoría de los programas comparten, y programa el acceso para evitar conflictos cuando los programas intentan acceder al mismo recurso o dispositivo simultáneamente. Para mediar dicho acceso, el núcleo tiene derechos especiales, reflejados en la distinción entre el espacio del núcleo y el espacio del usuario , siendo este último un ámbito de menor prioridad donde operan la mayoría de los programas de aplicación.

Historia

Los orígenes de Unix se remontan a mediados de la década de 1960, cuando el Instituto Tecnológico de Massachusetts , Bell Labs y General Electric estaban desarrollando Multics , un sistema operativo de tiempo compartido para el ordenador mainframe GE 645. [15] Multics presentaba varias innovaciones , pero también presentaba graves problemas. Frustrados por el tamaño y la complejidad de Multics, pero no por sus objetivos, los investigadores individuales de Bell Labs comenzaron a retirarse del proyecto. Los últimos en irse fueron Ken Thompson , Dennis Ritchie , Douglas McIlroy y Joe Ossanna , [11] quienes decidieron reimplementar sus experiencias en un nuevo proyecto de menor escala. Este nuevo sistema operativo inicialmente no tenía respaldo organizacional y tampoco un nombre.

El nuevo sistema operativo era un sistema monotarea. [11] En 1970, el grupo acuñó el nombre Unics ( Uniplexed Information and Computing Service) como un juego de palabras con Multics , que significaba Multiplexed Information and Computer Services . Brian Kernighan se atribuye la idea, pero añade que "nadie puede recordar" el origen de la ortografía final Unix . [16] Dennis Ritchie, [11] Doug McIlroy, [1] y Peter G. Neumann [17] también le dan crédito a Kernighan.

El sistema operativo fue escrito originalmente en lenguaje ensamblador , pero en 1973, la Versión 4 de Unix fue reescrita en C. [11] Sin embargo, la Versión 4 de Unix aún tenía mucho código específico de PDP-11 y no era adecuada para ser trasladada. La primera adaptación a otra plataforma fue una adaptación de la Versión 6, realizada cuatro años después (1977) en la Universidad de Wollongong para el Interdata 7/32 , [18] seguida por una adaptación de Bell Labs de la Versión 7 al Interdata 8/32 durante 1977 y 1978. [19]

Bell Labs produjo varias versiones de Unix que se conocen colectivamente como Research Unix . En 1975, la primera licencia de código fuente para UNIX se vendió a Donald B. Gillies del Departamento de Ciencias de la Computación de la Universidad de Illinois en Urbana-Champaign (UIUC). [20]

A finales de los años 1970 y principios de los 1980, la influencia de Unix en los círculos académicos condujo a la adopción a gran escala de Unix ( BSD y System V ) por parte de empresas comerciales emergentes, lo que a su vez llevó a la fragmentación de Unix en múltiples sistemas similares, pero a menudo ligeramente y mutuamente incompatibles, incluidos DYNIX , HP-UX , SunOS / Solaris , AIX y Xenix . A finales de los 1980, AT&T Unix System Laboratories y Sun Microsystems desarrollaron System V Release 4 ( SVR4 ), que posteriormente fue adoptado por muchos proveedores comerciales de Unix.

En la década de 1990, Unix y los sistemas similares a Unix crecieron en popularidad y se convirtieron en el sistema operativo elegido por más del 90% de las 500 supercomputadoras más rápidas del mundo , [21] a medida que las distribuciones BSD y Linux se desarrollaban mediante la colaboración de una red mundial de programadores. En 2000, Apple lanzó Darwin , también un sistema Unix, que se convirtió en el núcleo del sistema operativo Mac OS X, posteriormente rebautizado como macOS . [22]

Los sistemas operativos tipo Unix se utilizan ampliamente en servidores , estaciones de trabajo y dispositivos móviles modernos . [23]

Normas

El entorno de escritorio común (CDE), parte de la iniciativa COSE

A finales de los años 1980, un esfuerzo de estandarización de sistemas operativos abiertos ahora conocido como POSIX proporcionó una línea base común para todos los sistemas operativos; IEEE basó POSIX en torno a la estructura común de las principales variantes competitivas del sistema Unix, publicando el primer estándar POSIX en 1988. A principios de los años 1990, un consorcio industrial inició un esfuerzo separado pero muy similar, la iniciativa Common Open Software Environment (COSE), que finalmente se convirtió en la Single UNIX Specification (SUS) administrada por The Open Group . A partir de 1998, Open Group e IEEE iniciaron Austin Group , para proporcionar una definición común de POSIX y la Single UNIX Specification, que, en 2008, se había convertido en la Open Group Base Specification.

En 1999, en un esfuerzo por lograr la compatibilidad, varios proveedores de sistemas Unix acordaron que el formato ejecutable y enlazable (ELF) de SVR4 fuera el estándar para archivos binarios y de código objeto. El formato común permite una compatibilidad binaria sustancial entre diferentes sistemas Unix que funcionan con la misma arquitectura de CPU.

El estándar de jerarquía del sistema de archivos se creó para proporcionar un diseño de directorio de referencia para sistemas operativos tipo Unix; se ha utilizado principalmente en Linux.

Componentes

El sistema Unix está compuesto de varios componentes que originalmente estaban empaquetados juntos. Al incluir el entorno de desarrollo, las bibliotecas, los documentos y el código fuente portable y modificable para todos estos componentes, además del núcleo de un sistema operativo, Unix era un sistema de software autónomo. Esta fue una de las razones principales por las que surgió como una importante herramienta de enseñanza y aprendizaje y ha tenido una amplia influencia. Véase § Impacto, a continuación.

La inclusión de estos componentes no hizo que el sistema fuera grande: la distribución UNIX V7 original, que consistía en copias de todos los binarios compilados más todo el código fuente y la documentación, ocupaba menos de 10 MB y llegaba en una sola cinta magnética de nueve pistas , lo que le valió la reputación de ser un sistema portátil. [24] La documentación impresa, compuesta a partir de las fuentes en línea, estaba contenida en dos volúmenes.

Los nombres y las ubicaciones de los sistemas de archivos de los componentes de Unix han cambiado sustancialmente a lo largo de la historia del sistema. No obstante, la implementación de V7 tiene la estructura canónica inicial:

  • Kernel  : código fuente en /usr/sys, compuesto de varios subcomponentes:
    • conf  – configuración y partes dependientes de la máquina, incluido el código de arranque
    • dev  – controladores de dispositivos para el control del hardware (y algún pseudo-hardware)
    • sys  – "núcleo" del sistema operativo, que maneja la gestión de memoria, la programación de procesos, las llamadas al sistema, etc.
    • h  – archivos de encabezado, que definen estructuras clave dentro del sistema e invariables importantes específicas del sistema
  • Entorno de desarrollo  : las primeras versiones de Unix contenían un entorno de desarrollo suficiente para recrear todo el sistema a partir del código fuente:
    • ed  – editor de texto, para crear archivos de código fuente
    • cc  – compilador de lenguaje C (apareció por primera vez en Unix V3)
    • as  – ensamblador de lenguaje de máquina para la máquina
    • ld  – enlazador , para combinar archivos de objetos
    • lib  – bibliotecas de código objeto (instaladas en /lib o /usr/lib). libc , la biblioteca del sistema con soporte de tiempo de ejecución de C, fue la biblioteca principal, pero siempre hubo bibliotecas adicionales para cosas como funciones matemáticas ( libm ) o acceso a bases de datos. V7 Unix introdujo la primera versión de la biblioteca moderna de "E/S estándar" stdio como parte de la biblioteca del sistema. Implementaciones posteriores aumentaron significativamente la cantidad de bibliotecas.
    • make  – gestor de compilación (introducido en PWB/UNIX ), para automatizar eficazmente el proceso de compilación
    • Incluir  : archivos de encabezado para el desarrollo de software, que definen interfaces estándar e invariantes del sistema.
    • Otros lenguajes  : la versión 7 de Unix contenía un compilador Fortran-77, una calculadora programable de precisión arbitraria ( bc , dc ) y el lenguaje de programación awk ; las versiones e implementaciones posteriores contienen muchos otros compiladores y conjuntos de herramientas de lenguaje. Las primeras versiones de BSD incluían herramientas Pascal , y muchos sistemas Unix modernos también incluyen la Colección de compiladores GNU , además de un sistema de compilación propietario o en lugar de él.
    • Otras herramientas  , incluido un administrador de archivos de código objeto ( ar ), un listado de tablas de símbolos ( nm ), herramientas de desarrollo de compiladores (por ejemplo, lex y yacc ) y herramientas de depuración.
  • Comandos  : Unix no distingue entre comandos (programas de nivel de usuario) para la operación y el mantenimiento del sistema (por ejemplo, cron ), comandos de utilidad general (por ejemplo, grep ) y aplicaciones de uso más general, como el paquete de formato y composición de texto. No obstante, algunas categorías principales son:
    • sh  – el intérprete de línea de comandos programable "shell" , la interfaz de usuario principal en Unix antes de que aparecieran los sistemas de ventanas, e incluso después (dentro de una "ventana de comandos").
    • Utilidades  : el conjunto de herramientas principal del conjunto de comandos de Unix, que incluye cp , ls , grep , find y muchos otros. Las subcategorías incluyen:
      • Utilidades del sistema  : herramientas administrativas como mkfs , fsck y muchas otras.
      • Utilidades de usuario  : herramientas de gestión del entorno como passwd , kill y otras.
    • Formato de documentos  : los sistemas Unix se utilizaron desde el principio para la preparación de documentos y la composición tipográfica, e incluían muchos programas relacionados, como nroff , troff , tbl , eqn , refer y pic . Algunos sistemas Unix modernos también incluyen paquetes como TeX y Ghostscript .
    • Gráficos  : el subsistema de gráficos proporcionaba funciones para producir gráficos vectoriales simples en un formato independiente del dispositivo, con intérpretes específicos del dispositivo para mostrar dichos archivos. Los sistemas Unix modernos también suelen incluir X11 como sistema de ventanas estándar y GUI , y muchos admiten OpenGL .
    • Comunicaciones  : los primeros sistemas Unix no contenían comunicación entre sistemas, pero sí incluían los programas de comunicación entre usuarios mail y write . La versión 7 introdujo el primer sistema de comunicación entre sistemas UUCP , y los sistemas a partir de la versión 4.1c de BSD incluían utilidades TCP/IP .
  • Documentación  – Unix fue uno de los primeros sistemas operativos en incluir toda su documentación en línea en formato legible por máquina. [25] La documentación incluía:
    • man  – páginas del manual para cada comando, componente de biblioteca, llamada del sistema , archivo de encabezado, etc.
    • doc  – documentos más largos que detallan los subsistemas principales, como el lenguaje C y troff

Impacto

Ken Thompson y Dennis Ritchie , desarrolladores principales de Research Unix
Fotografía de USENIX 1984, incluido Dennis Ritchie (centro)

El sistema Unix tuvo un impacto significativo en otros sistemas operativos. Logró su reputación por su interactividad, por proporcionar el software a un precio simbólico para uso educativo, por ejecutarse en hardware económico y por ser fácil de adaptar y mover a diferentes máquinas. Unix fue escrito originalmente en lenguaje ensamblador , pero pronto fue reescrito en C , un lenguaje de programación de alto nivel . [26] Aunque esto siguió el ejemplo de CTSS , Multics y Burroughs MCP , fue Unix el que popularizó la idea.

Unix tenía un modelo de archivos drásticamente simplificado en comparación con muchos sistemas operativos contemporáneos: trataba todo tipo de archivos como simples matrices de bytes. La jerarquía del sistema de archivos contenía servicios y dispositivos de máquina (como impresoras , terminales o unidades de disco ), lo que proporcionaba una interfaz uniforme, pero a costa de requerir ocasionalmente mecanismos adicionales como ioctl y indicadores de modo para acceder a funciones del hardware que no encajaban en el modelo simple de "flujo de bytes". El sistema operativo Plan 9 llevó este modelo aún más lejos y eliminó la necesidad de mecanismos adicionales.

Unix también popularizó el sistema de archivos jerárquico con subdirectorios anidados arbitrariamente, introducido originalmente por Multics. Otros sistemas operativos comunes de la época tenían formas de dividir un dispositivo de almacenamiento en múltiples directorios o secciones, pero tenían un número fijo de niveles, a menudo solo un nivel. Varios sistemas operativos propietarios importantes eventualmente agregaron capacidades de subdirectorio recursivo también siguiendo el patrón de Multics. La jerarquía de "grupo, usuario" de RSX-11M de DEC evolucionó a directorios OpenVMS , los volúmenes de CP/M evolucionaron a subdirectorios MS-DOS 2.0+ y la jerarquía de grupo.cuenta MPE de HP y los sistemas de biblioteca SSP y OS/400 de IBM se incorporaron a sistemas de archivos POSIX más amplios.

Otra innovación de Multics popularizada por Unix fue convertir el intérprete de comandos en un programa de nivel de usuario normal, con comandos adicionales proporcionados como programas separados. El shell de Unix usaba el mismo lenguaje para los comandos interactivos que para los scripts ( scripts de shell  ; no había un lenguaje de control de trabajos separado como el JCL de IBM ). Dado que los comandos del shell y del SO eran "solo otro programa", el usuario podía elegir (o incluso escribir) su propio shell. Se podían agregar nuevos comandos sin cambiar el shell en sí. La innovadora sintaxis de línea de comandos de Unix para crear cadenas modulares de procesos productor-consumidor ( tuberías ) hizo que un poderoso paradigma de programación ( corrutinas ) estuviera ampliamente disponible. Muchos intérpretes de línea de comandos posteriores se han inspirado en el shell de Unix.

Un supuesto simplificador fundamental de Unix fue su enfoque en el texto delimitado por nuevas líneas para casi todos los formatos de archivo. No había editores "binarios" en la versión original de Unix: todo el sistema se configuraba utilizando scripts de comandos textuales de shell. El denominador común en el sistema de E/S era el byte, a diferencia de los sistemas de archivos "basados ​​en registros" . El enfoque en el texto para representar casi todo hizo que las tuberías de Unix fueran especialmente útiles y alentó el desarrollo de herramientas simples y generales que se podían combinar fácilmente para realizar tareas ad hoc más complicadas . El enfoque en el texto y los bytes hizo que el sistema fuera mucho más escalable y portátil que otros sistemas. Con el tiempo, las aplicaciones basadas en texto también han demostrado ser populares en áreas de aplicación, como lenguajes de impresión ( PostScript , ODF ) y en la capa de aplicación de los protocolos de Internet , por ejemplo, FTP , SMTP , HTTP , SOAP y SIP .

Unix popularizó una sintaxis para expresiones regulares que encontró un uso generalizado. La interfaz de programación Unix se convirtió en la base de un estándar de interfaz de sistema operativo ampliamente implementado (POSIX, ver arriba). El lenguaje de programación C pronto se extendió más allá de Unix y ahora es omnipresente en la programación de sistemas y aplicaciones.

Los primeros desarrolladores de Unix fueron importantes a la hora de introducir los conceptos de modularidad y reutilización en la práctica de la ingeniería de software , lo que dio origen a un movimiento de "herramientas de software". Con el tiempo, los principales desarrolladores de Unix (y de los programas que se ejecutaban en él) establecieron un conjunto de normas culturales para el desarrollo de software, normas que se volvieron tan importantes e influyentes como la propia tecnología de Unix; esto se ha denominado la filosofía Unix .

Los protocolos de red TCP/IP se implementaron rápidamente en las versiones de Unix ampliamente utilizadas en computadoras relativamente económicas, lo que contribuyó a la explosión de Internet de conectividad mundial en tiempo real y formó la base para las implementaciones en muchas otras plataformas.

La política de Unix de extensa documentación en línea y (durante muchos años) fácil acceso a todo el código fuente del sistema aumentó las expectativas de los programadores y contribuyó al lanzamiento del movimiento del software libre en 1983.

Unix libre y variantes similares a Unix

Capturas de pantalla de la consola de Debian (arriba, una distribución de Linux popular ) y FreeBSD (abajo, un sistema operativo popular similar a Unix )

En 1983, Richard Stallman anunció el proyecto GNU (abreviatura de "GNU's Not Unix"), un ambicioso esfuerzo por crear un sistema de software libre similar a Unix, "libre" en el sentido de que todo el que recibiera una copia sería libre de usarlo, estudiarlo, modificarlo y redistribuirlo. El proyecto de desarrollo del núcleo del proyecto GNU, GNU Hurd , aún no había producido un núcleo funcional, pero en 1991 Linus Torvalds publicó el núcleo Linux como software libre bajo la Licencia Pública General de GNU . Además de su uso en el sistema operativo GNU , muchos paquetes GNU -como la Colección de compiladores GNU (y el resto de la cadena de herramientas GNU ), la biblioteca C GNU y las Utilidades básicas GNU-  han pasado a desempeñar papeles centrales en otros sistemas Unix libres también.

Las distribuciones Linux , que consisten en el núcleo Linux y grandes colecciones de software compatible, se han vuelto populares tanto entre los usuarios individuales como en las empresas. Las distribuciones populares incluyen Red Hat Enterprise Linux , Fedora , SUSE Linux Enterprise , openSUSE , Debian , Ubuntu , Linux Mint , Slackware Linux , Arch Linux y Gentoo . [27]

En 1992 se publicó un derivado libre de BSD Unix, 386BSD , que dio origen a los proyectos NetBSD y FreeBSD . Con el acuerdo de 1994 de una demanda interpuesta contra la Universidad de California y Berkeley Software Design Inc. ( USL v. BSDi ) por Unix System Laboratories , se aclaró que Berkeley tenía derecho a distribuir BSD Unix de forma gratuita si así lo deseaba. Desde entonces, BSD Unix se ha desarrollado en varias ramas de productos diferentes, entre ellas OpenBSD y DragonFly BSD .

Debido al diseño modular del modelo Unix, compartir componentes es relativamente común: la mayoría o todos los sistemas Unix y similares incluyen al menos algo de código BSD, mientras que algunos incluyen utilidades GNU en sus distribuciones. Linux y BSD Unix están satisfaciendo cada vez más necesidades del mercado que tradicionalmente servían los sistemas operativos Unix propietarios, expandiéndose a nuevos mercados como el escritorio de consumo , los dispositivos móviles y los dispositivos integrados .

En una entrevista de 1999, Dennis Ritchie expresó su opinión de que los sistemas operativos Unix Linux y BSD son una continuación de la base del diseño Unix y son derivados de Unix: [28]

Creo que el fenómeno Linux es muy atractivo porque se nutre en gran medida de la base que proporcionó Unix. Linux parece ser uno de los derivados directos de Unix más saludables, aunque también existen los diversos sistemas BSD, así como las ofertas más oficiales de los fabricantes de estaciones de trabajo y mainframes.

En la misma entrevista, afirma que considera tanto a Unix como a Linux como "la continuación de ideas que iniciamos Ken, yo y muchos otros, hace muchos años". [28]

OpenSolaris fue la contraparte de software libre de Solaris desarrollada por Sun Microsystems , que incluía un núcleo con licencia CDDL y un espacio de usuario principalmente GNU . Sin embargo, Oracle interrumpió el proyecto tras la adquisición de Sun, lo que impulsó a un grupo de ex empleados de Sun y miembros de la comunidad OpenSolaris a bifurcar OpenSolaris en el núcleo illumos . A fecha de 2014, illumos sigue siendo el único derivado activo de código abierto de System V.

ARPANET

En mayo de 1975, la RFC 681 describió el desarrollo de Network Unix por parte del Centro de Computación Avanzada de la Universidad de Illinois en Urbana-Champaign . [29] Se decía que el sistema Unix "presentaba varias capacidades interesantes como minihost de ARPANET ". En ese momento, Unix requería una licencia de Bell Telephone Laboratories que costaba 20.000 dólares para instituciones no universitarias, mientras que las universidades podían obtener una licencia por una tarifa nominal de 150 dólares. Se señaló que Bell estaba "abierto a sugerencias" para una licencia para toda ARPANET.

El RFC menciona específicamente que Unix "ofrece potentes facilidades de procesamiento local en términos de programas de usuario, varios compiladores , un editor basado en QED , un sistema de preparación de documentos versátil y un sistema de archivos eficiente que presenta un sofisticado control de acceso, volúmenes montables y desmontables, y un tratamiento unificado de los periféricos como archivos especiales ". Esto último permitió que el Programa de Control de Red (NCP) se integrara dentro del sistema de archivos de Unix, tratando las conexiones de red como archivos especiales a los que se podía acceder a través de llamadas de E/S estándar de Unix , que incluían el beneficio adicional de cerrar todas las conexiones al salir del programa, en caso de que el usuario no lo hiciera. Con el fin de "minimizar la cantidad de código agregado al núcleo básico de Unix ", gran parte del código NCP se ejecutaba en un proceso de usuario intercambiable , que se ejecutaba solo cuando era necesario. [29]

Herrada

Matrícula promocional de Digital Equipment Corporation . La matrícula real es la utilizada por Jon Hall .
Estación de trabajo HP 9000 que ejecuta HP-UX , un sistema operativo Unix certificado

En octubre de 1993, Novell , la empresa que poseía los derechos de la fuente de Unix System V en ese momento, transfirió las marcas registradas de Unix a X/Open Company (ahora The Open Group ), [30] y en 1995 vendió las operaciones comerciales relacionadas a Santa Cruz Operation (SCO). [31] [32] Si Novell también vendió los derechos de autor del software real fue objeto de una demanda federal en 2006, SCO v. Novell , que Novell ganó. El caso fue apelado, pero el 30 de agosto de 2011, el Tribunal de Apelaciones de los Estados Unidos para el Décimo Circuito confirmó las decisiones del juicio, cerrando el caso. [33] El proveedor de Unix SCO Group Inc. acusó a Novell de difamación de título .

El actual propietario de la marca UNIX es The Open Group, un consorcio de estándares industriales. Solo los sistemas totalmente compatibles y certificados con la Especificación Única UNIX se califican como "UNIX" (los demás se denominan " similares a Unix ").

Por decreto de The Open Group, el término "UNIX" se refiere más a una clase de sistemas operativos que a una implementación específica de un sistema operativo; aquellos sistemas operativos que cumplen con la Especificación Única UNIX de The Open Group deberían poder llevar las marcas registradas UNIX 98 o UNIX 03 hoy, después de que el proveedor del sistema operativo pague una tarifa de certificación sustancial y regalías anuales de marca registrada a The Open Group. [34] Los sistemas que han sido autorizados para usar la marca registrada UNIX incluyen AIX , [35] EulerOS , [36] HP-UX , [37] Inspur K-UX , [38] IRIX , [39] macOS , [40] Solaris , [41] Tru64 UNIX (anteriormente "Digital UNIX", o OSF/1 ), [42] y z/OS . [43] En particular, EulerOS e Inspur K-UX son distribuciones de Linux certificadas como compatibles con UNIX 03. [44] [45]

A veces se utiliza una representación como Un*x , *NIX o *N?X para indicar todos los sistemas operativos similares a Unix. Esto se debe al uso del asterisco ( * ) y los signos de interrogación como indicadores comodín en muchas utilidades. Esta notación también se utiliza para describir otros sistemas similares a Unix que no han cumplido con los requisitos de la marca UNIX del Open Group.

El Open Group solicita que UNIX se utilice siempre como adjetivo seguido de un término genérico como sistema para ayudar a evitar la creación de una marca registrada genérica .

Unix fue el formato original, [ disputadodiscutir ] pero el uso de UNIX sigue estando muy extendido porque alguna vez se compuso en mayúsculas pequeñas ( Unix ). Según Dennis Ritchie , cuando presentó el artículo original sobre Unix en el tercer Simposio de Sistemas Operativos de la Asociación Estadounidense de Maquinaria Informática (ACM), "teníamos una nueva máquina de composición tipográfica y se acababa de inventar troff y estábamos embriagados por poder producir mayúsculas pequeñas". [46] Muchos de los predecesores y contemporáneos del sistema operativo usaban letras mayúsculas, por lo que muchas personas escribieron el nombre en mayúsculas debido a la fuerza de la costumbre. No es un acrónimo. [47]

Los nombres de marcas comerciales pueden ser registrados por diferentes entidades en diferentes países y las leyes de marcas comerciales de algunos países permiten que el mismo nombre de marca comercial sea controlado por dos entidades diferentes si cada entidad utiliza la marca comercial en categorías fácilmente distinguibles. El resultado es que Unix se ha utilizado como marca comercial para diversos productos, entre ellos estanterías, bolígrafos, pegamento embotellado, pañales, secadores de pelo y recipientes para alimentos. [48]

Varias formas plurales de Unix se utilizan casualmente para referirse a múltiples marcas de Unix y sistemas similares a Unix. La más común es la convencional Unixes , pero Unices , que trata a Unix como un sustantivo latino de la tercera declinación , también es popular. La forma plural pseudoanglosajona Unixen no es común, aunque se ve ocasionalmente. Sun Microsystems , desarrollador de la variante Solaris, ha afirmado que el término Unix es en sí mismo plural, haciendo referencia a sus muchas implementaciones. [49]

Véase también

Referencias

  1. ^ abc 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. Archivado (PDF) del original el 11 de noviembre de 2017.
  2. ^ Ritchie, DM ; Thompson, K. (1974). "El sistema de tiempo compartido de UNIX" (PDF) . Comunicaciones de la ACM . 17 (7): 365–375. CiteSeerX 10.1.1.118.1214 . doi :10.1145/361011.361061. S2CID  53235982. Archivado (PDF) desde el original el 11 de junio de 2015. 
  3. ^ Ritchie, Dennis M. (1977). El sistema de tiempo compartido Unix: una retrospectiva (PDF) . Décima Conferencia Internacional de Hawái sobre Ciencias de Sistemas. Archivado (PDF) del original el 11 de junio de 2015. Consultado el 26 de septiembre de 2024. Se puede argumentar con fundamento que [UNIX] es, en esencia, una implementación moderna del sistema CTSS del MIT .
  4. ^ ab Ritchie, DM ; Thompson, K. (julio de 1978). "The UNIX Time-Sharing System". Bell System Tech. J . 57 (6): 1905–1929. CiteSeerX 10.1.1.112.595 . doi :10.1002/j.1538-7305.1978.tb02136.x . Consultado el 9 de diciembre de 2012 . 
  5. ^ Raymond, Eric (19 de septiembre de 2003). El arte de la programación Unix. Addison-Wesley. ISBN 978-0-13-142901-7Archivado desde el original el 12 de febrero de 2009 . Consultado el 9 de febrero de 2009 .
  6. ^ ab Ritchie, Dennis M. (enero de 1993). "El desarrollo del lenguaje C" (PDF) . Archivado (PDF) desde el original el 11 de junio de 2015. Consultado el 30 de julio de 2022 .
  7. ^ Raymond, Eric Steven (2003). "Los elementos del estilo de los sistemas operativos". El arte de la programación Unix . Consultado el 16 de agosto de 2020 .
  8. ^ Brand, Stewart (1984). Libro de Tandy/Radio Shack: Catálogo de software de Whole Earth. Quantum Press/Doubleday. ISBN 9780385191661UNIX fue creado por desarrolladores de software para desarrolladores de software, para darse un entorno que pudieran manipular completamente.
  9. ^ Spolsky, Joel (14 de diciembre de 2003). "Biculturalismo". Joel on Software . Consultado el 21 de marzo de 2021. Cuando se creó Unix y cuando formó sus valores culturales, no había usuarios finales .
  10. ^ Powers, Shelley ; Peek, Jerry; O'Reilly, Tim ; Loukides, Mike (2002). Herramientas de potencia de Unix . "O'Reilly Media, Inc." ISBN 978-0-596-00330-2.
  11. ^ abcde Ritchie, Dennis M. "La evolución del sistema de tiempo compartido Unix" (PDF) . Archivado (PDF) del original el 3 de abril de 2017 . Consultado el 9 de enero de 2017 .
  12. ^ Kernighan, Brian W. Pike, Rob. El entorno de programación UNIX. 1984. viii
  13. ^ 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 .
  14. ^ Brand, Stewart (1984). Libro de Tandy/Radio Shack: Catálogo de software de Whole Earth. Quantum Press/Doubleday. ISBN 9780385191661Lo mejor de UNIX es su portabilidad. UNIX se puede utilizar en una amplia gama de hardware, desde el IBM PC de 5000 dólares para un solo usuario hasta el Cray de 5 millones de dólares. Por primera vez, el punto de estabilidad pasa a ser el entorno de software, no la arquitectura de hardware; UNIX trasciende los cambios en la tecnología de hardware, de modo que los programas escritos para el entorno UNIX pueden pasar a la siguiente generación de hardware .
  15. ^ 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.
  16. ^ Dolya, Aleksey (29 de julio de 2003). "Entrevista con Brian Kernighan". Linux Journal . Archivado desde el original el 18 de octubre de 2017.
  17. ^ Rik Farrow. "Una entrevista con Peter G. Neumann" (PDF) . ;login: . 42 (4): 38. Esto llevó a que Unics (el Multics monousuario castrado, llamado así por Brian Kernighan) se convirtiera más tarde en UNIX (probablemente como resultado de los abogados de AT&T).
  18. ^ Reinfelds, Juris. "El primer puerto de UNIX" (PDF) . Consultado el 30 de junio de 2015 .
  19. ^ "Portabilidad de los programas C y el sistema UNIX". Bell-labs.com . Consultado el 24 de agosto de 2018 .
  20. ^ Thompson, Ken (16 de septiembre de 2014). "comunicación personal de Ken Thompson a Donald W. Gillies". Sitio web de UBC ECE . Archivado desde el original el 22 de marzo de 2016.
  21. ^ "Familia de sistemas operativos - Sistemas compartidos". Proyecto Top 500.
  22. ^ "Cargando". Apple Developer. Archivado desde el original el 9 de junio de 2012. Consultado el 22 de agosto de 2012 .
  23. ^ "La venganza de Unix". asymco. 29 de septiembre de 2010. Archivado desde el original el 9 de noviembre de 2010. Consultado el 9 de noviembre de 2010 .
  24. ^ "Unix: el sistema operativo que establece nuevos estándares". IONOS Digitalguide . 29 de mayo de 2020 . Consultado el 10 de mayo de 2022 .
  25. ^ Shelley Powers ; Jerry Peek; Tim O'Reilly ; Michael Kosta Loukides; Mike Loukides (2003). Herramientas de potencia para Unix. "O'Reilly Media, Inc.", pág. 32. ISBN 978-0-596-00330-2. Consultado el 8 de agosto de 2022 .
  26. ^ Ritchie, Dennis (1979). "La evolución del sistema de tiempo compartido de Unix". Bell Labs. Archivado desde el original el 11 de junio de 2015. Consultado el 30 de abril de 2016. Tal vez el hito más importante se produjo en 1973, cuando el núcleo del sistema operativo se reescribió en C.
  27. ^ "Distribuciones principales". distrowatch.com .
  28. ^ ab Benet, Manuel (1999). "Entrevista con Dennis M. Ritchie". LinuxFocus.org. Archivado desde el original el 4 de enero de 2018. Consultado el 16 de agosto de 2020 .
  29. ^ ab Holmgren, Steve (mayo de 1975). Network Unix. IETF . doi : 10.17487/RFC0681 . RFC 681. Consultado el 22 de abril de 2021 .
  30. ^ Chuck Karish (12 de octubre de 1993). «El nombre UNIX es ahora propiedad de X/Open». Grupo de noticias : comp.std.unix. Usenet:  [email protected] . Consultado el 21 de febrero de 2020 .
  31. ^ "Novell completa la venta de la división UnixWare a The Santa Cruz Operation | Micro Focus". www.novell.com . Archivado desde el original el 20 de diciembre de 2015 . Consultado el 20 de diciembre de 2015 .
  32. ^ "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. Archivado desde el original el 23 de enero de 2007. Consultado el 9 de noviembre de 2010 .
  33. ^ Jones, Pamela . "La SCO presenta una declaración sobre la inscripción de los casos y descubrimos de qué se tratará su apelación". Groklaw . Groklaw.net . Consultado el 12 de abril de 2011 .
  34. ^ The Open Group. «The Open Brand Fee Schedule». Archivado desde el original el 31 de diciembre de 2011. Consultado el 26 de diciembre de 2011. El derecho a utilizar la marca registrada UNIX requiere que el licenciatario pague a The Open Group una tarifa anual adicional, calculada de acuerdo con la tabla de tarifas que se incluye a continuación.
  35. ^ The Open Group. «Sistema operativo AIX 6 V6.1.2 con certificación SP1 o posterior». Archivado desde el original el 8 de abril de 2016.
  36. ^ The Open Group (8 de septiembre de 2016). "Certificación Huawei EulerOS 2.0".
  37. ^ The Open Group. «Certificación de HP-UX 11i V3 Release B.11.31 o posterior». Archivado desde el original el 8 de abril de 2016.
  38. ^ The Open Group. «Certificación Inspur K-UX 2.0». Archivado desde el original el 9 de julio de 2014.
  39. ^ The Open Group. «Certificación de IRIX 6.5.28 con parches (4605 y 7029)». Archivado desde el original el 4 de marzo de 2016.
  40. ^ "MacOS versión 10.12 Sierra en computadoras Mac basadas en Intel". The Open Group. Archivado desde el original el 2 de octubre de 2016.
  41. ^ The Open Group. «Certificación FCS y posteriores de Oracle Solaris 11». Archivado desde el original el 24 de septiembre de 2015.
  42. ^ Bonnie Talerico. «Hewlett-Packard Company Conformance Statement». The Open Group. Archivado desde el original el 10 de diciembre de 2015. Consultado el 8 de diciembre de 2015 .
  43. ^ Vivian W. Morabito. «Declaración de conformidad de IBM Corporation». The Open Group . Consultado el 21 de enero de 2018 .
  44. ^ Peng Shen. "Declaración de conformidad de Huawei". The Open Group . Consultado el 22 de enero de 2020 .
  45. ^ Peng Shen. "Declaración de conformidad de Huawei: comandos y utilidades V4". The Open Group . Consultado el 22 de enero de 2020 .
  46. ^ Raymond, Eric S. (ed.). "Unix". The Jargon File . Archivado desde el original el 4 de junio de 2011. Consultado el 9 de noviembre de 2010 .
  47. ^ Troy, Douglas (1990). Sistemas UNIX . Fundamentos de computación. Benjamin/Cumming Publishing Company. pág. 4. ISBN 978-0-201-19827-0.
  48. ^ "Otros Unix, otros modos (OtherUnix)". Bell Laboratories . 1 de abril de 2000. Archivado desde el original el 3 de abril de 2017. Consultado el 3 de enero de 2018 .
  49. ^ "Historia de Solaris" (PDF) . Archivado (PDF) del original el 18 de marzo de 2017. UNIX es plural. No es un sistema operativo, sino muchas implementaciones de una idea que se originó en 1965.

Lectura adicional

General
  • Ritchie, DM ; Thompson, K. (julio-agosto de 1978). "El sistema de tiempo compartido de UNIX". Bell System Technical Journal . 57 (6). Archivado desde el original el 3 de noviembre de 2010.
  • "Historia de UNIX". www.levenez.com . Consultado el 17 de marzo de 2005 .
  • "AIX, FreeBSD, HP-UX, Linux, Solaris, Tru64". UNIXguide.net . Consultado el 17 de marzo de 2005 .
  • "Linux Weekly News, 21 de febrero de 2002". lwn.net . Consultado el 7 de abril de 2006 .
  • Lions, John : "Comentario de Lions sobre el sistema operativo UNIX de sexta edición".con código fuente , Comunicaciones punto a punto, 1996; ISBN 1-57398-013-7 
Libros
Televisión
Negociaciones
  • Ken Thompson (2019). "VCF East 2019: Brian Kernighan entrevista a Ken Thompson" (Entrevista).
  • Marshall Kirk McKusick (2006). Historia de las distribuciones de software de Berkeley (tres conferencias de una hora de duración).
  • El estándar UNIX, en The Open Group .
  • La evolución del sistema de tiempo compartido de Unix en Wayback Machine (archivado el 8 de abril de 2015)
  • La creación del sistema operativo UNIX en Wayback Machine (archivado el 2 de abril de 2014)
  • El árbol Unix: archivos de versiones históricas
  • Repositorio de historial de Unix: un repositorio git que representa una versión reconstruida del historial de Unix en GitHub
  • Manual de Unix 1.ª edición
    • Manual de la 1.ª edición traducido a HTML
  • Archivo de canales de tecnología de AT&T: El sistema operativo UNIX: cómo hacer que las computadoras sean más productivas (1982) en YouTube (película sobre Unix con Dennis Ritchie, Ken Thompson, Brian Kernighan, Alfred Aho y más)
  • Archivo de canales de tecnología de AT&T: El sistema UNIX: hacer que las computadoras sean más fáciles de usar (1982) en YouTube (película complementaria a la anterior "Hacer que las computadoras sean más productivas")
  • audio bsdtalk170 - Marshall Kirk McKusick en DCBSDCon - sobre la historia de tcp/ip (en BSD) - resumen de las tres conferencias sobre la historia de BSD.
  • Una historia de UNIX antes de Berkeley: Evolución de UNIX: 1975-1984
  • Revista BYTE, septiembre de 1986: UNIX y el MC68000: una perspectiva de software sobre la arquitectura de la CPU MC68000 y la compatibilidad con UNIX
Retrieved from "https://en.wikipedia.org/w/index.php?title=Unix&oldid=1252331631"