La historia de la distribución de software de Berkeley comienza en la década de 1970.
1BSD (PDP-11)
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 . [1]
También en 1975, Ken Thompson tomó un año sabático de Bell Labs y vino 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 . [1] 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. [2] 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. [1]
2BSD (PDP-11)
La Second Berkeley Software Distribution (2BSD), lanzada en mayo de 1979, [3] 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. [1] Una característica adicional fue un paquete de redes llamado Berknet , desarrollado por Eric Schmidt como parte de su trabajo de tesis de maestría , que podía conectar hasta veintiséis computadoras y proporcionar correo electrónico y transferencia de archivos. [4]
Después de que 3BSD (ver más abajo) salió para la línea de computadoras VAX , todavía se emitieron y distribuyeron nuevas versiones de 2BSD para PDP-11 a través de USENIX ; por ejemplo, 2.8.1BSD de 1982 incluía una colección de correcciones para problemas de rendimiento en la Versión 7 Unix , [5] y las versiones posteriores contenían puertos de cambios de las versiones de BSD basadas en VAX a la arquitectura PDP-11. 2.9BSD de 1983 incluía código de 4.1cBSD, y fue la primera versión que era un sistema operativo completo (un Unix V7 modificado) en lugar de un conjunto de aplicaciones y parches.
La versión más reciente, 2.11BSD, se publicó por primera vez en 1991. [6] En el siglo XXI, continuaron las actualizaciones de mantenimiento de los voluntarios: el parche # 470 se lanzó el 12 de diciembre de 2020. [7]
3BSD
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 fue reescrito en gran parte por los estudiantes de Berkeley para incluir una implementación de memoria virtual 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 a fines de 1979. .3BSD también se llamaba alternativamente Virtual VAX / UNIX o VMUNIX (para Virtual Memory Unix), y las imágenes del kernel de BSD se llamaban normalmente /vmunix
hasta 4.4BSD.
El éxito de 3BSD fue un factor importante en la decisión de la Agencia de Proyectos de Investigación Avanzada de Defensa (DARPA) de financiar el Grupo de Investigación de Sistemas Informáticos (CSRG) de Berkeley , que desarrollaría una plataforma Unix estándar para futuras investigaciones de DARPA en el Proyecto VLSI .
4BSD
4BSD (noviembre de 1980) ofreció una serie de mejoras sobre 3BSD, en particular el control de trabajos en el csh publicado anteriormente , delivermail (el antecedente de sendmail ), señales "confiables" y la biblioteca de programación Curses . En una revisión de 1985 de las versiones de BSD, John Quarterman et al. , escribió: [8]
4BSD fue el sistema operativo elegido para los VAX desde el principio hasta el lanzamiento de System III (1979-1982) [...] La mayoría de las organizaciones comprarían una licencia de 32V y pedirían 4BSD a Berkeley sin molestarse en comprar una cinta de 32V. Muchas instalaciones dentro del Bell System ejecutaron 4.1BSD (muchas todavía lo hacen y muchas otras ejecutan 4.2BSD).
4.1BSD
4.1BSD (junio de 1981) fue una respuesta a las críticas al desempeño de BSD en relación con el sistema operativo VAX dominante, VMS . Bill Joy ajustó sistemáticamente el kernel 4.1BSD hasta que pudiera funcionar tan bien como VMS en varios puntos de referencia. El lanzamiento se habría llamado 5BSD , pero después de las objeciones de AT&T, se cambió el nombre; AT & T temía confusión con AT & T 's UNIX System V . [9]
4.2BSD
4.2BSD (agosto de 1983) tardaría más de dos años en implementarse y contenía varias revisiones importantes. Antes de su lanzamiento oficial llegaron tres versiones intermedias: 4.1a incorporó una versión modificada de la implementación preliminar de TCP / IP de BBN ; 4.1b incluyó el nuevo Berkeley Fast File System , implementado por Marshall Kirk McKusick ; y 4.1c fue una versión provisional durante los últimos meses del desarrollo de 4.2BSD. De vuelta en Bell Labs, 4.1cBSD se convirtió en la base de la octava edición de Research Unix , y una versión con soporte comercial estaba disponible en mtXinu .
Para guiar el diseño de 4.2BSD, Duane Adams de DARPA formó un "comité directivo" compuesto por Bob Fabry , Bill Joy y Sam Leffler de UCB , Alan Nemeth y Rob Gurwitz de BBN, Dennis Ritchie de Bell Labs , Keith Lantz de Stanford , Rick Rashid de Carnegie-Mellon , Bert Halstead del MIT , Dan Lynch de ISI y Gerald J. Popek de UCLA . El comité se reunió de abril de 1981 a junio de 1983.
Además del Fast File System, se aceptaron varias funciones de colaboradores externos, incluidas las cuotas de disco y el control de trabajos. Sun Microsystems proporcionó pruebas en sus máquinas Motorola 68000 antes del lanzamiento, lo que garantiza la portabilidad del sistema. [8]
El lanzamiento oficial de 4.2BSD llegó en agosto de 1983. Fue notable como la primera versión lanzada después de la partida de Bill Joy en 1982 para cofundar Sun Microsystems; Mike Karels y Marshall Kirk McKusick asumieron roles de liderazgo dentro del proyecto desde ese momento en adelante. En una nota más ligera, también marcó el debut de la mascota demonio de BSD en un dibujo de John Lasseter que apareció en la portada de los manuales impresos distribuidos por USENIX .
4.3BSD
4.3BSD fue lanzado en junio de 1986. Sus principales cambios fueron mejorar el rendimiento de muchas de las nuevas contribuciones de 4.2BSD que no habían sido tan afinadas como el código 4.1BSD. Antes del lanzamiento, la implementación de BSD de TCP / IP había divergido considerablemente de la implementación oficial de BBN. Después de varios meses de pruebas, DARPA determinó que la versión 4.2BSD era superior y permanecería en 4.3BSD. (Consulte también Historia de Internet ).
Después de 4.3BSD, se determinó que BSD se alejaría de la envejecida plataforma VAX. 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. [10]
Hasta entonces, todas las versiones de BSD incorporaban 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.
4.3BSD-Reno llegó a principios de 1990. Fue una versión provisional durante el desarrollo inicial de 4.4BSD, y su uso se consideró una "apuesta", de ahí el nombre del centro de juego de Reno, Nevada . Esta versión se movía explícitamente hacia el cumplimiento de POSIX , [10] y, según algunos, se alejaba de la filosofía BSD (ya que POSIX se basa en gran medida en System V y Reno estaba bastante hinchado en comparación con versiones anteriores [ cita requerida ] ). Entre las nuevas características se encuentran una implementación de NFS de la Universidad de Guelph y soporte para la gama de computadoras HP 9000 , originada en el puerto "HPBSD" de la Universidad de Utah . [11]
En agosto de 2006, la revista InformationWeek calificó a 4.3BSD como el "Mejor software jamás escrito". [12] Comentaron: "BSD 4.3 representa el mayor apoyo teórico de Internet".
Net / 2 y problemas legales
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. Por ejemplo, vi , que se había basado en la versión original de Unix de ed , se reescribió como nvi (nuevo vi). 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ían tanta ambigüedad legal, obtuvieron un mayor apoyo. Aunque no se lanzó hasta 1992, el desarrollo de 386BSD fue anterior al de Linux. Linus Torvalds ha dicho que si 386BSD o el kernel GNU hubieran estado disponibles en ese momento, probablemente no habría creado Linux. [13] [14] En junio de 1993, 4.4BSD-Encudered se entregó únicamente a los titulares de licencias de la USL.
4.4BSD y descendientes
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. Marshall Kirk McKusick resume la demanda y su resultado: [15]
Se alegó copia de códigos y robo de secretos comerciales. El código infractor real no se identificó durante casi dos años. La demanda podría haberse prolongado mucho más de no ser por el hecho de que Novell compró USL a AT&T y buscó un acuerdo. Al final, se eliminaron tres archivos de los 18.000 que componían la distribución y se realizaron algunos cambios menores en otros archivos. Además, la Universidad acordó agregar derechos de autor de la USL a unos 70 archivos, con la condición de que esos archivos continuaran redistribuyéndose libremente.
En marzo de 1994, se lanzó 4.4BSD-Lite que ya no requiere una licencia de código fuente USL y también contenía muchos otros cambios sobre la versión 4.4BSD-Encudered original.
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 ).
Además, la naturaleza permisiva de la licencia BSD ha permitido que muchos otros sistemas operativos, tanto gratuitos como propietarios, incorporen código BSD. Por ejemplo, Microsoft Windows ha utilizado código derivado de BSD en su implementación de TCP / IP [16] y agrupa versiones compiladas de las herramientas de red de línea de comandos de BSD desde Windows 2000 . [17] También Darwin , el sistema en el que se construye macOS de Apple , es un derivado de 4.4BSD-Lite2 y FreeBSD. Varios sistemas operativos comerciales de Unix, como Solaris , también contienen cantidades variables de código BSD.
Descendientes significativos de BSD
BSD ha sido la base de una gran cantidad de sistemas operativos. Los más notables de estos hoy en día son quizás los principales BSD de código abierto : FreeBSD, NetBSD y OpenBSD, que se derivan de 386BSD y 4.4BSD -Lite por varias rutas. Tanto NetBSD como FreeBSD comenzaron su vida en 1993, inicialmente derivados de 386BSD, pero en 1994 migraron a una base de código 4.4BSD-Lite. OpenBSD se bifurcó en 1995 de NetBSD. Un número de sistemas operativos comerciales también están parcial o totalmente basado en BSD o sus descendientes, entre ellos de Sun SunOS y Apple Inc. 's macOS .
La mayoría de los sistemas operativos BSD actuales son de código abierto y están disponibles para su descarga, sin cargo, bajo la licencia BSD , siendo la excepción más notable macOS . También suelen utilizar una arquitectura de kernel monolítica , además de macOS y DragonFly BSD, que cuentan con kernels híbridos . Los diversos proyectos BSD de código abierto generalmente desarrollan el kernel y los programas y bibliotecas de usuario juntos, y el código fuente se administra mediante un único repositorio central de fuentes.
En el pasado, BSD también fue utilizado como 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 ). Partes del software de NeXT se convirtieron en la base de macOS , una de las variantes de BSD de mayor éxito comercial en el mercado general.
Una selección de importantes versiones de Unix y sistemas operativos similares a Unix que descienden de BSD incluye:
- FreeBSD , un sistema operativo de código abierto de propósito general.
- NeXT NEXTSTEP y OpenStep , basado en el kernel de Mach y 4BSD ; el antepasado de macOS
- Apple Inc. 's Darwin , el núcleo de macOS y iOS ; construido sobre el kernel de XNU (parte Mach , parte FreeBSD, parte código derivado de Apple) y un espacio de usuario, gran parte del cual proviene de FreeBSD
- Orbis OS , la bifurcación de Sony de FreeBSD 9 es el sistema operativo para la PS4. Se cree que CellOS para el sistema PS3 también es una bifurcación de FreeBSD, y se sabe que contiene código FreeBSD y NetBSD
- TrueOS , GhostBSD y DesktopBSD , distribuciones de FreeBSD con énfasis en la facilidad de uso e interfaces amigables para el usuario de PC de escritorio / portátil.
- MidnightBSD , otra bifurcación de FreeBSD
- DragonFly BSD , una bifurcación de FreeBSD para seguir un diseño alternativo, particularmente relacionado con SMP .
- NextBSD , nueva distribución BSD derivada de FreeBSD 10.1 y varios componentes macOS.
- FreeNAS es un servidor de almacenamiento gratuito adjunto a la red basado en una versión mínima de FreeBSD.
- NAS4Bifurcación gratuita de la versión 0.7 FreeNAS , servidor de almacenamiento conectado a la red.
- Nokia IPSO (variante IPSO SB), el sistema operativo basado en FreeBSD que se utiliza en los dispositivos Nokia Firewall.
- El sistema operativo del dispositivo Netflix Open Connect . [19]
- Junos , el sistema operativo para enrutadores Juniper , una versión personalizada de FreeBSD y una variedad de otros sistemas operativos integrados
- Isilon Systems ' OneFS , el sistema operativo utilizado en los sistemas de almacenamiento en clúster de Isilon IQ de la serie, es una versión muy personalizada de FreeBSD.
- Data ONTAP de NetApp , el sistema operativo para los archivadores de NetApp, es una versión personalizada de FreeBSD con la arquitectura ONTAP construida en la parte superior.
- m0n0wall , una distribución de FreeBSD modificada para su uso como cortafuegos.
- pfSense firewall / enrutador gratuito de código abierto basado en FreeBSD.
- OPNsense , firewall, una bifurcación de pfSense
- Coyote Point Systems EQ / OS , un tiempo de ejecución reforzado de alto rendimiento para el equilibrio de carga del servidor .
- NeXT NEXTSTEP y OpenStep , basado en el kernel de Mach y 4BSD ; el antepasado de macOS
- NetBSD , un BSD de código abierto centrado en el diseño limpio y la portabilidad.
- OpenBSD , una bifurcación de 1995 de NetBSD, se centró en la seguridad.
- Force10 FTOS , el sistema operativo para conmutadores de red de centros de datos Force 10 y Dell .
- Dell DNOS versión 9 y superior, el sucesor de FTOS .
- TrustedBSD
- F5 Networks , F5 BIGIP Appliances utilizaron un sistema operativo BSD como sistema operativo de gestión hasta que se lanzó la versión 9.0, que se basa en Linux.
- De DEC Ultrix , la versión oficial de Unix para sus PDP-11 , VAX, y DECstation sistemas
- Sony NEWS-OS , un sistema operativo basado en BSD para sus estaciones de trabajo de ingeniería de red
- OSF / 1 , un Unix basado en kernel híbrido desarrollado por Open Software Foundation , que incorpora un kernel Mach modificado y partes de 4BSD
- Tru64 UNIX (anteriormente DEC OSF / 1 AXP o Digital UNIX), el puerto de OSF / 1 para sistemas basados en DEC Alpha de DEC , Compaq y HP .
- Versiones anteriores a 5.0 de Sun Microsystems SunOS , una versión mejorada de 4BSD para los sistemas Sun-2 y Sun-3 basados en Sun Motorola 68k , sistemas basados en SPARC y sistemas Sun386i basados en x86 (SunOS 5.0 y versiones posteriores son System V Versión 4 basada en)
- 386BSD , el primer sistema operativo basado en BSD de código abierto y el antepasado de la mayoría de los sistemas BSD actuales
- DEMOS , un clon BSD soviético
- BSD / OS , un BSD patentado (ahora desaparecido) para PC
- RetroBSD , una bifurcación de BSD 2.11 diseñada para ejecutarse en microcontroladores como el PIC32
- LiteBSD , una variante de 4.4BSD Unix para microcontroladores PIC32MZ
Ver también
- Demonio BSD
- Licencias BSD
- Comparación de sistemas operativos BSD
- Lista de sistemas operativos BSD
Referencias
- ↑ a b c d Salus, Peter H. (2005). "Capítulo 7. BSD y CSRG". El demonio, el ñu y el pingüino . Groklaw .
- ^ Salus, Peter H. (1 de junio de 1994). Un cuarto de siglo de UNIX . Addison Wesley . pag. 142. ISBN 978-0-201-54777-1.
- ^ Toomey, Warren. "Detalles de los archivos PUPS" . tuhs.org . La Sociedad de Herencia de Unix . Consultado el 6 de octubre de 2010 .
- ^ Shacklette, Mark (2004). "Sistema operativo Unix". La enciclopedia de Internet . Wiley. pag. 497. ISBN 9780471222019.
- ^ Salus, Peter H. (2005). "Capítulo 6. 1979". El demonio, el ñu y el pingüino . Groklaw .
- ^ "Internet, Unix, BSD y Linux" .
- ^ "Las actualizaciones nroff requieren makewhatis.sed actualizado" .
- ^ a b 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 .
- ^ 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.
- ^ a b M.K. 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.
- ^ Hibler, Mike (julio de 1999). "HPBSD: puerto 4.3bsd de Utah para máquinas de la serie HP9000" . Consultado el 10 de febrero de 2014 .
- ^ Babcock, Charles (14 de agosto de 2006). "¿Cuál es el mejor software jamás escrito?" . InformationWeek . Consultado el 20 de enero de 2009 .
- ^ Linksvayer, Mike (1993). "La elección de una generación GNU: una entrevista con Linus Torvalds" . Revista Meta . Consultado el 20 de enero de 2009 .
- ^ L. Torvalds (29 de enero de 1992). "Re: LINUX está obsoleto" . Grupo de noticias : comp.os.minix . Usenet: [email protected] . Consultado el 11 de mayo de 2006 .
- ^ Eric S. Raymond. "El arte de la programación Unix: orígenes e historia de Unix, 1969-1995" . Consultado el 18 de julio de 2014 .
- ^ 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.
- ^ "Código BSD en Windows" . everything2.com . 20 de marzo de 2001 . Consultado el 20 de enero de 2009 .
- ^ "Encuesta de uso de BSD" (PDF) . Grupo de certificación BSD. 31 de octubre de 2005. Archivado desde el original (PDF) el 18 de enero de 2012 . Consultado el 20 de enero de 2009 .
- ^ "Guía de implementación del dispositivo Netflix Open Connect" (PDF) . 29 de mayo de 2012.
enlaces externos
- Una línea de tiempo de BSD e Research UNIX