> A UNIX-szerű, Rust-ban írt operációs rendszer
Hogy egy kicsit szakmázzunk is: üdvözlöm, hogy Rust-ban írnak operációs rendszert! A memória korrupciós bugokat elvileg teljesen kizárja ez a megközelítés, ami által nagyon biztonságos lehet ez a rendszer majd. Ráadásul a teljesítménye is kompromisszum-mentes lehet.
A másik tagmondat az amibe belekötnék: véleményem szerint a UNIX elvektől meg kellene végre szabadulni. Nevezetesen attól, hogy minden program egy bemeneti streammel és két kimenetivel indul. Szerintem a programoknak API-k mentén kellene kapcsolódniuk az oprendszerhez, és ezeknek mennél magasabb kellene, hogy legyen az absztrakciós szintjük. Hogy érthető legyen: ha egy program mondjuk logokat ír az stderr-re, akkor neki nem egy stderr-re van szükségük, hanem egy log kimenetre. Ha egy program fájlok listáját adja vissza, akkor nem egy stdout-ra van szüksége, hanem egy fájlok listáját fogadó API-ra.
A bináris csatornákon való összekötés következménye, hogy egy rakás felesleges formázást és parszert írunk, ami a hibalehetőségek tárházát adja. Ezt el lehetne kerülni a típushelyes API-k használatával, ami nem rakétatudomány 2022-ben, de mégis ezen a szinten még nem jelent meg.
A következő probléma az, hogy az stdout/stderr-en kívül minden hardver elemet felderítéses módszerrel érnek el a programok. Ez értelmetlen plusz terhet ró a programozókra, mert meg kell írni a felderítő és kiválasztó program részeket. Ehelyett ennek az oprendszer feladatának kell lenni, ami már a konkrét felkonfigurált API-t adja át a program számára.
Ilyen volna jövő operációs rendszere.