Vous êtes sur la page 1sur 11

Breve historia de FreeBSD

La gnesis del proyecto FreeBSD se remonta a comienzos de 1993, en parte como una extensin del Unofficial 386BSD Patchkit debida a los tres ltimos coordinadores del patchkit: Nate Williams, Rod Grimes y yo mismo. Nuestro objetivo original era producir una instantnea de 386BSD intermedia para arreglar una serie de problemas que no se podan solventar con uno de nuestros parches. Quizs haya quien recuerde que el primer nombre del proyecto fue 386BSD 0.5 o 386BSD Interim debido a esto. 386BSD era el sistema operativo de Bill Jolitz, que hasta ese punto haba estado sufriendo severamente las consecuencias de prcticamente un ao que ms valdra olvidar. A medida que el patchkit se iba haciendo haciendo ms incmodo cada dia que pasaba, as que acordamos ayudar a Bill con una instantnea del sistema. Estos planes se vieron bruscamente interrumpidos cuando Bill Jolitz decidi repentinamente retirar su aprobacin al proyecto sin dejar ninguna indicacin clara de qu deba hacerse a continuacin. No tardamos mucho en decidir que el objetivo segua valiendo la pena, aun sin el soporte de Bill, as que adoptamos el nombre de FreeBSD, una idea de David Greenman. Nuestros objetivos iniciales se fijaron tras consultar a los usuarios del sistema y cuando qued claro que el proyecto estaba en marcha y que poda llegar a ser una realidad contact con Walnut Creek CDROM con idea de mejorar los canales de distribucin de FreeBSD y hacer ms fcil llegar a aquellas personas que no tenan la suerte de tener acceso a Internet. Walnut Creek CDROM no solo nos ayud con la idea de distribuir FreeBSD en CD; tambin facilit al Proyecto una mquina en la que trabajar y una conexin rpida a Internet. Sin la fe casi sin precedentes que tuvo Walnut Creek CDROM en lo que era en aqul momento un proyecto completamente desconocido, es bastante improbable que FreeBSD hubiera logrado tanto y tan rpido como ha logrado hasta el dia de hoy. La primera distribucin en CDROM (y disponible por la red) fue FreeBSD 1.0, publicado en diciembre de 1993. Estaba basado en la cinta de U.C. Berkeley del 4.3BSD-Lite (Net/2), con bastantes componentes de 386BSD y de trabajos proveniente de la Free Software Foundation. Fue un logro bastante apreciable para una primera versin; pronto le sigui FreeBSD 1.1 en mayo de 1994, que tuvo un gran xito. Por entonces se formaron unos inesperados nubarrones en el horizonte ya que Novell y la Universidad de Berkeley resolvieron el largo juicio acerca del estatus legal de la cinta de Berkeley Net/2. Una condicin del acuerdo fue la concesin por parte de Berkeley de que una gran parte de Net/2 era cdigo gravado y propiedad de Novell, quien a su vez lo haba adquirido de AT&T anteriormente. Berkeley obtuvo a cambio de Novell el beneplcito para que 4.4BSD -Lite, cuando saliera, fuera declarado como no gravado y se instara a los usuarios de Net/2 a cambiar. Esto repercuti sobre el Proyecto FreeBSD, a quienes se dio hasta julio de 1994 para dejar de sacar su producto basado en Net/2. Bajo los trminos de aquel acuerdo se permita al Proyecto sacar una ltima versin antes de la fecha lmite: esa versin fue FreeBSD 1.1.5.1. FreeBSD tuvo entonces que acometer la ardua tarea de (literalmente) reinventarse a s mismo a partir de partes nuevas y bastante incompletas de 4.4BSD-Lite. Las versiones Lite eran ligeras en parte porque el CSRG de Berkeley quit grandes partes del cdigo necesario para construir un sistema que pudiera arrancar (debido a diversos requisitos legales) y porque la versin del 4.4 para Intel era muy incompleta. Hasta noviembre de 1994 el proyecto al fin realiz esa transicin;

apareci FreeBSD 2.0 en la red y (a finales de diciembre) en CDROM. A pesar de no estar suficientemente pulida esta distribucin fue un xito significativo, al cual sigui el ms robusto y fcil de instalar FreeBSD 2.0.5; era junio de 1995. Sacamos FreeBSD 2.1.5 en Agosto de 1996; pareci ser suficientemente popular entre ISPs y otras comunidades comerciales como para que mereciera otra versin de la rama 2.1-STABLE. Fue FreeBSD 2.1.7.1, publicada en febrero de 1997, que marc el final de la lnea principal de desarrollo en 2-1.STABLE. Una vez en puesta en mantenimiento, en esa rama (RELENG_2_1_0) slo se haran ya mejoras en seguridad y se corregiran errores crticos. FreeBSD se ramific desde la lnea principal de desarrollo (-CURRENT) en noviembre de 1996 como la rama RELENG_2_2, y la primera versin completa (2.2.1) sali en abril de 1997. Se hicieron ms versiones de la rama 2.2 en verano y otoo de 1997, la ltima de las cuales (2.2.8) apareci en noviembre de 1998. La primera versin 3.0 oficial sali en octubre de 1998 y marc el inicio del fin de la rama 2.2. El rbol se ramific de nuevo el 20 de Enero de 1999, dando lugar a las ramas 4.0CURRENT y 3.X-STABLE. A partir de la 3.X-STABLE sali 3.1 el 15 de febrero de 1999, 3.2 el 15 de mayo de 1999, 3.3 el 16 de septiembre de 1999, 3.4 el 20 de diciembre de 1999 y 3.5 el 24 de junio de 2000. Pocos dias despus de esta apareci una actualizacin menor, la 3.5.1, que incorporaba parches de seguridad de ltima hora para Kerberos. Esa fue la ltima versin de la rama 3.X. Hubo otra ramificacin el 13 de Marzo de 2000 que dio lugar a la rama 4.XSTABLE. Ha habido varias versiones de la misma desde entonces: 4.0-RELEASE sali en marzo de 2000 y la ltima versin de la rama, 4.11-RELEASE, apareci en enero de 2005. La largamente esperada 5.0-RELEASE se anunci el 19 de enero de 2003, culminando casi tres aos de trabajo; esta versin situ a FreeBSD en el escenario del multiproceso avanzado y el soporte de hilos para las aplicaciones, e introdujo soporte para las plataformas UltraSPARC y ia64. Sigui a esta la versin 5.1 lanzada en Junio de 2003. La ltima versin de 5.X como la rama -CURRENT fu 5.2.1-RELEASE, que sali en febrero de 2004. La rama RELENG_5, creada en agosto de 2004, desemboc en 5.3-RELEASE, que marc el inicio de la rama de versiones 5-STABLE. La versin 5.5-RELEASE ms reciente apareci en mayo de 2006. No aparecern ms versiones a partir de la rama RELENG_5. El rbol se dividi de nuevo en julio de 2005, en esta ocasin para crear RELENG_6. 6.0-RELEASE, la primera versin de la rama 6.X, apareci en noviembre de 2005. 8.3-RELEASE apareci en April 2012. Irn apareciendo ms versiones a partir de la rama RELENG_6. La rama RELENG_7

Objetivos del Proyecto FreeBSD


Los objetivos del Proyecto FreeBSD son producir software que pueda usarse con cualquier propsito y sin ningn tipo de restriccin. Muchos de nosotros participamos de forma significativa en el cdigo (y en el proyecto) y ciertamente no nos importara recibir una pequea compensacin econmica de vez en cuando, pero no vamos a insistir en ello. Creemos que nuestra misin ms importante y primordial es facilitar el acceso al cdigo a cualquiera, para lo que quiera usarlo y de forma que se use tanto y para sacarle tanto provecho para sea posible. Creo

que ste es uno de los objetivos ms fundamentales del software libre y algo que nosotros apoyamos con entusiasmo. El cdigo fuente de nuestro rbol que se halla bajo la GNU General Public License (GPL) o la Library General Public License (LGPL) viene con algunas restricciones ms, si bien para garantizar acceso al mismo, y no al contrario como es lo habitual. Debido a las complicaciones adicionales que pueden surgir en el uso comercial de software con licencia GPL preferimos que el software que incluyamos en el rbol venga bajo la licencia BSD, menos restrictiva, siempre y cuando sea una opcin razonable.

El modelo de desarrollo de FreeBSD


El desarrollo de FreeBSD es un proceso muy abierto y flexible: FreeBSD est literalmente compuesto de partes hechas por centenares de personas de todo el mundo, como puede verse en este texto. la infraestructura de desarrollo del proyecto FreeBSD permite a estos cientos de desarrolladores trabajar a travs de Internet. Estamos buscando constantemente de nuevos desarrolladores e ideas. Las personas interesadas en vincularse ms al proyecto tienen que ponerse en contacto con nosotros en la lista de correo de discusiones tcnicas en FreeBSD. La lista de anuncios importantes del Proyecto FreeBSD est a disposicin de quienes deseen dar a conocer a otros usuarios de FreeBSD grandes reas de trabajo. Veamos unas cuantas cosas tiles sobre el Proyecto FreeBSD y su proceso de desarrollo, ya sea trabajando de forma independiente o en estrecha cooperacin: Los repositorios SVN y CVS El rbol central de cdigo de FreeBSD se ha mantenido mediante CVS (Concurrent Versions System, o sistema concurrente de versiones), una herramienta de control de cdigo totalmente libre que forma parte de FreeBSD. En junio de 2008 el Proyecto adopt SVN (Subversion). La necesidad de un cambio como este vena de largo a medida que las limitaciones tcnicas que el uso de CVS impona se iban haciendo ms y ms obvias con la rpida expansin del rbol de cdigo y de la cantidad de historial de cambios que hay que almacenar y gestionar. Aunque el repositorio principal use SVN las aplicaciones del lado del cliente como CVSup y csup, que dependen de la infraestructura anterior basada en CVS, siguen funcionando normalmente; los cambios que se hacen en el repositorio SVN se van replicando en el repositorio CVS con este fin. Actualmente (octubre 2008) solamente el rbol central de cdigo usa SVN. Los repositorios de documentacin, WWW y Ports siguen usando still usingCVS. El repositorio primario est alojado en una mquina en Santa Clara (California, EEUU), que constituye el original del que todas las rplicas (a las que llamamos a veces mirrors) son copias exactas actualizadas cada muy poco tiempo. El rbol SVN, que contiene tambin los rboles -CURRENT y -STABLE, puede replicarse muy fcilmente en local en su mquina. Consulte la seccin Sincronizacin del rbol de cdigo para ms informacin. La lista de committers Los committers son la gente que tienen permisos de escritura en el los fuentes de FreeBSD (el trmino committer viene de la orden commit de cvs(1), que sirve para hacer cambios en el repositorio CVS). La mejor manera de enviar aportaciones para que sean revisadas por los committers es usar send-pr(1). Si le

parece que si pareciera que algo va mal en el sistema tambin puede enviar correo electrnico a la lista de correo para 'committers' de FreeBSD. El Core Team de FreeBSD El Core Team de FreeBSD sera el equivalente a una junta directiva si el Proyecto FreeBSD fuese una compaa. La tarea principal del Core Team es la de garantizar que el Proyecto como un todo tenga salud y se mueva en las direcciones adecuadas. Otra de sus funciones es invitar a desarrolladores comprometidos y responsables a que se unan a nuestro equipo, adems de reclutar nuevos miembros del Core Team cuando alguno se va. El Core Team actual fue elegido entre un conjunto de candidatos committers en julio de 2008. Se celebran elecciones cada dos aos. Algunos miembros del Core Team tienen tambin reas especficas de responsabilidad, pues se encargan de garantizar que grandes secciones del sistema funcionen segn lo previsto. Hay una lista completa de desarrolladores de FreeBSD con sus reas de responsabilidad en la lista de colaboradores. .

Contribuidores externos Por ltimo, y no por ello menos importante, el mayor grupo de desarrolladores est formado por los mismos usuarios, quienes constantemente nos aportan comentarios y correccin de errores. La mejor manera de seguir de cerca el desarrollo (al estilo descentralizado de FreeBSD) es suscribirse a la lista de correo de discusiones tcnicas en FreeBSD, que es donde se habla de este tipo de cosas. Consulte el Apndice A si necesita ms informacin sobre las diferentes listas de correo de FreeBSD. La lista de colaboradores es larga y no para de crecer. ?Por qu no apuntarse y hacer algo en FreeBSD hoy mismo? Aportar cdigo no es la nica manera de ayudar al proyecto; hay una lista completa de tareas pendientes en el sitio web del Proyecto FreeBSD. En resumen, nuestro modelo de desarrollo est organizado como un conjunto de crculos concntricos. El modelo centralizado est diseado pensando el la comodidad de los usuarios de FreeBSD, que as tienen un modo sencillo de estar al dia con una base de cdigo central y por supuesto no para excluir a quien quiera ayudar. Nuestro afn es ofrecer un sistema operativo estable con un gran conjunto de aplicaciones coherentes que los usuarios puedan instalar y usar fcilmente (y este modelo est dando buenos resultados) Lo nico que pedimos a quienes quieran unirse a nosotros como desarrolladores de FreeBSD es la misma dedicacin que los integrantes actuales tienen.

En qu consiste el FreeBSD
FreeBSD es un sistema operativo libre y gratuito que se distribuye con el cdigo fuente ntegro. Est basado en 4.4BSD-Lite y est diseado para funcionar en sistemas Intel i386, i486, Pentium, Pentium Pro, Celeron, Pentium II,Pentium III, Pentium III, Pentium4 (o compatible), Xeon, DEC Alpha y sistemas basados en SUN UltraSPARC. Est basado principalmente en software del grupo CSRG de la Universidad de Berkeley (California), y tiene mejoras importadas de NetBSD, OpenBSD, 386BSD y cdigo creado al amparo de la Free Software Foundation. Desde la versin 2.0 de FreeBSD de finales del 94 el rendimiento, conjunto de funcionalidades, y estabilidad del sistema han mejorado drsticamente. El ltimo cambio consiste en un rediseo del sistema de memoria virtual con una cach unificada de VM/buffer que no solo aumenta el rendimiento sino que reduce el consumo de memoria de FreeBSD, haciendo que una configuracin de 5 MB sea un mnimo ms aceptable. Otras mejoras incluyen soporte completo para clientes y servidores NIS, soporte para transacciones TCP, llamada bajo demanda PPP, soporte para DHCP integrado, un subsistema SCSI mejorado, soporte para RDSI (ISDN), soporte para ATM, FDDI, adaptadores Fast y Gigabit Ethernet (1000 Mbit), soporte mejorado para los ltimos controladores Adaptec y cientos de correcciones de errores. Adems de la distribucin base FreeBSD ofrece una coleccin de software con miles de programas de uso comn. En el momento de escribir esto hay unos 24,000 Ports La lista de Ports comprende desde servidores HTTP (WWW), juegos, lenguajes de programacin, editores, y prcticamente cualquier cosa. La coleccin de Ports completa requiere un espacio de aproximadamente 500 MB, todos ellos expresados como deltas de sus fuentes originales. Esto hace que nos sea mucho ms fcil actualizar Ports y reduce notablemente el espacio en disco que necesitaba la anterior Coleccin de Ports 1.0. Para compilar un port uno simplemente se sita bajo el directorio del programa que desea instalar, escribe make install y deja que el sistema se encargue del resto. FreeBSD usa ms espacio de swap que Linux No lo hace. Deberas pensar "Porque mi swap parece lleno?". Si esto es lo que realmente queras decir, es por que poniendo los datos en swap en lugar de descartarlos, hace que sea ms rpido recuperarlos que si el paginador tuviese que ir a travs del sistema de ficheros y usar bloques sin modificar desde un ejecutable. La cantidad actual de pginas que puedes tener en l corre en una sola vez no es reducida; las pginas sin usar son desplazadas como sea necesario.

Forma en que s personaliza el kernel Primero, se necesita la distribucin completa de fuentes o, por lo menos, la distribucin de fuentes del kernel. De esta manera tienes las fuentes necesarias para crearte un nuevo kernel. Al contrario que muchos Unix comerciales, nosotros tenemos la poltica de NO vender nuestro kernel en formato binario. La instalacin de las fuentes ocupa un poco ms de espacio, pero te permite consultar las fuentes del kernel en caso de dificultad o entender que est ocurriendo realmente en la ejecucin del sistema. Una vez instalada la distribucin completa de fuentes, o por lo menos la del kernel, se hace lo siguiente como root: cd /usr/src/sys/i386/conf cp GENERIC MYKERNEL vi MYKERNEL config MYKERNEL cd ../../compile/MYKERNEL make depend make all make install reboot El paso 2 no es necesario si todava s3e tiene un fichero de configuracin del kernel de una release anterior de FreeBSD 2.X. - simplemente, se copia el fichero antiguo y se examna cuidadosamente para asegurar que no haya cambiado la sintaxis de algn driver, o haya alguno anticuado. Un buen fichero de configuracin para consultar es LINT, el cual contiene ejemplos documentados para todas las posibles opciones del kernel. El fichero de configuracin GENERIC se usa para crear el kernel "por defecto" que es el que se estar usando si no se ha creado ninguno nuevo. Si no se necesita hacer ningn cambio al fichero GENERIC, se puede saltar al paso3, donde se personaliza el kernel para el sistema. El paso 8 solo debe ejecutarse si los pasos 6 y 7 se han

realizado de manera satisfactoria. Esto copiar una imgen del nuevo kernel a /kernel y realizar una copia del antiguo kernel en /kernel.old. Es muy importante recordar esto por si el nuevo kernel falla en algn momento se puede seleccionar kernel.old en el prompt de arranque. Al hacer un reboot, por defecto se cargar el nuevo kernel.

Si la compilacin en el paso 7 falla por alguna razn, es recomendable que se empiece desde el paso 4 substituyendo GENERIC por MYKERNEL. Si se puede generar el kernel GENERIC, significa que algo en el fichero de configuracin es incorrecto (o se ha descubierto un bug). Si la compilacin del kernel GENERIC falla, posiblemente se tenga los fuentes corruptos. Finalmente, si se necesita ver los mensajes originales de arranque del sistema para compilar un nuevo kernel, se ejecuta el comando dmesg. Este comando debe imprimir en pantalla todos los mensajes producidos por el kernel al arrancar, los cuales pueden servir en la configuracin del nuevo kernel. FreeBSD ofrece l ms alto rendimiento, gran compatibilidad con otros sistemas operativos y una menor administracin del sistema. Los desarrolladores de FreeBSD se han enfrentado a algunos de los problemas ms difciles en el diseo de sistemas operativos para poder ofrecerte estas avanzadas caractersticas: Bounce buffering trata sobre la limitacin en la arquitectura ISA de los PC's que limita el acceso directo a memoria en los primeros 16 megabytes.

Resultado: sistemas con ms de 16 megabytes operan ms eficientemente con perifricos DMA en el bus ISA. Un buffer de cach conjunto de memoria virtual y sistema de ficheros continuamente ajusta la cantidad de memoria usada por los programas y el cache de disco.

Resultado: los programas reciben una excelente gestin de memoria y un alto rendimiento en los accesos a disco, liberando al administrador del sistema del trabajo de ajustar los tamaos de los cachs. Mdulos de compatibilidad que permiten la ejecucin de programas de otros sistemas operativos en FreeBSD, incluyendo programas para Linux, SCO, NetBSD y BSDI.

Resultado: los usuarios no tendrn que recompilar programas ya compilados para algunos de los sistemas compatibles, teniendo acceso a programas como las extensiones para BSDI de Microsoft FrontPage Server o WordPerfect para SCO y Linux. Mdulos de kernel de carga dinmica que permiten tener acceso a nuevos sistemas de ficheros, protocolos de red o emuladores de binarios en tiempo de ejecucin sin necesidad de generar un nuevo kernel. Resultado: Se puede ganar mucho tiempo y desarrolladores de terceras partes pueden ofrecer subsistemas completos como mdulos de kernel sin necesidad de distribuir el cdigo fuente o complejos procedimientos de instalacin.
A continuacin unas imgenes de su instalacin: Comienzo de la instalacion

Nos muestra como quedaran las particiones de disco

Comienza la extracion de archivos del sistema

Configuracin de la ubicacin y hora local

Aqu se define el nombres de usuario

Aqu se termina la configuracin para comenzar con la instalacin final

Aqu nos muestra el men de arranque una vez concluida la instalacion:

Finalmente iniciamos sesin para empezar a ocupar nuestro sistema