[GO] Ich habe 11 Arten von Betriebssystemen zusammengefasst

TL;DR Ich wusste über das Betriebssystem Bescheid. Ich weiß es. Es geht um Windows oder Mac, aber ich werde die beschissenen Informationen teilen, die ich seit ungefähr zwei Wochen auf Wikipedia eingegeben habe.

Erstes Motiv: "Welche Architektur wird von der Go-Sprache unterstützt?"

Für die Go-Sprache können Sie das entsprechende Betriebssystem und die Architektur der Ausgabebinärdatei ändern, indem Sie Umgebungsvariablen an den Compiler übergeben.

"GOOS" ist das Betriebssystem und "GOARCH" ist die Architektur.

$ GOOS=linux GOARCH=ppc64 go build

Wenn Sie so erstellen, gibt das Betriebssystem "Linux" eine Binärdatei aus, die der Architektur "ppc64" entspricht.

Das war's. Welche Betriebssysteme und Architekturen unterstützt die Sprache ** Go? ** und die Frage stellt sich.

Der Befehl zur Beantwortung dieser Frage lautet "go tool dist list". Ich werde es tatsächlich treffen.

python



$ go version
go version go1.14.2 darwin/amd64

$ go tool dist list
aix/ppc64
android/386
android/amd64
android/arm
android/arm64
darwin/386
darwin/amd64
darwin/arm
darwin/arm64
dragonfly/amd64
freebsd/386
freebsd/amd64
freebsd/arm
freebsd/arm64
illumos/amd64
js/wasm
linux/386
linux/amd64
linux/arm
linux/arm64
linux/mips
linux/mips64
linux/mips64le
linux/mipsle
linux/ppc64
linux/ppc64le
linux/riscv64
linux/s390x
netbsd/386
netbsd/amd64
netbsd/arm
netbsd/arm64
openbsd/386
openbsd/amd64
openbsd/arm
openbsd/arm64
plan9/386
plan9/amd64
plan9/arm
solaris/amd64
windows/386
windows/amd64
windows/arm

Es kam so viel heraus, dass ich überrascht war.

Ich war ein wenig verzweifelt, diese Liste zu sehen. Weil ich dachte ** "Gibt es so viel Betriebssystem ..." **.

Ich habe von "Windows" und "Linux" "Android" gehört und berühre sie normalerweise. Aber andere Betriebssysteme wissen überhaupt nicht genug, um es zu erklären.

(Übrigens ist js natürlich kein Betriebssystem, aber wenn Sie js / wasm einstellen, können Sie die Web Assembly-Binärdatei ausgeben.)

Liste der von der Go-Sprache unterstützten Betriebssysteme

In diesem Artikel ist js ausgeschlossen. Dann bleiben 11 Betriebssystemtypen wie folgt.

- aix
- android
- darwin
- dragonfly
- freebsd
- illumos
- linux
- netbsd
- plan9
- solaris
- windows

Es ist schmerzhaft, jedes Mal zu überprüfen. Ich werde es definitiv vergessen

Vor diesem Hintergrund habe ich mich entschlossen, 11 Arten von Betriebssystemen nacheinander zu untersuchen **.

Wie Sie wissen, habe ich Wikipedia verwendet, um dies herauszufinden, aber ich habe es getan, während ich auf andere Seiten verwiesen habe, um zusätzliche Informationen zu erhalten. Ich benutze hauptsächlich die englische Version von Wikipedia, weil ich lange geglaubt habe, dass die englische Version von Wikipedia (inhaltlich) vollständiger ist als die japanische Version.

Sobald Sie sich entschieden haben, wie es geht, ist es eine einfache Aufgabe. Es ist eine Aufgabe, die englische Version von Wikipedia zu öffnen, mit DeepL zu übersetzen und in einem von mir erstellten Notizbuch zusammenzustellen.

Nachdem diese Arbeit eine Weile fortgesetzt worden war, wurde klar, dass die Betriebssysteme, die chaotisch zu sein schienen, tatsächlich interessante historische Hintergründe und Eigenschaften hatten.

Indem ich die Notizen vor dem Schlafengehen überprüfe, versuche ich zu lernen, damit mein Gedächtnis leicht festgestellt werden kann (Ist es ein Prüfling?)

In diesem Artikel werde ich die Betriebssysteme nicht kategorisieren, sondern sie in der Reihenfolge, in der sie untersucht wurden, in einem Wörterbuch zusammenfassen.

Über den Inhalt dieses Artikels

Es gibt einige Notizen. Dieser Artikel übersetzt den Text von englische Wikipedia (en.wikipedia.org/) in DeepL Ich schreibe basierend auf den Notizen, die ich dabei gemacht habe. Ich gebe immer den Link zum Quellartikel an und verwende Blockquotes, um den zitierten Teil von dem Teil zu unterscheiden, den ich geschrieben habe.

Ich habe auch die Tabelle im Artikel in mein Notizbuch kopiert, aber meine Moral erlaubte mir nicht, sie in den Artikel aufzunehmen. Springen Sie also bitte zum Link und überprüfen Sie sie.

Auch wenn die Übersetzungsgenauigkeit von DeepL hoch genug ist, um selbst bei Verwendung zu beeindrucken, verstehen Sie bitte, dass der Ton wie "masu" und "is" nicht vereinheitlicht wurde. (Wenn Sie die App installieren, wird sie nur durch zweimaliges Drücken von Befehl + c übersetzt → Super praktisch)

(Es ist leicht zu lesen, wenn Sie es wissen.) Was ist das Betriebssystem überhaupt?

https://en.wikipedia.org/wiki/Operating_system

Das Betriebssystem (OS) ist eine Systemsoftware, die Computerhardware und Softwareressourcen verwaltet und allgemeine Dienste für Computerprogramme bereitstellt.

img

Kurz gesagt, es gibt ungefähr die folgenden Beziehungen.

Mit anderen Worten, die Rolle des Betriebssystems ist ** Software, die über eine Schnittstelle verfügt, über die der Benutzer die Anwendung ausführen kann, und die die spezifische Hardware vor dem Benutzer oder der Anwendung verbirgt, indem sie sich hinter den Kulissen mit der Hardware verbindet. Ist es so etwas wie ** (freie Übersetzung)?

Nur weil ein Betriebssystem Software ist, bedeutet dies nicht, dass Sie das gesamte Betriebssystem von einer Anwendung aus ausführen können. Grob gesagt kann es in ** Benutzerbereich ** unterteilt werden, in dem die vom Benutzer verwendete Anwendung direkt ausgeführt werden kann, und ** Kernelbereich **, in dem dies nicht der Fall ist.

(Es ist leicht zu lesen, wenn Sie es wissen.) Was ist ein Kernel?

https://en.wikipedia.org/wiki/Kernel_(operating_system)

Ein Kernel ist ein Computerprogramm, das den Kern des Betriebssystems eines Computers bildet und die vollständige Kontrolle über alles im System hat. Der Kernel ist ein wesentlicher Bestandteil jedes Betriebssystems. Der Kernel ist "ein Teil des Betriebssystemcodes, der sich immer im Speicher befindet". Dies erleichtert die Interaktion zwischen Hardware- und Softwarekomponenten. Auf den meisten Systemen ist es eines der ersten Programme, die beim Booten (nach dem Bootloader) geladen werden. Es übersetzt nicht nur Eingabe- / Ausgabeanforderungen von Software in Datenverarbeitungsanweisungen und Datenverarbeitungsanweisungen für die Zentraleinheit, sondern verarbeitet auch den Rest des Startvorgangs. Verarbeitet Peripheriegeräte wie Speicher, Tastaturen, Monitore, Drucker und Lautsprecher.

img

Es ist kompliziert, weil es an der Stelle, an der sich das Betriebssystem befand, einen Kernel gibt, aber der Teil des Betriebssystems, der der Hardware am nächsten liegt (der Ort, an dem man sagen kann), ist der Kernel. Bis zum Ende ist ** der Kernel ein Teil des Betriebssystems **.

Die Implementierung des Kernels hängt stark von der CPU-ähnlichen Architektur ab. (Ich kann dies in einem anderen Artikel tun.)

Diese Kommunikation zwischen dem Kernel und der Anwendung erfolgt in Form eines Systemaufrufs, und der Kernel kommuniziert gut mit der Hardware. Dadurch entfällt die Notwendigkeit, Hardware-Interaktionen direkt in der Anwendung zu implementieren. Dieser Bereich ist ein Bereich wie die Systemprogrammierung. Die E / A-Planung ist interessant.

Beispielsweise geben die Standard-C-Bibliothek printf und Python print schließlich Systemaufrufe an den Kernel aus, um sie anzuweisen, in die Standardausgabe zu schreiben. Sie können eine etwas andere Ansicht sehen.

Die Tatsache, dass der Kernel Teil des Betriebssystems ist, bedeutet auch, dass der verwendete Kernel im Allgemeinen je nach Betriebssystem unterschiedlich ist **. Darüber hinaus kann der Kernel ein einzelnes Programm sein, oder es kann ein Betriebssystem sein, das ein Hybridkernel ist, der mehrere Kernel kombiniert.

Der Kernel repräsentiert die Eigenschaften des Betriebssystems.

Von nun an werde ich vorstellen, welche Art von Kernel das Betriebssystem verwendet. Es wäre interessant zu studieren, während man darüber nachdenkt, warum dieses Betriebssystem diesen Kernel verwendet. (In diesem Artikel gibt es keine Antwort)

Betriebssystemliste

Wie in dieser Abbildung gezeigt, werden noch viele Betriebssysteme entwickelt. Von hier aus werden 11 Arten von Betriebssystemen vorgestellt, die in alphabetischer Reihenfolge angeordnet sind.

Die meisten in diesem Artikel vorgestellten Betriebssysteme sind in dieser Abbildung enthalten. Daher kann es hilfreich sein, nach dem Lesen oder beim Lesen auf sie zu verweisen.

img

Zitiert aus Linux (en.wikipedia.org)

  1. AIX IBM_AIX(en.wikipedia)

AIX (Advanced Interactive eXecutive, ausgesprochen / ˌeɪaɪˈɛks /) ist eine Reihe von proprietären Unix-Betriebssystemen, die von IBM entwickelt und für einige seiner Computerplattformen verkauft wurden. AIX wurde ursprünglich für IBM RT PC RISC-Workstations veröffentlicht und ist jetzt auf IBM RS / 6000-Serien und späteren POWER- und PowerPC-basierten Systemen, IBM System i-, System / 370-Mainframes und PS / 2-PCs verfügbar. , Und unterstützt oder unterstützt eine Vielzahl von Hardwareplattformen, einschließlich Apple Network Server.

AIX basiert auf UNIX System V mit Erweiterungen, die mit 4.3BSD kompatibel sind. Es ist eines von fünf kommerziellen Betriebssystemen mit einer zertifizierten Version des UNIX 03-Standards der Open Group (die anderen sind macOS, Solaris, HP-UX und eulerOS).

Die AIX-Betriebssystemfamilie wurde 1986 eingeführt und beim Start im Jahr 1990 zum Standardbetriebssystem für die RS / 6000-Serie. Sie wird noch immer von IBM aktiv entwickelt. Es wird derzeit von IBM Power Systems neben IBM i und Linux unterstützt.

AIX war das erste Betriebssystem mit einem Journaling-Dateisystem, und IBM wurde von Prozessor, Festplatte, Netzwerkvirtualisierung, dynamischer Zuweisung von Hardwareressourcen (einschließlich fraktionierter Prozessoreinheiten) und Mainframe-Design portiert. Wir haben die Software kontinuierlich um Funktionen wie Sexual Engineering erweitert.

AIX ist ein von IBM entwickeltes Betriebssystem, das im November 2019 veröffentlicht wurde und sich noch in der aktiven Entwicklung befindet. In C-Sprache geschrieben, fällt es in die sogenannte "Unix" -Linie.

Es kann eines der "kommerziellen Betriebssysteme" sein und ist normalerweise nicht sehr vertraut. Wenn man sich ansieht, wo es verwendet wird, scheint es, dass es von Unternehmen verwendet wird, um Server und Cloud-Umgebungen zu realisieren, die Sicherheit, hohe Verfügbarkeit und Zuverlässigkeit erfordern.

Weitere Informationen zu diesem Bereich finden Sie unter IBM AIX-Betriebssystem.

Der Quellcode ist nicht öffentlich zugänglich.

  1. Android

Android_(operating_system)(en.wikipedia)

Android ist ein mobiles Betriebssystem, das auf einer modifizierten Version des Linux-Kernels und anderer Open Source-Software basiert, die hauptsächlich für mobile Touchscreen-Geräte wie Smartphones und Tablets entwickelt wurde. Android wird von einem Konsortium von Entwicklern entwickelt, das als Open Handset Alliance bekannt ist, wobei Google der Hauptverursacher und kommerzielle Verkäufer ist.

Ursprünglich von Android Inc. entwickelt, das 2005 von Google übernommen wurde, wurde Android 2007 angekündigt und das erste kommerzielle Android-Gerät im September 2008 veröffentlicht. Die aktuelle stabile Version ist Android 10, veröffentlicht am 3. September 2019. Der Kernquellcode für Android ist als Android Open Source Project (AOSP) bekannt und wird hauptsächlich unter der Apache-Lizenz lizenziert. Infolgedessen wurden Android-Varianten für eine Vielzahl anderer elektronischer Geräte wie Spielekonsolen, Digitalkameras und PCs entwickelt, die jeweils über eine eigene Benutzeroberfläche verfügen. Bekannte Derivate sind "Android TV" für TV und "Wear OS" für Wearables, die alle von Google entwickelt wurden.

Android ist seit 2011 das meistverkaufte Betriebssystem der Welt für Smartphones und Tablets seit 2013. Seit Mai 2017 hat die Anzahl der monatlich aktiven Nutzer 2 Milliarden überschritten und ist damit die größte Installationsbasis aller Betriebssysteme. Ab Januar 2020 verfügt der Google Play Store über mehr als 2,9 Millionen Apps. Wurde getan.

Android, wie es als mobiles Betriebssystem bezeichnet wird, ist ein Betriebssystem, das hauptsächlich für Smartphones und Tablets entwickelt wurde und hauptsächlich von Google und der Open Handset Alliance (OHA) entwickelt wurde. Die Benutzeroberfläche ist in Java geschrieben, und der Kernteil ist in C oder C ++ geschrieben.

Was ist OHA? Seitdem habe ich das auch überprüft.

Open Handset Alliance(OHA)

Open_Handset_Alliance(en.wikipedia)

Die Open Handset Alliance (OHA) ist ein Konsortium von 84 Unternehmen, das offene Standards für mobile Geräte entwickelt. Zu den Mitgliedsunternehmen gehören HTC, Sony, Dell, Intel, Motorola, Qualcomm, Texas Instruments, Google, Samsung Electronics, LG Electronics, T-Mobile, die Sprint Corporation, Nvidia und Wind River Systems.

OHA wurde am 5. November 2007 von Google gegründet und hat 34 Mitglieder, darunter Hersteller mobiler Geräte, Anwendungsentwickler, einige Mobilfunkanbieter und Chiphersteller. Die Flaggschiff-Software der Allianz, Android (erstmals 2007 von Google entwickelt), basiert auf einer Open-Source-Lizenz: Apple (iOS), Microsoft (Windows Phone), Nokia (Symbian), HP (ehemals Palm) und Samsung. Es hat mit den mobilen Plattformen von Electronics / Intel (Tizen, bada) und BlackBerry (BlackBerry OS) konkurriert.

Im Rahmen der Bemühungen um eine einheitliche Android-Plattform ist es OHA-Mitgliedern vertraglich untersagt, konkurrierende Android-Geräte auf Gabelbasis herzustellen.

Mit Blick auf die Mitgliederliste war es ein Konsortium, in dem einige Männer versammelt waren. Wenn ich mir OHAs HP anschaue, bekomme ich, obwohl ich einen relativ einfachen Eindruck bekomme, das SDK für Android-Entwickler und die Anleitung zum Quellcode von Android selbst usw. Ist aufgelistet.

Android verwendet den Linux-Kernel.

  1. Darwin

Darwin_(operating_system)(en.wikipedia)

Darwin ist ein Open Source Unix-ähnliches Betriebssystem, das erstmals im Jahr 2000 von Apple Inc. veröffentlicht wurde. Es besteht aus von Apple entwickeltem Code und Code, der aus NeXTSTEP, BSD, Mach und anderen freien Softwareprojekten abgeleitet wurde.

Darwin bildet den Kern der Komponenten, die die Grundlage für macOS (früher OS X und Mac OS X), iOS, watchOS, tvOS und iPadOS bilden. Obwohl Darwin größtenteils mit POSIX kompatibel ist, wurde es nie als kompatibel mit einer Version von POSIX für sich zertifiziert. Seit Leopard ist macOS für die Kompatibilität mit Single UNIX Specification Version 3 (SUSv3) zertifiziert.

Darwin ist das Basisbetriebssystem für MacOS und iOS.

**Das? Ist macOS nicht ein Betriebssystem? Diejenigen, die ** dachten, sind scharf.

Schauen wir uns auch die macOS-Seite an.

macOS MacOS(en.wikipedia)

macOS (/ ˌmækoʊˈɛs /; früheres Mac OS X und späteres OS X) ist eine Reihe proprietärer grafischer Betriebssysteme, die seit 2001 von Apple entwickelt und vertrieben werden. Dies ist das führende Betriebssystem für Apples Mac-Computer. Auf dem Desktop-, Laptop- und Heimcomputermarkt sowie über das Internet ist es nach Microsoft Windows das am zweithäufigsten verwendete Desktop-Betriebssystem.

Sicherlich scheint macOS eine Art Betriebssystem zu sein. Wie ist also die Beziehung zwischen ** macOS und Darwin **?

Wie ist die Beziehung zwischen macOS und Darwin?

Das Herzstück von macOS ist ein POSIX-kompatibles Betriebssystem, das auf dem XNU-Kernel basiert und über eine Befehlszeilenschnittstelle Standard-Unix-Funktionen bietet. Apple hat diese Software als kostenloses Open-Source-Betriebssystem namens Darwin veröffentlicht. Zusätzlich zu Darwin hat Apple viele Komponenten, einschließlich der Aqua-Oberfläche und des Finders, überlagert, um macOS, ein GUI-basiertes Betriebssystem, zu vervollständigen.

Mit anderen Worten, Darwin ist ein Open-Source-Betriebssystem, das von ** Apple kostenlos veröffentlicht wird. Sie können Unix-Funktionen mit CUI verwenden und einen Kernel namens XNU-Kernel verwenden. Auf der anderen Seite ist macOS ein Closed-Source-Betriebssystem, das dem Open-Source-Darwin GUI-Komponenten wie Finder hinzufügt.

Wir können Apples kluge Strategie erkennen, den Kern-CUI-Teil Open Source zu machen und die Zusammenarbeit vieler Entwickler zu suchen, um die Qualität zu verbessern, und dann den GUI-Teil fest zu schließen, um den Markenwert zu steigern.

Darwins Kernel = Hybrid!

Kommen wir jetzt zu Darwin zurück. Darwins Kernel ** XNU Kernel ** ist ein ** Hybrid Kernel **. Laut Hybridkernel

Ein Hybrid-Kernel ist eine Betriebssystem-Kernel-Architektur, die versucht, die Aspekte und Vorteile der in Computer-Betriebssystemen verwendeten Mikrokernel- und monolithischen Kernel-Architektur zu kombinieren.

Monolithischer Kernel? Mikrokernel? Schauen wir uns das auch an.

Monolithischer Kernel

Ein monolithischer Kernel ist eine Betriebssystemarchitektur, bei der das gesamte Betriebssystem im Kernelraum ausgeführt wird. Das monolithische Modell unterscheidet sich von anderen Betriebssystemarchitekturen (wie der Mikrokernel-Architektur) darin, dass es selbst eine virtuelle Schnittstelle auf hoher Ebene auf Computerhardware definiert. Eine Reihe von Grundelementen und Systemaufrufen implementiert alle Betriebssystemdienste wie Prozessverwaltung, Parallelität und Speicherverwaltung. Gerätetreiber können dem Kernel als Module hinzugefügt werden.

Mikrokernel

In der Informatik ist ein Mikrokernel (oft als μ-Kernel abgekürzt) eine nahezu minimale Software, die die zur Implementierung eines Betriebssystems (OS) erforderlichen Mechanismen bereitstellen kann. .. Diese Mechanismen umfassen Adressraumverwaltung auf niedriger Ebene, Thread-Verwaltung und Interprozesskommunikation (IPC).

Wenn die Hardware mehrere Ring- oder CPU-Modi bietet, ist der Mikrokernel möglicherweise die einzige Software, die auf der privilegiertesten Ebene ausgeführt wird, die üblicherweise als Supervisor- oder Kernel-Modus bezeichnet wird. Herkömmliche Betriebssystemfunktionen wie Gerätetreiber, Protokollstapel und Dateisysteme werden normalerweise aus dem Mikrokernel selbst entfernt und stattdessen im Benutzerbereich ausgeführt.

In Bezug auf die Größe des Quellcodes sind Mikrokerne häufig kleiner als monolithische Kernel. Beispielsweise enthält der MINIX 3-Mikrokernel nur etwa 12.000 Codezeilen.

Schließlich ist ein monolithischer Kernel ein ** Kernel, der alle Dienste für das gesamte Betriebssystem ** implementiert. Ein Mikrokernel hingegen ist ein ** Kernel, der nur die minimalen Mechanismen bereitstellen kann, die zur Implementierung eines Betriebssystems ** erforderlich sind.

Und ein Hybridkernel ist eine ** Kernelarchitektur, die die Vorteile eines monolithischen Kernels und eines Mikrokernels ** kombiniert.

Lassen Sie uns tiefer in XNU, Darwins Kernel, eintauchen.

XNU

XNU(en.wikipedia)

XNU ist ein von Apple Inc. seit Dezember 1996 für macOS entwickelter Kernel für Computerbetriebssysteme (OS), der die Grundlage für Apple TV-Software, iOS, iPadOS, watchOS und tvOS bildet. Es wird als freie und Open-Source-Software als Teil des Betriebssystems veröffentlicht. XNU ist eine Abkürzung für X ist Not Unix.

Ich bin mir nicht sicher, wie "X ist nicht Unix (XNU)" heißt, aber wie Darwin ist es freie und Open-Source-Software (es ist natürlich, weil es Teil von Darwin ist).

Ursprünglich von NeXT für das Betriebssystem NeXTSTEP entwickelt, ist XNU ein Hybridkernel, der die Komponenten der Mach-Kernel-Version 2.5 und 4.3BSD kombiniert, die an der Carnegie Mellon University entwickelt wurden, um einen Treiber namens Driver Kit zu schreiben. Es war eine Kombination aus der Application Programming Interface (API) von Objective-C.

XNU ist ein Hybrid-Kernel, der sowohl monolithische als auch Mikrokernel-Funktionen enthält. Die Nachrichtenübermittlungsfunktionen des Mikrokerns machen ihn modularer, sodass die meisten Betriebssysteme vom Speicherschutz profitieren können, und einige. Wir versuchen, beide Technologien optimal zu nutzen, z. B. die Geschwindigkeit eines monolithischen Kernels für unsere Hauptaufgaben aufrechtzuerhalten. Die Grundlage des XNU-Kernels ist eine wesentliche Modifikation (Hybrid) des Open Software Foundation Mach-Kernels (OSFMK) 7.3. Auf diese Weise kann der Kern des Betriebssystems als separater Prozess ausgeführt werden, was Ihnen große Flexibilität bietet (Sie können mehrere Betriebssysteme parallel auf dem Mach-Kern ausführen).

Anscheinend ist XNU ein Hybridkernel, der ** Mach-Kernel (eine Ableitung von) ** und ** BSD ** kombiniert.

Mach Kernel

Wenn Sie sich Mach Overview --Apple Developer ansehen, ist der Mach-Kernel ** abstrakt. Es hat ausgezeichnete Eigenschaften, Erweiterbarkeit und Flexibilität **. Die Hauptrollen des Mach-Kernels sind:

-Eine objektbasierte API mit einem Kommunikationskanal (Port usw.) als Objektreferenz · Erweiterte parallele Ausführung mit Unterstützung für präemptive geplante Threads und SMP -Flexibles Planungsframework, das die Verwendung in Echtzeit unterstützt · Ein vollständiger Satz von IPC-Grundelementen, einschließlich Messaging, RPC, Synchronisation und Benachrichtigungen · Unterstützt große virtuelle Adressräume, gemeinsam genutzte Speicherbereiche und Speicherobjekte, die in dauerhaften Speichern gesichert werden

Apple scheint den Mach-Kernel modifiziert und erweitert zu haben, um die Qualität und Leistung von macOS zu verbessern.

BSD

Der Berkeley Software Distribution (BSD) -Teil des Kernels ist die POSIX-Anwendungsprogrammierschnittstelle (API, BSD-Systemaufrufe), das Unix-Prozessmodell über der Mach-Aufgabe, die Grundlagen. Bietet typische Sicherheitsrichtlinien, Benutzer- und Gruppen-IDs, Berechtigungen, Netzwerkprotokollstapel (Protokolle) und Code für virtuelle Dateisysteme (einschließlich dateisystemunabhängiger Journaling-Schicht).

Auf der anderen Seite bietet ** BSD ** grundlegende Kernelfunktionen wie die POSIX-kompatible Systemaufruf-API und das Prozessmanagement.

Dies sind natürlich Open Source, sodass wir auch den Quellcode sehen können.

Wenn Sie sich XNU --6153.61.1 ansehen, gibt es einen Ordner namens "bsd /", und Sie verwenden tatsächlich BSD. Sie können sehen, dass es gibt. (Diese XNU wurde übrigens in macOS 1.15.2 veröffentlicht)

BSD-Kernel

Berkeley_Software_Distribution(en.wikipedia.org)

Berkeley Software Distribution (BSD) war ein auf Research Unix basierendes Betriebssystem, das von der Computer Systems Research Group (CSRG) an der University of California in Berkeley entwickelt und vertrieben wurde. Heutzutage bezieht sich "BSD" häufig auf seine Nachkommen wie FreeBSD, OpenBSD, NetBSD oder DragonFly BSD sowie auf Systeme, die auf diesen Nachkommen basieren.

Es scheint, dass die Nachkommen von ** FreeBSD **, ** OpenBSD **, ** NetBSD **, ** DragonFly BSD ** usw., die den BSD-Kernel verwenden, häufig als ** BSD ** bezeichnet werden.

Laut Official HP hat der BSD-Kernel die folgenden Rollen.

Der BSD-Kernel übernimmt die Prozessplanung, Speicherverwaltung, SMP (Symmetric Multiprocessing), Gerätetreiber und mehr.

--C Bibliothek, die die Basis-API des Systems ist

(** Nachtrag: Basierend auf @ taraijpns Kommentar habe ich den Punkt "BSD-Kernel" hinzugefügt, um Missverständnisse zu beseitigen. Vielen Dank für den Hinweis. **)

  1. DragonFly BSD

DragonFly_BSD(en.wikipedia)

DragonFly BSD ist ein kostenloses Open-Source-Unix-ähnliches Betriebssystem aus FreeBSD 4.8. Matthew Dillon, Entwickler von Amiga in den späten 1980er und frühen 1990er Jahren und Entwickler von FreeBSD von 1994 bis 2003, begann im Juni 2003 und 16. Juli 2003 mit der Entwicklung von DragonFly BSD. Am selben Tag auf der FreeBSD-Mailingliste angekündigt.

Dillon startete DragonFly, weil er glaubte, dass die in FreeBSD 5 verwendeten Threading- und symmetrischen Multiverarbeitungstechniken zu schlechten Leistungs- und Wartungsproblemen führen würden. Er versuchte, diese erwarteten Probleme im FreeBSD-Projekt zu beheben. Seine Fähigkeit, die Codebasis direkt zu ändern, wurde schließlich aufgrund von Konflikten mit anderen FreeBSD-Entwicklern über die Umsetzung seiner Ideen widerrufen. Trotzdem arbeiten die DragonFly BSD- und FreeBSD-Projekte immer noch zusammen und teilen Fehlerbehebungen, Treiberupdates und andere Verbesserungen.

DragonFly soll eine logische Fortsetzung der FreeBSD 4.x-Serie sein und weicht erheblich von FreeBSD ab, indem ein Lightweight-Kernel-Thread (LWKT), ein In-Kernel-Message-Passing-System und ein HAMMER-Dateisystem implementiert werden.

Das in der Entwicklung befindliche Kernel-Messaging-Subsystem ähnelt dem in Mikrokernen wie Mach, ist jedoch vom Design her weniger komplex. DragonFly verwendet jedoch ein monolithisches Kernelsystem. Das Messaging-Subsystem von DragonFly kann entweder synchron oder asynchron arbeiten und versucht, diese Fähigkeit zu nutzen, um in einer bestimmten Situation die bestmögliche Leistung zu erzielen.

DragonFly BSD ist ein Betriebssystem **, das von ** FreeBSD gespalten wurde. Es scheint, dass Dillon, der ursprünglich ein Entwickler von FreeBSD war, aufgrund von "Unterschieden in der Musikalität" mit der in FreeBSD verwendeten Technologie Schluss gemacht und DragonFly BSD als ein anderes Projekt gestartet hat.

DragonFly BSD scheint im Gegensatz zu Darwin einen monolithischen Kernel zu verwenden.

Als nächstes werfen wir einen Blick auf die Haupt-FreeBSD.

  1. FreeBSD

FreeBSD(en.wikipedia)

FreeBSD ist ein kostenloses Open-Source-Unix-ähnliches Betriebssystem, das auf der auf Research Unix basierenden Berkeley Software Distribution (BSD) basiert. Die erste Version von FreeBSD wurde 1993 veröffentlicht. Im Jahr 2005 war FreeBSD das beliebteste Open-Source-BSD-Betriebssystem und machte mehr als drei Viertel aller installierten einfachen lizenzierten BSD-Systeme aus.

FreeBSD ähnelt Linux, weist jedoch erhebliche Unterschiede in Umfang und Lizenzierung auf. Das heißt, Linux stellt nur den Kernel und die Treiber zur Verfügung und ist bei der Systemsoftware auf Dritte angewiesen, während das FreeBSD-Projekt ein komplettes System verwaltet.

Das FreeBSD-Projekt umfasst ein Sicherheitsteam, das die gesamte in der Basisdistribution enthaltene Software überwacht. Eine Vielzahl von Anwendungen von Drittanbietern kann mithilfe des pkg-Paketverwaltungssystems, FreeBSD-Ports oder durch Kompilieren des Quellcodes installiert werden.

Mit dieser Lizenz ist ein Großteil der FreeBSD-Codebasis Apples Darwin (die Grundlage für macOS, iOS, watchOS, tvOS), FreeNAS (das Open-Source-Betriebssystem NAS / SAN) sowie Sonys PlayStation 3- und PlayStation 4-Systemsoftware. Es ist ein wesentlicher Bestandteil anderer Betriebssysteme geworden.

FreeBSD ist ein beliebtes Betriebssystem, das drei Viertel der BSD-Familie ausmacht. Linux, das auch ein freies Open-Source-Betriebssystem ist, weist einige Ähnlichkeiten und einige wesentliche Unterschiede auf. Insbesondere ist einer der Hauptunterschiede zwischen FreeBSD und Linux die ** Lizenz **.

Unterschied zwischen BSD- und Linux-Lizenzen

Zitiert aus BSD vs Linux: Die grundlegenden Unterschiede.

Die meisten Leute kümmern sich nicht darum, aber der Unterschied in den Lizenzen ist wirklich wichtig. Linux verwendet die GNU General Public License (GPL). Dies bedeutet, dass Entwickler den Linux-Kernel nach Belieben ändern oder neue Funktionen hinzufügen können. Das einzige Problem ist, dass der gesamte neu entwickelte Quellcode veröffentlicht werden muss, unabhängig davon, ob der Entwickler dies wünscht oder nicht.

BSD verwendet eine eigene BSD-Lizenz, mit der Entwickler den BSD-Kernel oder die Distribution ändern oder neue Funktionen hinzufügen können, ohne den Quellcode offenzulegen. Mit anderen Worten, Open Source BSD kann als Closed Source deklariert werden, wenn der Entwickler dazu bereit ist. Entwickler sind nicht verpflichtet, den Quellcode für Dritte zu veröffentlichen.

Mit anderen Worten, Linux verwendet eine GNU-Lizenz. Wenn Sie also Änderungen am Linux-Kernel vornehmen, müssen Sie ** veröffentlichen **. BSD verwendet dagegen eine eigene BSD-Lizenz, muss also nicht unbedingt Open Source sein **.

BSD ist im Gegensatz zu Linux ein vollständiges Betriebssystem. BSD ist auch der Kernel und wird als Kern des Betriebssystems verwendet. BSD-Entwickler verwenden diesen Kernel, um verschiedene Arten von Programmen hinzuzufügen und sie den Benutzern als vollständige Distribution zur Verfügung zu stellen. Mit anderen Worten, das BSD-Betriebssystem verteilt wie FreeBSD und NetBSD den Kernel und die darauf hinzugefügten Programme als ein einziges herunterladbares Paket.

Außerdem wird das BSD-Betriebssystem als vollständige Distribution für sich bereitgestellt, sodass keine Distribution wie Ubuntu oder Debian wie bei Linux erforderlich ist.

  1. illumos

Illumos(en.wikipedia)

illumos ist ein kostenloses und Open Source Unix-Betriebssystem. Es basiert auf OpenSolaris, das auf System V Release 4 (SVR4) und Berkeley Software Distribution (BSD) basiert. illumos besteht aus einem Kernel, Gerätetreibern, Systembibliotheken und Hilfssoftware für die Systemverwaltung. So wie der Linux-Kernel von verschiedenen Linux-Distributionen verwendet wird, ist dieser Kern nun die Basis für verschiedene Open-Source-Illumos-Distributionen.

illumos soll auf ** System V Release 4 (SVR4) ** und BSD-basiertem OpenSolaris basieren.

Was ist ** System V ** überhaupt?

UNIX System V

UNIX_System_V(en.wikipedia.org)

Unix System V (ausgesprochen "System Five") ist eine der ersten kommerziellen Versionen des Unix-Betriebssystems. Ursprünglich von AT & T entwickelt, wurde es erstmals 1983 veröffentlicht. Es wurden vier Hauptversionen von System V mit den Nummern 1, 2, 3, 4 veröffentlicht. System V Release 4 (SVR4) war die kommerziell erfolgreichste Version, die als Unix System Unification verkauft wurde, und war das Ergebnis der Bemühungen, die Zusammenarbeit der wichtigsten Unix-Anbieter zu suchen. Diese Version war die Quelle einiger beliebter kommerzieller Unix-Funktionen. System V wird manchmal als SysV abgekürzt.

Ab 2020 ist der von AT & T abgeleitete Unix-Markt in drei Varianten von System V unterteilt. AIX von IBM, HP-UX von Hewlett-Packard und Solaris von Oracle.

UNIX System V ist ** eine der kommerziellen Versionen von Unix OS **. Die erste AIX in diesem Artikel existiert auch als Variante von System V.

Übrigens begann AT & T mit einem Unternehmen, das von Graham Bell, dem Erfinder des Telefons, gegründet wurde und heute das größte Telekommunikationsunternehmen der Welt ist.

System V Release 4 (SVR4)

System V Release 4 (SVR4) ist Release Version 4 von System V. Es ist eine Kombination der folgenden vier.

SunOS

SunOS ist ein von Sun Microsystems entwickeltes Unix-Betriebssystem für Workstation- und Server-Computersysteme. Der SunOS-Name wird normalerweise nur für BSD-basierte Versionen 1.0 bis 4.1.4 verwendet. Seit Version 5.0 basiert er auf UNIX System V Release 4 und wird unter dem Markennamen Solaris vertrieben. ..

** SunOS ** wurde bereits entwickelt, wurde jedoch von einem kommerziellen Betriebssystem namens ** Solaris ** übernommen, das später veröffentlicht wird.

  1. Linux Linux(en.wikipedia)

Linux (/ ˈlɪnəks / (über diesen Sound hören) LIN-əks) ist eine Familie von Open-Source-Unix-ähnlichen Betriebssystemen, die auf dem Linux-Kernel basieren und erstmals am 17. September 1991 von Linus Torvalds veröffentlicht wurden. Der Betriebssystemkernel. Linux ist normalerweise in einer Linux-Distribution gepackt.

Die Distribution enthält den Linux-Kernel sowie die dazugehörige Systemsoftware und Bibliotheken, von denen viele vom GNU-Projekt bereitgestellt werden. Viele Linux-Distributionen verwenden das Wort "Linux" in ihren Namen, aber die Free Software Foundation verwendet den Namen GNU / Linux, um die Bedeutung von GNU-Software hervorzuheben, was einige Kontroversen hervorruft. Ich werde.

Nun, ich bin zum berühmten Linux gekommen. Wenn ich an Linux denke, denke ich, dass es eine Art Betriebssystem ist, aber wenn ich das sage, ist es ein bisschen verwirrend. Linux sollte als ** Familie von Open Source-Betriebssystemen betrachtet werden, die den Linux-Kernel ** verwenden. In diesem Sinne möchte ich es ** Linux ** nennen.

img

Wie Sie in diesem Bild sehen können, kommuniziert der Linux-Kernel mit der Hardware auf der linken Seite und interagiert gleichzeitig mit den verschiedenen Anwendungen auf der rechten Seite. GUIs wie die Desktop-Benutzeroberfläche befinden sich außerhalb des Kernels und sind nicht im Linux-Kernel enthalten.

Linux Kernel

Linux_kernel(en.wikipedia)

Der Linux-Kernel ist besonders wichtig, schauen wir uns das genauer an.

Der Linux-Kernel ist ein kostenloser Open-Source-Kernel für ein monolithisches Unix-ähnliches Betriebssystem. Von PCs, Mobilgeräten, Mainframes und Supercomputern bis hin zu eingebetteten Geräten wie Routern, drahtlosen Zugangspunkten, Vermittlungsstellen, Set-Top-Boxen, FTA-Empfängern, Smart-TVs, persönlichen Videorecordern und NAS-Geräten. Es wird auf verschiedenen Computersystemen bereitgestellt. Seine Verfügbarkeit, kontinuierliche Entwicklung und Unterstützung haben viele Betriebssystemdistributionen hervorgebracht (allgemein bekannt als Linux).

Obwohl die Akzeptanz des Linux-Kernels in Desktop-Computer-Betriebssystemen gering ist, sind Linux-basierte Betriebssysteme fast alles andere auf einem Computer, einschließlich der Verwendung des Linux-Kernels im Android-Betriebssystem für Tablet-Computer, Smartphones und Smartwatches. Dominiert das Segment von.

Der Linux-Kernel wird auf allen Arten von Geräten wie PCs, Spacons und Routern bereitgestellt. Im Vergleich zu Windows und MacOS wird es auf PCs relativ selten verwendet, weist jedoch einen überwältigenden Anteil an anderen Geräten auf.

Der Linux-Kernel wurde 1991 von Linus Torvalds für seinen PC entwickelt und erstellt, jedoch ohne plattformübergreifende Absicht. Linux zog schnell Entwickler und Benutzer an und übernahm Linux als Kernel für andere freie Softwareprojekte. Insbesondere das GNU-Betriebssystem wurde als freies, nicht exklusives Betriebssystem erstellt und basiert auf UNIX als Nebenprodukt des Unix-Krieges.

Der Linux-Kernel wurde von Mitwirkenden auf der ganzen Welt entwickelt und ist ein Paradebeispiel für freie und Open-Source-Software. Tägliche Entwicklungsdiskussionen finden auf der Linux Kernel Mailing List (LKML) statt. Der gesamte Linux-Kernel wird unter der GNU General Public License Version 2 (GPLv2) veröffentlicht, wie in der COPYING-Datei angegeben, enthält jedoch auch einige andere kompatible Lizenzdateien, User- Es gibt auch eine Ad-hoc-Ausnahme für die Space-API-Header-Datei (UAPI).

Ursprünglich 1991 von dem renommierten Linus Torvalds entwickelt, ist es ein faszinierendes Projekt und kostenlos und Open Source. Daher wird es täglich von vielen Mitwirkenden entwickelt.

Es gibt satte 910.000 Commits im Github-Repository von Linus (torvalds / linux). Ich habe versucht, dies lokal zu klonen, aber es hat lange gedauert und aufgegeben (ich habe nur den Master-Snapshot mit dem Zip-Download heruntergeladen). Wenn Sie interessiert sind, laden Sie es bitte herunter.

Werfen wir einen Blick auf einige Linux-Betriebssysteme **, die den Linux-Kernel verwenden.

Debian Debian(en.wikipedia)

Debian (/ ˈdɛbiən /), auch bekannt als Debian GNU / Linux, ist eine kostenlose, auf Open Source-Software basierende Linux-Distribution, die vom Debian-Projekt entwickelt wurde, das am 16. August 1993 von Ian Murdock gegründet wurde. Ist. Die erste Version von Debian (0,01) wurde am 15. September 1993 veröffentlicht, und die erste stabile Version (1.1) wurde am 17. Juni 1996 veröffentlicht. Debian ist auch die Basis für viele andere Distributionen, insbesondere Ubuntu.

** Debian ** (** Debian GNU / Linux ** um genau zu sein) ist eines der ältesten Linux-Betriebssysteme. Es ist in Ordnung, aber ** De ** wird wie ** De ** bian akzentuiert.

Der Unterschied zwischen ** Distribution ** und ** Betriebssystem ** ist [Was ist der Unterschied zwischen einem Betriebssystem und einer Distribution in Bezug auf Linux?](Https://www.quora.com/What- Ich habe gelesen, dass es sich um die Unterscheidung zwischen einem Betriebssystem und einer Distribution in Bezug auf Linux handelt, und es scheint keinen großen Unterschied zu machen.

In der Geschichte von Linux gab es eine Zeit, in der Sie andere Teile als den Kernel nach Ihren Wünschen erstellt und an Freunde verteilt haben. Dies ist der Ursprung der "Verteilung", und es ist die Meinung, dass sie veraltet ist. Hier mag es Vor- und Nachteile geben, aber was ist damit? Hier werden Distributionen wie Debian so verwendet, wie sie sind, ohne sie vom Betriebssystem zu unterscheiden.

Was ist GNU überhaupt? Mal sehen, das.

GNU

GNU(en.wikipedia.org)

GNU / ɡnuː / ist ein Betriebssystem und eine große Sammlung von Computersoftware. GNU besteht ausschließlich aus freier Software, von denen die meisten unter dem General Public License Agreement (GPL) des GNU-Projekts lizenziert sind.

GNU ist eine rekursive Abkürzung für "GNU's Not Unix!" Und wurde gewählt, weil das Design Unix ähnelt, aber freie Software ist und sich von Unix dadurch unterscheidet, dass es keinen Unix-Code enthält. Ich tat.

Das GNU-Projekt enthält den Betriebssystemkern GNU Hurd. Da der Hurd-Kernel jedoch noch nicht produktionsbereit ist, können Nicht-GNU-Kernel, die beliebtesten Linux-Kernel, auch mit GNU-Software verwendet werden. Die Kombination von GNU und Linux ist allgegenwärtig geworden, und diese Kombination wird oft einfach als "Linux" abgekürzt oder manchmal als GNU / Linux bezeichnet.

Richard Stallman, Gründer des GNU-Projekts, betrachtet GNU als "technisches Werkzeug für soziale Zwecke". In ähnlicher Weise schrieb Lawrence Lessig in einer Einführung in die zweite Ausgabe von Stallmans Buch "Freie Software, Freie Gesellschaft", in der Stallman "Die sozialen Aspekte von Software und Freier Software für Gemeinschaften und soziale Gerechtigkeit" beschrieb. "Wie kann ich es erstellen?"

GNU selbst ist ein Betriebssystem, eine Sammlung von Computersoftware. Es enthält nicht den Unix-Code selbst (GNU = GNU's Not Unix!), Hat aber ein Unix-ähnliches Design.

Es scheint, dass die Entwicklung eines Kernels namens GNU Hurd ursprünglich im GNU-Projekt enthalten war, aber da es noch ** noch nicht produktionsbereit ** ist, verwenden viele ** GNU-Computersoftwaregruppe ** als Userland, Linux. Es scheint, dass ** GNU / Linux **, das den Kernel als Kernel verwendet, alltäglich geworden ist und einfach ** Linux ** genannt wird.

Zum Beispiel ist die für das GNU-Projekt erstellte Software die bekannte ** Bash **.

Bash_(Unix_shell)

GNU Bash oder einfach Bash ist eine Unix-Shell und Befehlssprache, die von Brian Fox als freie Software als Ersatz für die Bourne-Shell für GNU-Projekte geschrieben wurde. Es wurde 1989 erstmals veröffentlicht und ist in den meisten Linux-Distributionen sowie in Apples macOS Mojave und früheren Versionen als Standard-Login-Shell weit verbreitet. Windows 10 hat auch eine Version. Es ist auch die Standardbenutzer-Shell in Solaris 11.

Zusätzlich zu Debian GNU / Linux scheinen ** Debian GNU / kFreeBSD ** und ** Debian GNU / Hurd ** usw. erstellt worden zu sein, indem nur der Kernel durch einen anderen ersetzt wurde, während das Benutzerland (Anwendung usw.) erhalten blieb. ist.

Debian ist eine der beliebtesten Linux-Distributionen, und viele andere Distributionen wurden aus der Debian-Codebasis erstellt. Ab 2018 listet DistroWatch 141 aktive Debian-Derivate auf. Das Debian-Projekt bietet Richtlinien für Best Practices in seinen Derivaten und ermutigt sie, ihre Arbeit in Debian zusammenzuführen.

Debian GNU/kFreeBSD

Debian GNU/kFreeBSD(en.wikipedia.org)

Debian GNU / kFreeBSD ist eine veraltete Debian-Variante. Ich habe den FreeBSD-Kernel und das GNU-Userland verwendet. Der größte Teil der Debian GNU / kFreeBSD-Software stammt aus derselben Quelle wie Debian, und einige Kernel-Pakete stammen von FreeBSD. k in kFreeBSD steht für Kernel und bezieht sich auf den FreeBSD-Kernel. Bevor das Projekt abgebrochen wurde, unterhielt Debian einen Port von i386 und amd64. Die letzte Version von Debian kFreeBSD ist Debian 8 (Jessie) RC3.

Debian GNU / kFreeBSD wurde 2002 erstellt. Es ist in Debian 6.0 (Squeeze) als technische Vorschau und in Debian 7.0 (Wheezy) als offizieller Port enthalten. Debian GNU / kFreeBSD wurde ab Debian 8.0 als offiziell unterstützte Plattform abgelehnt, da nicht genügend Benutzer angezogen werden konnten, um die Belastung durch andere Projekte zu rechtfertigen. .. Debian-Entwickler nennen OSS, pf, Jails, NDIS und ZFS als Gründe für ihr Interesse am FreeBSD-Kernel.

Es wurde seit Debian 8 nicht aktualisiert, aber seit Juli 2019 wird das Betriebssystem weiterhin inoffiziell gewartet.

Debian GNU / kFreeBSD ist ein Betriebssystem, das den FreeBSD-Kernel und das GNU-Userland verwendet. Es scheint nicht mehr offiziell aktualisiert zu werden, aber ich verwende den ** FreeBSD-Kernel ** anstelle des Linux-Kernels.

Debian GNU/Hurd

Debian GNU/Hurd(en.wikipedia.org)

Debian GNU / Hurd ist eine Variante, die auf dem Hurd-Mikrokernel anstelle von Linux basiert. Debian GNU / Hurd befindet sich seit 1998 in der Entwicklung und wurde im Mai 2013 offiziell veröffentlicht.

Debian GNU / Hurd wird als Installations-CD (mit dem offiziellen Debian-Installationsprogramm) oder als sofort einsatzbereites Image der virtuellen Festplatte (Live-CD, Live-USB) vertrieben. Diese CD verwendet die IA-32-Architektur und ist mit IA-32- und x86-64-PCs kompatibel. Die aktuelle Version von Debian GNU / Hurd ist 2019 und wurde im Juli 2019 veröffentlicht.

Debian GNU / Hurd ist ein Betriebssystem, das den Hurd Kernel und das GNU Userland verwendet. Der Hurd-Kernel scheint seit Mai 2020 nicht mehr veröffentlicht worden zu sein, scheint jedoch so konzipiert zu sein, dass er mit dem Unix-Kernel kompatibel ist. In GNU (en.wikipedia.org) verliert die Präsenz als Kernel gegenüber dem Linux-Kernel als ** noch nicht produktionsbereit **. Es scheint, dass es getan wurde.

GNU Hurd besteht aus einer Reihe von Protokollen und Serverprozessen (Damon in der Unix-Terminologie), die auf dem GNU Mach-Mikrokernel ausgeführt werden. Hurd ist bestrebt, den Unix-Kernel in Bezug auf Funktionalität, Sicherheit und Stabilität zu übertreffen, bleibt jedoch weitgehend kompatibel mit dem Unix-Kernel. Das GNU-Projekt entschied sich für einen Multi-Server-Mikrokernel als Betriebssystem, da dieser der traditionellen monolithischen Unix-Kernelarchitektur überlegen war.

** (Ergänzung: Auf das Debian-Element wurde von @ c-yan hingewiesen, und ich habe es hinzugefügt, um Debian einzuführen, das den Linux-Kernel nicht verwendet. Außerdem habe ich eine Beschreibung von GNU hinzugefügt.) **

Ubuntu

Ubuntu(en.wikipedia)

Ubuntu (/ ˈʊbʊntuː / uu-BUUN-too) ist eine Debian-basierte kostenlose Open-Source-Linux-Distribution. Ubuntu wird offiziell in drei Editionen veröffentlicht. Drei Editionen von Core für Desktops, Server sowie Mono-Internetgeräte und -Roboter wurden offiziell veröffentlicht. Alle Editionen können unabhängig voneinander auf einem Computer oder in einer virtuellen Maschine ausgeführt werden. Ubuntu unterstützt OpenStack und ist ein beliebtes Betriebssystem für Cloud Computing.

Ubuntu ist mit Abstand das beliebteste Linux-Betriebssystem. Die Entwicklungsorganisation für Ubuntu ist ** Canonical Ltd. **, ein britisches Unternehmen. ** Canonical Ltd. ** wurde vom südafrikanischen Unternehmer ** Mark Shuttleworth ** gegründet.

Es ist völlig vernünftig, aber der Name Ubuntu scheint in der südafrikanischen Nguni-Philosophie die Bedeutung von "Menschlichkeit für andere" zu haben: "Ich bin, was ich bin, weil wir alle sind".

  1. NetBSD

NetBSD(en.wikipedia)

NetBSD ist ein kostenloses Open-Source-Unix-ähnliches Betriebssystem, das auf der Berkeley Software Distribution (BSD) basiert. Es ist ein Nachkomme des ersten Open-Source-BSD, das offiziell veröffentlicht wurde, nachdem der 386BSD gegabelt wurde.

Das NetBSD-Projekt konzentriert sich auf Codeklarheit, sorgfältiges Design und Portabilität für viele Computerarchitekturen. Der Quellcode ist öffentlich verfügbar und wird mit Genehmigung lizenziert.

NetBSD ist ein kostenloses Open-Source-Betriebssystem in der BSD-Familie. In der Vergangenheit wurde es von ** 386BSD ** abgeleitet, einem Betriebssystem, das auf dem Intel 80386-Prozessor ausgeführt wird, der die Grundlage moderner Architektur bildet.

Eines der bekanntesten Betriebssysteme von NetBSD ist ** OpenBSD **.

OpenBSD

OpenBSD(en.wikipedia.org)

OpenBSD ist ein sicherheitsorientiertes, kostenloses Open-Source-Unix-ähnliches Betriebssystem, das auf der Berkeley Software Distribution (BSD) basiert. Theo de Raadt gab NetBSD 1995 auf, um OpenBSD zu erstellen. Laut de Raadt ist OpenBSD ein Forschungsbetriebssystem zur Entwicklung von Sicherheitsminderungen.

OpenBSD ist ein kostenloses Open-Source-Betriebssystem, das von NetBSD entwickelt wurde. Laut dem Entwickler von OpenBSD, de Raadt, ist OpenBSD ein "Forschungsbetriebssystem zur Entwicklung von Sicherheitsminderungen". Was meinst du? Ich dachte, und als ich About OpenBSD folgte,

Minderungsmaßnahmen stoppen Programme, die anfangen, schlechte Dinge zu tun.

Schadensbegrenzungstechnologie, die ungültig gemacht werden kann → verschwindet im Verlauf

Wie Sie oben sehen können, haben wir festgestellt, dass wir versuchen, Sicherheitsprobleme zu reduzieren, indem wir immer anhalten, wenn ein Fehler auftritt, oder es unmöglich machen, eine solche Funktion zu stoppen.

Es gab auch eine Nebengeschichte.

Im Dezember 1994 musste Theo de Raadt aus dem NetBSD-Kernteam ausscheiden und der Zugriff auf das Quell-Repository wurde widerrufen. Teamkollegen argumentierten, dass dies auf einen Persönlichkeitskonflikt auf der Mailingliste zurückzuführen sei.

Anscheinend zwang ein Konflikt mit Melis im NetBSD-Projekt das Kernteam zum Rücktritt.

Das OpenBSD-Projekt verwaltet tragbare Versionen vieler Subsysteme als Pakete für andere Betriebssysteme. Aufgrund der Betonung der Codequalität in diesem Projekt werden viele Komponenten in anderen Softwareprojekten wiederverwendet. Android verwendet seine C-Standardbibliothek, LLVM verwendet seine kanonische Ausdrucksbibliothek und Windows 10 verwendet OpenSSH mit LibreSSL.

Und zurück zu OpenBSD selbst: OpenBSD bietet anscheinend nicht nur hochwertigen Code, sondern auch Pakete für andere Betriebssysteme, sodass viele Komponenten für andere Softwareprojekte verfügbar sind. ..

Beispielsweise verwendet Android die C-Standardbibliothek von OpenBSD, und Windows 10 verwendet auch OpenSSH, das von OpenBSD entwickelt wurde.

(** Nachtrag: Es gibt einige Meinungen, dass es kein berühmtes OpenBSD in der BSD-Familie gibt, und ich dachte, dass es notwendig war, also habe ich den Punkt "OpenBSD" hinzugefügt. **)

  1. Plan 9

Plan_9_from_Bell_Labs(en.wikipedia)

Bell Labs Plan 9 ist ein dezentrales Betriebssystem, das Mitte der 1980er Jahre vom Computing Science Research Center (CSRC) von Bell Labs abgeleitet wurde und auf dem dort Ende der 1960er Jahre erstmals entwickelten UNIX-Konzept basiert. .. Die endgültige offizielle Veröffentlichung ist Anfang 2015.

Unter Plan 9 ist UNIX alles eine Dateimetapher, die durch ein weit verbreitetes netzwerkzentriertes Dateisystem erweitert wird. Cursor-adressierte terminalbasierte E / A bilden das Herzstück von UNIX-ähnlichen Betriebssystemen. Die Plan 9-Shell rc ist textbasiert, wurde jedoch durch ein Fenstersystem ohne Cursoradressierung und eine grafische Benutzeroberfläche ersetzt.

Der Name Plan 9 der Bell Labs bezieht sich auf Ed Woods Kult-Science-Fiction-Kultfilm "Plan 9 from Outer Space" von 1959. Das Projektmaskottchen heißt "Glenda, the Plan 9 Bunny". Es wird immer noch von Betriebssystemforschern und Hobbyisten verwendet und entwickelt.

Plan 9 scheint seit seiner Veröffentlichung Anfang 2015 nicht mehr veröffentlicht worden zu sein.

  1. Solaris

Solaris_(operating_system)(en.wikipedia)

Solaris ist ein nicht freies Unix-Betriebssystem, das von Sun Microsystems entwickelt wurde. 1993 ersetzte es das bisherige SunOS des Unternehmens. Im Jahr 2010 wurde es nach der Übernahme von Sun durch Oracle in Oracle Solaris umbenannt.

Das Oracle entwickelt ** Solaris **. Wie in [UNIX System V](# unix-system-v) eingeführt, handelt es sich um eine ** Variante von System V, bei dem es sich um ein kommerzielles UNIX ** handelt.

Es scheint, dass es verschiedene Dinge gab, wie den Quellcode, der 2011 an BitTorrent durchgesickert ist, aber erst kürzlich wurde er im August 2018 veröffentlicht.

  1. Microsoft Windows Microsoft_Windows(en.wikipedia)

Microsoft Windows ist eine Gruppe mehrerer proprietärer grafischer Betriebssystemfamilien, die allgemein als Windows bezeichnet werden und alle von Microsoft entwickelt und vermarktet werden.

Jede Familie entspricht einem bestimmten Sektor der Computerindustrie. Die aktive Microsoft Windows-Familie umfasst Windows NT und Windows IoT.

Wie Sie alle wissen, sind Namen wie Windows XP und Windows 10 nur ** Marketing-Namen **. Die Realität ist, dass ** Windows NT ** -Versionen Aliase wie ** 5.1 für Windows XP ** und ** 10.0 für Windows 10 ** haben.

Windows NT

Windows_NT(en.wikipedia)

Windows NT ist eine Familie von Betriebssystemen, die von Microsoft hergestellt werden und deren erste Version am 27. Juli 1993 veröffentlicht wurde. Es ist ein prozessorunabhängiges Betriebssystem mit mehreren Verarbeitungen und mehreren Benutzern.

Windows NT ist ein kommerzielles Betriebssystem (eine Familie von) und eine geschlossene Quelle.

Was ist der Unterschied zwischen einem Windows-Kernel und einem Linux-Kernel?

Wie in [Was ist der Unterschied zwischen Windows-Kernel und Linux-Kernel] zusammengefasst (https://pediaa.com/what-is-the-difference-between-windows-kernel-and-linux-kernel/) Sie können den Unterschied erkennen, indem Sie den Windows-Kernel und den Linux-Kernel vergleichen.

Zum Beispiel sind ** Windows-Kernel hybride, Linux-Kernel monolithische ** Punkte, ** Windows-Kernel enthalten GUI ** -Punkte und so weiter.

Insbesondere die Behandlung von Geräten ist unterschiedlich, und Linux, das die UNIX-Philosophie übernimmt, dass ** alles eine Datei ** ist, ist so konzipiert, dass ein Gerät als Datei behandelt wird. Andererseits verwendet Windows ** verschiedene Methoden für die Interaktion mit Geräten **. Es scheint einen Unterschied in der Art der Abstraktion wie dieser zu geben.

Was ist MS-DOS?

Kehren wir noch einmal zur Windows NT-Beschreibung zurück.

Die erste Version von Windows NT war Windows NT 3.1, das für Workstation- und Servercomputer entwickelt wurde. Es sollte die Consumer-Version von Windows ergänzen, die auf MS-DOS basiert (einschließlich Windows 1.0 bis Windows 3.1x). Allmählich hat die Windows NT-Familie die Windows 9x-Familie abgeschafft und die Produktlinie für Allzweck-Betriebssysteme von Microsoft für alle PCs erweitert.

Die erste Version von Windows NT basiert auf ** MS-DOS **. Was ist ** MS-DOS **?

Was ist vorher ** DOS **? Lass uns einen Blick darauf werfen.

DOS DOS(en.wikipedia)

DOS (/ dɒs /, / dɔːs /) ist eine Abkürzung für plattformunabhängiges Festplattenbetriebssystem, das später eine gebräuchliche Abkürzung für festplattenbasierte Betriebssysteme auf IBM PC-kompatiblen Computern wurde. wurde. DOS besteht hauptsächlich aus MS-DOS von Microsoft und der unter dem Namen PC DOS umbenannten IBM-Version, die beide 1981 eingeführt wurden. Spätere kompatible Systeme anderer Hersteller umfassen DR DOS (1988), ROM-DOS (1989), PTS-DOS (1993) und FreeDOS (1998). Von 1981 bis 1995 dominierte MS-DOS den IBM PC-kompatiblen Markt.

Ab dem Mainframe DOS / 360 im Jahr 1966 verwenden Dutzende anderer Betriebssysteme auch das Akronym "DOS". Andere sind Apple DOS, Apple ProDOS, Atari DOS, Commodore DOS, TRSDOS und AmigaDOS.

** DOS ** war ursprünglich eine Abkürzung für plattformunabhängiges Festplattenbetriebssystem.

Was ist überhaupt ein Festplattenbetriebssystem?

Disk_operating_system(en.wikipedia)

Ein Festplattenbetriebssystem (Abkürzung: DOS) ist ein Computerbetriebssystem, auf dem sich Festplattenspeichergeräte wie Disketten, Festplattenlaufwerke und optische Festplatten befinden und auf diesen verwendet werden können. Das Festplattenbetriebssystem muss ein Dateisystem zum Organisieren, Lesen und Schreiben von Dateien auf Speicherfestplatten bereitstellen. Genau genommen gilt diese Definition nicht für Betriebssysteme der aktuellen Generation, wie z. B. die derzeit verwendete Version von Microsoft Windows, und wird geeigneterweise nur für Betriebssysteme der älteren Generation verwendet.

Das Festplattenbetriebssystem scheint sich auf das Betriebssystem zu beziehen, das sich auf dem Festplattenspeichergerät befindet. Es heißt jedoch, dass die Betriebssysteme, die dieser Definition unterliegen, auf Betriebssysteme älterer Generationen beschränkt sind. Wenn Sie sich den Verlauf ansehen, sehen Sie den Hintergrund der Benennung.

Ich werde die Geschichte von DOS aus DOS (Disk Operating System) zitieren, um eine leicht verständliche Erklärung zu erhalten.

Das Betriebssystem ist eine Software, die Computerhardware und Peripheriegeräte steuert, damit andere Programme funktionieren können. Frühe Computer hatten kein Festplattenlaufwerk, waren jedoch fest verdrahtet, um bestimmte Berechnungen durchzuführen. Der Computer konnte dann Lochkarten und später Magnetbänder verwenden, um die in den Speicher des Computers geladenen Anweisungen zu speichern. Der Arbeitsspeicher des Computers war begrenzt, und als Anweisungen zur Steuerung des Computers auf Festplatten wie Disketten und interne Festplatten übertragen wurden, galt dies als Stand der Technik. Heute werden alle modernen Betriebssysteme als Festplattenbetriebssysteme betrachtet.

Demnach gab es auf den frühesten Computern kein aktuelles Festplattenlaufwerk, und die Hardware musste geändert werden, um die Anweisungen zu ändern. Seitdem ist es möglich geworden, ** externe ** Anweisungen mit Lochkarten und Magnetband zu laden. Und es scheint, dass es zu dieser Zeit möglich wurde, Anweisungen für die Computersteuerung wie Programme und Betriebssysteme vom fortschrittlichsten Laufwerk (Diskette usw.) zu lesen.

Zu dieser Zeit war es nicht so selbstverständlich wie heute, dass das Betriebssystem auf der Festplatte gespeichert war. Daher wurde das auf dem Laufwerk gespeicherte Betriebssystem als Disk Operating System (DOS) bezeichnet.

DOS enthält Apple DOS und ** MS-DOS **.

MS-DOS MS-DOS(en.wikipedia.org)

MS-DOS (/ ˌɛmˌɛsˈdɒs / em-es-DOSS, Abkürzung für Microsoft Disk Operating System) ist ein Betriebssystem für x86-basierte PCs, das hauptsächlich von Microsoft entwickelt wurde. Wenn MS-DOS versucht, mit IBM PC DOS und MS-DOS kompatibel zu sein, wird das Rebranding manchmal als "DOS" (auch ein Festplattenbetriebssystem) bezeichnet. Ist eine gebräuchliche Abkürzung für). MS-DOS war in den 1980er Jahren das vorherrschende Betriebssystem für IBM PC-kompatible PCs. Seitdem bieten verschiedene Generationen grafischer Microsoft Windows-Betriebssysteme eine grafische Benutzeroberfläche (GUI). Es wurde schrittweise durch das System ersetzt.

Unter DOS ist ** MS-DOS ** ein Betriebssystem, das die x86-Architektur unterstützt. Es hat eine wichtige Rolle gespielt, bis es durch die Windows-Generation ersetzt wurde, die die GUI bereitstellte.

MS-DOS zielt zunächst auf Intel 8086-Prozessoren ab, die auf Computerhardware ausgeführt werden, die Disketten zum Speichern und Zugreifen auf Anwendungssoftware und Benutzerdaten sowie auf Betriebssysteme verwendet. War dort. Die progressive Version der Version bietet Unterstützung für andere Speichermedien mit hoher Kapazität in größeren Größen und Formaten sowie Unterstützung für neue Prozessoren und sich schnell entwickelnde Computerarchitekturen. Letztendlich wurde es ein wichtiges Produkt für Microsoft, als es sich von einem Programmiersprachenunternehmen zu einem vielfältigen Softwareentwicklungsunternehmen entwickelte und dem Unternehmen wesentliche Einnahmen und Marketingressourcen zur Verfügung stellte.

MS-DOS scheint das Grundprodukt für Microsoft, ein riesiges Unternehmen, zu sein, um die heutige Entwicklung aufzubauen.

Zusammenfassung

Es ist lange her, aber wie war es? Vielleicht wird sich niemand in sie verlieben, wenn Sie sie gelesen haben. Folgen Sie also unbedingt den Links, um den Originalartikel zu sehen oder es selbst herauszufinden.

Als bequeme Methode bei der Suche nach Artikeln auf Englisch gibt es viele Websites, die sich von einem guten Gefühl bei der Suche mit ** vs ** abheben, z. B. "○○ vs □□". Im Gegensatz dazu können Sie neue Dinge lernen, während Sie vergleichen, was Sie bisher gelernt haben, damit Sie effizient lernen können.

Sogar Leute, die sagen "Es ist schwer, Englisch zu lesen!", Können es schnell lesen, indem sie die Übersetzung von DeepL verwenden.

Als ich diese Zeit zusammenfasste, fand ich heraus, dass es völlig anders ist, sie selbst in ein Notizbuch zu schreiben und sie mit dem Bewusstsein zu rekonstruieren, sie anderen zu zeigen. Immerhin kamen mehrdeutige Teile in der Zusammensetzung des Artikels heraus, und jedes Mal, wenn ich Gegenstände erneut untersuchte und hinzufügte.

Da es jedoch im Wesentlichen auf dem Kopieren und Einfügen von Wikipedia basiert, war die Belastung selbst nicht so groß.

Es hat Spaß gemacht, etwas über das Betriebssystem zu wissen, mit dem ich nicht vertraut bin.

Wenn Sie es hilfreich finden, ** LGTM ** Vielen Dank!

Ich mache auch Twitter unter dem Namen ** Zawahoge ** (@zawawahoge). Wir verbreiten Informationen über technische Bereiche und (ehemalige) Fachbereiche. Wenn Sie interessiert sind, folgen Sie uns bitte!

Informationen aktualisieren

(Ergänzung: 2020/5/9 20:13 Da das Windows-Element in der zweiten Hälfte erschöpft war, wurde [Was ist MS-DOS?](Was ist # ms-dos) hinzugefügt.) (Ergänzung: 2020/5/9 20:39 BSD-Kernel Element hinzugefügt.) (Ergänzung: 2020/5/9 21:12 OpenBSD Element hinzugefügt.)

Recommended Posts

Ich habe 11 Arten von Betriebssystemen zusammengefasst
Die Ordnerstruktur von Flask ist zusammengefasst
Ich habe das Jahr, in dem ich selbst Datenwissenschaft studiert habe, zusammengefasst.
Arten der Kommunikation zwischen Prozessen
Rache der Typen: Rache der Typen
[Mit Bild] Ich habe versucht, neofetch auf verschiedenen Betriebssystemen zu verwenden!
Fangen Sie mehrere Arten von Ausnahmen ab
Zusammenfassung der Linux-Verteilungstypen
[Super-Grundlagen von Python] Ich habe die Grundlagen der Grundlagen gelernt und sie daher kurz zusammengefasst.
Ich habe zusammengefasst, wie die Boot-Parameter von GRUB und GRUB2 geändert werden