- Experimentelles Betriebssystem, das der „everything is a file“-Philosophie von Plan9 strikt folgt
- Für die Entwicklung eines OS zu Lehr- und Experimentierzwecken vollständig neu in C und Assembly geschrieben
- Vollständig präemptive, ticklose Kernel-Architektur auf Basis des EEVDF-Schedulers. Unterstützt SMP und Multithreading sowie fein granularisierte Lock-Kontrolle
- Bietet ein dateibasiertes IPC-System: einschließlich Pipes, Shared Memory, Sockets sowie eines Notes-Systems im Stil von Plan9-
signals
- Dateibasierte Geräteabstraktionsschicht zur einheitlichen Verwaltung von Framebuffer, Eingabegeräten usw.
- Unterstützt als Synchronisationsprimitive mutex, rwlock, futex usw.
- Modulares Kernel-Design, Module können zur Laufzeit geladen/entladen werden
- Dateisystem mit Unix-artiger VFS-Struktur. Unterstützt Mountpoints, Hardlinks und prozessspezifische Namespaces
- User Space besteht aus einer eigenen C-Standardbibliothek und Systembibliothek
- Bietet eine modulare Desktop-Umgebung auf Shared-Memory-Basis
- Wichtige Unterschiede zu POSIX
- Verwendet
spawn() anstelle von fork(), exec()
- Entfernt das Benutzerkonzept und setzt auf eine nicht-POSIX-Standardbibliothek
- Zugriffskontrolle über Datei-Flags statt Dateimodi
- Aktuelle Einschränkungen
- Unterstützt nur RAM-Disk, nur für x86_64
- Geplante nächste Schritte
- Portierung von LUA und dynamische Systemkonfiguration
- Asynchrones I/O und System-Calls (io_uring wird erwogen)
- USB-Unterstützung geplant
- Shell-Utilities wurden an das Datei-Flags-System angepasst neu entworfen
- Bieten ähnliche Interfaces wie POSIX-Utilities wie
touch, cat, echo, ls, rm usw.
- Build-Umgebung: Linux, GCC, NASM, mtools, QEMU erforderlich
- Doxygen-basierte Dokumentation verfügbar, einschließlich Code-Kommentaren und Referenzen
- Konzipiert als pädagogisches OS der Mittelstufe zwischen xv6 und Linux
Noch keine Kommentare.