Berkeley Software Distribution
|
Berkeley Software Distribution (BSD). En español, Distribución de Software Berkeley. Se utiliza para identificar un Sistema operativo derivado del sistema Unix nacido a partir de los aportes realizados a ese sistema por la Universidad de California en Berkeley.
En los primeros años del sistema Unix sus creadores, los Laboratorios Bell de la compañía AT&T, autorizaron a la Universidad de California en Berkeley y a otras universidades a utilizar el código fuente y adaptarlo a sus necesidades. Durante la década de los setenta y los ochenta Berkeley utilizó el sistema para sus investigaciones en materia de sistemas operativos. Cuando AT&T retiró el permiso de uso a la universidad por motivos comerciales, la universidad promovió la creación de una versión inspirada en el sistema Unix utilizando los aportes que ellos habían realizado, permitiendo luego su distribución con fines académicos y al cabo de algún tiempo reduciendo al mínimo las restricciones referente a su copia, distribución o modificación.
Sumario
Historia
Los comienzos con PDP-11
Las primeras distribuciones de Unix de los laboratorios Bell en los años 70 incluían el código fuente del sistema operativo, permitiendo a los desarrolladores de las universidades modificar y extender Unix. El primer sistema Unix de Berkeley fue el PDP-11, que fue instalado en 1974, y fue utilizado desde entonces por el departamento de ciencia computacional para sus investigaciones. Otras universidades empezaron a interesarse en el software de Berkeley, y por ello en 1977 Bill Joy, entonces un estudiante de grado en Berkeley, grabó y envió cintas del primer Berkeley Software Distribution (BSD).
BSD 1 era un añadido a la sexta edición Unix, más que un sistema operativo completo. Estaba compuesto principalmente de un compilador Pascal y un editor de texto creado por el propio Joy llamado "ex".
BSD 2 fue lanzada en 1978, incluía versiones actualizadas de 1BSD y además dos nuevos programas creados por Joy que perduran en los sistemas Unix hasta hoy día. El editor de textos vi y el shell de C. Las siguientes versiones de BSD 2 contenían adaptaciones de las distribuciones de BSD basadas en la arquitectura VAX, para hacerlos compatibles con la arquitectura PDP-11.
BSD 2.9 desde 1983 incluye código de BDS 4.1c y fue la primera distribución considerada como un sistema operativo completo (Una modificación de Unix 7). La distribución más reciente, la BSD 2.11 fue lanzada en 1992, y con la ayuda de voluntarios continuó actualizándose hasta 2003.
Versiones VAX
En 1978 fue instalado en Berkeley un computador VAX, pero la adaptación de Unix a la arquitectura VAX, el UNIX/32V, no aprovechaba la capacidad de memoria virtual esta arquitectura. El kernel de 32V fue prácticamente reescrito por los estudiantes de Berkeley para aprovechar la memoria virtual, y finalmente, a finales de 1979, se lanzó el 3BSD, que incluía un nuevo kernel, adaptaciones de 2BSD a la arquitectura VAX, y las utilidades del 32V. BSD 3 también se llamó Virtual VAX/UNIX o VMUNIX (Virtual Memory Unix), y las imágenes del kernel BSD /vmunix hasta el BSD 4.4.
El logro conseguido con BSD 3 fue un factor decisivo para que el (Defense Advanced Projects Agency) (DARPA), que quería desarrollar una plataforma Unix estándar para sus investigaciones en el proyecto VLSI, fundara el Berkeley’s Computer System Research Group(CSRG).
BSD 4
Lanzado en noviembre de 1980, ofrecía muchas mejoras sobre el BSD 3, incluyendo sobre todo en el trabajo de control de la anterior versión del csh, delivermail (el presente de sendmail), señales “confiables”, y la librería de programación Curses.
BSD 4.1, lanzado en junio de 1981, fue la respuesta a las críticas hacia BSD en comparación con el sistema operativo dominante para la arquitectura VAX, el VMS. BSD 4.1 fue mejorado por Bill Joy hasta que consiguió las mismas prestaciones que el VMS. La distribución iba a llamarse en un principio BSD 5, pero fue cambiado para evitar posibles confusiones con el lanzamiento del Unix System V de AT&T.
BSD 4.2 tomó dos años para su implementación, y contenía grandes mejoras. Antes de su lanzamiento oficial aparecieron tres versiones intermedias 4.1a incorporó una versión modificada de la puesta en práctica preliminar del TCP/IP de BBN. 4.1b incluyó el nuevo Berkeley Fast File System, implementado por Marshall Kira McKusick, y la 4.1c era una versión a nivel interno que se utilizó durante los últimos meses del desarrollo del BSD 4.2. La distribución oficial de BSD 4.2 se lanzó en agosto de 1983. Fue la primera distribución de BSD desde que Bill Joy se fuera y co-fundara Sun Microsystems. Mike Karels y Marshall Kira MacKusick tomaron el control del proyecto desde ese momento. En una nota, se remarca el debut del demonio y mascota de BSD, mediante dibujo hecho por McKusick que aparecía en las portadas de los manuales impresos distribuidos por USENIX.
BSD4.3 fue lanzado en junio de 1986. Sus principales cambios eran la mejora de muchas de las nuevas contribuciones hechas por BSD 4.2 que no fueron mejoradas como lo fue el código del BSD4.3. Antes de su lanzamiento, la implementación TCP/IP que contenía BSD divergía considerablemente de la oficial realizada por BBN. Es por ello que después de muchas pruebas realizadas por DARPA, éste concluyó que la versión incluida en BSD 4.2 era superior a la nueva, y que por ello debería mantenerse en la nueva distribución. Después de la versión 4.3, se determinó que las futuras versiones deberían ser construidas basándose en otra arquitectura diferente de la ya entonces vieja VAX. En aquel momento, Power 6/32, desarrollada por Computer Consoles Inc, parecía una plataforma con más futuro, aunque fue abandonada por sus desarrolladores al poco tiempo. No obstante, la adaptación a esta plataforma realizada por BSD, el BSD 4.3-Tahoe probó la valía de la separación entre el código dependiente de la máquina y el código independiente, lo que permitía una futura portabilidad.
Hasta este momento, todas la versiones de BSD había incorporado código propietario de AT&T, lo que requería licencias para su uso. Éstas comenzaron a ser muy caras, por lo que muchas entidades externas expresaron su interés en una distribución separada del código de red propietario desarrollado por AT&T, para que no estuviera sujeto al pago de esas licencias. Esto se consiguió con Network Tape 1 (Net/1), lanzada en 1989 y creada sin código propietario de AT&T que fue libremente distribuida sobre los términos de la permisiva licencia BSD.
BSD 4.3-Reno se lanzó en 1990. Era una versión para uso interno utilizada durante la construcción de BSD 4.4. Esta distribución se movía claramente hacia la compatibilidad con POSIX, y, según alguno, lejos de la filosofía de BSD, ya que POSIX se basa en el sistema V.
Net/2 y los problemas legales
Después de Net/1, Keith Bostic propuso que más secciones de BSD no relacionadas con AT&T fueran lanzadas con la misma licencia de Net/1. Con esta intención empezó un proyecto que tenía como fin implementar muchas de las utilidades estándar de Unix sin código de AT&T. En un plazo de 18 meses, todas la utilidades propietarias de AT&T fueron reemplazadas, y tan sólo quedaron unos pocos archivos propietarios en el kernel. Estos ficheros fueron finalmente eliminados, dando lugar a Net/2, prácticamente un sistema operativo completo y además, libremente distribuible.
Net/2 fue la base para dos adaptaciones independientes de BSD para la arquitectura 80386 de Intel, el 386BSD de William Jolliz y el propietario BSD/386 (renombrado posteriormente como BSD/OS) de Berkeley Software Design( BSDi). 386BSD tuvo poca vida, pero fue el punto de partida de FreeBSD y NetBSD.
BSDi tuvo al poco tiempo un problema legal con AT&T, propietarios de los derechos de System V y la marca Unix.. El pleito fue archivado en 1992, bajo la prescripción de no distribuir Net/2 hasta que la validez de las demandas pudiera ser determinada.
El pleito ralentizó el desarrollo de los descendientes libres de BSD durante cerca de dos años durante los cuales su status legal estuvo en cuestión, y a causa de esto, los sistemas basados mayor relevancia. Linux y 386BSD empezaron su desarrollo al mismo tiempo, e incluso Linus Torvalds dijo que si hubiera habido un sistema operativo basado en Unix libre para la arquitectura 386, probablemente no hubiera creado Linux. Aunque es debatible qué efecto hubiera tenido en el campo del software, es seguro que hubiera sido sustancial.
4.4BSD y descendientes
El pleito finalizó en enero de 1994 a favor de Berkeley. De los 18000 archivos que contenía la distribución, tan sólo tres fueron eliminados y 70 modificados para que mostraran los derechos propietarios de AT&T.
En junio de 1994 se lanzó BSD 4.4 con dos versiones: una libremente distribuible llamada BSD 4.4-Lite, sin código propietario, y la BSD 4.4-Encumbered, solamente para los concesionarios de AT&T.
La última distribución creada por Berkeley fue el BSD 4.4-Lite Release 2, lanzado en 1995, después de que el CSRG fuera disuelto y el desarrollo de BSD en Berkeley fuera cesado. Desde entonces han aparecido muchas distribuciones basadas en BSD 4.4, tales como FreeBSD, OpenBSD y NetBSD.
Además, la licencia permisiva de BSD ha permitido que otros sistemas operativos, tanto libres como propietarios incorporaran código BSD. Por ejemplo, Microsoft Windows ha utilizado código derivado de BSD en su implementación de TCP/IP, y utiliza versiones recompiladas de la línea de comandos BSD para las herramientas de redes. También Darwin, el sistema en el cual está construido Mac OS X, el sistema operativo de Apple, está derivado en parte de FreeBSD 5. Otros sistemas basados en Unix comerciales como Solaris también utilizan código BSD.
Contribuciones
Algunos sistemas operativos descendientes del sistema desarrollado por Berkeley son SunOS, FreeBSD, NetBSD, OpenBSD y Mac OS X. BSD también ha hecho grandes contribuciones en el campo de los sistemas operativos en general, como por ejemplo:
- el manejo de memoria virtual paginado por demanda
- el control de trabajos
- el Fast FileSystem
- el protocolo TCP/IP (casi todas las implementaciones de TCP derivan de la de 4.4BSD-Lite)
Bibliografía
- 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, November, 1989; ISBN 978-0-201-06196-3)
- Marshall K. McKusick, Keith Bostic, Michael J. Karels, John S. Quartermain, The Design and Implementation of the 4.4BSD Operating System (Addison Wesley, 1996; ISBN 978-0-201-54979-9)
- Marshall K. McKusick, George V. Neville-Neil, The Design and Implementation of the FreeBSD Operating System (Addison Wesley, August 2, 2004; ISBN 978-0-201-70245-3)
Véase también
Enlaces externos
- TUHS, The UNIX Heritage Society contiene documentación y el código fuente de numerosas versiones antiguas de UNIX (tanto de ATT como BSD y variantes).
- FreeBSD en español
- La familia BSD y sus objetivos
- FreeBSD software