De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

El Berkeley Software Distribution ( BSD ) es un discontinuada sistema operativo basado en la Investigación Unix , desarrollado y distribuido por el Grupo de Sistemas de Investigación Informática (CSRG) en la Universidad de California, Berkeley . El término "BSD" comúnmente se refiere a sus descendientes, incluidos FreeBSD , OpenBSD , NetBSD y DragonFly BSD .

BSD se llamó inicialmente Berkeley Unix porque estaba basado en el código fuente del Unix original desarrollado en Bell Labs . En la década de 1980, BSD fue ampliamente adoptado por los proveedores de estaciones de trabajo en forma de variantes patentadas de Unix como DEC Ultrix y Sun Microsystems SunOS debido a su licencia permisiva y la familiaridad de muchos fundadores e ingenieros de empresas de tecnología.

Aunque estos derivados BSD patentados fueron reemplazados en gran medida en la década de 1990 por UNIX SVR4 y OSF / 1 , las versiones posteriores proporcionaron la base para varios sistemas operativos de código abierto , incluidos FreeBSD , OpenBSD , NetBSD , DragonFly BSD , Darwin y TrueOS . Estos, a su vez, han sido utilizados por los sistemas propietarios operativos, incluyendo de Apple 's macOS y iOS , que derivan de ellas, [1] y Microsoft Windows (al menos) una parte de su código de TCP / IP, que utiliza, que era legal . [2]El código de FreeBSD también se usó para crear el sistema operativo para PlayStation 4 [3] y Nintendo Switch . [4] [5]

Historia [ editar ]

Evolución simplificada de los sistemas Unix . No se muestran Junos , el software del sistema PlayStation 3 y otras bifurcaciones patentadas.

Las primeras distribuciones de Unix de Bell Labs en la década de 1970 incluyeron el código fuente del sistema operativo, lo que permitió a los investigadores de las universidades modificar y ampliar Unix. El sistema operativo llegó a Berkeley en 1974, a pedido del profesor de ciencias de la computación Bob Fabry, quien había estado en el comité de programa del Simposio sobre principios de sistemas operativos donde se presentó por primera vez Unix. Se compró un PDP-11/45 para ejecutar el sistema, pero por razones presupuestarias, esta máquina se compartió con los grupos de matemáticas y estadística de Berkeley, que usaban RSTS., de modo que Unix solo funcionaba en la máquina ocho horas al día (a veces durante el día, a veces durante la noche). Un PDP-11/70 más grande se instaló en Berkeley al año siguiente, utilizando dinero del proyecto de la base de datos Ingres . [6] Entender BSD requiere profundizar en la historia de Unix, el sistema operativo lanzado por primera vez por AT&T Bell Labs en 1969. BSD comenzó su vida como una variante de Unix que los programadores de la Universidad de California en Berkeley, inicialmente dirigidos por Bill Joy , comenzó a desarrollarse a fines de la década de 1970.

Al principio, BSD no era un clon de Unix, ni siquiera una versión sustancialmente diferente del mismo. Solo incluyó algunas utilidades adicionales, que se entrelazaron con el código propiedad de AT&T.

En 1975, Ken Thompson tomó un año sabático de Bell Labs y llegó a Berkeley como profesor invitado. Ayudó a instalar la versión 6 de Unix y comenzó a trabajar en una implementación de Pascal para el sistema. Los estudiantes de posgrado Chuck Haley y Bill Joy mejoraron Pascal de Thompson e implementaron un editor de texto mejorado, ej . [6] Otras universidades se interesaron en el software de Berkeley, por lo que en 1977 Joy comenzó a compilar la primera distribución de software de Berkeley (1BSD), que se publicó el 9 de marzo de 1978. [7] 1BSD era un complemento de la versión 6 Unix en lugar de un sistema operativo completo por derecho propio. Se enviaron unas treinta copias.[6]

El segundo Berkeley Software Distribution (2BSD), lanzado en mayo de 1979, [8] incluía versiones actualizadas del software 1BSD, así como dos nuevos programas de Joy que persisten en los sistemas Unix hasta el día de hoy: el editor de texto vi (una versión visual de ex ) y el C shell . Bill Joy envió unas 75 copias de 2BSD. [6]

El VAX-11/780 , un miniordenador típico utilizado para los primeros sistemas de tiempo compartido BSD

Se instaló una computadora VAX en Berkeley en 1978, pero el puerto de Unix a la arquitectura VAX, UNIX / 32V , no aprovechó las capacidades de memoria virtual del VAX . El kernel de 32V se reescribió en gran medida para incluir la implementación de memoria virtual del estudiante graduado de Berkeley Ozalp Babaoglu , y un sistema operativo completo que incluye el nuevo kernel, puertos de las utilidades 2BSD al VAX, y las utilidades de 32V se lanzaron como 3BSD en el finales de 1979. 3BSD también se llamaba alternativamente Virtual VAX / UNIX o VMUNIX (para Virtual Memory Unix), y las imágenes del kernel BSD se llamaban normalmente /vmunixhasta 4.4BSD.

"4.3 BSD UNIX" de la Universidad de Wisconsin alrededor de 1987. Inicio e inicio de sesión del sistema.

Después de que se lanzó 4.3BSD en junio de 1986, se determinó que BSD se alejaría de la plataforma VAX envejecida. La plataforma Power 6/32 (con nombre en código "Tahoe") desarrollada por Computer Consoles Inc. parecía prometedora en ese momento, pero fue abandonada por sus desarrolladores poco después. No obstante, el puerto 4.3BSD-Tahoe (junio de 1988) resultó valioso, ya que llevó a una separación del código dependiente de la máquina y el código independiente de la máquina en BSD, lo que mejoraría la portabilidad futura del sistema.

Además de la portabilidad, el CSRG trabajó en una implementación de la pila de protocolos de red OSI , mejoras en el sistema de memoria virtual del kernel y (con Van Jacobson de LBL ) nuevos algoritmos TCP / IP para adaptarse al crecimiento de Internet. [9]

Hasta entonces, todas las versiones de BSD usaban código Unix patentado de AT&T y, por lo tanto, estaban sujetas a una licencia de software de AT&T. Las licencias de código fuente se habían vuelto muy caras y varias partes externas habían expresado interés en una publicación separada del código de red, que se había desarrollado completamente fuera de AT&T y no estaría sujeto al requisito de licencia. Esto llevó a Networking Release 1 ( Net / 1 ), que se puso a disposición de quienes no tenían licencia del código de AT&T y se redistribuyó libremente según los términos de la licencia BSD . Fue lanzado en junio de 1989.

Después de Net / 1, el desarrollador de BSD Keith Bostic propuso que se publicaran más secciones del sistema BSD que no sean de AT&T bajo la misma licencia que Net / 1. Con este fin, inició un proyecto para reimplementar la mayoría de las utilidades estándar de Unix sin usar el código de AT&T. En dieciocho meses, todas las utilidades de AT&T habían sido reemplazadas y se determinó que solo quedaban unos pocos archivos de AT&T en el kernel. Estos archivos se eliminaron y el resultado fue el lanzamiento de Networking Release 2 (Net / 2) en junio de 1991, un sistema operativo casi completo que se podía distribuir libremente.

Net / 2 fue la base para dos puertos separados de BSD a la arquitectura Intel 80386 : el 386BSD gratuito de William Jolitz y el propietario BSD / 386 (luego renombrado BSD / OS) de Berkeley Software Design (BSDi). 386BSD en sí fue de corta duración, pero se convirtió en la base de código inicial de los proyectos NetBSD y FreeBSD que se iniciaron poco después.

BSDi pronto se encontró en problemas legales con la subsidiaria Unix System Laboratories (USL) de AT&T , entonces propietarios de los derechos de autor de System V y la marca comercial Unix. La demanda de USL v. BSDi se presentó en 1992 y dio lugar a una orden judicial sobre la distribución de Net / 2 hasta que se pudiera determinar la validez de las reclamaciones de derechos de autor de USL sobre la fuente. La demanda ralentizó el desarrollo de los descendientes de software libre de BSD durante casi dos años mientras se cuestionaba su estatus legal y, como resultado, los sistemas basados ​​en el kernel de Linux., que no tenía tanta ambigüedad jurídica, obtuvo un mayor apoyo. La demanda se resolvió en enero de 1994, en gran parte a favor de Berkeley. De los 18.000 archivos de la distribución de Berkeley, solo tres tuvieron que eliminarse y 70 modificarse para mostrar avisos de derechos de autor de la USL. Otra condición del acuerdo fue que USL no presentaría más demandas contra los usuarios y distribuidores del código propiedad de Berkeley en la próxima versión 4.4BSD. [10]

El lanzamiento final de Berkeley fue 4.4BSD-Lite Release 2 de 1995 , después de lo cual se disolvió el CSRG y cesó el desarrollo de BSD en Berkeley. Desde entonces, se han mantenido varias variantes basadas directa o indirectamente en 4.4BSD-Lite (como FreeBSD , NetBSD , OpenBSD y DragonFly BSD ).

La naturaleza permisiva de la licencia BSD ha permitido que muchos otros sistemas operativos, tanto de código abierto como propietarios, incorporen código fuente BSD. Por ejemplo, Microsoft Windows usó código BSD en su implementación de TCP / IP [11] y agrupa versiones compiladas de las herramientas de red de línea de comandos de BSD desde Windows 2000 . [12] Darwin , la base para macOS e iOS de Apple , se basa en 4.4BSD-Lite2 y FreeBSD. Varios sistemas operativos comerciales de Unix, como Solaris , también incorporan código BSD.

Relación con Research Unix [ editar ]

A partir de la octava edición, las versiones de Research Unix en Bell Labs tenían una estrecha relación con BSD. Esto comenzó cuando se utilizó 4.1cBSD para VAX como base para la 8ª edición de Research Unix. Esto continuó en versiones posteriores, como la novena edición, que incorporó código fuente y mejoras de 4.3BSD. El resultado fue que estas últimas versiones de Research Unix estaban más cerca de BSD que de System V. En una publicación de Usenet de 2000, Dennis Ritchie describió esta relación entre BSD y Research Unix: [13]

Research Unix 8th Edition comenzó desde (creo) BSD 4.1c, pero con enormes cantidades extraídas y reemplazadas por nuestras propias cosas. Esto continuó con el noveno y el décimo. El conjunto de comandos de usuario ordinario tenía, supongo, un poco más de BSD que SysVish, pero era bastante ecléctico.

Relación con el Sistema V [ editar ]

Eric S. Raymond resume la relación de larga data entre System V y BSD, afirmando: "La división era aproximadamente entre los de pelo largo y corto; los programadores y el personal técnico tendían a alinearse con Berkeley y BSD, más tipos orientados a los negocios con AT&T y System V. " [14]

En 1989, David A. Curry escribió sobre las diferencias entre BSD y System V. Él caracterizó a System V como a menudo considerado como el "Unix estándar". Sin embargo, describió BSD como más popular entre los centros informáticos universitarios y gubernamentales, debido a sus características avanzadas y rendimiento: [15]

La mayoría de los centros informáticos universitarios y gubernamentales que utilizan UNIX utilizan Berkeley UNIX, en lugar de System V. Hay varias razones para esto, pero quizás las dos más importantes son que Berkeley UNIX proporciona capacidades de red que hasta hace poco (Versión 3.0) no estaban disponibles en System. V, y que Berkeley UNIX es mucho más adecuado para un entorno de investigación, que requiere un sistema de archivos más rápido, un mejor manejo de la memoria virtual y una mayor variedad de lenguajes de programación .

Tecnología [ editar ]

Zócalos de Berkeley [ editar ]

4.3 BSD de la Universidad de Wisconsin . Visualización de la página de manual de Franz Lisp
Cinta para SunOS 4.1.1, un derivado de 4.3BSD
Estación de trabajo Sony NEWS que ejecuta el sistema operativo NEWS-OS basado en BSD

Unix de Berkeley fue el primer Unix en incluir bibliotecas que soportan las pilas de Protocolo de Internet : los sockets de Berkeley . Una implementación Unix del predecesor de IP, el NCP de ARPAnet , con clientes FTP y Telnet , se había producido en la Universidad de Illinois en 1975 y estaba disponible en Berkeley. [16] [17] Sin embargo, la escasez de memoria en el PDP-11 forzó un diseño complicado y problemas de rendimiento. [18]

Al integrar sockets con los descriptores de archivos del sistema operativo Unix , se volvió casi tan fácil leer y escribir datos en una red como acceder a un disco. El laboratorio de AT&T finalmente lanzó su propia biblioteca STREAMS , que incorporó gran parte de la misma funcionalidad en una pila de software con una arquitectura diferente, pero la amplia distribución de la biblioteca de sockets existente redujo el impacto de la nueva API . Las primeras versiones de BSD se utilizaron para formar Sun Microsystems ' SunOS , la fundación de la primera ola de estaciones de trabajo Unix populares.

Compatibilidad binaria [ editar ]

Algunos sistemas operativos BSD pueden ejecutar gran parte del software nativo de varios otros sistemas operativos en la misma arquitectura , utilizando una capa de compatibilidad binaria . Mucho más simple y rápido que la emulación , esto permite, por ejemplo, que las aplicaciones destinadas a Linux se ejecuten a la máxima velocidad. Esto hace que los BSD no solo sean adecuados para entornos de servidor, sino también para estaciones de trabajo, dada la creciente disponibilidad de software comercial o de código cerrado solo para Linux. Esto también permite a los administradores migrar aplicaciones comerciales heredadas, que pueden haber admitido solo variantes comerciales de Unix, a un sistema operativo más moderno, conservando la funcionalidad de dichas aplicaciones hasta que puedan ser reemplazadas por una alternativa mejor.

Estándares [ editar ]

Las variantes actuales del sistema operativo BSD admiten muchos de los estándares comunes IEEE , ANSI , ISO y POSIX , al tiempo que conservan la mayor parte del comportamiento BSD tradicional. Como AT&T Unix , el kernel BSD es monolítico , lo que significa que los controladores de dispositivo en el kernel se ejecutan en modo privilegiado , como parte del núcleo del sistema operativo.

Descendientes de BSD [ editar ]

Varios sistemas operativos se basan en BSD, incluidos FreeBSD , OpenBSD , NetBSD , MidnightBSD , GhostBSD , Darwin y DragonFly BSD . Tanto NetBSD como FreeBSD se crearon en 1993. Inicialmente se derivaron de 386BSD (también conocido como "Jolix"), y fusionaron el código fuente 4.4BSD-Lite en 1994. OpenBSD fue bifurcado de NetBSD en 1995, y DragonFly BSD fue bifurcado de FreeBSD en 2003.

BSD también fue utilizado como la base para varias versiones propietarias de Unix, tales como Sun 's SunOS , Sequent ' s DYNIX , NeXT 's NeXTSTEP , diciembre ' s Ultrix y OSF / 1 AXP (ahora Tru64 UNIX ). NeXTSTEP tarde se convirtió en la base para Apple Inc. 's macOS .

Ver también [ editar ]

  • Demonio BSD
  • Licencias BSD
  • Comparación de sistemas operativos BSD
  • Lista de sistemas operativos BSD
  • Guerras de Unix

Referencias [ editar ]

  1. ^ "Guía de programación del núcleo de Apple: descripción general de BSD" . Consultado el 27 de marzo de 2021 .
  2. ^ "En realidad, Windows usa algún código BSD" . Archivado desde el original el 25 de marzo de 2018 . Consultado el 24 de marzo de 2018 .
  3. ^ "Software de código abierto utilizado en PlayStation 4" . Archivado desde el original el 12 de diciembre de 2017 . Consultado el 3 de octubre de 2019 .
  4. ^ "任天堂 製品 に 関 連 す る オ ー プ ン ソ ー ス ソ フ ト ウ ェ ア の ソ ー ス コ ー ド 配 布 ペ ー ジ | サ ポ ー ト 情報 | Nintendo" . www.nintendo.co.jp . Archivado desde el original el 26 de julio de 2020 . Consultado el 26 de julio de 2020 .
  5. ^ Cao (8 de marzo de 2017). "Nintendo Switch ejecuta FreeBSD" . FreeBSDNews.com . Archivado desde el original el 26 de julio de 2020 . Consultado el 26 de julio de 2020 .
  6. ↑ a b c d Salus, Peter H. (2005). "Capítulo 7. BSD y CSRG" . El demonio, el ñu y el pingüino . Groklaw . Archivado desde el original el 14 de junio de 2020 . Consultado el 6 de septiembre de 2017 .
  7. ^ Salus (1994), p. 142
  8. ^ Toomey, Warren. "Detalles de los archivos PUPS" . tuhs.org . La Sociedad de Herencia de Unix. Archivado desde el original el 9 de julio de 2006 . Consultado el 6 de octubre de 2010 .
  9. ^ MK McKusick, MJ Karels, Keith Sklower, Kevin Fall, Marc Teitelbaum y Keith Bostic (1989). Investigación actual del Grupo de Investigación de Sistemas Informáticos de Berkeley. Proc. Grupo europeo de usuarios de Unix.
  10. ^ Eric S. Raymond. "El arte de la programación Unix: orígenes e historia de Unix, 1969-1995" . Archivado desde el original el 5 de octubre de 2014 . Consultado el 18 de julio de 2014 .
  11. ^ Barr, Adam (19 de junio de 2001). "Microsoft, TCP / IP, código abierto y licencias" . Archivado desde el original el 14 de noviembre de 2005 . Consultado el 7 de junio de 2019 .
  12. ^ "Código BSD en Windows" . everything2.com . 20 de marzo de 2001. Archivado desde el original el 25 de agosto de 2008 . Consultado el 20 de enero de 2009 .
  13. ^ Dennis Ritchie (26 de octubre de 2000). "alt.folklore.computers: BSD (Dennis Ritchie)" . Archivado desde el original el 14 de julio de 2014 . Consultado el 3 de julio de 2014 .
  14. ^ Raymond, Eric S. El arte de la programación Unix. 2003. p. 38
  15. ^ Curry, David. Uso de C en el sistema UNIX: una guía para la programación del sistema. 1989. págs. 2-3
  16. ^ Chesson, GL (1976). "La red del sistema Unix". Revisión de sistemas operativos ACM SIGOPS . 9 (5). doi : 10.1145 / 1067629.806522 .
  17. ^ RFC 681 
  18. ^ Quarterman, John S .; Silberschatz, Abraham; Peterson, James L. (diciembre de 1985). "4.2BSD y 4.3BSD como ejemplos del sistema Unix". Encuestas de Computación . 17 (4): 379–418. CiteSeerX 10.1.1.117.9743 . doi : 10.1145 / 6041.6043 . S2CID 5700897 .  

Bibliografía [ editar ]

  • Marshall K. McKusick, Keith Bostic, Michael J. Karels, John S. Quartermain, El diseño e implementación del sistema operativo 4.4BSD (Addison Wesley, 1996; ISBN 978-0-201-54979-9 ) 
  • Marshall K. McKusick, George V. Neville-Neil, El diseño e implementación del sistema operativo FreeBSD (Addison Wesley, 2 de agosto de 2004; ISBN 978-0-201-70245-3 ) 
  • Samuel J. Leffler, Marshall K. McKusick, Michael J. Karels, John S. Quarterman , The Design and Implementation of the 4.3BSD UNIX Operating System (Addison Wesley, noviembre de 1989; ISBN 978-0-201-06196-3 ) 
  • McKusick, Marshall Kirk (enero de 1999). "Veinte años de Berkeley Unix - de propiedad de AT&T a libremente redistribuible" . En DiBona, Chris; Ockman, Sam; Stone, Mark (eds.). Fuentes abiertas: Voces de la revolución (primera ed.). O'Reilly. ISBN 978-1-56592-582-3.
  • Peter H. Salus , The Daemon, the GNU & The Penguin (Reed Media Services, 1 de septiembre de 2008; ISBN 978-0-9790342-3-7 ) 
  • Peter H. Salus , Un cuarto de siglo de UNIX (Addison Wesley, 1 de junio de 1994; ISBN 978-0-201-54777-1 ) 
  • Peter H. Salus , Casting the Net (Addison-Wesley, marzo de 1995; ISBN 978-0-201-87674-1 ) 

Enlaces externos [ editar ]

  • Distribución de software de Berkeley en Curlie
  • Una línea de tiempo de BSD e Research UNIX
  • Historia de UNIX  - Historia de UNIX y BSD usando diagramas
  • El diseño e implementación del sistema operativo 4.4BSD
  • El árbol de Unix: código fuente y manuales para versiones antiguas de Unix
  • EuroBSDCon , un evento anual en Europa en septiembre, octubre o noviembre, fundado en 2001
  • BSDCan , una conferencia en Ottawa, Ontario , Canadá, que se celebra anualmente en mayo desde 2004, en junio desde 2015
  • AsiaBSDCon , una conferencia en Tokio, que se celebra anualmente en marzo de cada año, desde 2007
  • mdoc.su - URL de páginas de manual breves para FreeBSD, OpenBSD, NetBSD y DragonFly BSD , un servicio web escrito en nginx
  • BXR.SU - Referencia cruzada BSD de superusuario , un motor de búsqueda de código fuente de kernel y espacio de usuario basado en OpenGrok y nginx