Berkeley programvaredistribusjon

bsd
Unix-lignende del
Generell informasjon
programtype Unix
utvikler Computer Systems Research Group, University of California, Berkeley
Utviklingsmodell Historisk proprietær programvare; overgang til fri programvare siden 1991.
Første utgivelse 1977; 41 år siden.
Tillatelse bsd
Språk Engelsk
Teknisk informasjon
Planlagt inn C
Cellekjernen Monolitisk
Støttede plattformer PDP-11 , VAX , Intel 80386
Versjoner
Siste stabile versjon 4.4BSD-Lite 2/1995 for 26 år siden. ()
Unix-lignende serie
UnixbsdFreeBSD , NetBSD , OpenBSD , DragonFlyBSD
Linker
Offesiell nettside

Berkeley Software Distribution eller BSD (på spansk, "Berkeley-programvaredistribusjon") [ 1 ] var et operativsystem avledet fra Unix som ble født fra bidragene gitt til dette systemet fra University of California i Berkeley .

I de første årene av Unix-systemet ga dets skapere, Bell Laboratories i AT&T -selskapet , University of Berkeley i California og andre universiteter autorisasjon til å bruke kildekoden og tilpasse den til deres behov. I løpet av 1970- og 1980 -tallet brukte Berkeley systemet for sin forskning på operativsystemer. Da AT&T trakk tilbake universitetets tillatelse til å bruke den av kommersielle årsaker, fremmet universitetet opprettelsen av en Unix-inspirert versjon ved å bruke deres innspill, tillot deretter distribusjon for akademiske formål og etter en tid redusert til minimumsbegrensninger angående kopiering, distribusjon eller modifikasjoner. .

Noen etterkommere operativsystemer til systemet utviklet av Berkeley er SunOS , FreeBSD , NetBSD og OpenBSD . Disse har på sin side blitt brukt av proprietære operativsystemer, inkludert Apples macOS og iOS , som ble avledet fra dem, [ 2 ] og Microsoft Windows , som brukte (minst) noe av sin TCP/IP-kode, at den var lovlig. [ 3 ] FreeBSD - kode ble også brukt til å lage operativsystemet for PlayStation 4 [ 4 ] og Nintendo Switch . [ 5 ]​ [ 6 ]

BSD har også gitt store bidrag innen operativsystemer generelt, for eksempel:

Historikk

Begynnelser med PDP-11

De første Unix-distribusjonene fra Bell Labs på 1970-tallet inkluderte kildekoden til operativsystemet, slik at utviklere ved universiteter kunne endre og utvide Unix. Berkeleys første Unix-system var PDP-11, som ble installert i 1974, og har blitt brukt av informatikkavdelingen til forskning siden den gang. Andre universiteter ble interessert i Berkeley-programvaren, og i 1977 spilte Bill Joy, den gang en bachelorstudent ved Berkeley, inn og sendte ut bånd av den første Berkeley Software Distribution (BSD).

BSD 1 var et tillegg til den sjette utgaven av Unix, snarere enn et komplett operativsystem. Den var hovedsakelig sammensatt av en Pascal-kompilator og en tekstredigerer laget av Joy selv kalt "ex".

BSD 2 ble utgitt i 1978, den inkluderte oppdaterte versjoner av BSD 1 pluss to nye programmer laget av Joy som overlever på Unix-systemer til i dag. Vi-tekstredigereren og C-skallet. Påfølgende versjoner av BSD 2 inneholdt porter av BSD-distribusjonene basert på VAX -arkitekturen , for å gjøre dem kompatible med PDP-11-arkitekturen.

BSD 2.9 fra 1983 inkluderer kode fra BDS 4.1c og var den første distribusjonen som ble ansett for å være et komplett operativsystem (en modifikasjon av Unix 7). Den siste distribusjonen, 2.11BSD, ble utgitt i 1992, og ved hjelp av frivillige fortsatte den å bli oppdatert til 2003.

4BSD

Utgitt i november 1980, tilbød den mange forbedringer i forhold til 3BSD, inkludert spesielt kontrollarbeidet til den forrige versjonen av csh, deliverymail (nåværende sendmail), "pålitelige" signaler og Curses-programmeringsbiblioteket.

BSD 4.1 , utgitt i juni 1981, var svaret på kritikk av BSD sammenlignet med det dominerende operativsystemet for VAX-arkitekturen, VMS. BSD 4.1 ble forbedret av Bill Joy inntil den oppnådde de samme funksjonene som VMS. Distribusjonen skulle opprinnelig hete BSD 5, men ble endret for å unngå mulig forvirring med utgivelsen av AT&Ts Unix System V.

BSD 4.2 tok to år å implementere, og inneholdt store forbedringer. Tre mellomversjoner dukket opp før den offisielle utgivelsen. 4.1a inkorporerte en modifisert versjon av BBNs foreløpige TCP/IP-implementering. 4.1b inkluderte det nye Berkeley Fast File System, implementert av Marshall Kira McKusick, og 4.1c var en intern versjon brukt i løpet av de siste månedene av 4.2BSD-utvikling. Den offisielle 4.2BSD-distribusjonen ble utgitt i august 1983. Det var den første BSD-distribusjonen siden Bill Joy forlot og var med å grunnlegge Sun Microsystems. Mike Karels og Marshall Kira MacKusick tok kontroll over prosjektet fra det tidspunktet. I et notat fremheves debuten til BSD-demonen og maskoten, gjennom en tegning laget av McKusick som dukket opp på omslagene til de trykte manualene distribuert av USENIX.

BSD4.3 ble utgitt i juni 1986. Hovedendringene var forbedringer av mange av de nye bidragene fra BSD 4.2 som ikke ble forbedret slik BSD4.3-koden var. Før utgivelsen avviket TCP/IP-implementeringen i BSD betydelig fra den offisielle laget av BBN. Det er derfor, etter mange tester utført av DARPA, konkluderte den med at versjonen inkludert i BSD 4.2 var overlegen den nye, og at den derfor burde beholdes i den nye distribusjonen. Etter versjon 4.3 ble det bestemt at fremtidige versjoner skulle bygges basert på en annen arkitektur enn den da gamle VAX. På den tiden virket Power 6/32, utviklet av Computer Consoles Inc, som en plattform med mer fremtid, selv om den snart ble forlatt av utviklerne. Imidlertid beviste BSDs port til denne plattformen, BSD 4.3-Tahoe, verdien av å skille maskinavhengig og maskinuavhengig kode, noe som muliggjør fremtidig portabilitet.

Inntil dette tidspunktet hadde alle versjoner av BSD innlemmet AT&T proprietær kode , som krevde lisenser for å bruke. Disse ble svært dyre, så mange eksterne enheter uttrykte sin interesse for en separat distribusjon av den proprietære nettverkskoden utviklet av AT&T, slik at den ikke ville være underlagt betaling av disse lisensene. Dette ble oppnådd med Network Tape 1 (Net/1), utgitt i 1989 og opprettet uten proprietær AT&T-kode som ble fritt distribuert under vilkårene i den tillatelige BSD-lisensen.

4.3BSD-Reno ble utgitt i 1990. Det var en internbruksversjon som ble brukt under byggingen av 4.4BSD. Denne distribusjonen beveget seg tydelig mot POSIX-kompatibilitet, og ifølge noen bort fra BSD-filosofien, siden POSIX er basert på System V.

Net/2 og juridiske problemer

Etter Net/1 foreslo Keith Bostic at flere ikke-AT&T-relaterte deler av BSD ble utgitt under samme Net/1-lisens. Med dette i tankene startet han et prosjekt som hadde som mål å implementere mange av standard Unix-verktøyene uten AT&T-kode. I løpet av 18 måneder ble alle AT&Ts proprietære verktøy erstattet, og bare noen få proprietære filer var igjen i kjernen. Disse filene ble til slutt eliminert, noe som ga opphav til Net/2, praktisk talt et komplett operativsystem og også fritt distribuerbart.

Net/2 var grunnlaget for to uavhengige BSD-porter for Intels 80386-arkitektur, William Jollizs 386BSD og Berkeley Software Designs (BSDi) proprietære BSD/386 (senere omdøpt til BSD/OS). 386BSD var kortvarig, men det var utgangspunktet for FreeBSD og NetBSD.

BSDi hadde snart et juridisk problem med AT&T, eiere av rettighetene til System V og Unix-merket. Søksmålet ble anlagt i 1992, under påbud om ikke å distribuere Net/2 før gyldigheten av kravene kunne fastslås.

Søksmålet bremset utviklingen av frie BSD-etterkommere i omtrent to år, hvor deres juridiske status var i tvil, og muligens på grunn av dette ble andre Unix-baserte systemer mer fremtredende. Linux og 386BSD startet utviklingen samtidig, og til og med Linus Torvalds sa at hvis det hadde vært et gratis Unix-basert operativsystem for 386-arkitekturen, ville han sannsynligvis ikke ha laget Linux. Selv om det kan diskuteres hvilken effekt det ville hatt på programvarefeltet, er det sikkert at det ville vært betydelig.

4.4BSD og etterkommere

Søksmålet ble avsluttet i januar 1994 til fordel for Berkeley. Av de 18 000 filene i distribusjonen, ble bare tre fjernet og 70 ble modifisert for å vise AT&Ts eiendomsrettigheter.

I juni 1994 ble BSD 4.4 utgitt med to versjoner: en fritt distribuerbar kalt BSD 4.4-Lite, uten proprietær kode, og BSD 4.4-Encumbered, kun for AT&T-lisensinnehavere.

Den siste distribusjonen opprettet av Berkeley var BSD 4.4-Lite Release 2, utgitt i 1995, etter at CSRG ble oppløst og BSD-utviklingen i Berkeley opphørte. Siden den gang har mange distribusjoner basert på BSD 4.4 dukket opp, slik som FreeBSD , OpenBSD og NetBSD .

I tillegg har den tillatelige BSD-lisensen tillatt andre operativsystemer, både gratis og proprietære, å inkorporere BSD-kode. For eksempel har Microsoft Windows brukt BSD-avledet kode i implementeringen av TCP/IP, og bruker rekompilerte versjoner av BSD-kommandolinjen for nettverksbygging. Darwin , det eksperimentelle systemet som Mac OS X er bygget på, er også delvis avledet fra FreeBSD 5 og Mach -kjernen . Andre kommersielle Unix-baserte systemer som Solaris bruker også BSD-kode.

Teknologi

Berkeley sockets

Berkeley Unix var den første Unix som inkluderte biblioteker som var kompatible med Internet Protocol- arkitekturen : Berkeley sockets . En Unix-implementering av IPs forgjenger, ARPAnet NCP , med FTP- og Telnet -klienter ble produsert ved University of Illinois i 1975, og var tilgjengelig fra Berkeley. [ 7 ] [ 8 ] Imidlertid tvang mangelen på minne i PDP-11 til komplisert design og ytelsesproblemer. [ 9 ]

Ved å integrere sockets med Unix-operativsystemets filbeskrivelser ble det nesten like enkelt å lese og skrive data over et nettverk som det var å få tilgang til en disk. AT&T Lab ga til slutt ut sitt eget STREAMS- bibliotek , som inkorporerte mye av den samme funksjonaliteten i en annerledes arkitektonert programvarestabel, men den brede distribusjonen av det eksisterende sockets-biblioteket reduserte virkningen av det nye API -et . Tidlige versjoner av BSD ble brukt til å danne Sun Microsystems ' SunOS , og grunnla den første bølgen av populære Unix-arbeidsstasjoner.

Binær kompatibilitet

Noen BSD-operativsystemer kan kjøre innebygd programvare fra flere andre operativsystemer på samme dataarkitektur , ved å bruke et binært kompatibilitetslag . Dette er mye enklere og raskere enn å emulere ; for eksempel lar den applikasjoner designet for Linux kjøre effektivt i full hastighet. Dette gjør BSD-er ikke bare egnet for servermiljøer, men også for arbeidsstasjoner, gitt den økende tilgjengeligheten av kommersiell eller lukket kildekode Linux-bare programvare. Dette tillater også administratorer å migrere eldre kommersielle applikasjoner, som kan ha støttet bare kommersielle Unix-varianter, til et mer moderne operativsystem, og beholde funksjonaliteten til disse applikasjonene til de kan erstattes av et bedre alternativ.

Standarder

Gjeldende varianter av BSD-operativsystemet støtter mange av IEEE- , ANSI- , ISO- og POSIX- standardene , samtidig som de opprettholder det meste av den tradisjonelle BSD-atferden. I likhet med AT&T Unix er BSD-kjernen monolitisk , noe som betyr at enhetsdriverne i kjernen kjører i privilegert modus , som en del av operativsystemkjernen.

Referanser

  1. "Hvorfor du bør bruke en BSD-stillisens for Open Source Project" . FreeBSD- prosjektet . BSD (Berkeley Standard Distribution) . Hentet 3. august 2021 . 
  2. "Apple Kernel Programming Guide: BSD Overview" . Hentet 27. mars 2021 . 
  3. "Faktisk bruker Windows noe BSD-kode" . Arkivert fra originalen 25. mars 2018 . Hentet 24. mars 2018 . 
  4. "Åpen kildekode-programvare brukt i PlayStation 4" . Arkivert fra originalen 12. desember 2017 . Hentet 3. oktober 2019 . 
  5. «任天堂製品に関連するオープンソースソフトウェアのソースのソースコード www.nintendo.co.jp . Arkivert fra originalen 26. juli 2020 . Hentet 26. juli 2020 . 
  6. Cao (8. mars 2017). "Nintendo Switch kjører FreeBSD" . FreeBSDNews.com (på amerikansk engelsk) . Arkivert fra originalen 26. juli 2020 . Hentet 26. juli 2020 . 
  7. ^ Chesson, G.L. (1976). Nettverket Unix-systemet. ACM SIGOPS Operating Systems Review 9 (5): 60-66. doi : 10.1145/1067629.806522 . 
  8. RFC  681
  9. Quarterman, John S.; Silberschatz, Abraham; Peterson, James L. (desember 1985). "4.2BSD og 4.3BSD som eksempler på Unix-systemet". Computing Surveys 17 (4): 379-418. S2CID  5700897 . doi : 10.1145/6041.6043 . Ukjent parameter ignorert ( hjelp )  |citeseerx=

Bibliografi

Ytterligere bibliografi

Se også

Eksterne lenker