Rust ဖြင့်ရေးသားထားသော Redox OS 0.7 လည်ပတ်မှုစနစ်အား ဖြန့်ချိသည်။

ဖွံ့ဖြိုးတိုးတက်မှု တစ်နှစ်ခွဲအကြာတွင် Rust ဘာသာစကားနှင့် microkernel အယူအဆကို အသုံးပြု၍ တီထွင်ထားသည့် Redox 0.7 လည်ပတ်မှုစနစ်အား ထုတ်ဝေလိုက်ပါသည်။ ပရောဂျက်၏တိုးတက်မှုများကို အခမဲ့ MIT လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။ Redox OS ကို စမ်းသပ်ရန်အတွက်၊ တပ်ဆင်ခြင်းနှင့် 75 MB အရွယ်အစားရှိသော တိုက်ရိုက်ပုံများကို ပေးဆောင်ထားပါသည်။ စည်းဝေးပွဲများကို x86_64 ဗိသုကာအတွက် ထုတ်လုပ်ပြီး UEFI နှင့် BIOS ပါသော စနစ်များအတွက် ရရှိနိုင်ပါသည်။

အသစ်ထွက်ရှိမှုကို ပြင်ဆင်သည့်အခါ၊ ၎င်းသည် စစ်မှန်သော ဟာ့ဒ်ဝဲပေါ်တွင် အလုပ်လုပ်ကြောင်း သေချာစေရန်အတွက် အဓိကအာရုံစိုက်ခဲ့သည်။ အဓိက တီထွင်ဆန်းသစ်မှုများ-

  • BIOS နှင့် UEFI ပါသော စနစ်များတွင် bootloader အတွက် ကုဒ်ကို ပေါင်းစည်းထားပြီး အဓိကအားဖြင့် Rust ဖြင့် ရေးသားထားသည့် bootloader ကို လုံးလုံးပြန်လည်ရေးသားထားပါသည်။ bootloader ကိုပြောင်းလဲခြင်းသည် ပံ့ပိုးထားသော ဟာ့ဒ်ဝဲ၏ အကွာအဝေးကို သိသာထင်ရှားစွာ ချဲ့ထွင်ခဲ့သည်။
  • ချွတ်ယွင်းချက်ပြင်ဆင်မှုများအပြင် စွမ်းဆောင်ရည်မြှင့်တင်ရန်နှင့် ဟာ့ဒ်ဝဲပံ့ပိုးမှုကို ချဲ့ထွင်ရန်အတွက် kernel တွင် အလုပ်လုပ်ဆောင်ခဲ့သည်။ GS မှတ်ပုံတင်ခြင်းကို အသုံးပြုရန် CPU သီးသန့် ကိန်းရှင်များကို အသွင်ပြောင်းထားသည်။ ရုပ်ပိုင်းဆိုင်ရာမှတ်ဉာဏ်အားလုံး၏ ရောင်ပြန်ဟပ်မှု (မြေပုံဆွဲခြင်း) ကို ပံ့ပိုးပေးထားပြီး၊ ထပ်ခါတလဲလဲ မှတ်ဉာဏ်စာမျက်နှာများကို အသုံးပြုခြင်းကို ရပ်တန့်ထားသည်။ အနာဂတ် compiler ထုတ်ဝေမှုများနှင့် လိုက်ဖက်ညီမှု တိုးတက်ကောင်းမွန်လာစေရန် inline ထည့်သွင်းမှုများရှိ စည်းဝေးပွဲကုဒ်ကို ပြန်လည်ရေးသားထားပါသည်။
  • AArch64 ဗိသုကာလက်ရာအတွက် ကနဦးပံ့ပိုးမှု ထပ်လောင်းထည့်ထားသည်။
  • UTF-8 ကုဒ်ပြောင်းခြင်းတွင် ဖိုင်လမ်းကြောင်းများအားလုံးကို လုပ်ဆောင်ရန် အသွင်ကူးပြောင်းမှုတစ်ခု ပြုလုပ်ထားပါသည်။
  • ACPI AML (ACPI Machine Language) Specification - uefi.org နှင့် အလုပ်လုပ်ခြင်းအတွက် ကုဒ်ကို အသုံးပြုသူနေရာအတွင်း လည်ပတ်နေသော acpid နောက်ခံလုပ်ငန်းစဉ်သို့ ရွှေ့ထားသည်။
  • Initfs အကြောင်းအရာများကို ဖိုင်အသစ်တစ်ခုသို့ ရွှေ့ထားပြီး ပက်ကေ့ဂျ်များထုတ်လုပ်ရန် ပိုမိုလွယ်ကူစေသည်။
  • RedoxFS ဖိုင်စနစ်အား ပြန်လည်ပြင်ဆင်ပြီး CoW (Copy-on-Write) ယန္တရားကိုအသုံးပြုကာ ပြောင်းလဲမှုများသည် အချက်အလက်များကို ထပ်မရေးဘဲ၊ ယုံကြည်စိတ်ချရမှုကို သိသိသာသာတိုးတက်စေသည့် တည်နေရာအသစ်တွင် သိမ်းဆည်းထားသည်။ RedoxFS ၏ အင်္ဂါရပ်အသစ်များတွင် အရောင်းအ၀ယ်ဆိုင်ရာ အပ်ဒိတ်များအတွက် ပံ့ပိုးမှု၊ AES အယ်ဂိုရီသမ်ကို အသုံးပြု၍ ဒေတာ ကုဒ်ဝှက်ခြင်း၊ ဒစ်ဂျစ်တယ် လက်မှတ်များဖြင့် ဒေတာနှင့် မက်တာဒေတာကို စစ်မှန်ကြောင်း အတည်ပြုခြင်းတို့ ပါဝင်သည်။ စနစ်တွင် FS ကုဒ်မျှဝေခြင်းနှင့် bootloader ကိုသေချာစေသည်။
  • Redox တွင်သာမက Linux kernel ကိုအခြေခံ၍ ဖြန့်ဝေမှုများတွင်ပါ လုပ်ဆောင်နိုင်သော ပရောဂျက်မှ ဖန်တီးထားသော စံ C စာကြည့်တိုက် Relibc သည် ဆက်လက်တိုးတက်နေပါသည်။ ပြောင်းလဲမှုများသည် အမျိုးမျိုးသော ပရိုဂရမ်များကို Redox သို့ အလွယ်တကူ ပို့နိုင်စေပြီး C ဖြင့် ရေးသားထားသော ပရိုဂရမ်များနှင့် စာကြည့်တိုက်များစွာဖြင့် ပြဿနာများကို ဖြေရှင်းနိုင်စေခဲ့သည်။
  • Redox တွင်သုံးနိုင်သော rustc compiler ၏ဗားရှင်းကို ပြင်ဆင်ထားပါသည်။ ကျန်လုပ်ဆောင်စရာများမှာ စွမ်းဆောင်ရည်ကို ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်းနှင့် Redox ပတ်ဝန်းကျင်တွင် အလုပ်လုပ်ရန် ကုန်တင်ကုန်ချပက်ကေ့ဂျ်မန်နေဂျာကို လိုက်လျောညီထွေဖြစ်စေရန် ပါဝင်သည်။

Rust ဖြင့်ရေးသားထားသော Redox OS 0.7 လည်ပတ်မှုစနစ်အား ဖြန့်ချိသည်။

လည်ပတ်မှုစနစ်ကို Unix အတွေးအခေါ်နှင့်အညီ တီထွင်ထားပြီး SeL4၊ Minix နှင့် Plan 9 တို့မှ အကြံဉာဏ်အချို့ကို ချေးယူပါသည်။ Redox သည် လုပ်ငန်းစဉ်များနှင့် အရင်းအမြစ်စီမံခန့်ခွဲမှုကြားတွင်သာ အပြန်အလှန်အပြန်အလှန်လုပ်ဆောင်သည့် kernel အဆင့်တွင်သာ ပံ့ပိုးပေးထားသည့် Redox သည် မိုက်ခရိုကာနယ်၏ သဘောတရားကို အသုံးပြုပါသည်။ လုပ်ဆောင်နိုင်စွမ်းကို kernel နှင့် အသုံးပြုသူ အပလီကေးရှင်း နှစ်ခုစလုံးတွင် အသုံးပြုနိုင်သည့် စာကြည့်တိုက်များတွင် ထားရှိထားပါသည်။ သီးခြား Sandbox ပတ်ဝန်းကျင်များတွင် အသုံးပြုသူနေရာလွတ်တွင် Driver များအားလုံး အလုပ်လုပ်ပါသည်။ လက်ရှိအပလီကေးရှင်းများနှင့် လိုက်လျောညီထွေရှိရန်အတွက်၊ သင်သည် porting မပါဘဲ ပရိုဂရမ်များစွာကို လုပ်ဆောင်နိုင်စေမည့် အထူး POSIX အလွှာကို ပေးထားသည်။

စနစ်သည် "အရာရာတိုင်းသည် URL တစ်ခုဖြစ်သည်" နိယာမကိုအသုံးပြုသည်။ ဥပမာအားဖြင့်၊ လုပ်ငန်းစဉ်များအကြားအပြန်အလှန်တုံ့ပြန်မှုအတွက် “log://” URL ကို “log://” ကို မှတ်တမ်းတင်ရန်အတွက်၊ “bus://”၊ ကွန်ရက်အပြန်အလှန်ဆက်သွယ်မှုအတွက် “tcp://” စသည်တို့ကို အသုံးပြုနိုင်သည်။ ဒရိုက်ဗာများ၊ kernel တိုးချဲ့မှုများနှင့် သုံးစွဲသူအပလီကေးရှင်းများပုံစံဖြင့် အကောင်အထည်ဖော်နိုင်သည့် မော်ဂျူးများသည် ၎င်းတို့၏ကိုယ်ပိုင် URL ကိုင်တွယ်သူများကို စာရင်းသွင်းနိုင်သည်၊ ဥပမာအားဖြင့် သင်သည် I/O ပို့တ်ဝင်ရောက်မှု module တစ်ခုရေးပြီး ၎င်းကို URL "port_io:// နှင့် ချည်နှောင်နိုင်သည်။ "၊ ထို့နောက် URL “port_io://60” ကိုဖွင့်ခြင်းဖြင့် port 60 သို့ဝင်ရောက်ရန် ၎င်းကိုသင်အသုံးပြုနိုင်ပါသည်။

Redox ရှိအသုံးပြုသူပတ်ဝန်းကျင်ကို Orbital ၏ကိုယ်ပိုင်ဂရပ်ဖစ်ရှဲလ် (Qt နှင့် Wayland ကိုအသုံးပြုသည့် အခြားသော Orbital shell နှင့် မရောထွေးစေရန်) နှင့် Flutter၊ React နှင့် Redux တို့နှင့်ဆင်တူသော API တစ်ခုကို ပံ့ပိုးပေးသည့် OrbTk ကိရိယာအစုံအလင်ကို တည်ဆောက်ထားသည်။ Netsurf ကို ဝဘ်ဘရောက်ဆာအဖြစ် အသုံးပြုသည်။ ပရောဂျက်သည် ၎င်း၏ကိုယ်ပိုင် ပက်ကေ့ဂျ်မန်နေဂျာ၊ စံအသုံးအဆောင်များ (binutils၊ coreutils၊ netutils၊ extrautils)၊ ion command shell၊ standard C library relibc၊ vim-like text editor ဆိုဒီယမ်၊ network stack နှင့် file တစ်ခုတို့ကိုလည်း ဖော်ဆောင်နေသည်။ စနစ်။ ဖွဲ့စည်းပုံကို Toml ဘာသာစကားဖြင့် သတ်မှတ်သည်။

source: opennet.ru

မှတ်ချက် Add