Rust-da yozilgan Redox OS 0.7 operatsion tizimining chiqarilishi

Bir yarim yillik rivojlanishdan so'ng Rust tili va mikroyadro kontseptsiyasi yordamida ishlab chiqilgan Redox 0.7 operatsion tizimining chiqarilishi nashr etildi. Loyihaning ishlanmalari bepul MIT litsenziyasi ostida tarqatiladi. Redox OS ni sinab ko'rish uchun o'rnatish va 75 MB hajmdagi Live tasvirlar taklif etiladi. Assambleyalar x86_64 arxitekturasi uchun yaratilgan va UEFI va BIOS-ga ega tizimlar uchun mavjud.

Yangi nashrni tayyorlashda asosiy e'tibor uning haqiqiy apparatda ishlashini ta'minlashga qaratildi. Asosiy innovatsiyalar:

  • Bootloader to'liq qayta yozildi, unda BIOS va UEFI tizimlarida yuklash uchun kod birlashtirilgan va asosan Rustda yozilgan. Yuklash moslamasini o'zgartirish qo'llab-quvvatlanadigan apparatlar doirasini sezilarli darajada kengaytirdi.
  • Xatolarni tuzatishdan tashqari, yadroda ishlashni yaxshilash va apparat ta'minotini kengaytirish bo'yicha ishlar amalga oshirildi. CPU-ga xos o'zgaruvchilar GS registridan foydalanish uchun aylantirildi. Barcha jismoniy xotirani aks ettirish (xaritalash) ta'minlanadi, rekursiv xotira sahifalaridan foydalanish to'xtatiladi. Kelajakdagi kompilyator nashrlari bilan moslikni yaxshilash uchun inline qo'shimchalardagi montaj kodi qayta yozildi.
  • AArch64 arxitekturasi uchun dastlabki yordam qoʻshildi.
  • UTF-8 kodlashda barcha fayl yo'llarini qayta ishlashga o'tish amalga oshirildi.
  • ACPI AML (ACPI Machine Language) spetsifikatsiyasi bilan ishlash kodi - uefi.org yadrodan foydalanuvchi maydonida ishlaydigan acpid fon jarayoniga ko'chirildi.
  • Initfs tarkibi yangi faylga ko'chirildi, bu paketlarni yaratishni osonlashtirdi.
  • RedoxFS fayl tizimi qayta yozildi va CoW (Copy-on-Write) mexanizmidan foydalanishga o'tkazildi, bunda o'zgarishlar ma'lumotni qayta yozmaydi, balki ishonchlilikni sezilarli darajada yaxshilagan yangi joyga saqlanadi. RedoxFS ning yangi xususiyatlari tranzaksiya yangilanishlarini qo'llab-quvvatlash, AES algoritmi yordamida ma'lumotlarni shifrlash, shuningdek, raqamli imzolar bilan ma'lumotlar va metama'lumotlarning autentifikatsiyasini o'z ichiga oladi. FS kodini tizimda va bootloaderda almashish ta'minlanadi.
  • Loyiha tomonidan ishlab chiqilgan, nafaqat Redox-da, balki Linux yadrosi asosidagi distribyutsiyalarda ham ishlay oladigan standart Relibc C kutubxonasini takomillashtirish davom etdi. O'zgarishlar turli dasturlarni Redox-ga o'tkazishni osonlashtirdi va C tilida yozilgan ko'plab dasturlar va kutubxonalar bilan bog'liq muammolarni hal qildi.
  • Rustc kompilyatorining Redox-da ishlashi mumkin bo'lgan versiyasi tayyorlandi. Qolgan vazifalarga ishlashni optimallashtirish va yuk paketi menejerini Redox muhitida ishlashga moslashtirish kiradi.

Rust-da yozilgan Redox OS 0.7 operatsion tizimining chiqarilishi

Operatsion tizim Unix falsafasiga muvofiq rivojlanadi va ba'zi g'oyalarni SeL4, Minix va Plan 9 dan oladi. Redoks mikroyadro kontseptsiyasidan foydalanadi, unda yadro darajasida faqat jarayonlar va resurslarni boshqarish o'rtasidagi aloqa ta'minlanadi va boshqa barcha funksiyalar joylashtiriladi. ham yadro, ham foydalanuvchi ilovalaridan foydalanish mumkin bo'lgan kutubxonalarda. Barcha drayverlar izolyatsiyalangan sandbox muhitida foydalanuvchi maydonida ishlaydi. Mavjud ilovalar bilan muvofiqligi uchun maxsus POSIX qatlami taqdim etilgan bo'lib, u ko'plab dasturlarni portlashsiz ishlashga imkon beradi.

Tizim "hamma narsa URL manzil" tamoyilini qo'llaydi. Masalan, “log://” URL manzili jurnalga yozish uchun, “bus://” jarayonlararo aloqa uchun, “tcp://” tarmoq aloqasi uchun va hokazolardan foydalanish mumkin. Drayvlar, yadro kengaytmalari va maxsus ilovalar sifatida amalga oshirilishi mumkin bo'lgan modullar o'zlarining URL ishlov beruvchilarini ro'yxatdan o'tkazishi mumkin, masalan, siz kirish/chiqarish modulini yozishingiz va uni "port_io://" URL manziliga ulashingiz mumkin, shundan so'ng. "port_io://60" URL manzilini ochib 60-portga kirish uchun undan foydalanishingiz mumkin.

Redox-dagi foydalanuvchi muhiti Orbital-ning o'z grafik qobig'i (Qt va Wayland-dan foydalanadigan boshqa Orbital qobig'i bilan adashtirmaslik kerak) va Flutter, React va Redux-ga o'xshash API taqdim etadigan OrbTk asboblar to'plami atrofida qurilgan. Netsurf veb-brauzer sifatida ishlatiladi. Loyiha shuningdek, o'zining paket menejerini, standart yordamchi dasturlar to'plamini (binutils, coreutils, netutils, extrautils), ion buyruqlar qobig'ini, relibc standart C kutubxonasini, natriy vimga o'xshash matn muharririni, tarmoq stekini va faylni ishlab chiqadi. tizimi. Konfiguratsiya Toml tilida o'rnatiladi.

Manba: opennet.ru

a Izoh qo'shish