BSD
Tipus | Unix |
---|---|
Basat en | Research Unix(en) |
Versió inicial | 1977 |
Versió estable | |
Llicència | llicència BSD |
Disponible en | |
Epònim | Universitat de Califòrnia a Berkeley |
Característiques tècniques | |
Escrit en | C |
Equip | |
Desenvolupador(s) | Universitat de Califòrnia a Berkeley |
←Unix |
BSD(Berkeley Software Distribution) era unsistema operatiuderivat deUnixque va ser distribuït des de 1977 fins al 1995. Fou desenvolupat originalment a laUniversitat de Califòrnia, Berkeley.BSD també es refereix al tipus de llicència que es fa servir per distribuir aquest codi.
Actualment, hi ha diversesdistribucionsderivades a partir de BSD. Cada un d'aquests projectes està mantingut per una comunitat de programadors i usuaris, i no manté ja cap vincle amb la Universitat de Califòrnia. Els més importants són,
- FreeBSD,el més conegut i utilitzat, sobretot en servidors.
- NetBSD,que es pot utilitzar en un gran nombre d'ordinadorsdiferents.
- OpenBSD,que té l'objectiu d'esdevenir tan segur com sigui possible.
Aquestprogramaries distribueix lliurement, d'acord amb la llicència BSD. Aquesta llicència permet utilitzar i distribuir el codi dels programes gairebé sense limitacions, excepte el reconeixement dels autors. El codi es pot modificar, distribuir gratuïtament o vendre, i fins i tot es poden crear versions privatives del codi (és a dir, es permet distribuir programes executables sense el codi). Altres programes no relacionats amb el projecte BSD també utilitzen aquesta llicència o d'altres de semblants. Aquests, al seu torn, han estat utilitzats per sistemes operatiuspropietaris,inclosos elsmacOSiiOSd'Apple,que se'n van derivar,[1]iMicrosoft Windows,que feia servir (almenys) part del seu codi TCP/IP, que era legal.[2]El codi de FreeBSD també es va utilitzar per crear el sistema operatiu per a laPlayStation 4[3]iNintendo Switch.[4][5]
bsdgamessón una col·lecció de jocs basats en text dels sistemes BSD,[6]o d'altres sistemesUnix.[7]
Història
[modifica]Lesprimeres distribucionsdeUnixdelslaboratoris Bellals anys 70 incloïen elcodi fontdelsistema operatiu,permetent als desenvolupadors de les universitats modificar i estendre Unix.
El primer sistema Unix de Berkeley va ser el PDP-11, que va ser instal·lat el 1974, i va ser utilitzat des de llavors pel departament de ciència computacional per a les seves investigacions. Altres universitats van començar a interessar-se en el programari de Berkeley, i per això el 1977 Bill Joy, llavors un estudiant de grau a Berkeley, va gravar i va enviar cintes del primer Berkeley Software Distribution (BSD).[8]1BSD era un complement de la versió 6 de Unix en comptes d'un sistema operatiu complet per dret propi. Se'n van vendre unes trenta còpies.[9]
La segona distribució de programari de Berkeley (2BSD), llançada el maig de 1979,[10]va incloure versions actualitzades del programari 1BSD, així com dos nous programes de Joy que persisteixen en els sistemes Unix fins a l'actualitat: l'editor de textvi(una versióvisualdeex) i elC shell.Bill Joy va vendre unes 75 còpies de 2BSD.[9]
Es va instal·lar un ordinadorVAXa Berkeley el 1978, però laportacióde l'Unix a l'arquitectura VAX,UNIX/32V,no va aprofitar les capacitats dememòria virtualdel VAX. Elnuclide 32V va ser reescrit sobre manera per incloure la implementació de memòria virtual de l'estudiant graduat de BerkeleyÖzalp Babaoğlui un sistema operatiu complet que inclou el nou nucli, ports de les utilitats 2BSD per a VAX i les utilitats de 32V es van llançar com a 3BSD a finals de 1979. 3BSD també es deia alternativament Virtual VAX/UNIX o VMUNIX (per a Memòria Virtual Unix), i les imatges del kernel BSD normalment es deien/vmunix
fins a 4.4BSD.
Després del llançament de 4.3BSD al juny de 1986, es va determinar que BSD s'allunyaria de l'antiga plataforma VAX. La plataformaPower 6/32(amb nom en codi "Tahoe" ) desenvolupada perComputer Consoles Inc.semblava prometedora en aquest moment, però va ser abandonada pels seus desenvolupadors poc després. Tot i això, l'adaptació4.3BSD-Tahoe(juny de 1988) va resultar valuosa, ja que va conduir a una separació del codi dependent i independent de la màquina en BSD, cosa que milloraria la portabilitat futura del sistema.
A més de la portabilitat, el CSRG va treballar en una implementació de la pila de protocols de xarxaOSI,millores al sistema de memòria virtual del nucli i (ambVan JacobsondelLBL) nous algorismes TCP/IP per adaptar-se al creixement d'Internet.[11]
Fins aleshores, totes les versions de BSD utilitzaven codi Unix propietari d'AT&T i, per tant, estaven subjectes a una llicència de programari d'AT&T. Les llicències de codi font s'havien tornat molt costoses i diverses parts externes havien expressat interès en una versió separada del codi de xarxa, que s'havia desenvolupat completament fora d'AT&T i no estaria subjecte al requisit de llicència. Això va portar a laNetworking Release 1(Net/1), que es va posar a disposició dels qui no tenien llicència del codi d'AT&T i eralliurement redistribuïblesegons els termes de lallicència BSD.Va ser llançat el juny de 1989.
Relació amb Research Unix
[modifica]A partir de la8a Edició de Unix,les versions deResearch UnixaBell Labstenien una estreta relació amb BSD. Això va començar quan es va utilitzar 4.1cBSD per aVAXcom a base per a laVersion 8 Unix.Això va continuar en versions posteriors, com la Version 9 Unix, que va incorporar codi font i millores de 4.3BSD.
El resultat va ser que aquestes últimes versions deResearch Unixestaven més a prop de BSD que deSystem V. En una publicació deUsenetde 2000, Dennis Ritchie va descriure aquesta relació entre BSD iResearch Unix[12]
« | Research Unix 8th Editionva començar des de (crec) BSD 4.1c, però amb enormes quantitats extretes i reemplaçades pel nostre propi material. Això va continuar amb el 9 i el 10. El conjunt d'ordres d'usuari ordinari era, suposo, una mica més amb gust de BSD que SysVish, però era força eclèctic. | » |
Relació ambUNIX System V
[modifica]Eric S. Raymondresumeix la relació de llarga duració entreSystem Vi BSD, afirmant:"La divisió era aproximadament entre els de pèl llarg i els de pèl curt; elsprogramadorsi els tècnics tendien a alinear-se amb Berkeley i BSD, els tipus més orientats als negocis amb AT&T i System V. "[13]
El 1989, David A. Curry va escriure sobre les diferències entre BSD i System V. Va caracteritzar System V com sovint considerat com el "Unix estàndard". Tot i això, va descriure BSD com a més popular entre els centres informàtics universitaris i governamentals, a causa de les seves funcions i rendiment avançats:[14]
« | La majoria dels centres informàtics universitaris i governamentals que utilitzen UNIX utilitzen Berkeley UNIX, en lloc deSystem V.Això és degut a diverses raons, però potser les dues més significatives són que Berkeley UNIX proporciona capacitats de xarxa que fins fa poc (Versió 3.0) no estaven disponibles aSystem V,i que Berkeley UNIX és molt més adequat per a un entorn de recerca, que requereix unsistema de fitxersmés ràpid, millor maneig dememòria virtuali una major varietat de llenguatges de programació. | » |
—Eric S. Raymond |
Tecnologia
[modifica]Sockets de Berkeley
[modifica]L'Unix de Berkeley va ser el primer Unix a incloure biblioteques compatibles amb l'arquitectura d'Internet Protocol:Berkeley sockets.Una implementació d'Unix del predecessor d'IP, elNCPd'ARPAnet, amb clientsFTPiTelnetva ser produït a laUniversitat d'Illinoisel 1975, i estava disponible a Berkeley.[15]Tot i això, l'escassetat de memòria al PDP-11 va forçar un disseny complicat i problemes de rendiment.[16]
En integrar sockets amb elsdescriptors de fitxersdel sistema operatiu Unix, es va tornar gairebé tan fàcil llegir i escriure dades a través d'unaxarxacom accedir a un disc. El laboratori d'AT&T finalment va llançar la seva pròpia bibliotecaSTREAMS,que va incorporar gran part de la mateixa funcionalitat a una pila de programari amb una arquitectura diferent, però l'àmplia distribució de la biblioteca de sockets existent va reduir l'impacte de la novaAPI.Les primeres versions de BSD es van usar per formarSunOSdeSun Microsystems,fundant la primera onada d'estacions de treball Unix populars.
Compatibilitat binària
[modifica]Alguns sistemes operatius BSD poden executar programari nadiu de diversos altres sistemes operatius a la mateixaarquitectura informàtica,utilitzant unacapa de compatibilitatbinària. Això és molt més simple i ràpid queemular;per exemple, permet que les aplicacions dissenyades per aLinuxs'executin efectivament a tota velocitat. Això fa que els BSD no només siguin adequats per a entorns de servidor, sinó també per a estacions de treball, atesa la creixent disponibilitat de programari comercial o de codi tancat només per a Linux. Això també permet als administradors migrar aplicacions comercials heretades, que només poden haver admès variants comercials d'Unix, a un sistema operatiu més modern, conservant la funcionalitat d'aquestes aplicacions fins que puguin ser reemplaçades per una millor alternativa.
Estàndards
[modifica]Les variants actuals del sistema operatiu BSD són compatibles amb molts dels estàndards deIEEE,ANSI,ISOiPOSIX,mantenint la major part del comportament tradicional de BSD. Igual queUNIX System V,el kernel BSD ésmonolític,la qual cosa significa que els controladors de dispositius al kernel s'executen enmode privilegiat,com a part del nucli del sistema operatiu.
Descendents de BSD
[modifica]Diversos sistemes operatius es basen en BSD, inclososFreeBSD,OpenBSD,NetBSD,MidnightBSD, MirOS BSD, GhostBSD,DarwiniDragonFly BSD. Tant NetBSD com FreeBSD es van crear el 1993. Inicialment es van derivar de386BSD(també conegut com aJolix) i van fusionar el codi font 4.4BSD-Lite el 1994. OpenBSD es va bifurcar de NetBSD el 1995 i DragonFly BSD es va bifurcar de FreeBSD el 2003. BSD també es va usar com a base per a diverses versions propietàries d'Unix, comSun OSdeSun,DYNIX de Sequent,NeXTSTEPdeNeXT,UltrixdeDECi OSF/1 AXP (araTru64 UNIX).NeXTSTEPdesprés es va convertir en la base per amacOSd'Apple Inc..
Referències
[modifica]- ↑«Apple Kernel Programming Guide: BSD Overview». [Consulta: 27 març 2021].
- ↑«Actually, Windows DOES use some BSD code». Arxivat de l'originalel 2018-03-25. [Consulta: 24 març 2018].
- ↑«Open Source Software used in PlayStation 4». Arxivat de l'originalel 2017-12-12. [Consulta: 3 octubre 2019].
- ↑«Nintendo chế phẩm に quan liền するオープンソースソフトウェア の ソースコード xứng bố ページ|サポート tình báo |Nintendo». Arxivat de l'originalel 2020-07-26. [Consulta: 26 juliol 2020].
- ↑Cao.«Nintendo Switch runs FreeBSD» (en anglès americà), 08-03-2017. Arxivat de l'originalel 2020-07-26. [Consulta: 26 juliol 2020].
- ↑«http://wiki.linuxquestions.org/wiki/BSD_games». [Consulta: 30 setembre 2018].
- ↑Debian -- bsdgames
- ↑Salus (1994), p. 142
- ↑9,09,1Salus,Peter H.«Chapter 7. BSD and the CSRG». A:The Daemon, the Gnu and the Penguin.Groklaw,2005 [Consulta: 6 setembre 2017].
- ↑Toomey,Warren. «Details of the PUPS archives».tuhs.org.The Unix Heritage Society.Arxivat de l'originalel 9 juliol 2006. [Consulta: 6 octubre 2010].
- ↑M.K. McKusick, M.J. Karels, Keith Sklower, Kevin Fall, Marc Teitelbaum and Keith Bostic (1989). Current Research by The Computer Systems Research Group of Berkeley. Proc. European Unix Users Group.
- ↑Dennis Ritchie. «alt.folklore puters: BSD (Dennis Ritchie)», 26-10-2000. Arxivat de l'originalel 2014-07-14. [Consulta: 3 juliol 2014].
- ↑Raymond, Eric S.The Art of Unix Programming.2003. p. 38
- ↑Curry, David.Using C on the UNIX System: A Guide to System Programming.1989. pp. 2–3
- ↑Chesson,G. L. «The network Unix system».ACM SIGOPS Operating Systems Review,9, 5, 1976, pàg. 60–66.DOI:10.1145/1067629.806522.
- ↑Quarterman,John S.;Silberschatz,Abraham;Peterson,James L. «4.2BSD and 4.3BSD as examples of the Unix system».Computing Surveys,17, 4, 12-1985, pàg. 379–418.
Bibliografia
[modifica]- 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)
Enllaços externs
[modifica]
- Projecte FreeBSD(anglès)