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 un sistema operatiu derivat de Unix que va ser distribuït des de 1977 fins al 1995. Fou desenvolupat originalment a la Universitat de Califòrnia, Berkeley. BSD també es refereix al tipus de llicència que es fa servir per distribuir aquest codi.
Actualment, hi ha diverses distribucions derivades 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,
Aquest programari es 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 operatius propietaris, inclosos els macOS i iOS d'Apple, que se'n van derivar,[1] i Microsoft 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 la PlayStation 4[3] i Nintendo Switch.[4][5]
bsdgames són una col·lecció de jocs basats en text dels sistemes BSD,[6] o d'altres sistemes Unix.[7]
Les primeres distribucions de Unix dels laboratoris Bell als anys 70 incloïen el codi font del sistema 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 text vi (una versió visual de ex) i el C shell. Bill Joy va vendre unes 75 còpies de 2BSD.[9]
Es va instal·lar un ordinador VAX a Berkeley el 1978, però la portació de l'Unix a l'arquitectura VAX, UNIX/32V, no va aprofitar les capacitats de memòria virtual del VAX. El nucli de 32V va ser reescrit sobre manera per incloure la implementació de memòria virtual de l'estudiant graduat de Berkeley Özalp Babaoğlu i 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 plataforma Power 6/32 (amb nom en codi "Tahoe") desenvolupada per Computer 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 xarxa OSI, millores al sistema de memòria virtual del nucli i (amb Van Jacobson del LBL) 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 la Networking Release 1 (Net/1), que es va posar a disposició dels qui no tenien llicència del codi d'AT&T i era lliurement redistribuïble segons els termes de la llicència BSD. Va ser llançat el juny de 1989.
A partir de la 8a Edició de Unix, les versions de Research Unix a Bell Labs tenien una estreta relació amb BSD. Això va començar quan es va utilitzar 4.1cBSD per a VAX com a base per a la Version 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 de Research Unix estaven més a prop de BSD que de System V. En una publicació de Usenet de 2000, Dennis Ritchie va descriure aquesta relació entre BSD i Research Unix[12]
« | Research Unix 8th Edition va 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. | » |
Eric S. Raymond resumeix la relació de llarga duració entre System V i BSD, afirmant: "La divisió era aproximadament entre els de pèl llarg i els de pèl curt; els programadors i 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 de System 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 a System V, i que Berkeley UNIX és molt més adequat per a un entorn de recerca, que requereix un sistema de fitxers més ràpid, millor maneig de memòria virtual i una major varietat de llenguatges de programació. | » |
— Eric S. Raymond |
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, el NCP d'ARPAnet, amb clients FTP i Telnet va ser produït a la Universitat d'Illinois el 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 els descriptors de fitxers del sistema operatiu Unix, es va tornar gairebé tan fàcil llegir i escriure dades a través d'una xarxa com accedir a un disc. El laboratori d'AT&T finalment va llançar la seva pròpia biblioteca STREAMS, 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 nova API. Les primeres versions de BSD es van usar per formar SunOS de Sun Microsystems, fundant la primera onada d'estacions de treball Unix populars.
Alguns sistemes operatius BSD poden executar programari nadiu de diversos altres sistemes operatius a la mateixa arquitectura informàtica, utilitzant una capa de compatibilitat binària. Això és molt més simple i ràpid que emular; per exemple, permet que les aplicacions dissenyades per a Linux s'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.
Les variants actuals del sistema operatiu BSD són compatibles amb molts dels estàndards de IEEE, ANSI, ISO i POSIX, mantenint la major part del comportament tradicional de BSD. Igual que UNIX System V, el kernel BSD és monolític, la qual cosa significa que els controladors de dispositius al kernel s'executen en mode privilegiat, com a part del nucli del sistema operatiu.
Diversos sistemes operatius es basen en BSD, inclosos FreeBSD, OpenBSD, NetBSD, MidnightBSD, MirOS BSD, GhostBSD, Darwin i DragonFly BSD . Tant NetBSD com FreeBSD es van crear el 1993. Inicialment es van derivar de 386BSD (també conegut com a Jolix) 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, com Sun OS de Sun, DYNIX de Sequent, NeXTSTEP de NeXT, Ultrix de DEC i OSF/1 AXP (ara Tru64 UNIX). NeXTSTEP després es va convertir en la base per a macOS d'Apple Inc..