Redox OS ပရောဂျက်သည် Rust ဖြင့်ရေးသားထားသော pkgar package manager ကိုမိတ်ဆက်ပေးခဲ့သည်။

Operating System Developer များ Redox, ရေးသားခဲ့သည်။ Rust language နှင့် microkernel concept ကိုအသုံးပြုပြီး၊ တင်ဆက် ပက်ကေ့ဂျ်မန်နေဂျာအသစ် pkgar. ပရောဂျက်သည် ပက်ကေ့ဂျ်ဖော်မတ်အသစ်၊ ပက်ကေ့ဂျ်စီမံခန့်ခွဲမှု ဒစ်ဂျစ်တိုက်နှင့် လျှို့ဝှက်သင်္ကေတဖြင့် အတည်ပြုထားသော ဖိုင်များစုစည်းမှုကို ဖန်တီးခြင်းနှင့် ပြန်လည်ရယူခြင်းအတွက် အမိန့်ပေးစာလိုင်းကိရိယာအစုံကို ဖော်ဆောင်နေသည်။ pkgar ကုဒ်ကို Rust နှင့်ရေးထားသည်။ ဖြန့်ဝေသည် MIT လိုင်စင်အောက်တွင်။

pkgar ဖော်မတ်သည် universal ဟန်ဆောင်ခြင်းမရှိသည့်အပြင် Redox OS လည်ပတ်မှုစနစ်၏ သီးခြားအချက်အလက်များကို ထည့်သွင်းတွက်ချက်ကာ အကောင်းဆုံးဖြစ်အောင် ပြုလုပ်ထားသည်။ ပက်ကေ့ဂျ်မန်နေဂျာသည် ဒစ်ဂျစ်တယ်လက်မှတ်နှင့် သမာဓိထိန်းချုပ်မှုကို အသုံးပြု၍ အရင်းအမြစ်အတည်ပြုခြင်းကို ပံ့ပိုးပေးသည်။ Checksum များကို hash လုပ်ဆောင်ချက်ဖြင့် တွက်ချက်သည်။ ဘလိတ် ၂. pkgar ၏ အတည်ပြုခြင်းဆိုင်ရာ လုပ်ဆောင်နိုင်စွမ်းသည် ပက်ကေ့ဂျ်မှတ်တမ်းကို အမှန်တကယ် သိမ်းဆည်းခြင်းမရှိဘဲ၊ ခေါင်းစီးအပိုင်းကိုသာ အသုံးချခြင်းဖြင့် ဝင်ရောက်နိုင်သည်။ အထူးသဖြင့်၊ အထုပ်တွင် ခေါင်းစီးဖိုင် (.pkgar_head) နှင့် ဒေတာဖိုင် (.pkgar_data) တို့ ပါဝင်သည်။ မှန်ကန်စွာ လက်မှတ်ရေးထိုးထားသော ပြီးပြည့်စုံသော အနှစ်ချုပ်ပက်ကေ့ဂျ် (.pkgar) ကို ဒေတာဖိုင်တွင် ခေါင်းစီးဖိုင်ကို ပေါင်းထည့်ရုံဖြင့် (“cat example.pkgar_head example.pkgar_data > example.pkgar”) ကို ရရှိနိုင်သည်။

header file တွင် header အတွက် သီးခြား checksums များနှင့် data file မှ parameters များ ပါရှိသည့် တည်ဆောက်ပုံများ အပြင် package ကို စစ်ဆေးရန် ဒစ်ဂျစ်တယ် လက်မှတ်ပါရှိပါသည်။ ဒေတာဖိုင်တွင် ပက်ကေ့ချ်တွင် ပံ့ပိုးပေးထားသည့် ဖိုင်များနှင့် လမ်းညွှန်အားလုံး၏ စဉ်ဆက်မပြတ်စာရင်းတစ်ခု ပါဝင်သည်။ ဒေတာဒြပ်စင်တစ်ခုစီသည် ဒေတာကိုယ်တိုင်အတွက် ချက်စမ်တစ်ခု၊ အရွယ်အစား၊ ဝင်ရောက်ခွင့်အခွင့်အရေး၊ ထည့်သွင်းထားသည့် ဖိုင်၏ ဆွေမျိုးလမ်းကြောင်းနှင့် နောက်ဒေတာဒြပ်စင်၏ ကန့်သတ်ဘောင်များ၏ နှိမ်ချမှုတို့ ပါဝင်သည့် ဒေတာဒြပ်စင်တစ်ခုစီ၏ ရှေ့တွင် ဖြစ်သည်။ အပ်ဒိတ်လုပ်ငန်းစဉ်အတွင်း ဖိုင်တစ်ခုချင်းစီသည် မပြောင်းလဲသေးဘဲ checksum နှင့် ကိုက်ညီပါက ၎င်းတို့ကို ကျော်သွားကာ တင်မည်မဟုတ်ပါ။

header ဖိုင်ကိုသာ လက်ခံရရှိခြင်းနှင့် ဤဖိုင်၏ ကန့်သတ်ချက်များဖြင့် တည်ဆောက်ပုံများကိုသာ တင်ပြီး header file တွင် အသိအမှတ်ပြု checksum နှင့် ကိုက်ညီကြောင်း သေချာစေခြင်းဖြင့် ရွေးချယ်ထားသော ဒေတာဖိုင်၏ မှန်ကန်မှုကို စစ်ဆေးနိုင်ပါသည်။ ဒေတာ၏ ရှေ့တွင် ဘောင်များပါသည့် ဖွဲ့စည်းပုံမှ checksum ကို အသုံးပြု၍ ဒေတာကို တင်ပြီးနောက် ၎င်းကိုယ်တိုင် စစ်ဆေးနိုင်သည်။

ပက်ကေ့ဂျ်များသည် မူရင်းအတိုင်း ထပ်ခါတလဲလဲ ပြုလုပ်နိုင်သည်၊ ဆိုလိုသည်မှာ တိကျသောလမ်းညွှန်ချက်တစ်ခုအတွက် ပက်ကေ့ဂျ်တစ်ခုကို ဖန်တီးခြင်းသည် တူညီသောပက်ကေ့ချ်တစ်ခု အမြဲတမ်းဖြစ်ပေါ်နေလိမ့်မည်ဖြစ်သည်။ တပ်ဆင်ပြီးနောက်၊ စနစ်တွင် မက်တာဒေတာကိုသာ သိမ်းဆည်းထားပြီး၊ ထည့်သွင်းထားသည့်ဒေတာမှ ပက်ကေ့ဂျ်ကို ပြန်လည်တည်ဆောက်ရန် လုံလောက်သော (ပက်ကေ့ဂျ်၏ဖွဲ့စည်းမှု၊ checksums၊ လမ်းကြောင်းများနှင့် ဝင်ရောက်ခွင့်အခွင့်အရေးများသည် metadata တွင်ပါရှိသည်)။

pkgar ၏အဓိကပန်းတိုင်များ

  • Atomicity—မွမ်းမံမှုများကို ဖြစ်နိုင်သည့်အခါတိုင်း အလိုအလျောက် အသုံးပြုပါသည်။
  • အသွားအလာ ချွေတာခြင်း - hash အပြောင်းအလဲရှိမှသာ ဒေတာကို ကွန်ရက်ပေါ်တွင် လွှဲပြောင်းသည် (အပ်ဒိတ်လုပ်နေစဉ်၊ ပြောင်းလဲထားသောဖိုင်များကိုသာ ဒေါင်းလုဒ်လုပ်သည်)။
  • မြင့်မားသောစွမ်းဆောင်ရည်၊ လျင်မြန်သော ကုဒ်ဝှက်စနစ် အယ်လဂိုရီသမ်များကို အသုံးပြုသည် (blake3 သည် hash များကို တွက်ချက်သည့်အခါ အပြိုင်ဒေတာလုပ်ဆောင်ခြင်းကို ပံ့ပိုးသည်)။ သိုလှောင်မှုမှ ဒေတာကို ယခင်က ကက်ရှ်မလုပ်ပါက၊ ဒေါင်းလုဒ်လုပ်ထားသောဒေတာအတွက် hash တစ်ခုကို ဒေါင်းလုဒ်လုပ်ချိန်၌ တွက်ချက်နိုင်သည်။
  • အနည်းငယ်မျှသာ - အခြားဖော်မတ်များနှင့်မတူဘဲ၊ pkgar သည် ပက်ကေ့ဂျ်ထုတ်ရန် လိုအပ်သော မက်တာဒေတာများသာ ပါဝင်သည်။
  • တပ်ဆင်မှုလမ်းညွှန်၏လွတ်လပ်မှု - အထုပ်ကိုမည်သည့်လမ်းညွှန်တွင်မဆိုအသုံးပြုသူမှထည့်သွင်းနိုင်သည် (အသုံးပြုသူသည်ရွေးချယ်ထားသောလမ်းညွှန်အတွက်ရေးရန်ခွင့်ပြုချက်ရှိရမည်) ။
  • လုံခြုံရေး - ပက်ကေ့ဂျ်များကို အမြဲတမ်း လျှို့ဝှက်ရေးနည်းဖြင့် စစ်ဆေးပြီး ပက်ကေ့ဂျ်တွင် အမှန်တကယ် လည်ပတ်မှုများ မလုပ်ဆောင်မီ အတည်ပြုခြင်းကို လုပ်ဆောင်ပါ (ခေါင်းစီးကို ဦးစွာ တင်ပြီး ဒစ်ဂျစ်တယ် လက်မှတ် မှန်ပါက၊ ဒေတာကို ယာယီလမ်းညွှန်ထဲသို့ တင်ပေးသည်၊ ထို့နောက် ပစ်မှတ်လမ်းကြောင်းသို့ ရွှေ့သွားမည်ဖြစ်သည်။ အတည်ပြုခြင်း)။

source: opennet.ru

မှတ်ချက် Add