Lëshimi i sistemit operativ Redox OS 0.8 i shkruar në Rust

Është publikuar lëshimi i sistemit operativ Redox 0.8, i zhvilluar duke përdorur gjuhën Rust dhe konceptin e mikrokernelit. Zhvillimet e projektit shpërndahen nën licencën pa pagesë MIT. Për testimin e Redox OS, ofrohen montime demo me madhësi 768 MB, si dhe imazhe me një mjedis grafik bazë (256 MB) dhe vegla konsol për sistemet e serverëve (256 MB). Asambletë janë krijuar për arkitekturën x86_64 dhe janë të disponueshme për sistemet me UEFI dhe BIOS. Përveç mjedisit grafik Orbital, imazhi demo përfshin emulatorin DOSBox, një përzgjedhje lojërash (DOOM, Neverball, Neverputt, sopwith, syobonaction), programet e trajnimit, luajtësin muzikor rodioplay dhe redaktuesin e tekstit Sodium.

Sistemi operativ zhvillohet në përputhje me filozofinë Unix dhe huazon disa ide nga SeL4, Minix dhe Plani 9. Redox përdor konceptin e mikrokernelit, në të cilin sigurohet vetëm komunikimi ndërmjet proceseve dhe menaxhimit të burimeve në nivelin e kernelit dhe vendoset të gjitha funksionet e tjera. në bibliotekat që mund të përdoren si në kernel ashtu edhe në aplikacionet e përdoruesit. Të gjithë drejtuesit funksionojnë në hapësirën e përdoruesit në mjedise të izoluara sandbox. Për pajtueshmërinë me aplikacionet ekzistuese, ofrohet një shtresë speciale POSIX që lejon shumë programe të ekzekutohen pa transferim.

Sistemi zbaton parimin "gjithçka është një URL". Për shembull, URL-ja "log://" mund të përdoret për regjistrim, "bus://" për komunikim ndër-procesor, "tcp://" për komunikim në rrjet, e kështu me radhë. Modulet, të cilat mund të implementohen si drejtues, shtesa kernel dhe aplikacione të personalizuara, mund të regjistrojnë mbajtësit e tyre të URL-ve, për shembull, ju mund të shkruani një modul aksesi I/O dhe ta lidhni atë me URL-në "port_io://", pas së cilës mund ta përdorni për të hyrë në portin 60 duke hapur URL-në "port_io://60".

Mjedisi i përdoruesit në Redox është ndërtuar rreth guaskës grafike të Orbital (për të mos u ngatërruar me guaskën tjetër Orbital që përdor Qt dhe Wayland) dhe paketën e veglave OrbTk, e cila ofron një API të ngjashme me Flutter, React dhe Redux. Netsurf përdoret si një shfletues në internet. Projekti zhvillon gjithashtu menaxherin e tij të paketave, një grup shërbimesh standarde (binutils, coreutils, netutils, extrautils), guaskën e komandës jonike, bibliotekën standarde relibc C, redaktuesin e tekstit të ngjashëm me sodium vim, grupin e rrjetit dhe skedarin sistemi. Konfigurimi është vendosur në gjuhën Toml.

Publikimi i ri vazhdon punën për t'u siguruar që funksionon në pajisje reale. Përveç arkitekturës x86_64, është shtuar aftësia për të punuar në sistemet 32-bit x86 (i686, Pentium II dhe më të reja). Transferimi në CPU ARM64 (aarch64) është duke u zhvilluar. Përdorimi në pajisje reale ARM nuk mbështetet ende, por ngarkimi me emulimin ARM64 në QEMU është i mundur. Si parazgjedhje, nënsistemi audio aktivizohet dhe ofrohet mbështetja fillestare për konfigurimet me shumë monitor (në sistemet me kornizë UEFI). Pajisjet e mbështetura në Redox OS përfshijnë çipa audio AC'97 dhe Intel HD Audio, dalje grafike nëpërmjet VESA BIOS API ose UEFI GOP, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), pajisje hyrëse (tastierë, minj, tastierë me prekje), SATA (AHCI, IDE) dhe NVMe. Mbështetja për Wi-Fi dhe USB nuk është ende gati (USB funksionon vetëm në QEMU).

Risi të tjera:

  • Imazhet e nisjes për sistemet me BIOS dhe EFI janë bashkuar.
  • Zbatimi i thirrjeve të sistemit të klonit dhe ekzekutimit është zhvendosur në hapësirën e përdoruesit.
  • Procesi i ngarkimit është thjeshtuar. Është implementuar një program bootstrap, i cili niset nga kerneli dhe siguron ngarkim të mëtejshëm të skedarëve ELF, siç është procesi init.
  • U shtua një program i përshkallëzuar për të mbështetur programet setuid si sudo.
  • Për të thjeshtuar krijimin dhe instalimin e proceseve të sfondit, është propozuar paketa e arkës redox-daemon.
  • Sistemi i montimit është ridizajnuar, duke bërë të mundur ndërtimin për arkitektura të ndryshme në një pemë burimore. Për të thjeshtuar montimin e konfigurimeve të ndryshme, propozohet skripti build.sh. Mbështetje e shtuar për ndërtimin duke përdorur paketën e veglave të podman. Asambleja e kernelit, bootloader dhe initfs është unifikuar me paketat e tjera.
  • U shtua një konfigurim demo për ndërtimin e programeve shembull që nuk përfshihen në imazhin bazë të nisjes me një mjedis grafik.
  • Mbështetja për kontrollin e volumit të softuerit është shtuar në nënsistemin e zërit audio.
  • Shtuar shofer për çipat e zërit bazuar në AC'97. Drejtues i përmirësuar për çipat Intel HD Audio.
  • Shtuar shofer për kontrollorët IDE.
  • Mbështetje e përmirësuar për disqet NVMe.
  • Drejtues të përmirësuar PCI, PS/2, RTL8168, USB HID, VESA.
  • Procesi i instalimit është ridizajnuar: bootloader, bootstrap, kernel dhe initfs tani janë të vendosura në drejtorinë /boot.
  • Kerneli ka thjeshtuar menaxhimin e kujtesës dhe ka shtuar aftësinë për të manipuluar hapësirat e adresave nga niveli i përdoruesit.
  • Në guaskën grafike Orbital, është shtuar mbështetje për sistemet me shumë monitor, është përmirësuar përpunimi i kursorit të miut dhe është shtuar një tregues për ndryshimin e volumit. Menuja ka aftësinë për të ndarë aplikacionet në kategori.

Burimi: opennet.ru

Shto një koment