Rhyddhau system weithredu Redox OS 0.7 a ysgrifennwyd yn Rust

Ar ôl blwyddyn a hanner o ddatblygiad, mae rhyddhau system weithredu Redox 0.7, a ddatblygwyd gan ddefnyddio'r iaith Rust a'r cysyniad microkernel, wedi'i gyhoeddi. Mae datblygiadau'r prosiect yn cael eu dosbarthu o dan y drwydded MIT rhad ac am ddim. Ar gyfer profi Redox OS, cynigir gosodiadau a delweddau Live, 75 MB o faint. Cynhyrchir y gwasanaethau ar gyfer pensaernïaeth x86_64 ac maent ar gael ar gyfer systemau gyda UEFI a BIOS.

Wrth baratoi datganiad newydd, rhoddwyd y prif sylw i sicrhau gwaith ar galedwedd go iawn. Prif arloesiadau:

  • Ailysgrifennwyd y cychwynnwr yn llwyr, lle mae'r cod ar gyfer cychwyn ar systemau gyda BIOS a UEFI yn unedig ac wedi'i ysgrifennu'n bennaf yn Rust. Mae newid y cychwynnwr wedi ehangu'n sylweddol yr ystod o galedwedd a gefnogir.
  • Yn y cnewyllyn, yn ogystal â thrwsio chwilod, mae gwaith wedi'i wneud i wella perfformiad ac ehangu cefnogaeth caledwedd. Mae newidynnau CPU-benodol wedi'u symud i ddefnyddio'r gofrestr GS. Darperir myfyrdod (mapio) o'r holl gof corfforol, rhoddir y gorau i ddefnyddio tudalennau cof ailadroddus. Mae'r cod cydosodwr mewn mewnosodiadau mewnol wedi'i ailysgrifennu i wella cydnawsedd â datganiadau'r casglwr yn y dyfodol.
  • Ychwanegwyd cefnogaeth gychwynnol i bensaernïaeth AArch64.
  • Wedi newid i brosesu pob llwybr ffeil mewn amgodio UTF-8.
  • Mae'r cod ar gyfer gweithio gyda Manyleb ACPI AML (ACPI Machine Language) - uefi.org wedi'i symud o'r cnewyllyn i'r broses cefndir acpid sy'n rhedeg yn y gofod defnyddiwr.
  • Mae cynnwys Initfs wedi'i symud i ffeil newydd, gan ei gwneud hi'n haws ei phecynnu.
  • Mae system ffeiliau RedoxFS wedi'i hailysgrifennu a'i newid i ddefnyddio'r mecanwaith CoW (Copy-on-Write), lle nad yw newidiadau yn trosysgrifo gwybodaeth, ond yn cael eu cadw i leoliad newydd, a oedd yn ei gwneud hi'n bosibl cyflawni cynnydd sylweddol mewn dibynadwyedd. O'r nodweddion newydd o RedoxFS, nodir cefnogaeth ar gyfer diweddariadau trafodion, amgryptio data gan ddefnyddio'r algorithm AES, yn ogystal â sicrwydd data a metadata gyda llofnodion digidol. Darperir defnydd a rennir o'r cod FS yn y system a'r cychwynnydd.
  • Mae'r gwelliant yn llyfrgell safonol C Relibc a ddatblygwyd gan y prosiect, a all weithio nid yn unig yn Redox, ond hefyd mewn dosbarthiadau yn seiliedig ar y cnewyllyn Linux, wedi'i barhau. Roedd y newidiadau'n ei gwneud hi'n haws trosglwyddo rhaglenni amrywiol i Redox a datrys problemau gyda llawer o raglenni a llyfrgelloedd wedi'u hysgrifennu yn yr iaith C.
  • Mae fersiwn o'r casglwr rustc wedi'i baratoi a all redeg yn Redox. O'r tasgau sy'n weddill, nodir optimeiddio perfformiad ac addasu'r rheolwr pecyn cargo i weithio yn amgylchedd Redox.

Rhyddhau system weithredu Redox OS 0.7 a ysgrifennwyd yn Rust

Mae'r system weithredu yn datblygu yn unol ag athroniaeth Unix ac yn benthyca rhai syniadau gan SeL4, Minix a Chynllun 9. Mae Redox yn defnyddio'r cysyniad microkernel, lle mai dim ond cyfathrebu rhwng prosesau a rheoli adnoddau a ddarperir ar lefel y cnewyllyn, a gosodir yr holl swyddogaethau eraill. mewn llyfrgelloedd y gellir eu defnyddio cnewyllyn a chymwysiadau defnyddwyr. Mae pob gyrrwr yn rhedeg yng ngofod defnyddwyr mewn amgylcheddau blychau tywod ynysig. Ar gyfer cydnawsedd â chymwysiadau presennol, darperir haen POSIX arbennig sy'n caniatáu i lawer o raglenni redeg heb gludo.

Mae'r system yn cymhwyso'r egwyddor "mae popeth yn URL". Er enghraifft, gellir defnyddio'r URL “log:: //” ar gyfer logio, “bws:: //” ar gyfer cyfathrebu rhyng-broses, “tcp://” ar gyfer cyfathrebu rhwydwaith, ac ati. Gall modiwlau, y gellir eu gweithredu fel gyrwyr, estyniadau cnewyllyn, a chymwysiadau arfer, gofrestru eu trinwyr URL eu hunain, er enghraifft, gallwch ysgrifennu modiwl mynediad I/O a'i rwymo i'r URL "port_io:: //", ac wedi hynny gallwch ei ddefnyddio i gyrchu porthladd 60 trwy agor yr URL "port_io:: //60".

Mae'r amgylchedd defnyddiwr yn Redox wedi'i adeiladu o amgylch cragen graffigol Orbital ei hun (na ddylid ei gymysgu â'r gragen Orbital arall sy'n defnyddio Qt a Wayland) a phecyn cymorth OrbTk, sy'n darparu API tebyg i Flutter, React a Redux. Defnyddir Netsurf fel porwr gwe. Mae'r prosiect hefyd yn datblygu ei reolwr pecyn ei hun, set o gyfleustodau safonol (binutils, coreutils, netutils, extrautils), y gragen gorchymyn ïon, y llyfrgell safonol C relibc, y golygydd testun sodiwm tebyg i vim, y stack rhwydwaith, a'r ffeil system. Mae'r cyfluniad wedi'i osod yn yr iaith Toml.

Ffynhonnell: opennet.ru

Ychwanegu sylw