Historia y Evolución del Sistema Operativo BSD

BSD son las iniciales de Berkeley Software Distribution (en español, Distribución de Software Berkeley) y 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.

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 en 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 y 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.

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.

BSD 4.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 BSD 4.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.

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 en Linux adquirieron 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.

Simplificación de un circuito

Simplificar un circuito consiste en encontrar primero la función booleana que representa el circuito, luego simplificar la función y finalmente dibujar el circuito de la función simplificada.

Surgen algunos problemas o inconvenientes en la simplificación de circuitos. A veces puede ser difícil o imposible decir, sólo por la forma de la función booleana, cuál de varios circuitos es el más simple. El mejor circuito puede depender del costo relativo del alumbrado y de los conmutadores requeridos.

Si se usan solamente las leyes del álgebra booleana puede suceder que una posible simplificación pudiera ser omitida. También es posible que cierto paso sea más fácil de reconocer si se expresa en términos de una de las leyes duales en lugar de la otra; por lo anterior se sugiere otro método de simplificación que puede ser útil y es el siguiente: para simplificar una función f se toma el dual de f y se simplifica la expresión resultante. Si se toma otra vez el dual, se obtiene de nuevo la función f pero en una forma diferente que, generalmente, será más simple que la original.

Mapas de Karnaugh

Las formas normales disyuntivas y conjuntivas son útiles para varios propósitos, tales como determinar si dos expresiones representan la misma función booleana. Para otros propósitos son a menudo engorrosas por tener más operaciones de las necesarias. Un método para lograr definir una expresión más simple que otra es el método de los mapas de Karnaugh que simplemente son diagramas de Venn con las distintas regiones arregladas en cuadros dentro de un rectángulo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.