Release av operativsystemet Redox OS 0.8 skrivet i Rust

Utgivningen av operativsystemet Redox 0.8, utvecklat med hjälp av Rust-språket och mikrokärnkonceptet, har publicerats. Projektets utveckling distribueras under den kostnadsfria MIT-licensen. För att testa Redox OS erbjuds demo-sammansättningar på 768 MB i storlek, samt bilder med en grundläggande grafisk miljö (256 MB) och konsolverktyg för serversystem (256 MB). Sammansättningarna genereras för x86_64-arkitekturen och är tillgängliga för system med UEFI och BIOS. Förutom den grafiska Orbital-miljön innehåller demobilden DOSBox-emulatorn, ett urval av spel (DOOM, Neverball, Neverputt, sopwith, syobonaction), tutorials, rodioplay-musikspelaren och Sodium-textredigeraren.

Operativsystemet är utvecklat i enlighet med Unix-filosofin och lånar några idéer från SeL4, Minix och Plan 9. Redox använder konceptet med en mikrokärna, där endast interaktion mellan processer och resurshantering tillhandahålls på kärnnivå, och alla andra funktionalitet placeras i bibliotek som kan användas både kärnan och användarapplikationer. Alla drivrutiner körs i användarutrymme i isolerade sandlådemiljöer. För kompatibilitet med befintliga applikationer tillhandahålls ett speciellt POSIX-lager, vilket gör att du kan köra många program utan portering.

Systemet använder principen "allt är en URL". Till exempel kan URL:en "log://" användas för loggning, "bus://" för interaktion mellan processer, "tcp://" för nätverksinteraktion, etc. Moduler, som kan implementeras i form av drivrutiner, kärntillägg och användarapplikationer, kan registrera sina egna URL-hanterare, till exempel kan du skriva en I/O-portåtkomstmodul och binda den till URL:en "port_io:// ", varefter du kan använda den för att komma åt port 60 genom att öppna URL:en "port_io://60".

Användarmiljön i Redox är uppbyggd på basis av Orbitals eget grafiska skal (inte att förväxla med ett annat Orbital-skal som använder Qt och Wayland) och OrbTk-verktygslådan, som ger ett API som liknar Flutter, React och Redux. Netsurf används som webbläsare. Projektet utvecklar också sin egen pakethanterare, en uppsättning standardverktyg (binutils, coreutils, netutils, extrautils), ion-kommandoskalet, standard C-biblioteket relibc, den vim-liknande textredigeraren natrium, en nätverksstack och en fil systemet. Konfigurationen är inställd på Toml-språket.

Den nya utgåvan fortsätter arbetet med att säkerställa att den fungerar på riktig hårdvara. Utöver x86_64-arkitekturen har möjligheten att arbeta på 32-bitars x86-system (i686, Pentium II och nyare) lagts till. Portering till ARM64 CPU (aarch64) pågår. Att köra på riktig ARM-hårdvara stöds ännu inte, men det är möjligt att ladda med ARM64-emulering i QEMU. Som standard är ljudundersystemet aktiverat och initialt stöd för flerskärmskonfigurationer tillhandahålls (på system med en UEFI-rambuffert). Utrustningen som stöds i Redox OS inkluderar AC'97 och Intel HD Audio-ljudchips, grafikutgång via VESA BIOS eller UEFI GOP API, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), inmatningsenheter (tangentbord, möss, pekplattor) , SATA (AHCI, IDE) och NVMe. Stöd för Wi-Fi och USB är ännu inte klart (USB fungerar bara i QEMU).

Andra innovationer:

  • Startbilder för system med BIOS och EFI har slagits samman.
  • Implementeringen av klon- och exec-systemanropen har flyttats till användarutrymmet.
  • Nedladdningsprocessen har förenklats. Ett bootstrap-program har implementerats, som lanseras av kärnan och ger ytterligare laddning av ELF-filer, såsom init-processen.
  • Lade till eskalerat program för att stödja setuid-program som sudo.
  • För att förenkla skapandet och installationen av bakgrundsprocesser har redox-daemon-backpaketet föreslagits.
  • Monteringssystemet har designats om, vilket gör det möjligt att bygga för olika arkitekturer i ett källträd. För att förenkla sammansättningen av olika konfigurationer föreslås build.sh-skriptet. Lade till stöd för att bygga med hjälp av podman-verktygslådan. Sammansättningen av kärnan, starthanteraren och initfs är förenad med andra paket.
  • Lade till en demokonfiguration för att bygga exempelprogram som inte ingår i den grundläggande startbilden med en grafisk miljö.
  • Stöd för mjukvaruvolymkontroll har lagts till undersystemet audiod ljud.
  • Tillagd drivrutin för ljudchip baserat på AC'97. Förbättrad drivrutin för Intel HD Audio-chips.
  • Tillagd drivrutin för IDE-kontroller.
  • Förbättrat stöd för NVMe-enheter.
  • Förbättrade PCI, PS/2, RTL8168, USB HID, VESA-drivrutiner.
  • Installationsprocessen har gjorts om: bootloader, bootstrap, kernel och initfs finns nu i /boot-katalogen.
  • Kärnan har förenklat minneshantering och lagt till möjligheten att manipulera adressutrymmen från användarnivå.
  • I det grafiska skalet Orbital har stöd för multimonitorsystem lagts till, muspekarbearbetningen har förbättrats och en indikator har lagts till för att ändra volymen. Menyn har möjlighet att dela in applikationer i kategorier.

Källa: opennet.ru

Lägg en kommentar