Redox OS 0.7 operētājsistēmas izlaišana, kas rakstīta Rust valodā

Pēc pusotru gadu ilgas izstrādes ir publicēta operētājsistēmas Redox 0.7 izlaidums, kas izstrādāts, izmantojot Rust valodu un mikrokodola koncepciju. Projekta izstrādes tiek izplatītas ar bezmaksas MIT licenci. Redox OS testēšanai tiek piedāvāta instalācija un 75 MB lieli Live attēli. Komplekti ir ģenerēti x86_64 arhitektūrai un ir pieejami sistēmām ar UEFI un BIOS.

Sagatavojot jauno versiju, galvenā uzmanība tika pievērsta tam, lai nodrošinātu, ka tā darbojas uz reālas aparatūras. Galvenie jauninājumi:

  • Sāknēšanas ielādētājs ir pilnībā pārrakstīts, kurā kods sāknēšanai sistēmās ar BIOS un UEFI ir vienots un galvenokārt rakstīts Rust valodā. Sāknēšanas ielādētāja maiņa ir ievērojami paplašinājusi atbalstītās aparatūras klāstu.
  • Papildus kļūdu labojumiem kodolā ir veikts darbs, lai uzlabotu veiktspēju un paplašinātu aparatūras atbalstu. CPU specifiskie mainīgie ir pārveidoti, lai izmantotu GS reģistru. Tiek nodrošināta visas fiziskās atmiņas atspoguļošana (kartēšana), tiek pārtraukta rekursīvo atmiņas lapu izmantošana. Montāžas kods iekļautajos ieliktņos ir pārrakstīts, lai uzlabotu saderību ar turpmākajiem kompilatoru laidieniem.
  • Pievienots sākotnējais atbalsts AArch64 arhitektūrai.
  • Ir veikta pāreja uz visu failu ceļu apstrādi UTF-8 kodējumā.
  • Kods darbam ar ACPI AML (ACPI Machine Language) specifikāciju — uefi.org ir pārvietots no kodola uz acpid fona procesu, kas darbojas lietotāja telpā.
  • Initfs saturs ir pārvietots uz jaunu failu, atvieglojot pakotņu ģenerēšanu.
  • RedoxFS failu sistēma ir pārrakstīta un pārslēgta uz CoW (Copy-on-Write) mehānisma izmantošanu, kurā izmaiņas nepārraksta informāciju, bet tiek saglabātas jaunā vietā, kas būtiski uzlabojusi uzticamību. RedoxFS jaunās funkcijas ietver atbalstu darījumu atjauninājumiem, datu šifrēšanu, izmantojot AES algoritmu, kā arī datu un metadatu autentifikāciju ar ciparparakstiem. Tiek nodrošināta FS koda koplietošana sistēmā un sāknēšanas ielādētājā.
  • Turpinājās projekta izstrādātās standarta C bibliotēkas Relibc pilnveidošana, kas spēj darboties ne tikai Redox, bet arī distribūcijās, kuru pamatā ir Linux kodols. Izmaiņas atviegloja dažādu programmu pārnešanu uz Redox un atrisināja problēmas ar daudzām programmām un bibliotēkām, kas rakstītas C valodā.
  • Ir sagatavota rustc kompilatora versija, kas var darboties Redox. Atlikušajos uzdevumos ietilpst veiktspējas optimizēšana un kravas paku pārvaldnieka pielāgošana darbam Redox vidē.

Redox OS 0.7 operētājsistēmas izlaišana, kas rakstīta Rust valodā

Operētājsistēma izstrādāta saskaņā ar Unix filozofiju un aizgūtas dažas idejas no SeL4, Minix un Plan 9. Redox izmanto mikrokodola jēdzienu, kurā kodola līmenī tiek nodrošināta tikai mijiedarbība starp procesiem un resursu pārvaldību, un visas pārējās funkcionalitāte ir ievietota bibliotēkās, kuras var izmantot gan kodola, gan lietotāja lietojumprogrammās. Visi draiveri darbojas lietotāja telpā izolētā smilškastes vidē. Saderībai ar esošajām lietojumprogrammām tiek nodrošināts īpašs POSIX slānis, kas ļauj palaist daudzas programmas bez pārnešanas.

Sistēma izmanto principu “viss ir URL”. Piemēram, URL “log://” var izmantot reģistrēšanai, “bus://” mijiedarbībai starp procesiem, “tcp://” tīkla mijiedarbībai utt. Moduļi, kurus var ieviest draiveru, kodola paplašinājumu un lietotāju lietojumprogrammu veidā, var reģistrēt savus URL apdarinātājus, piemēram, varat uzrakstīt I/O porta piekļuves moduli un saistīt to ar URL "port_io:// ", pēc kura varat to izmantot, lai piekļūtu portam 60, atverot vietrādi URL "port_io://60".

Redox lietotāja vide ir veidota, pamatojoties uz paša Orbital grafisko apvalku (nejaukt ar citu Orbital apvalku, kas izmanto Qt un Wayland) un OrbTk rīkkopu, kas nodrošina API, kas ir līdzīga Flutter, React un Redux. Netsurf tiek izmantots kā tīmekļa pārlūkprogramma. Projektā tiek izstrādāts arī savs pakotņu pārvaldnieks, standarta utilītu komplekts (binutils, coreutils, netutils, extrautils), jonu komandu apvalks, standarta C bibliotēkas relibc, vim līdzīgs teksta redaktors nātrijs, tīkla steks un fails. sistēma. Konfigurācija ir iestatīta Toml valodā.

Avots: opennet.ru

Pievieno komentāru