Berkeley Software Distribution

BSD
BSD wordmark.svg
Entwickler Forschungsgruppe für Computersysteme
Geschrieben in C
OS -Familie Ursprünglich Unix (v7/32V), später Unix-artig
Arbeitszustand Abgesetzt
Quellmodell Ursprünglich Quelle verfügbar, später Open Source
Erstveröffentlichung 9. März 1978; Vor 44 Jahren
Endgültige Veröffentlichung 4,4-Lite2 / Juni 1995; Vor 27 Jahren
Verfügbar in Englisch
Plattformen PDP-11, Vax, Intel 80386
Kernel Typ Monolithisch
Userland BSD
Standard
Benutzeroberfläche
Unix Shell
Lizenz BSD

Das Berkeley Software Distribution oder Berkeley Standardverteilung[1] (BSD) ist ein abgebrochener Betriebssystem bezogen auf Forschung Unix, entwickelt und verteilt von der Forschungsgruppe für Computersysteme (CSRG) am Universität von Kalifornien, Berkeley. Der Begriff "BSD" bezieht sich gewöhnlich auf seine Nachkommen, einschließlich Freebsd, OpenBSD, Netbsd, und Libelle BSD.

BSD wurde ursprünglich genannt Berkeley Unix Weil es auf dem basierte Quellcode des Originals Unix entwickelt bei Bell Labs. In den 1980er Jahren wurde BSD von weit verbreitet von verabschiedet von Arbeitsplatz Anbieter in Form proprietärer Unix -Varianten wie z. Dez Ultrix und Sun Microsystems Sonnenos wegen seines zulässige Lizenzierung und Vertrautheit für viele Gründer und Ingenieure des Technologieunternehmens.

Obwohl diese proprietären BSD -Derivate in den neunziger Jahren von UNIX weitgehend ersetzt wurden SVR4 und OSF/1, später Veröffentlichungen bildeten die Grundlage für mehrere Open Source Betriebssysteme einschließlich Freebsd, OpenBSD, Netbsd, Libelle BSD, Darwin, und Trueos. Diese wurden wiederum von proprietären Betriebssystemen verwendet, einschließlich Apfel's Mac OS und iOS, die von ihnen abgeleitet wurde,[2] und Microsoft Windows, die (zumindest) einen Teil seines TCP/IP -Code verwendete, was legal war.[3] Code von FreeBSD wurde auch verwendet, um das Betriebssystem für die zu erstellen Playstation 4[4] und Nintendo Switch.[5][6]

Geschichte

A simple flow chart showing the history and timeline of the development of Unix starting with one bubble at the top and 13 tributaries at the bottom of the flow
Vereinfachte Entwicklung von Unix Systeme. Nicht gezeigt sind Junos, PlayStation 3 -Systemsoftware und andere proprietäre Gabeln.

Das früheste Verteilungen von Unix von Bell Labs In den 1970er Jahren beinhalteten die Quellcode dem Betriebssystem, damit Forscher der Universitäten die Unix ändern und erweitern können. Das Betriebssystem kam 1974 in Berkeley auf Anfrage eines Informatikprofessors an Bob Fabry wer war im Programmkomitee für die Symposium über Betriebssystemprinzipien wo Unix zum ersten Mal präsentiert wurde. EIN PDP-11/45 wurde gekauft, um das System zu betreiben, aber aus Haushaltsgründen wurde diese Maschine an die Mathematik- und Statistikgruppen in Berkeley geteilt, die verwendeten RSTS, so dass Unix nur acht Stunden am Tag auf der Maschine lief (manchmal tagsüber, manchmal während der Nacht). Ein grösseres PDP-11/70 wurde im folgenden Jahr in Berkeley installiert, wobei Geld von der verwendet wurde Ingres Datenbankprojekt.[7] Das Verständnis von BSD erfordert, weit zurück in die Geschichte von Unix zu gehen, das Betriebssystem, das 1969 von AT & T Bell Labs veröffentlicht wurde. BSD begann das Leben als eine Variante von UNIX, die Programmierer an der University of California in Berkeley, die zunächst von Bill Joy geleitet wurde, entwickelte In den späten 1970er Jahren.

Zuerst war BSD kein Klon von Unix oder sogar eine wesentlich andere Version davon. Es enthielt nur einige zusätzliche Funktionen, die mit Code von AT & T miteinander verflochten waren.

1975,, Ken Thompson nahm ein Sabbatical von Bell Labs und kam als Gastprofessor nach Berkeley. Er half bei der Installation Version 6 Unix und fing an, an einem zu arbeiten Pascal Implementierung für das System. Doktoranden Chuck Haley und Bill Joy Verbesserte Thompsons Pascal und implementierte einen verbesserten Texteditor. ex.[7] Andere Universitäten interessierten sich für die Software in Berkeley und begann 1977 Joy, die erste Berkeley Software Distribution (1BSD) zu erstellen, die am 9. März 1978 veröffentlicht wurde.[8] 1BSD war ein Add-On zu Version 6 Unix und nicht zu einem vollständigen Betriebssystem für sich. Rund dreißig Exemplare wurden ausgesandt.[7]

Die zweite Berkeley Software Distribution (2BSD), veröffentlicht im Mai 1979,[9] enthalten aktualisierte Versionen der 1BSD -Software sowie zwei neue Programme von Joy, die bis heute auf UNIX -Systemen bestehen: die vi Texteditor (a visuell Version von ex) und die C Shell. Rund 75 Exemplare von 2bsd wurden von Bill Joy verschickt.[7]

Das VAX-11/780, ein typischer Minicomputer, der für frühe BSD -Timesharing -Systeme verwendet wird

A Vax Der Computer wurde 1978 in Berkeley installiert, aber die Hafen von Unix in die Vax -Architektur, UNIX/32Vnutzte die Vax nicht aus virtueller Speicher Fähigkeiten. Das Kernel von 32V wurde größtenteils umgeschrieben, um Berkeley Doktorand einzuschließen Özalp BabaoğluDie Implementierung der virtuellen Speicher und ein vollständiges Betriebssystem, einschließlich des neuen Kernels, Ports der 2bs -Dienstprogramme für den VAX und die Dienstprogramme von 32V wurden Ende 1979 als 3bsd veröffentlicht. Vmunix (für virtuelle Speicher -UNIX) und BSD -Kernelbilder wurden normalerweise genannt /vmunix Bis 4.4bs.

Black and white 4.3 BSD UWisc VAX Emulation Login screenshot
"4,3 BSD Unix" von der Universität Wisconsin Circa 1987. Systemstart und Login.

Nach der Veröffentlichung von 4.3bsd im Juni 1986 wurde festgestellt, dass BSD von der alternden VAX -Plattform entfernen würde. Das Power 6/32 Plattform (Codenamen "Tahoe") entwickelt von Computer Consoles Inc. Es schien damals vielversprechend zu sein, wurde aber kurz darauf von seinen Entwicklern aufgegeben. Trotzdem das 4.3bsd-tahoe Port (Juni 1988) erwies sich als wertvoll, da er zu einer Trennung des maschinenabhängigen und maschinenunabhängigen Code in BSD führte, der die zukünftige Portabilität des Systems verbessern würde.

Zusätzlich zur Portabilität arbeitete die CSRG an einer Implementierung der Osi Netzwerkprotokollstapel, Verbesserungen des virtuellen Kernel -Speichersystems und (mit Van Jacobson von Lbl) Neue TCP/IP -Algorithmen, um das Wachstum des Internets aufzunehmen.[10]

Bis dahin verwendeten alle Versionen von BSD den proprietären AT & T Unix -Code und unterliegen daher einer AT & T -Softwarelizenz. Die Quellcode -Lizenzen waren sehr teuer geworden, und mehrere externe Parteien hatten Interesse an einer separaten Veröffentlichung des Netzwerkgesetzes bekundet, der vollständig außerhalb von AT & T entwickelt worden war und nicht den Lizenzanforderungen unterliegt. Dies führte zu Networking Release 1 (Net/1), das für Nichtlizenzes von AT & T Code zur Verfügung gestellt wurde und war freiumverteilbar unter den Bedingungen der BSD -Lizenz. Es wurde im Juni 1989 veröffentlicht.

Nach dem Net/1 BSD -Entwickler Keith Bostic schlug vor, dass mehr Nicht-AT- und T-Abschnitte des BSD-Systems unter derselben Lizenz wie net/1 veröffentlicht werden. Zu diesem Zweck startete er ein Projekt, um die meisten Standard -UNIX -Dienstprogramme ohne den AT & T -Code neu zu implementieren. Innerhalb von achtzehn Monaten wurden alle AT & T -Dienstprogramme ersetzt, und es wurde festgestellt, dass nur wenige AT & T -Dateien im Kernel blieben. Diese Dateien wurden entfernt, und das Ergebnis war die Veröffentlichung von Networking Release 2 (Net/2) im Juni 1991, einem nahezu vollständigen Betriebssystem, das frei verteilt war.

Net/2 war die Grundlage für zwei getrennte Häfen von BSD an die Intel 80386 Architektur: die freie 386bs durch William Jolitz und die proprietär BSD/386 (später in BSD/OS umbenannt) nach Berkeley Software Design (BSDI). 386bsd selbst war von kurzer Dauer, wurde aber zur anfänglichen Codebasis der Netbsd und Freebsd Projekte, die kurz danach gestartet wurden.

BSDI hatte bald rechtliche Probleme mit AT & Ts UNIX -Systemlabors (USL) Tochtergesellschaft, dann die Eigentümer des Systems V Urheberrechte © und die Unix -Marke. Das USL v. BSDI Die Klage wurde 1992 eingereicht und zu einem geführt Anordnung Bei der Verteilung von Net/2 bis zur Gültigkeit der Urheberrechtsansprüche von USL auf die Quelle konnte festgelegt werden. Die Klage verlangsamte die Entwicklung der freien Software-Nachkommen von BSD für fast zwei Jahre, während ihr rechtlicher Status in Frage gestellt wurde und als Ergebnissysteme basierend auf dem Linux Kernel, was keine so rechtliche Ambiguität hatte, erhielt mehr Unterstützung. Die Klage wurde im Januar 1994 beigelegt, hauptsächlich zugunsten von Berkeleys. Von den 18.000 Dateien in der Berkeley -Distribution mussten nur drei entfernt und 70 geändert werden, um USL -Copyright -Mitteilungen anzuzeigen. Eine weitere Bedingung der Siedlung bestand darin, dass USL in der bevorstehenden Veröffentlichung von 4.4bsd keine weiteren Klagen gegen Benutzer und Händler des Code im Besitz von Berkeley einreichen würde.[11]

Die endgültige Veröffentlichung von Berkeley war 1995's 4.4bsd-lite Release 2danach wurde die CSRG aufgelöst und die Entwicklung von BSD in Berkeley hörte auf. Seitdem basieren mehrere Varianten direkt oder indirekt auf 4.4bsd-lite (wie z. Freebsd, Netbsd, OpenBSD und Libelle BSD) wurden aufrechterhalten.

Die zulässige Natur der BSD -Lizenz hat vielen anderen Betriebssystemen zugelassen, beide Open Source und proprietär, um den BSD -Quellcode einzubeziehen. Zum Beispiel, Microsoft Windows Gebrauchter BSD -Code in seiner Implementierung von TCP/IP[12] und Bündel neu kompilierte Versionen von BSDs Befehlszeile Networking -Tools seit Windows 2000.[13] Darwin, die Grundlage für Apple's Mac OS und iOS, basiert auf 4.4bsd-lite2 und FreeBSD. Verschiedene kommerzielle Unix -Betriebssysteme wie z. Solaris, auch BSD -Code einbeziehen.

Beziehung zur Forschung Unix

Ab der 8. Ausgabe hatten Versionen von Research Unix bei Bell Labs eine enge Beziehung zu BSD. Dies begann, als 4.1CBSD für den VAX als Grundlage für die Research Unix 8th Edition verwendet wurde. Dies setzte sich in nachfolgenden Versionen wie der 9. Ausgabe fort, die den Quellcode und die Verbesserungen aus 4.3bsd enthielt. Das Ergebnis war, dass diese späteren Versionen von Research Unix näher an BSD waren als zu System V. in a Usenet Die Veröffentlichung aus dem Jahr 2000 beschrieb Dennis Ritchie diese Beziehung zwischen BSD und Research Unix:[14]

Die Research Unix 8th Edition startete von (glaube ich) BSD 4.1c, aber mit enormen Mengen, die durch unsere eigenen Sachen herausgezogen und ersetzt wurden. Dies dauerte mit 9 und 10. Das gewöhnliche Benutzerbefehlssatz war, denke ich, ein bisschen mehr BSD-Geschmack als Sysvish, aber es war ziemlich vielseitig.

Beziehung zu System V

Eric S. Raymond fasst die langjährige Beziehung zwischen zusammen System v und BSD sagte: "Die Kluft lag ungefähr zwischen Langhaaren und Kurzhaaren; Programmierer und technische Leute trugen dazu an, sich mit Berkeley und BSD zu treffen, mehr geschäftsorientierte Typen mit AT & T und System V. "[15]

1989 schrieb David A. Curry über die Unterschiede zwischen BSD und System V. Er charakterisierte System V als oft als "Standard Unix" angesehen. Er beschrieb BSD jedoch aufgrund seiner fortgeschrittenen Merkmale und Leistung als in den Bereichen Universitäts- und Regierungscomputerzentren beliebter:[16]

Die meisten Universitäts- und Regierungscomputerzentren, die UNIX verwenden, verwenden Berkeley Unix und nicht System V. Es gibt einige Gründe dafür, aber vielleicht die beiden bedeutendsten sind, dass Berkeley Unix Networking -Funktionen bietet, die bis vor kurzem (Release 3.0) im System völlig nicht verfügbar waren V, und dass Berkeley Unix für eine Forschungsumgebung viel besser geeignet ist, was ein schnelleres Dateisystem, eine bessere virtuelle Speicherbehandlung und eine größere Vielfalt von Auswahl erfordert Programmiersprachen.

Technologie

Berkeley Sockets

Black and white 4.3 BSD UWisc VAX Emulation Lisp Manual screenshot
4.3 BSD von der Universität Wisconsin. Anzeige des Mann Seite zum Franz Lisp
SunOS 4.1.1 P1270750 1/4-inch tape
Klebeband für Sonnenos 4.1.1, ein 4.3bsd -Derivat
Sony News Arbeitsplatz Ausführen des BSD-basierten News-Os Betriebssystem

Berkeleys Unix war die erste Unix, die Bibliotheken enthielt, die die unterstützten Internetprotokoll Stapel: Berkeley Sockets. Eine UNIX -Implementierung des IP -Vorgängers, der Arpanet's, NCP, mit Ftp und Telnet Kunden waren an der produziert worden Universität von Illinois 1975 und war in Berkeley erhältlich.[17][18] Die Speicherknappheit am PDP-11 erzwang jedoch ein kompliziertes Design- und Leistungsprobleme.[19]

Durch die Integration von Steckdosen in das Unix -Betriebssystem des Unix DateideskriptorenEs wurde fast so einfach, Daten über a zu lesen und zu schreiben Netzwerk wie es war, auf eine Festplatte zuzugreifen. Das AT & T -Labor hat schließlich ihre eigenen veröffentlicht Ströme Bibliothek, die einen Großteil der gleichen Funktionalität in einen Software -Stapel mit einer anderen Architektur aufnahm, aber die breite Verteilung der vorhandenen Sockelsbibliothek reduzierte die Auswirkungen des neuen API. Frühe Versionen von BSD wurden verwendet, um sich zu formen Sun Microsystems' Sonnenos, Gründung der ersten Welle der beliebten Unix -Workstationen.

Binäre Kompatibilität

Einige BSD -Betriebssysteme können native Software mehrerer anderer Betriebssysteme auf demselben ausführen die Architekturmit einem binären Binär Kompatibilitätsschicht. Dies ist viel einfacher und schneller als Emulation; Zum Beispiel ermöglicht die beabsichtigten Anwendungen für Linux effektiv mit voller Geschwindigkeit laufen. Dies macht BSDs nicht nur für Serverumgebungen, sondern auch für Workstation geeignet, angesichts der zunehmenden Verfügbarkeit von kommerzieller oder geschlossener Software für Linux. Auf diese Weise können Administratoren auch kommerzielle Varianten der UNIX -Varianten von Legacy -kommerziellen Anwendungen migrieren, die möglicherweise nur kommerzielle Unix -Varianten unterstützt haben, und die Funktionalität solcher Anwendungen beibehalten, bis sie durch eine bessere Alternative ersetzt werden können.

Standards

Aktuelle BSD -Betriebssystemvarianten unterstützen viele der gemeinsamen IEEE, Ansi, ISO, und Posix Standards, während der größte Teil des traditionellen BSD -Verhaltens beibehält. Wie AT & T UNIXDer BSD -Kernel ist monolithisch, was bedeutet, dass Gerätetreiber im Kernel in den Kern laufen privilegierter Modus, als Teil des Kerns des Betriebssystems.

BSD -Nachkommen

Mehrere Betriebssysteme basieren auf BSD, einschließlich Freebsd, OpenBSD, Netbsd, Mitternacht, Ghostbsd, Darwin und Libelle BSD. 1993 wurden sowohl netbsd als auch freebsd gegründet. Sie wurden ursprünglich abgeleitet 386bs (auch bekannt als "Jolix") und fusionierte 1994 den Quellcode für 4.4bsd-lite-Quellen. OpenBSD war gegabelt von netbsd im Jahr 1995 und Dragonfly BSD wurde 2003 aus FreeBSD gegabelt.

BSD wurde auch als Grundlage für mehrere proprietäre Versionen von UNIX verwendet, wie z. Sonne's Sonnenos, Sequent's Dynix, Nächste's Nächster Schritt, Dez's Ultrix und OSF/1 AXP (jetzt Tru64 UNIX). Nextstep wurde später zur Grundlage für Apple Inc.'s Mac OS.

Siehe auch

Verweise

  1. ^ "Warum Sie eine BSD -Lizenz für Ihr Open -Source -Projekt verwenden sollten". Das FreeBSD -Projekt. BSD (Berkeley Standard Distribution). Abgerufen 3. August, 2021.
  2. ^ "Apple Kernel -Programmierhandbuch: BSD -Übersicht". Abgerufen 27. März, 2021.
  3. ^ "Eigentlich verwendet Windows einen BSD -Code". Archiviert Aus dem Original am 25. März 2018. Abgerufen 24. März, 2018.
  4. ^ "Open Source -Software, die in PlayStation 4 verwendet wird". Archiviert vom Original am 12. Dezember 2017. Abgerufen 3. Oktober, 2019.
  5. ^ "任天堂 製品 に 関連 する ソース ソフトウェア の ソース コード 配布 ページ | 情報 情報 | nintendo". www.nintendo.co.jp. Archiviert Aus dem Original am 26. Juli 2020. Abgerufen 26. Juli, 2020.
  6. ^ CAO (8. März 2017). "Nintendo Switch läuft FreeBSD". FreeBSDNews.com. Archiviert Aus dem Original am 26. Juli 2020. Abgerufen 26. Juli, 2020.
  7. ^ a b c d Salus, Peter H. (2005). "Kapitel 7. BSD und CSRG". Der Daemon, der GNU und der Pinguin. Groklaw. Archiviert vom Original am 14. Juni 2020. Abgerufen 6. September, 2017.
  8. ^ Salus (1994), p. 142
  9. ^ Toomey, Warren. "Details der Welpenarchive". tuhs.org. Die Unix Heritage Society. Archiviert Aus dem Original am 9. Juli 2006. Abgerufen 6. Oktober, 2010.
  10. ^ M.K. McKusick, M. J. Karels, Keith Sklower, Kevin Fall, Marc Teitelbaum und Keith Bostic (1989). Aktuelle Forschung der Computersysteme Forschungsgruppe von Berkeley. Proc. Europäische Unix -Benutzergruppe.
  11. ^ Eric S. Raymond. "Die Kunst der Unix -Programmierung: Ursprünge und Geschichte von Unix, 1969–1995". Archiviert Aus dem Original am 5. Oktober 2014. Abgerufen 18. Juli, 2014.
  12. ^ Barr, Adam (19. Juni 2001). "Microsoft, TCP/IP, Open Source und Lizenzierung". Archiviert von das Original am 14. November 2005. Abgerufen 7. Juni, 2019.
  13. ^ "BSD -Code in Windows". Alles2.com. 20. März 2001. Archiviert Aus dem Original am 25. August 2008. Abgerufen 20. Januar, 2009.
  14. ^ Dennis Ritchie (26. Oktober 2000). "Alt.folklore.computer: BSD (Dennis Ritchie)". Archiviert Aus dem Original am 14. Juli 2014. Abgerufen 3. Juli, 2014.
  15. ^ Raymond, Eric S. Die Kunst der Unix -Programmierung. 2003. p. 38
  16. ^ Curry, David. Verwenden von C auf dem UNIX -System: Ein Leitfaden zur Systemprogrammierung. 1989. S. 2–3
  17. ^ Chesson, G. L. (1976). "Das Netzwerk -Unix -System". ACM SIGOPS -Betriebssysteme Überprüfung. 9 (5): 60–66. doi:10.1145/1067629.806522.
  18. ^ RFC 681
  19. ^ Quarterman, John S.; Silberschatz, Abraham; Peterson, James L. (Dezember 1985). "4.2bsd und 4.3bsd als Beispiele des UNIX -Systems". Computerumfragen. 17 (4): 379–418. Citeseerx 10.1.1.117.9743. doi:10.1145/6041.6043. S2CID 5700897.

Literaturverzeichnis

Externe Links