( asch | 2022. 11. 28., h – 14:26 )

> 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.