Tso tawm Redox OS 0.8 operating system sau hauv Rust

Kev tso tawm ntawm Redox 0.8 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, demo cov rooj sib tham ntawm 768 MB hauv qhov loj yog muaj, nrog rau cov duab nrog cov duab nraaj yooj yim (256 MB) thiab cov cuab yeej console rau cov tshuab server (256 MB). Cov rooj sib txoos tau tsim rau x86_64 architecture thiab muaj rau cov tshuab nrog UEFI thiab BIOS. Ntxiv rau Orbital graphical ib puag ncig, cov duab demo suav nrog DOSBox emulator, xaiv cov kev ua si (DOOM, Neverball, Neverputt, sopwith, syobonaction), kev qhia, rodioplay music player thiab Sodium text editor.

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.

Qhov kev tso tawm tshiab txuas ntxiv ua haujlwm kom ntseeg tau tias nws ua haujlwm ntawm cov khoom siv tiag tiag. Ntxiv rau x86_64 architecture, muaj peev xwm ua haujlwm ntawm 32-ntsis x86 systems (i686, Pentium II thiab tshiab dua) tau ntxiv. Kev xa mus rau ARM64 CPU (aarch64) tab tom pib. Kev khiav ntawm ARM tiag tiag hardware tseem tsis tau txais kev txhawb nqa, tab sis kev thauj khoom nrog ARM64 emulation hauv QEMU yog ua tau. Los ntawm lub neej ntawd, lub suab subsystem tau qhib thiab pib kev txhawb nqa rau ntau qhov kev teeb tsa tau muab (ntawm cov tshuab nrog UEFI framebuffer). Cov khoom siv txhawb nqa hauv Redox OS suav nrog AC'97 thiab Intel HD Audio chips, cov duab tso tawm ntawm VESA BIOS API lossis UEFI GOP, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), cov khoom siv nkag (keyboards, nas, touchpads), SATA (AHCI, IDE) thiab NVMe. Kev them nyiaj yug rau Wi-Fi thiab USB tseem tsis tau npaj (USB tsuas yog ua haujlwm hauv QEMU).

Lwm yam tshiab:

  • Cov duab khau raj rau cov tshuab nrog BIOS thiab EFI tau raug sib koom ua ke.
  • Qhov kev siv ntawm clone thiab exec system hu tau raug tsiv mus rau qhov chaw neeg siv.
  • Cov txheej txheem thauj khoom tau yooj yim. Ib qho kev pab cuam bootstrap tau siv, uas tau pib los ntawm cov ntsiav thiab muab kev thauj khoom ntxiv ntawm ELF cov ntaub ntawv, xws li cov txheej txheem init.
  • Ntxiv qhov kev pab cuam nce ntxiv los txhawb cov kev pabcuam setuid xws li sudo.
  • Txhawm rau ua kom yooj yim rau kev tsim thiab teeb tsa cov txheej txheem keeb kwm yav dhau, lub pob redox-daemon crate tau raug npaj.
  • Cov txheej txheem sib dhos tau raug kho dua tshiab, ua rau nws muaj peev xwm tsim tau rau cov qauv sib txawv hauv ib qhov chaw ntoo. Txhawm rau ua kom yooj yim rau kev sib dhos ntawm cov kev teeb tsa sib txawv, tsab ntawv build.sh tau thov. Ntxiv kev txhawb nqa rau lub tsev siv cov khoom siv podman. Kev sib dhos ntawm cov ntsiav, bootloader thiab initfs tau koom ua ke nrog lwm cov pob.
  • Ntxiv qhov kev teeb tsa demo rau lub tsev piv txwv cov kev pab cuam uas tsis suav nrog hauv cov duab khau raj yooj yim nrog rau ib puag ncig graphical.
  • Kev them nyiaj yug rau software ntim tswj tau ntxiv rau lub suab audiod subsystem.
  • Ntxiv tus tsav tsheb rau lub suab chips raws li AC'97. Txhim kho tsav tsheb rau Intel HD Audio chips.
  • Ntxiv tsav tsheb rau IDE controllers.
  • Txhim kho kev txhawb nqa rau NVMe drives.
  • Txhim kho PCI, PS/2, RTL8168, USB HID, VESA tsav tsheb.
  • Cov txheej txheem kev teeb tsa tau raug kho dua tshiab: bootloader, bootstrap, kernel thiab initfs tam sim no nyob rau hauv / khau raj directory.
  • Lub kernel tau yooj yim tswj kev nco thiab ntxiv lub peev xwm los tswj qhov chaw nyob ntawm qib neeg siv.
  • Hauv Orbital graphical plhaub, kev txhawb nqa rau ntau lub tshuab tau ntxiv, kev ua tus nas cursor tau raug txhim kho, thiab qhov ntsuas tau ntxiv rau kev hloov lub ntim. Cov ntawv qhia zaub mov muaj peev xwm faib cov ntawv thov rau hauv pawg.

Tau qhov twg los: opennet.ru

Ntxiv ib saib