Minoca OS: neues freies Betriebssystem



Zwei mutige Entwickler, Ivan Green und Chris Stevens, entschieden sich für einen mutigen Schritt. Sie haben ein komplett neues Minoca OS- Betriebssystem von Grund auf neu geschrieben und seinen Quellcode unter der kostenlosen GNU GPL v3-Lizenz veröffentlicht.

Dies sind 625.000 Zeilen gut dokumentierten Codes, hauptsächlich in der Programmiersprache C, teilweise in C ++ und Assembler. Der x86 OS-Kernel ist ungefähr 750 KB groß. Mit Treibern, einem Netzwerkstapel und einem Videopuffer benötigt ein frisch geladenes System 5-7 MB RAM.

Die meisten der heute gängigen Betriebssysteme wurden bestenfalls in den späten 80ern oder frühen 90ern geboren. In jenen Jahren arbeitete das Betriebssystem auf völlig anderer Hardware als heute. Daher war der Ansatz zur Kernelentwicklung etwas anders. Laut den Entwicklern von Minoca OS ist dieser Ansatz jetzt veraltet, sodass Sie die Effizienz des Betriebssystems erheblich steigern können, wenn Sie es von Grund auf neu schreiben.

Derzeit stellen Geräte mit eingebetteten Betriebssystemen völlig unterschiedliche Anforderungen an Energieverwaltung, Sicherheit, Wartung und Virtualisierung. Alte UNIX-ähnliche Systeme wurden modernisiert, um den neuen Anforderungen gerecht zu werden. Infolgedessen wurde ihr Code aufgebläht und verlor seine frühere Schönheit und Konsistenz. Minoca OS versucht von Grund auf, sein erschwerendes Erbe loszuwerden.

Minoca OS ist ein universelles Betriebssystem, das überall verwendet werden kann. Vermutlich ist es am besten für eingebettete Systeme und mobile Geräte geeignet, bei denen der Stromverbrauch, der Speicher und die Prozessorleistung eingeschränkt sind.


Angebliche Bereiche für die Verwendung von Minoca OS

Entwickler wollten ein wirtschaftliches, modulares und einfach zu wartendes Betriebssystem entwickeln. Es ist mit dem Standardsatz von POSIX-Schnittstellen kompatibel. Dies bedeutet, dass Sie darauf viele Anwendungen ausführen können, die unter Linux ausgeführt werden.

Eine wichtige Neuerung ist die spezielle Schnittstelle zwischen Gerätetreibern und dem Betriebssystemkern. Dieses Modell ermöglicht es, Treiber zu schreiben, die zukünftige Versionen des Kernels „vorwegnehmen“. Mit anderen Worten, der Kernel kann völlig unbemerkt aktualisiert werden, ohne dass Treiber neu kompiliert werden müssen.



Es ist noch nicht klar, auf welchen Geräten das neue kostenlose Betriebssystem am besten verwendet werden kann. Theoretisch sollten dies Geräte mit begrenzten Ressourcen (Speicher, CPU) sein, die jedoch gleichzeitig erweiterte Funktionen auf hoher Ebene erfordern: Multithreading, Netzwerkstapel, Unterstützung für Dateisysteme. Entwicklern solcher Systeme wird angeboten, Minoca OS auszuprobieren - und die Schwierigkeiten bei der Anpassung von Software an bestimmte Geräte zu vergessen. Es besteht keine Notwendigkeit, an den spezifischen Fehlern eines einzigartigen eingebetteten Systems zu basteln, wenn der Kernel in einem universellen Betriebssystem mit der Veröffentlichung neuer Patches aktualisiert wird.



Minoca OS verfügt über erweiterte Debugging-Funktionen. Dies erfolgt über die Firmware, den Kernel oder Anwendungen. Darüber hinaus überwacht der integrierte Minoca Debugger-Debugger die Programmausführung und die Speichernutzung in Echtzeit. Es zeigt im Detail, wofür die Ressourcen speziell ausgegeben werden.


Minoca OS-





Debugger Minoca OS läuft auf x86-, ARMv6- und ARMv7-Architekturen mit Unterstützung für virtuellen Speicher und mehreren Megabyte RAM. Das Betriebssystem lässt sich gut skalieren und funktioniert daher gut auf PCs mit einer großen Anzahl von Prozessorkernen und Gigabyte RAM. Treiber für viele Standardgeräte

sind enthalten .

Was ist der Unterschied zu verschiedenen Linux-Distributionen und warum mussten Sie ein komplett neues Betriebssystem erstellen, wie unterscheidet es sich von diesen Distributionen? Entwickler sind verantwortlichund zu dieser Frage. Laut Ivan Green haben sie von der Seite der Anwendung oder des Benutzers versucht, das Betriebssystem den gängigen Linux-Server-Distributionen so ähnlich wie möglich zu machen. Ziel ist es, möglichst viele Anwendungen auf Minoca OS zu portieren. Der gravierendste konzeptionelle Unterschied liegt jedoch auf der Kernebene, wo die Entwickler versuchten, einige alternative Lösungen in Bezug auf Design und Architekturphilosophie anzuwenden. Dies sind wirklich wichtige Entscheidungen, aber sie sind für den Benutzer nicht direkt sichtbar, sondern äußern sich in einem verringerten Stromverbrauch, einer besseren Reaktionsfähigkeit (d. H. Einer höheren Geschwindigkeit), mehr freiem Speicher, unauffälligen Kernel-Updates usw. Trotz einer im Vergleich zu Linux besseren Reaktionsfähigkeit kann das Minoca-Betriebssystem nicht als Echtzeitbetriebssystem bezeichnet werden.

Referenzen:

  • Github-Quellcode
  • Bilder für Raspberry Pi 2, Raspberry Pi, BeagleBone Black, Asus C201, PandaBoard, x86-PC, x86-PC (UEFI), Galileo
  • Minoca OS Starter Pack , das im Qemu-Emulator ausgeführt werden kann (das Kit enthält das x86 Minoca OS-Boot-Image, den Minoca Debugger, den Qemu-Emulator, den Win32 Disk Imager und alle x86-Binärdateien).
  • Kompatible Pakete und Build-Anweisungen, einschließlich Python, Ruby, Git, Lua und Node.
  • Die Dokumentation

Source: https://habr.com/ru/post/de398745/


All Articles