Yukios ist ein Versuch, ein komplettes Multithreading -Betriebssystem zu schreiben, das in Ihrem Browser ausgeführt wird. Es besteht aus einem JavaScript -Kernel -Laden und Ausführen von Webassembly -Binärdateien, einer Standardbibliothek, die Kernelfunktionen (Importe) in C und ein paar interessante Programme enthüllt, damit es verwendet werden kann.
Warum nicht? Gary Bernhardt sagte einmal 2014, es ist die Zukunft, also ja.
Es ist Schnee auf Japanisch. Ich finde es süß.
Chrome sollte ab Version 67 funktionieren. Es verwendet eine Reihe experimenteller Funktionen wie SharedArrayBuffer .
Kernel initialisiert ein Terminal (hauptsächlich VT100-kompatibel, könnte später eine GUI sein) und eine Reihe von Funktionen, die mit GUI, DOM, Dateisystem und Threads miteinander verbunden sind, und startet dann einen neuen Thread. Threads definiert eine Reihe von Funktionsprogrammen, die mit diesen Funktionen im Hauptfaden importieren und Schnittstellen importieren können. Also ist es so ziemlich:
Browser/Dom <=> Kernel <=> Webworkers <=> WebAssembly -Programm
Wo Pfeile sind ein Interesse, wo sie miteinander sprechen.
Sie benötigen nur einen funktionierenden LLVM/Clang -Compiler mit aktivierter WebAssembly. Es war in V7 experimentell, aber es wird nach der Veröffentlichung auf Stable verschoben und sollte in Version 8 vorhanden sein. Überprüfen Sie die Makefile auf Beispiele.
Es sollte ziemlich leicht sein, also kein Emscripten oder irgendetwas vorerst. Binärdateien sollten Funktionen importieren, die es benötigt (in C, über eine Standardbibliothek) und ihre Hauptfunktion exportieren.