A Rust nyelven írt Redox OS 0.8 operációs rendszer kiadása

Megjelent a Rust nyelvvel és a mikrokernel koncepcióval fejlesztett Redox 0.8 operációs rendszer kiadása. A projekt fejlesztései ingyenes MIT licenc alatt kerülnek terjesztésre. A Redox OS teszteléséhez 768 MB-os demó buildeket, valamint alapvető grafikus környezetet (256 MB) és szerverrendszerekhez való konzoleszközöket (256 MB) kínálnak. Az összeállításokat az x86_64 architektúrához hozzák létre, és elérhetők az UEFI-vel és BIOS-szal rendelkező rendszerekhez. A demókép az Orbital grafikus környezet mellett tartalmaz egy DOSBox emulátort, válogatott játékokat (DOOM, Neverball, Neverputt, sopwith, syobonaction), oktatóanyagokat, egy rodioplay zenelejátszót és egy Sodium szövegszerkesztőt.

Az operációs rendszer a Unix filozófiának megfelelően fejlődik, és néhány ötletet a SeL4-től, a Minix-től és a Plan 9-től kölcsönöz. A Redox a mikrokernel koncepciót használja, amelyben csak a folyamatok és az erőforrás-kezelés közötti kommunikációt biztosítják kernel szinten, és minden egyéb funkciót elhelyeznek. kernel és felhasználói alkalmazások egyaránt használható könyvtárakban. Minden illesztőprogram a felhasználói térben fut, elszigetelt sandbox környezetben. A meglévő alkalmazásokkal való kompatibilitás érdekében egy speciális POSIX réteg biztosított, amely lehetővé teszi számos program portolás nélküli futtatását.

A rendszer a „minden egy URL” elvet alkalmazza. Például a „log://” URL használható a naplózáshoz, a „bus://” a folyamatok közötti kommunikációhoz, a „tcp://” a hálózati kommunikációhoz stb. Az illesztőprogramként, kernelbővítményként és egyedi alkalmazásként megvalósítható modulok regisztrálhatják saját URL-kezelőjüket, például írhatunk egy I/O hozzáférési modult és köthetjük a „port_io://” URL-hez, ami után a „port_io://60” URL megnyitásával érheti el a 60-as portot.

A Redox felhasználói környezete az Orbital saját grafikus shellje (nem tévesztendő össze a másik, Qt-t és Wayland-et használó Orbital-héjjal) és az OrbTk eszközkészlet köré épül, amely a Flutter, React és Reduxhoz hasonló API-t biztosít. A Netsurf webböngészőként használatos. A projekt emellett kifejleszt egy saját csomagkezelőt, egy szabványos segédprogramot (binutils, coreutils, netutils, extrautils), az ion parancshéjat, a relibc szabványos C könyvtárat, a nátrium vim-szerű szövegszerkesztőt, a hálózati veremet és a fájlt. rendszer. A konfiguráció a Toml nyelven van beállítva.

Az új kiadás folytatja a munkát a valódi hardveren való munka biztosítása érdekében. Az x86_64 architektúrán kívül a 32 bites x86 rendszereken (i686, Pentium II és újabb) való munkaképesség is hozzáadásra került. A portolás az ARM64 CPU-ra (aarch64) folyamatban van. A valódi ARM-hardveren végzett munka még nem támogatott, de lehetséges a rendszerindítás az ARM64 emulálásakor a QEMU-ban. Alapértelmezés szerint az audio alrendszer engedélyezve van, és kezdeti támogatás biztosított a többmonitoros konfigurációkhoz (UEFI framebufferrel rendelkező rendszereken). A Redox OS által támogatott berendezések között megtalálhatók az AC'97 és Intel HD Audio hangchipek, a VESA BIOS-on vagy UEFI GOP API-n keresztüli grafikus kimenet, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), beviteli eszközök (billentyűzetek, egerek, érintőpadok). ), SATA (AHCI, IDE) és NVMe. A Wi-Fi és az USB támogatása még nincs készenlétben (az USB csak QEMU-ban működik).

Egyéb újítások:

  • Egyesített rendszerindító lemezképek BIOS- és EFI-rendszerekhez.
  • A klón és exec rendszerhívások megvalósítása átkerült a felhasználói területre.
  • Egyszerűsített letöltési folyamat. Bevezettek egy bootstrap programot, amelyet a kernel futtat, és amely az ELF fájlok további betöltését biztosítja, például az init folyamatot.
  • Eszkalált program hozzáadva a setuid programok, például a sudo működéséhez.
  • A háttérfolyamatok létrehozásának és telepítésének egyszerűsítésére a redox-démon ládacsomagot javasolták.
  • A build rendszert újratervezték, amiben lehetővé vált, hogy ugyanabban a forrásfában különböző architektúrákra építsenek. A különböző konfigurációk összeállításának egyszerűsítése érdekében a build.sh szkript javasolt. Támogatás hozzáadva a podman eszközkészlettel történő építéshez. A kernel, a rendszerbetöltő és az initfs összeállítása egyesült más csomagokkal.
  • Demókonfiguráció hozzáadva olyan mintaprogramok létrehozásához, amelyek nem szerepelnek az alap rendszerindító lemezképben, grafikus környezettel.
  • A programozott hangerőszabályozás támogatása hozzáadásra került az audiod audio alrendszerhez.
  • Hozzáadott illesztőprogram az AC'97 alapú hangchipekhez. Továbbfejlesztett illesztőprogram az Intel HD Audio chipekhez.
  • Hozzáadott illesztőprogram az IDE vezérlőkhöz.
  • Továbbfejlesztett támogatás az NVMe meghajtókhoz.
  • Továbbfejlesztett PCI, PS/2, RTL8168, USB HID, VESA illesztőprogramok.
  • A telepítési folyamat szervezése át lett alakítva: a rendszerbetöltő, a bootstrap, a kernel és az initfs mostantól a /boot könyvtárban található.
  • A kernel leegyszerűsítette a memóriával való munkát, és hozzáadta a címterek felhasználói szintről történő kezelésének lehetőségét.
  • Az Orbital grafikus héjába bekerült a többmonitoros rendszerek támogatása, javult az egérkurzor feldolgozása, valamint a hangerőt módosító jelző is bekerült. A menü képes az alkalmazásokat kategóriákra osztani.

Forrás: opennet.ru

Hozzászólás