Wo finde ich eine ausfuehrliche Hintergrund-Dokumentation fuer tyndur? Was sind die grundsaetzlichen Design-Prinzipien dieses OS?
09. November 2026, 18:29
Gespeichert 
).
Gespeichert 
Gespeichert
Gespeichert Speicherverwaltung im Kernel kommt mir einfach wesentlich unproblematischer vor als extern.Sehen wohl die meisten so, aber bei einem Hobby-OS koennte man auch momentan noch ineffiziente Designziele verfolgen.
Ich meinte auch mehr vom Entwicklungsaufwand. Was die Performance angeht, kann man natürlich auch mal eine interessantere, aber langsamere Variante wählen. Aber ganz ehrlich: Einen gcc am Laufen zu haben und ihn trotzdem kaum benutzen zu können, weil I/O so langsam ist, nervt schon tierisch, auch wenn es nur ein Hobby-OS ist.ZitatSpeicherverwaltung im Kernel kommt mir einfach wesentlich unproblematischer vor als extern.Sehen wohl die meisten so, aber bei einem Hobby-OS koennte man auch momentan noch ineffiziente Designziele verfolgen.
Wie sieht es mit Copy-on-write - analog Linux - und eingeblendeten Dateien aus? Wie mit POSIX? Gibt es bei der zukuenftigen Thread-Verwaltung auch das pid = clone(...) von modernem Linux (seit dem Jahr 2000)?Naja, erstmal sollte man festhalten, dass tyndur insbesondere aus Kernelperspektive kein Unix ist. POSIX-Funktionen werden teilweise in den Userspace-Bibliothek bereitgestellt und eben mit den nativen Funktionen emuliert.
Gespeichert 
fork() (und damit letztendlich auch clone()) ist ein ziemlich unixspezifisches Konzept, das in die native tyndur-Welt nicht reinpasst. Nur ein Beispiel, warum das nicht so richtig klappen kann: Der tyndur-Kernel hat keine Ahnung, welche Dateien ein Prozess geöffnet hat. Das Dateisystem läuft komplett im Userspace ab. Dateideskriptoren klonen wird da für den Kernel schwer.LostIOv2 wird soweit ich weiß in den Kernel verlegt, würde dadurch nicht das "Wissen" erlagen was er bräuchte um die Dateidiskriptoren zu clonen bzw. würde sich der Aufwand ein fork() bzw. clone() zu implementieren dadurch nicht nicht stark verkleinern?

Ich würde es einfach so lösen, dass ein fork() einfach ein RPC an den VFS-Service ist und dieser alles in die Wege leitet.
), da ich es mir vorbehalten wollte, den Loader auch per Plug-Ins/Add-ons erweiterbar zu machen (so dass ich mehrere Dateiformate unterstützen kann).Das ist ja das was Linux macht (ld.so).Ist das Programm wesentlich mehr als ein dünner Wrapper um die Lib?
Nur hast du dann den Loader nicht zweimal, einmal als Programm und einmal als shared-Library?
Zumal das für mich keine Lösung ist (was ja für euch nicht weiter tragisch istHm, wo ist das Problem, solange das eine Format, das für die Loader-Plugins benutzt wird, immer geladen ist?), da ich es mir vorbehalten wollte, den Loader auch per Plug-Ins/Add-ons erweiterbar zu machen (so dass ich mehrere Dateiformate unterstützen kann).
Ist das Programm wesentlich mehr als ein dünner Wrapper um die Lib?Naja, wenn man es hinbekommt.