que-es-bsd

Upload: pablo-ezequiel

Post on 06-Jan-2016

219 views

Category:

Documents


0 download

DESCRIPTION

BSD SYSTEM

TRANSCRIPT

  • Qu es BSDGreg Lehey

    Revisin: 431842013-11-13 por hrs.

    ResumenEn el mundo del cdigo abierto la palabra Linux suele ser utilizadacomo sinnimo de Sistema Operativo pero no es el nico sistemaoperativo libre UNIX. En Abril de 1.999 el Internet Operating Sys-tem Counter reflejaba que el 31'3% de los sistemas que ofrecan al-gn servicio en Internet usaban Linux y el 14'6% usaban BSD UNIX.Alguna de las empresas ms grandes de Internet, como por ejemploYahoo!, usan BSD. El servidor de FTP con ms carga en 1999 (ahoradesaparecido) , ftp.cdrom.com, transfera 1'4TB diariamente usandoBSD. Es fcil suponer que no se trata de un nicho de mercado: BSD esun secreto bien guardado.

    ?As que cul es el secreto? ?Por qu BSD no es ms conocido? ste ar-tculo trata sobre esa y otras cuestiones.

    A lo largo de ste artculo sern destacadas de ste modo.

    Traduccin de Jos Ramn Baz y Jos Vicente Ca-rrasco .

    Tabla de contenidos1. ?Qu es BSD? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12. Entonces ?es un UNIX verdadero? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23. ?Por qu BSD no se conoce mejor? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34. Comparemos BSD y Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1. ?Qu es BSD?BSD son las siglas de Berkeley Software Distribution. As se llam a las distribucionesde cdigo fuente que se hicieron en la Universidad de Berkeley en California y que en ori-gen eran extensiones del sistema operativo UNIX de AT&T Research. Varios proyectosde sistemas operativos de cdigo abierto tienen su origen en una distribucin de ste c-digo conocida como 4.4BSD-Lite. Aaden adems un buen nmero de paquetes de otros

  • Entonces ?es un UNIX verdadero?

    2

    proyectos de Cdigo Abierto, incluyendo de forma destacada al proyecto GNU. El sistemaoperativo completo incluye:

    El kernel BSD, que se encarga de la programacin del tiempo de ejecucin de los proce-sos, la gestin de memoria, el multiproceso simtrico (SMP), los controladores de dis-positivos, etc.

    A diferecia del kernel Linux existen varios kernel BSD con diversas funciones.

    La biblioteca C, la API base del sistema.

    La biblioteca C de BSD est basada en cdigo procedente de Berkeley no del proyecto GNU.

    Aplicaciones como las distintas shells, aplicaciones de gestin de ficheros, compilado-res y enlazadores.

    Algunas de las aplicaciones derivan del proyecto GNU, otras no.

    El sistema X Window, que gestiona el entorno grfico.

    El sistema X Window que se usa en la mayora de versiones de BSD es producto de unproyecto aparte, el Proyecto XFree86. Se usa el mismo cdigo que en Linux. BSD por logeneral no predetermina un gestor de ventanas como KDE o GNOME, aunque stosy otros muchos esten disponibles.

    Muchos otros programas y utilidades.

    2. Entonces ?es un UNIX verdadero?Los sistemas operativos BSD no son clones sino derivados de cdigo abierto del sistemaoperativo de AT&T Research, el cual es a su vez ancestro del moderno UNIX System V.sto puede sorprenderle. ?Cmo puede haber sucedido esto si AT&T jams ha liberado sucdigo?

    Cierto es que AT&T UNIX no es cdigo abierto y que en un sentido estricto de copyrightBSD no es en absoluto UNIX, pero por otra parte AT&T ha includo fuentes de otros pro-yectos, teniendo como caso notable el Computer Sciences Research Group de la Universi-dad de Berkeley, California. En 1.976 el CSRG comienza a distribuir su software en cintas,dndoles la denominacin Berkeley Software Distribution, o BSD.

    Las primeras distribuciones BSD consistan principalmente en aplicaciones de entorno deusuario (userland) pero la situacin cambi de modo drstico cuando el CSRG firm uncontrato con la Agencia de Investigacin de Proyectos Avanzados (DARPA) para mejorarlos protocolos de comunicacin en su red ARPANET. A los nuevos protocolos se les dio elnombre de Internet Protocols, y ms adelante TCP/IP, que ms tarde se habran de covertir

  • Qu es BSD

    3

    en los protocolos ms importantes. La primera implementacin ampliamente distribudalo fue como parte de 4.2BSD, en 1.982.

    Durante la dcada de los 80 comienzan a surgir compaas que ofrecan estaciones detrabajo. La mayora opt por adquirir licencias de UNIX en lugar de desarrollar sistemasoperativos ellos mismos. En particular Sun Microsystems adquiri una licencia de UNIXe implement una versin de 4.2BSD, a la que llamaron SunOS. Cuando la propia AT&Tfue autorizada para vender UNIX iniciaron una implementacin un tanto rudimentariallamada System III, seguida rpidamente por System V. El cdigo base de System V noinclua capacidad de trabajo en redes, de manera que todas sus implementaciones habande usar software de BSD, incluyendo TCP/IP, as como aplicaciones como la shell csh y eleditor vi. En conjunto esas inclusiones fueron conocidas como las Berkeley Extensions.

    Las cintas BSD contenan cdigo fuente de AT&T y en consecuencia requeran una licenciade cdigo UNIX. Hacia 1.990 al CSRG se le retiran los fondos y se enfrenta al cierre. Algunosde los miembros del grupo deciden distribuir el cdigo BSD, que era Cdigo Abierto, sin elcdigo propiedad de AT&T. Finalmente esto sucede con la Networking Tape 2, ms conocidacomo Net/2. Net/2 no era un sistema operativo completo: faltaba aproximadamente un20% del cdigo del kernel. Uno de los miembros del CSRG, William F. Jolitz, escribi elcdigo restante y lo distribuy a comienzos de 1.992 como 386BSD. Al mismo tiempo otrogrupo de antiguos miembros del CSRG fundaron una empresa llamada Berkeley SoftwareDesign Inc. y distribuy una versin beta de un sistema operativo llamado BSD/386, quese basa en las mismas fuentes. El sistema operativo pas a denominarse BSD/OS.

    386BSD jams lleg a ser un sistema operativo estable. En lugar de ello dos proyectos sur-gen de l en 1.993: NetBSD y FreeBSD. Ambos proyectos se forman gracias a la falta depaciencia que origina la espera de mejoras en 386BSD: el proyecto NetBSD comenz a pri-meros de ao y la primera versin de FreeBSD no estuvo lista hasta finales del mismo. Enese proceso el cdigo base tom caminos diferentes hasta tal punto que se hizo difcil demezclar. Adems los proyectos tienen objetivos diferentes, como veremos ms adelante.En 1.996 otro proyecto, OpenBSD, se separa de NetBSD.

    3. ?Por qu BSD no se conoce mejor?Existen diversas razones por las que BSD es relativamente desconocido:

    1. Los desarrolladores de BSD con frecuencia estn ms interesados en depurar su cdigoque en promocionarlo.

    2. La mayor parte de la popularidad de Linux se debe a factores externos a los proyectosLinux, como la prensa y las compaas que ofrecen servicios relacionados con Linux.Hasta hace poco los BSD de fuente abierta carecan de tales abogados.

  • Comparemos BSD y Linux

    4

    3. Los desarrolladores de BSD suelen estar ms experimentados que los de Linux y ponenmenos de su parte a la hora de hacer el sistema fcil de usar. Los recin llegados suelensentirse ms cmodos con Linux.

    4. En 1.992 AT&T denunci a BSDI, el distribuidor de BSD/386, alegando que el productocontena cdigo propiedad de AT&T. El caso fu sobresedo en 1.994 pero la huella dellitigio perdura. An en Marzo de 2.000 en un artculo publicado en la web se asegurabaque el caso haba sido resuelto hace poco.

    Un detalle que el proceso judicial aclar fue el de la nomenclatura: en los 80 BSD eraconocido como BSD UNIX . Tras la eliminacin del ltimo vestigio de cdigo de AT&T,BSD perdi el derecho a llamarse UNIX. Es por esto que es posible encontrar ttulosde libros referentes a the 4.3BSD UNIX operating system y the 4.4BSD operatingsystem.

    5. Existe la creencia de que los proyectos BSD estn fragmentados y enfrentados entre s.El Wall Street Journal habl de la balcanizacin de los proyectos BSD. Como en elcaso del pleito, esa creencia se fundamenta en historia antigua.

    4. Comparemos BSD y LinuxDe manera que, ?cul es la diferencia entre, digamos, Debian Linux y FreeBSD? Para elusuario avanzado la diferencia es sorprendentemente pequea: ambos son sistemas ope-rativos tipo UNIX. Ambos son desarrollados por proyectos no comerciales (esto, por su-puesto, no es aplicable a la mayora del resto de distribuciones de Linux). En el siguienteapartado tomaremos BSD como punto de partida y lo compararemos con Linux. La des-cripcin se ajusta ms a FreeBSD, que posee aproximadamente el 80% de los sistemas BSDinstalados, pero las diferencias con NetBSD y OpenBSD son pequeas.

    4.1. ?Quin posee BSD?

    Ninguna persona o empresa posee BSD. Su creacin y distribucin es obra de una comuni-dad de voluntarios altamente cualificados y comprometidos a lo largo y ancho del mundo.Algunos de los componentes de BSD son proyectos de Cdigo Abierto que cuentan conresponsables ajenos al proyecto BSD.

    4.2. ?Cmo se desarrolla y actualiza BSD?

    Los kernel BSD son desarrollados y actualizados siguiendo el modelo de desarrollo de C-digo Abierto. Cada proyecto mantiene un rbol de fuentes accesible pblicamente median-te un Sistema Concurrente de Versiones (Concurrency Versions System, CVS), que con-tiene todos los ficheros fuente del proyecto, incluidos los de la documentacin y otrosficheros relacionados. CVS permite a los usuarios hacer un check out (en otras palabras,extraer una copia) de los ficheros que componen la versin elegida del sistema.

  • Qu es BSD

    5

    Un gran nmero de desarrolladores de muy diversas partes del mundo contribuye conmejoras a BSD. Estan divididos en tres categoras:

    Contributors son aquellos que escriben cdigo o documentacin. No se les permite ha-cer commit (es decir, aadir cdigo) directamente al rbol de fuentes. Para que su c-digo sea incluido en el sistema debe ser revisado y probado por un desarrollador regis-trado o committer.

    Committers son desarrolladores que disponen de acceso de escritura en el rbol de fuen-tes. Para convertirse en committer es necesario demostrar habilidad en el rea en lacual l o ella trabaja.

    Depende del criterio individual de cada committer cundo pedir autorizacin antes dehacer cambios en el rbol de fuentes. En general un committer experimentado puedeincluir cambios que son obviamente correctos sin necesidad de consenso. Por ejemplo,un/a committer que trabaje en un proyecto de documentacin puede corregir erro-res tipogrficos o gramaticales sin necesidad de revisin. Por otra parte, se espera dedesarrolladores que pretendan realizar cambios de gran calado o complicados que en-ven sus cambios para que sean revisados antes de ser incluidos. En casos extremos unmiembro del core team con una funcin como la del Principal Architect puede pedirque los cambios sean retirados del rbol; es lo que llamamos backing out. Todos los/lascommitters reciben un correo electrnico acerca de cada cambio concreto en el rbolde fuentes as que no es posible hacerlo en secreto.

    El Core team. Tanto FreeBSD como NetBSD disponen de un core team que coordinael proyecto. Los core team dirigen el rumbo de los proyectos pero sus funciones nosiempre estn claras. No es necesario ser desarrollador para ser un miembro de un coreteam pero suele ser lo habitual. Las normas de un core team varan de un proyectoa otro pero en general tienen ms influencia sobre la direccin del proyecto.

    te sistema difiere del de Linux en algunos aspectos:

    1. Nadie posee el principio de autoridad. En la prctica eso es muy relativo, puesto que elChief Architect puede solicitar que cierta entrada del rbol de fuentes sea eliminadae incluso en el proyecto Linux a ciertas personas les est permitido hacer cambios.

    2. Por otra parte hay un repositorio central, un nico lugar donde encontrar las fuentesdel sistema operativo ntegro, incluyendo todas las versiones anteriores.

    3. Los BSD mantienen el Sistema Operativo completo, no nicamente el kernel. stadistincin es vlida nicamente como definicin puesto que ni BSD ni Linux son tilessin aplicaciones: las aplicaciones que se usan en BSD suelen ser las mismas que las quese usan en Linux.

    4. Como resultado del mantenimiento estructurado de un nico rbol de fuentes median-te CVS el desarrollo de BSD es limpio y es posible acceder a cualquier versin del siste-

  • Versiones de BSD

    6

    ma por su nmero de versin o por la fecha. Del mismo modo CVS permite actualiza-ciones incrementales del sistema: por ejemplo el repositorio de FreeBSD es actualizadoen torno a 100 veces al da, aunque la mayora de esos cambios son pequeos.

    4.3. Versiones de BSD

    Cada proyecto BSD pone a disposicin pblica tres releases (versiones) distintas. Igualque en Linux, las releases tienen asignado un nmero como por ejemplo 1.4.1 3.5.Adems el nmero de versin tiene un sufijo que indica su propsito:

    1. La versin de desarrollo del sistema recibe el nombre de CURRENT. FreeBSD asigna unnmero a CURRENT, por ejemplo FreeBSD 5.0-CURRENT. NetBSD utiliza un sistema li-geramente diferente y aade un sufijo compuesto por una nica letra que indica cam-bios en las interfaces internas, por ejemplo NetBSD 1.4.3G. OpenBSD no asigna ningnnmero ("OpenBSD-current"). sta rama es la que incluye todo el desarrollo.

    2. A intervalos regulares, entre dos y cuatro veces al ao, los proyectos liberan una ver-sin RELEASE del sistema, que est disponible en CD-ROM y mediante FTP para su des-carga gratuta, por ejemplo OpenBSD 2.6-RELEASE o NetBSD 1.4-RELEASE. La versinRELEASE est dirigida al usuario final y es la versin estndar del sistema. NetBSDtambin dispone de patch releases que incluyen un tercer dgito, como por ejemplo Net-BSD 1.4.2.

    3. A medida que se van encontrando errores en la versin RELEASE son corregidos y lassoluciones son incluidas en el rbol CVS. En FreeBSD la versin resultante se denomi-na versin STABLE, mientras que en NetBSD y OpenBSD contina siendo la versin RE-LEASE. Nuevas caractersticas ms pequeas pueden ser aadidas en esta rama tras unperodo de pruebas en la rama CURRENT.

    Linux, en cambio, mantiene dos rboles de cdigo separados: la versin estable y la versin de desa-rrollo. Las versiones estables aaden un nmero par de versin, como 2.0, 2.2 2.4. Las versionesde desarrollo aaden un nmero impar, como en 2.1, 2.3 2.5. En ambos casos a ese nmero se leaade otro ms que indica la versin exacta. Por si fuera poco cada distribuidor aade sus propiosprogramas y aplicaciones de entorno de usuario, as que el nmero de versin es importante. Cadadistribuidor adems asigna nmeros de versin a la distribucin, as pues la descripcin completapodra ser algo como TurboLinux 6.0 with kernel 2.2.14

    4.4. ?Cuntas versiones de BSD existen?

    A diferencia de las numerosas distribuciones de Linux tan slo hay tres BSD libres. Cadaproyecto BSD mantiene su propio rbol de fuentes y su propio kernel. En la prctica, sinembargo, las diferencias en el entorno de usuario (userland) entre los distintos BSD sonmenores que las que hay en Linux.

    Es difcil enumerar los objetivos de cada proyecto puesto que las diferencias son muysubjetivas. En general,

  • Qu es BSD

    7

    FreeBSD tiene como meta ofrecer alto rendimiento y facilidad de uso al usuario finaly es uno de los favoritos entre proveedores de contenidos web. Funciona en PC y enprocesadores Alpha de Compaq. El proyecto FreeBSD cuenta con un nmero de usuariossignificativamente mayor que los otros proyectos.

    NetBSD tiene como meta la Portabilidad: No en vano su lema es of course it runs Net-BSD (que podra traducirse como claro que funciona con NetBSD). Funciona en m-quinas que abarcan desde PDAs a grandes servidores e incluso ha sido usado por la NASAen misiones espaciales. Es una excelente eleccin para utilizar viejo hardware no Intel.

    OpenBSD tiene como meta la seguridad y la integridad del cdigo: combina del concep-to de cdigo abierto y una revisin rigurosa del cdigo que dan como fruto un sistemamuy correcto, elegido por instituciones preocupadas por la seguridad como bancos,entidades de cambio y departamentos gubernamentales de los EEUU. Al igual que Net-BSD funciona en gran variedad de plataformas.

    Existen dos sistemas operativos BSD ms que no son de cdigo abierto, BSD/OS y el MacOSX de Apple:

    BSD/OS es el derivado ms antguo de 4.4BSD. No es cdigo abierto pero es posible con-seguir licencias de su cdigo fuente a un precio relativamente bajo. Se parece a FreeBSDen muchos aspectos.

    Mac OS X es la ltima versin del sistema operativo para la gama Macintosh de AppleComputer Inc. El ncleo BSD Unix de ste sistema operativo, Darwin, est librementedisponible como sistema operativo de fuente abierto totalmente funcional para arqui-tecturas x86 y PPC. El sistema grfico Aqua/Quartz y la mayora de las dems aspectoscaractersticos de Mac OS X son cdigo cerrado. Varios desarrolladores de Darwin sontambin committers de FreeBSD y viceversa.

    4.5. ?Qu diferencias hay entre la licencia BSD y la licencia pbli-ca GNU?

    Linux est disponible bajo la GNU General Public License (GPL), que fue diseada paraevitar el software cerrado. Ms concretamente, cualquier trabajo derivado de un productocon licencia GPL debe suministrar el cdigo fuente si es requerido. En contraste, la licenciaBSD es menos restrictiva: permite la distribucin en forma exclusivamente binaria. Esteaspecto es especialmente atractivo para aplicaciones empotradas.

    4.6. ?Qu ms debera saber?

    Dado que existen menos aplicaciones para BSD que para Linux los desarrolladores de BSDhan creado un paquete de compatibilidad con Linux que permite hacer funcionar progra-mas de Linux bajo BSD. El paquete contiene tanto modificaciones del kernel, con el fin degestionar correctamente las llamadas al sistema de Linux, como ficheros necesarios parala compatibilidad con Linux como la Biblioteca C. No hay diferencias notables en veloci-

  • Entonces ?Qu debera usar, BSD o Linux?

    8

    dad de ejecucin entre una aplicacin de Linux ejecutndose en un sistema Linux y unaaplicacin Linux ejecutndose en un sistema BSD de la misma velocidad.

    El modelo todo del mismo proveedor de BSD implica que las actualizaciones son muchoms sencillas de gestionar de lo que con frecuencia son en Linux. BSD maneja las actuali-zaciones de versiones de bibliotecas suministrando mdulos de compatibilidad para ver-siones anteriores, de modo que es posible ejecutar binarios con varios aos de antiguedadsin problemas.

    4.7. Entonces ?Qu debera usar, BSD o Linux?

    ?Qu significa realmente esa pregunta? ?Quin debera utilizar BSD y quin Linux?.

    sta es una pregunta muy difcil de responder. He aqu varias pautas:

    Si no est roto no lo arregles: Si ya usa un sistema operativo de cdigo abierto y estsatisfecho con l, probablemente no hay ninguna buena razn para cambiar.

    Los sistemas BSD, especialmente FreeBSD, pueden proporcionar un rendimiento nota-blemente superior que Linux, pero esto no es una ley inmutable. En muchos casos nohay diferencia de rendimiento o esta es muy pequea. En algunos casos Linux podratener un rendimiento mejor que FreeBSD.

    En general los sistemas BSD gozan de una mejor reputacin en cuanto a disponibilidad,principalmente por la mayor madurez de su cdigo base.

    La licencia BSD puede resultar ms atractiva que la GPL.

    BSD puede ejecutar cdigo de Linux, mientras que Linux no puede hacer lo propio concdigo de BSD. Como resultado de esto hay una mayor cantidad de software disponiblepara BSD que para Linux.

    4.8. ?Quin ofrece soporte, servicios y formacin orientada aBSD?

    BSDi siempre ha ofrecido soporte para BSD/OS y en fechas recientes anunci contratosde soporte para FreeBSD.

    Adems cada uno de los proyectos tiene una lista de consultores: FreeBSD, NetBSD, yOpenBSD.

    Qu es BSDTabla de contenidos1. ?Qu es BSD?2. Entonces ?es un UNIX verdadero?3. ?Por qu BSD no se conoce mejor?4. Comparemos BSD y Linux4.1. ?Quin posee BSD?4.2. ?Cmo se desarrolla y actualiza BSD?4.3. Versiones de BSD4.4. ?Cuntas versiones de BSD existen?4.5. ?Qu diferencias hay entre la licencia BSD y la licencia pblica GNU?4.6. ?Qu ms debera saber?4.7. Entonces ?Qu debera usar, BSD o Linux?4.8. ?Quin ofrece soporte, servicios y formacin orientada a BSD?