Berkeley Software Distribution -
Berkeley Software Distribution

Från Wikipedia, den fria encyklopedin

BSD
Utvecklare Datorsystems forskargrupp
Skrivet i C
OS -familj Ursprungligen Unix , senare Unix-liknande
Arbetsläge Avbruten
Källmodell Ursprungligen källtillgänglig , senare öppen källkod
Initial release 1977
; 44 år sedan
 (
1977
)
Slutlig utgåva 4.4-Lite2 / 1995
Tillgänglig i engelsk
Plattformar PDP-11 , VAX , Intel 80386
kernel typ Monolitisk
Användarland BSD
Standard
användargränssnitt
Unix skal
Licens BSD

Den Berkeley Software Distribution eller Berkeley Standard Distribution ( BSD ) är en utgången operativsystem baserat på forskning Unix , utvecklas och distribueras av Computer Systems Research Group (CSRG) vid University of California, Berkeley . Termen "BSD" hänvisar vanligtvis till dess ättlingar, inklusive FreeBSD , OpenBSD , NetBSD och DragonFly BSD .

BSD kallades ursprungligen Berkeley Unix eftersom det baserades på källkoden för den ursprungliga Unix som utvecklats på Bell Labs . På 1980 -talet antogs BSD i stor utsträckning av leverantörer av arbetsstationer i form av proprietära Unix -varianter som DEC Ultrix och Sun Microsystems SunOS på grund av dess tillåtande licensiering och bekantskap för många teknikföretagets grundare och ingenjörer.

Även om dessa proprietära BSD-derivat till stor del ersattes på 1990-talet av UNIX SVR4 och OSF/1 , utgjorde senare versioner grunden för flera operativsystem med öppen källkod , inklusive FreeBSD , OpenBSD , NetBSD , DragonFly BSD , Darwin och TrueOS . Dessa har i sin tur har använts av proprietära operativsystem, inklusive Apples s MacOS och IOS , som härrör från dem, och Microsoft Windows , som används (minst) en del av sin TCP / IP-kod, som var lagligt. Kod från FreeBSD användes också för att skapa operativsystemet för PlayStation 4 och Nintendo Switch .

Historia

Ett enkelt flödesschema som visar historien och tidslinjen för utvecklingen av Unix som börjar med en bubbla högst upp och 13 bifloder längst ner i flödet
Förenklad utveckling av Unix -system. Visas inte är Junos , PlayStation 3-systemet programvara och andra immateriella gafflar.

De tidigaste distributionerna av Unix från Bell Labs på 1970 -talet inkluderade källkoden till operativsystemet, vilket gjorde det möjligt för forskare vid universitet att ändra och utöka Unix. Operativsystemet anlände till Berkeley 1974, på begäran av datavetenskapsprofessorn Bob Fabry som hade varit med i programkommittén för Symposium on Operating Systems Principles där Unix först presenterades. En PDP-11/45 köptes för att köra systemet, men av budgetskäl delades denna maskin med matematik- och statistikgrupperna på Berkeley, som använde RSTS , så att Unix bara körde på maskinen åtta timmar per dag (ibland under dagen, ibland under natten). En större PDP-11/70 installerades i Berkeley året efter, med pengar från Ingres databasprojekt. För att förstå BSD krävs att man fördjupar sig långt tillbaka i Unix historia, operativsystemet som först släpptes av AT&T Bell Labs 1969. BSD började livet som en variant av Unix som programmerare vid University of California i Berkeley, initialt ledd av Bill Joy, började utveckla i slutet av 1970 -talet.

Till en början var BSD inte en klon av Unix, eller ens en väsentligt annorlunda version av den. Det inkluderade bara några extra verktyg, som var sammanflätade med kod som ägs av AT&T.

1975 tog Ken Thompson ett sabbatsår från Bell Labs och kom till Berkeley som gästprofessor. Han hjälpte till att installera version 6 Unix och började arbeta med en Pascal -implementering för systemet. Doktorander Chuck Haley och Bill Joy förbättrade Thompsons Pascal och implementerade en förbättrad textredigerare, ex . Andra universitet blev intresserade av programvaran i Berkeley, och så 1977 började Joy sammanställa den första Berkeley Software Distribution (1BSD), som släpptes den 9 mars 1978. 1BSD var ett tillägg till Version 6 Unix snarare än en komplett drift system i sig. Ett trettiotal exemplar skickades ut.

Den andra Berkeley Software Distribution (2BSD), som släpptes i maj 1979, innehöll uppdaterade versioner av 1BSD -programvaran samt två nya program av Joy som kvarstår på Unix -system än idag: vi textredigerare (en visuell version av ex ) och den C-skalet . Cirka 75 exemplar av 2BSD skickades ut av Bill Joy.

Den VAX-11/780 , en typisk minidator användas för tidig BSD timesharing system

En VAX dator installerades vid Berkeley 1978, men hamnen i Unix till VAX arkitektur, UNIX / 32V , inte dra nytta av VAX s virtuellt minne kapacitet. Den kärna av 32V till stor del skrivas om för att inkludera Berkeley doktorand Ozalp Babaoglu är virtuellt minne genomförande och ett komplett operativsystem, inklusive den nya kärnan, var hamnar de 2BSD verktyg till VAX, och verktyg från 32V släpptes som 3BSD på i slutet av 1979. 3BSD kallades också alternativt Virtual VAX/UNIX eller VMUNIX (för Virtual Memory Unix), och BSD -kärnbilder anropades normalt /vmunixfram till 4.4BSD.

Svartvitt 4.3 BSD UWisc VAX Emulation Login skärmdump
"4.3 BSD UNIX" från University of Wisconsin cirka 1987. Systemstart och inloggning.

Efter att 4.3BSD släpptes i juni 1986 bestämdes det att BSD skulle flytta bort från den åldrande VAX -plattformen. Den ström 6/32 plattform (kodnamn "Tahoe") som utvecklats av Computer Konsoler Inc. verkade lovande vid den tiden, men övergavs av sina utvecklare kort därefter. Ändå visade sig 4.3BSD-Tahoe- porten (juni 1988) vara värdefull, eftersom den ledde till en separering av maskinberoende och maskinoberoende kod i BSD vilket skulle förbättra systemets framtida portabilitet.

Förutom portabilitet arbetade CSRG med en implementering av OSI -nätverksprotokollstacken, förbättringar av kärnans virtuella minnessystem och (med Van Jacobson från LBL ) nya TCP/IP -algoritmer för att tillgodose tillväxten av Internet.

Fram till dess använde alla versioner av BSD proprietär AT&T Unix -kod och var därför föremål för en AT&T -mjukvarulicens. Källkodslicenser hade blivit mycket dyra och flera externa parter hade uttryckt intresse för en separat release av nätverkskoden, som hade utvecklats helt utanför AT&T och inte skulle omfattas av licenskravet. Detta ledde till Networking Release 1 ( Net/1 ), som gjordes tillgängligt för icke-licenshavare av AT & T-kod och fritt kunde distribueras enligt villkoren i BSD-licensen . Den släpptes i juni 1989.

Efter Net/1 föreslog BSD-utvecklaren Keith Bostic att fler icke-AT & T-delar av BSD-systemet skulle släppas under samma licens som Net/1. För detta ändamål startade han ett projekt för att återimplementera de flesta vanliga Unix -verktygen utan att använda AT&T -koden. Inom arton månader hade alla AT & T -verktyg bytts ut, och det fastställdes att bara några AT & T -filer fanns kvar i kärnan. Dessa filer togs bort, och resultatet var juni 1991 -utgåvan av Networking Release 2 (Net/2), ett nästan komplett operativsystem som var fritt distribuerbart.

Net/2 var grunden för två separata BSD -portar till Intel 80386 -arkitekturen: den fria 386BSD av William Jolitz och den egna BSD/386 (senare bytt namn till BSD/OS) av Berkeley Software Design (BSDi). Själva 386BSD var kortlivad, men blev den första kodbasen för NetBSD- och FreeBSD- projekten som startades kort därefter.

BSDi hamnade snart i juridiska problem med AT & T: s Unix System Laboratories (USL) dotterbolag, då ägare till System V copyright och Unix varumärke. Den USL v. BSDi stämningsansökan lämnades in 1992 och ledde till en föreläggande om fördelningen av Net / 2 tills giltigheten av USL upphovsrätt fordringar på källan kunde bestämmas. Rättegången bromsade utvecklingen av BSD-ättlingar till fri programvara i nästan två år medan deras juridiska status var ifrågasatt, och som ett resultat fick system baserade på Linux-kärnan , som inte hade sådan juridisk oklarhet, större stöd. Rättegången avgjordes i januari 1994, till stor del till Berkeleys fördel. Av de 18 000 filerna i Berkeley -distributionen var det bara tre som måste tas bort och 70 modifieras för att visa USL upphovsrättsmeddelanden. Ytterligare ett villkor för förlikningen var att USL inte skulle väcka ytterligare stämningar mot användare och distributörer av den Berkeley-ägda koden i den kommande 4.4BSD-utgåvan.

Den sista utgåvan från Berkeley var 1995: s 4.4BSD-Lite Release 2 , varefter CSRG upplöstes och utvecklingen av BSD i Berkeley upphörde. Sedan dess har flera varianter baserade direkt eller indirekt på 4.4BSD-Lite (som FreeBSD , NetBSD , OpenBSD och DragonFly BSD ) bibehållits.

, innehåller också BSD -kod.

Förhållande till Research Unix

Från och med den åttonde upplagan hade versioner av Research Unix på Bell Labs en nära relation till BSD. Detta började när 4.1cBSD för VAX användes som grund för Research Unix 8: e upplagan. Detta fortsatte i efterföljande versioner, till exempel den nionde upplagan, som införlivade källkod och förbättringar från 4.3BSD. Resultatet var att dessa senare versioner av Research Unix var närmare BSD än för system V. I ett Usenet -inlägg från 2000 beskrev Dennis Ritchie detta förhållande mellan BSD och Research Unix:

Research Unix 8: e upplagan startade från (tror jag) BSD 4.1c, men med enorma mängder skopade ut och ersattes av våra egna grejer. Detta fortsatte med 9: e och 10: e. Den vanliga användarkommando-uppsättningen var, antar jag, lite mer BSD-smaksatt än SysVish, men det var ganska eklektiskt.

Förhållande till System V

Eric S. Raymond sammanfattar det mångåriga förhållandet mellan System V och BSD och säger: "Skillnaden var ungefär mellan långhår och korthår; programmerare och tekniker tenderade att ställa upp med Berkeley och BSD, mer affärsorienterade typer med AT&T och System V. "

1989 skrev David A. Curry om skillnaderna mellan BSD och System V. Han karakteriserade System V som ofta betraktas som "standard Unix". Men han beskrev BSD som mer populär bland universitets- och statliga datacenter på grund av dess avancerade funktioner och prestanda:

De flesta universitets- och statliga datacenter som använder UNIX använder Berkeley UNIX, snarare än System V. Det finns flera anledningar till detta, men de kanske två viktigaste är att Berkeley UNIX tillhandahåller nätverksfunktioner som tills nyligen (Release 3.0) var helt otillgängliga i System V, och att Berkeley UNIX är mycket mer lämpad för en forskningsmiljö, som kräver ett snabbare filsystem, bättre hantering av virtuellt minne och en större variation av programmeringsspråk .

Teknologi

Berkeley -uttag

Svartvitt 4,3 BSD UWisc VAX Emulation Lisp Manual skärmdump
4.3 BSD från University of Wisconsin . Visar man -sidan för Franz Lisp
SunOS 4.1.1 P1270750 1/4-tums tejp
Tejp för SunOS 4.1.1, ett 4.3BSD -derivat
Sony NEWS- arbetsstation som kör det BSD-baserade NEWS-OS- operativsystemet

Berkeleys Unix var den första Unix som inkluderade bibliotek som stöder Internetprotokollstackarna : Berkeley -uttag . En Unix -implementering av IP: s föregångare, ARPAnets NCP , med FTP- och Telnet -klienter, hade producerats vid University of Illinois 1975 och var tillgänglig på Berkeley. Men minnesbristen på PDP-11 tvingade fram komplicerade design- och prestandaproblem.

Genom att integrera uttag med Unix -operativsystemets filbeskrivare blev det nästan lika lätt att läsa och skriva data i ett nätverk som att komma åt en disk. AT&T -laboratoriet släppte så småningom ett eget STREAMS -bibliotek , som innehöll mycket av samma funktionalitet i en mjukvarustapel med en annan arkitektur, men den breda distributionen av det befintliga sockets -biblioteket minskade effekten av det nya API: et . Tidiga versioner av BSD användes för att bilda Sun Microsystems " SunOS , grundade den första vågen av populära Unix-arbetsstationer.

Binär kompatibilitet

Vissa BSD -operativsystem kan köra mycket inbyggd programvara från flera andra operativsystem på samma arkitektur med ett binärt kompatibilitetslager . Mycket enklare och snabbare än emulering , tillåter till exempel applikationer avsedda för Linux att köras med full hastighet. Detta gör att BSD: er inte bara lämpar sig för servermiljöer, utan också för arbetsstationsmiljöer, med tanke på den ökande tillgängligheten av kommersiell eller sluten programvara endast för Linux. Detta gör det också möjligt för administratörer att migrera äldre kommersiella applikationer, som kanske bara har stöd för kommersiella Unix -varianter, till ett mer modernt operativsystem, och behålla funktionaliteten för sådana applikationer tills de kan ersättas av ett bättre alternativ.

Standarder

Nuvarande BSD -operativsystemvarianter stöder många av de vanliga IEEE- , ANSI- , ISO- och POSIX -standarderna, samtidigt som de behåller det mesta av det traditionella BSD -beteendet. Precis som AT&T Unix är BSD -kärnan monolitisk , vilket innebär att enhetsdrivrutiner i kärnan körs i privilegierat läge , som en del av kärnan i operativsystemet.

BSD ättlingar

Flera operativsystem är baserade på BSD, inklusive FreeBSD , OpenBSD , NetBSD , MidnightBSD , GhostBSD , Darwin och DragonFly BSD . Både NetBSD och FreeBSD skapades 1993. De härstammade ursprungligen från 386BSD (även känt som "Jolix") och slog samman källkoden 4.4BSD-Lite 1994. OpenBSD gafflades från NetBSD 1995 och DragonFly BSD gafflades från FreeBSD 2003.

BSD användes också som grund för flera egna versioner av Unix, till exempel Sun 's SunOS , Sequent 's DYNIX , NeXT 's NeXTSTEP , DEC 's Ultrix och OSF/1 AXP (nu Tru64 UNIX ). Nextstep senare blev grunden för Apple Inc. 's MacOS .

Se även

Referenser

Bibliografi