Rust keeles kirjutatud operatsioonisüsteemi Redox OS 0.8 väljalase

Avaldatud on Rust keele ja mikrokerneli kontseptsiooni kasutades arendatud operatsioonisüsteemi Redox 0.8 väljalase. Projekti arendusi levitatakse tasuta MIT-litsentsi all. Redox OS-i testimiseks pakutakse 768 MB suuruseid demokomplekte, põhilise graafilise keskkonnaga pilte (256 MB) ja serverisüsteemide konsoolitööriistu (256 MB). Komplektid on loodud x86_64 arhitektuuri jaoks ja on saadaval UEFI ja BIOS-iga süsteemide jaoks. Lisaks Orbitali graafilisele keskkonnale on demopildil DOSBox emulaator, valik mänge (DOOM, Neverball, Neverputt, sopwith, syobonaction), õpetusi, rodioplay muusikapleier ja Sodium tekstiredaktor.

Operatsioonisüsteem on välja töötatud kooskõlas Unixi filosoofiaga ja laenab mõningaid ideid SeL4-lt, Minixilt ja Plan 9-lt. Redox kasutab mikrokerneli kontseptsiooni, milles tuuma tasandil on tagatud ainult protsesside ja ressursside haldamise interaktsioon ning kõik muud Funktsionaalsus on paigutatud teekidesse, mida saab kasutada nii tuuma kui ka kasutajarakendustes. Kõik draiverid töötavad kasutajaruumis isoleeritud liivakastikeskkondades. Olemasolevate rakendustega ühilduvuse tagamiseks on kaasas spetsiaalne POSIX-kiht, mis võimaldab käivitada paljusid programme ilma teisaldamiseta.

Süsteem kasutab põhimõtet "kõik on URL". Näiteks URL-i "log://" saab kasutada logimiseks, "bus://" protsessidevaheliseks interaktsiooniks, "tcp://" võrgu interaktsiooniks jne. Moodulid, mida saab realiseerida draiverite, kernelilaiendite ja kasutajarakenduste kujul, saavad registreerida oma URL-i töötlejad, näiteks saate kirjutada I/O-pordi juurdepääsumooduli ja siduda selle URL-iga "port_io:// ", mille järel saate seda kasutada pordile 60 juurdepääsuks, avades URL-i "port_io://60".

Redoxi kasutajakeskkond on üles ehitatud Orbitali enda graafilise kesta (mitte segi ajada teise Orbitali kestaga, mis kasutab Qt ja Waylandi) ja OrbTk tööriistakomplekti alusel, mis pakub Flutterile, Reactile ja Reduxile sarnast API-d. Netsurfi kasutatakse veebibrauserina. Projekt arendab ka oma paketihaldurit, standardsete utiliitide komplekti (binutils, coreutils, netutils, extrautils), ioonikäskude kesta, standardset C raamatukogu relibc, vimi-laadset tekstiredaktorit naatriumi, võrgupinu ja faili süsteem. Konfiguratsioon on seatud Tomli keeles.

Uus versioon jätkab tööd tagamaks, et see töötab päris riistvaraga. Lisaks x86_64 arhitektuurile on lisandunud võimalus töötada 32-bitiste x86 süsteemidega (i686, Pentium II ja uuemad). Portimine ARM64 protsessorile (aarch64) on pooleli. Päris ARM-i riistvaraga töötamist veel ei toetata, kuid laadimine ARM64 emulatsiooniga QEMU-s on võimalik. Vaikimisi on heli alamsüsteem aktiveeritud ja mitme monitori konfiguratsioonide esialgne tugi on saadaval (UEFI kaadripuhvriga süsteemides). Redox OS-i toetatud seadmed sisaldavad AC'97 ja Intel HD Audio helikiipe, graafika väljundit VESA BIOS-i või UEFI GOP API kaudu, Etherneti (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), sisendseadmeid (klaviatuurid, hiired, puuteplaadid) , SATA (AHCI, IDE) ja NVMe. Wi-Fi ja USB tugi pole veel valmis (USB töötab ainult QEMU-s).

Muud uuendused:

  • BIOS-i ja EFI-ga süsteemide alglaadimispildid on ühendatud.
  • Klooni ja exec süsteemikutsete rakendamine on viidud kasutajaruumi.
  • Allalaadimise protsessi on lihtsustatud. Rakendatud on alglaadimisprogramm, mille käivitab kernel ja mis võimaldab ELF-failide (nt init-protsessi) edasist laadimist.
  • Lisatud eskaleeritud programm, et toetada setuid programme, nagu sudo.
  • Taustprotsesside loomise ja paigaldamise lihtsustamiseks on välja pakutud redox-deemoni aedikupakett.
  • Koostesüsteem on ümber kujundatud, võimaldades ehitada ühte lähtepuusse erinevate arhitektuuride jaoks. Erinevate konfiguratsioonide kokkupanemise lihtsustamiseks pakutakse välja skript build.sh. Lisatud tugi podmani tööriistakomplekti abil ehitamiseks. Kerneli, alglaaduri ja initfs-i kokkupanek on ühendatud teiste pakettidega.
  • Lisatud demokonfiguratsioon selliste näidisprogrammide ehitamiseks, mis ei sisaldu graafilise keskkonnaga alglaadimispildis.
  • Audiod heli alamsüsteemile on lisatud tarkvara helitugevuse reguleerimise tugi.
  • Lisatud draiver helikiipidele AC'97 baasil. Intel HD Audio kiipide täiustatud draiver.
  • Lisatud draiver IDE-kontrollerite jaoks.
  • Täiustatud tugi NVMe-draividele.
  • Täiustatud PCI, PS/2, RTL8168, USB HID, VESA draiverid.
  • Installiprotsess on ümber kujundatud: alglaadur, alglaadija, kernel ja initfs asuvad nüüd kataloogis /boot.
  • Kernel on lihtsustanud mäluhaldust ja lisanud võimaluse aadressiruume kasutaja tasandil manipuleerida.
  • Orbitali graafilisse kesta on lisatud mitme monitoriga süsteemide tugi, täiustatud hiirekursori töötlemist ning lisatud on helitugevuse muutmise indikaator. Menüüs on võimalus rakendusi kategooriatesse jagada.

Allikas: opennet.ru

Lisa kommentaar