Tso tawm Redox OS 0.7 operating system sau hauv Rust

Tom qab ib xyoos thiab ib nrab ntawm txoj kev loj hlob, kev tso tawm ntawm Redox 0.7 operating system, tsim siv cov lus Rust thiab lub tswv yim microkernel, tau luam tawm. Txoj haujlwm tsim kho tau muab faib raws li daim ntawv tso cai MIT pub dawb. Rau kev sim Redox OS, kev teeb tsa thiab Live dluab ntawm 75 MB hauv qhov loj yog muaj. Cov rooj sib txoos tau tsim rau x86_64 architecture thiab muaj rau cov tshuab nrog UEFI thiab BIOS.

Thaum npaj qhov kev tso tawm tshiab, lub hom phiaj tseem ceeb yog ua kom nws ua haujlwm ntawm cov khoom siv tiag tiag. Main innovations:

  • Lub bootloader tau sau dua tshiab, uas cov cai rau khau raj ntawm cov tshuab nrog BIOS thiab UEFI tau koom ua ke thiab feem ntau sau hauv Rust. Hloov lub bootloader tau nthuav dav ntau yam ntawm cov khoom siv txhawb nqa.
  • Ntxiv nrog rau kev kho kab laum, kev ua haujlwm tau ua tiav hauv cov ntsiav los txhim kho kev ua haujlwm thiab nthuav dav kev txhawb nqa kho vajtse. CPU-tshwj xeeb hloov pauv tau hloov dua siab tshiab los siv GS sau npe. Reflection (mapping) ntawm tag nrho lub cev nco tau muab, kev siv cov nplooj ntawv nco rov qab raug tso tseg. Cov cai sib dhos hauv inline inserts tau raug sau rov qab los txhim kho kev sib raug zoo nrog rau yav tom ntej compiler tso tawm.
  • Ntxiv kev txhawb nqa thawj zaug rau AArch64 architecture.
  • Ib qho kev hloov pauv tau ua rau kev ua tiav txhua txoj hauv kev hauv UTF-8 encoding.
  • Cov cai rau kev ua hauj lwm nrog ACPI AML (ACPI Tshuab Lus) Specification - uefi.org tau raug tsiv tawm ntawm lub ntsiav mus rau acpid keeb kwm txheej txheem khiav hauv cov neeg siv qhov chaw.
  • Cov ntsiab lus Initfs tau raug hloov mus rau cov ntaub ntawv tshiab, ua kom yooj yim los tsim cov pob.
  • RedoxFS cov ntaub ntawv tau raug sau dua tshiab thiab hloov mus rau kev siv CoW (Copy-on-Sau) mechanism, uas cov kev hloov pauv tsis sau cov ntaub ntawv, tab sis raug cawm rau qhov chaw tshiab, uas tau txhim kho kev ntseeg tau zoo. Cov yam ntxwv tshiab ntawm RedoxFS suav nrog kev txhawb nqa rau kev hloov pauv hloov tshiab, cov ntaub ntawv encryption siv AES algorithm, nrog rau kev lees paub cov ntaub ntawv thiab metadata nrog cov kos npe digital. Kev sib koom ntawm FS code hauv qhov system thiab bootloader tau ua tiav.
  • Kev txhim kho ntawm tus qauv C tsev qiv ntawv Relibc tsim los ntawm qhov project, muaj peev xwm ua haujlwm tsis yog hauv Redox nkaus xwb, tab sis kuj tseem nyob hauv kev faib khoom raws li Linux ntsiav, tau txuas ntxiv mus. Cov kev hloov pauv ua rau nws yooj yim dua rau chaw nres nkoj ntau yam kev pab cuam rau Redox thiab daws teeb meem nrog ntau cov kev pab cuam thiab cov tsev qiv ntawv sau hauv C.
  • Ib qho version ntawm rustc compiler tau npaj tuaj yeem khiav hauv Redox. Cov haujlwm tseem ceeb suav nrog kev txhim kho kev ua tau zoo thiab hloov kho tus neeg saib xyuas pob khoom los ua haujlwm hauv Redox ib puag ncig.

Tso tawm Redox OS 0.7 operating system sau hauv Rust

Cov txheej txheem kev khiav hauj lwm yog tsim los ua raws li Unix lub tswv yim thiab qiv qee cov tswv yim los ntawm SeL4, Minix thiab Plan 9. Redox siv lub tswv yim ntawm microkernel, uas tsuas yog kev sib cuam tshuam ntawm cov txheej txheem thiab kev tswj hwm cov peev txheej tau muab rau ntawm qib kernel, thiab tag nrho lwm yam. kev ua haujlwm tau muab tso rau hauv cov tsev qiv ntawv uas tuaj yeem siv tau ob qho tib si cov ntsiav thiab cov neeg siv daim ntawv thov. Txhua tus tsav tsheb khiav hauv cov neeg siv qhov chaw nyob hauv ib puag ncig sandbox cais. Rau kev sib raug zoo nrog cov ntawv thov uas twb muaj lawm, ib txheej POSIX tshwj xeeb tau muab, uas tso cai rau koj khiav ntau yam kev pab cuam yam tsis muaj chaw nres nkoj.

Lub kaw lus siv "txhua yam yog URL". Piv txwv li, URL "log://" tuaj yeem siv rau kev nkag, "bus: //" rau kev sib cuam tshuam ntawm cov txheej txheem, "tcp: //" rau kev sib tham hauv network, thiab lwm yam. Modules, uas tuaj yeem siv tau rau hauv daim ntawv tsav tsheb, cov ntsiav txuas ntxiv, thiab cov neeg siv cov ntawv thov, tuaj yeem sau npe rau lawv tus kheej URL tus neeg saib xyuas, piv txwv li, koj tuaj yeem sau I/O chaw nres nkoj nkag module thiab khi rau URL "port_io: // ", tom qab ntawd koj tuaj yeem siv nws nkag mus rau chaw nres nkoj 60 los ntawm kev qhib qhov URL "port_io: // 60".

Cov neeg siv ib puag ncig hauv Redox yog tsim los ntawm Orbital tus kheej lub plhaub graphical (tsis yog yuav tsum tsis meej pem nrog lwm Orbital plhaub uas siv Qt thiab Wayland) thiab OrbTk toolkit, uas muab API zoo ib yam li Flutter, React thiab Redux. Netsurf yog siv los ua qhov web browser. Lub phiaj xwm tseem tab tom txhim kho nws tus kheej pob tus thawj tswj hwm, txheej txheem cov khoom siv hluav taws xob (binutils, coreutils, netutils, extrautils), ion hais kom ua plhaub, tus qauv C tsev qiv ntawv relibc, vim li cas-zoo li ntawv sau sodium, pawg network thiab cov ntaub ntawv qhov system. Cov kev teeb tsa tau teeb tsa hauv hom lus Toml.

Tau qhov twg los: opennet.ru

Ntxiv ib saib