Google သည် Android ရှိ ပုံမှန် Linux kernel ကို အသုံးပြုရန် လုပ်ဆောင်နေပါသည်။

နောက်ဆုံး Linux Plumbers 2019 ကွန်ဖရင့်တွင် Google ပြောတယ် ဖွံ့ဖြိုးတိုးတက်မှုနှင့် ပတ်သက် ပဏာမခြေလှမ်းများ Linux kernel တွင် တီထွင်ထားသော အပြောင်းအလဲများကို ပင်မ Linux kernel သို့ လွှဲပြောင်းပေးခြင်း kernel ဗားရှင်း Android ပလပ်ဖောင်းအတွက်။ အန္တိမရည်မှန်းချက်မှာ Android သီးသန့်ဌာနခွဲတစ်ခုအပေါ်အခြေခံ၍ စက်တစ်ခုစီအတွက် သီးခြားတည်ဆောက်မှုများကို ပြင်ဆင်မည့်အစား Android ၏ သီးသန့် kernel တစ်ခုကို အသုံးပြုခွင့်ပေးရန်ဖြစ်သည်။ Android မှာ Common Kernel. ဤပန်းတိုင်ကို တစ်စိတ်တစ်ပိုင်းအောင်မြင်ပြီးဖြစ်၍ ပုံမှန်မွမ်းမံထားသော Linux kernel ကိုအခြေခံထားသည့် Xiaomi Poco F1 Android စမတ်ဖုန်းကို ညီလာခံတွင် သရုပ်ပြခဲ့သည်။

ပရောဂျက်အဆင်သင့်ဖြစ်သောအခါ၊ ရောင်းချသူများသည် ပင်မ Linux kernel ကိုအခြေခံ၍ အခြေခံ kernel တစ်ခုကို ပေးဆောင်ရန် တောင်းဆိုလိမ့်မည်။ ဟာ့ဒ်ဝဲပံ့ပိုးမှုအတွက် အစိတ်အပိုင်းများကို kernel တွင် ဖာထေးခြင်းမပြုဘဲ အပိုဆောင်း kernel module များပုံစံဖြင့်သာ ပေးသွင်းသူများမှ ပံ့ပိုးပေးမည်ဖြစ်ပါသည်။ မော်ဂျူးများသည် kernel သင်္ကေတ namespace အဆင့်ရှိ ပင်မ kernel နှင့် သဟဇာတဖြစ်ရန် လိုအပ်ပါသည်။ ပင်မအူတိုင်ကို ထိခိုက်စေသော ပြောင်းလဲမှုအားလုံးကို ရေဆန်အထိ မြှင့်တင်သွားပါမည်။ LTS အကိုင်းအခက်များအတွင်းရှိ မူပိုင် module များနှင့် လိုက်ဖက်ညီမှုကို ထိန်းသိမ်းရန်၊ ၎င်းသည် kernel API နှင့် ABI ကို တည်ငြိမ်သောပုံစံဖြင့် ထိန်းသိမ်းထားရန် အဆိုပြုထားပြီး၊ ၎င်းသည် ဘုံ kernel ဌာနခွဲတစ်ခုစီအတွက် အပ်ဒိတ်များနှင့်အတူ module လိုက်ဖက်မှုကို ဆက်လက်ထိန်းသိမ်းထားမည်ဖြစ်သည်။

Google သည် Android ရှိ ပုံမှန် Linux kernel ကို အသုံးပြုရန် လုပ်ဆောင်နေပါသည်။

တစ်နှစ်တာကာလအတွင်း၊ အမျိုးမျိုးသောအရင်းအမြစ်များ (CPU၊ Memory၊ I/O) နှင့် Interprocess ဆက်သွယ်မှုအတွက် BinderFS pseudo-file system နှင့်ပတ်သက်သော အချက်အလက်များကို ခွဲခြမ်းစိတ်ဖြာခြင်းအတွက် စောင့်ဆိုင်းချိန်ကြာခြင်းဆိုင်ရာ အချက်အလက်ခွဲခြမ်းစိတ်ဖြာခြင်းအတွက် PSI (Pressure Stall Information) စနစ်ခွဲကဲ့သို့သော အင်္ဂါရပ်များ ယန္တရားအား Android kernel ထုတ်ဝေမှုမှ ပင်မ Linux kernel သို့ လွှဲပြောင်းပေးခဲ့ပါသည်။ Binder နှင့် စွမ်းအင်သက်သာသော အလုပ်ချိန်ဇယား EAS (Energy Aware Scheduling)။ အနာဂတ်တွင်၊ Android သည် cgroups2 နှင့် standard kernel ယန္တရားများကို အခြေခံ၍ ARM တွင်တည်ဆောက်ထားသော UtilClamp စနစ်ခွဲအသစ်သို့ သီးခြား SchedTune အချိန်ဇယားကို လွှဲပြောင်းရန် စီစဉ်ထားပါသည်။

Google သည် Android ရှိ ပုံမှန် Linux kernel ကို အသုံးပြုရန် လုပ်ဆောင်နေပါသည်။

ယခုအချိန်အထိ Android ပလပ်ဖောင်းအတွက် kernel သည် ပြင်ဆင်မှုအဆင့်များစွာကို ဖြတ်သန်းခဲ့ရကြောင်း သတိရကြပါစို့။

  • ပင်မ LTS kernels (3.18၊ 4.4၊ 4.9 နှင့် 4.14) ကို အခြေခံ၍ "Android Common Kernel" ၏ အကိုင်းအခက်တစ်ခုကို ဖန်တီးခဲ့ပြီး၊ Android သီးသန့် ဖာထေးမှုများကို လွှဲပြောင်းခဲ့သည် (ယခင်က ပြောင်းလဲမှုများ၏ အရွယ်အစားသည် လိုင်းသန်းပေါင်းများစွာသို့ ရောက်ရှိခဲ့သော်လည်း မကြာသေးမီက၊ အပြောင်းအလဲများကို ကုဒ်လိုင်းပေါင်း ထောင်ဂဏန်းအထိ လျှော့ချထားသည်။
  • "Android Common Kernel" ကို အခြေခံ၍ Qualcomm ကဲ့သို့သော ချစ်ပ်ထုတ်လုပ်သူများသည် "SoC Kernel" ကို ဟာ့ဒ်ဝဲကိုပံ့ပိုးရန် အပိုပရိုဂရမ်များပါ၀င်သည်။
  • SoC Kernel ကိုအခြေခံ၍ စက်ပစ္စည်းထုတ်လုပ်သူများသည် အပိုပစ္စည်းများ၊ ဖန်သားပြင်များ၊ ကင်မရာများ၊ အသံစနစ်များ စသည်တို့အတွက် ပံ့ပိုးမှုဆိုင်ရာပြောင်းလဲမှုများပါ၀င်သော Device Kernel ကို ဖန်တီးခဲ့သည်။

Google သည် Android ရှိ ပုံမှန် Linux kernel ကို အသုံးပြုရန် လုပ်ဆောင်နေပါသည်။

အနှစ်သာရအားဖြင့်၊ စက်တစ်ခုစီတွင် အခြားစက်ပစ္စည်းများတွင် အသုံးမပြုနိုင်သော ၎င်း၏ကိုယ်ပိုင် kernel ရှိသည်။ ဤကဲ့သို့သော အစီအစဉ်သည် အားနည်းချက်များကို ဖယ်ရှားရန်နှင့် kernel အကိုင်းအခက်အသစ်များသို့ ကူးပြောင်းခြင်းအတွက် အပ်ဒိတ်များကို အကောင်အထည်ဖော်ရာတွင် သိသိသာသာ ရှုပ်ထွေးစေသည်။ ဥပမာအားဖြင့်၊ အောက်တိုဘာလတွင်ထွက်ရှိခဲ့သော နောက်ဆုံးထွက် Pixel 4 စမတ်ဖုန်းသည် လွန်ခဲ့သည့်နှစ်နှစ်က ထွက်ရှိခဲ့သော Linux kernel 4.14 ဖြင့် တင်ပို့ခဲ့သည်။ တစ်စိတ်တစ်ပိုင်းအားဖြင့်၊ Google သည် စနစ်အား မြှင့်တင်ခြင်းဖြင့် ပြုပြင်ထိန်းသိမ်းမှုကို ရိုးရှင်းစေရန် ကြိုးစားခဲ့သည်။ တိတ်ဆိတ်ထုတ်လုပ်သူများအား သီးခြား Android ဗားရှင်းများနှင့် Linux kernel ထုတ်ဝေမှုများနှင့် ဆက်စပ်မှုမရှိသော universal hardware ပံ့ပိုးမှု အစိတ်အပိုင်းများကို ဖန်တီးခွင့်ပြုသည်။ Treble သည် Google မှ အဆင်သင့်လုပ်ထားသော အပ်ဒိတ်များကို အခြေခံအဖြစ် အသုံးပြုနိုင်ပြီး ၎င်းတို့အား သီးခြားစက်ပစ္စည်းတစ်ခု၏ အစိတ်အပိုင်းများတွင် ပေါင်းစပ်ထည့်သွင်းထားသည်။


source: opennet.ru

မှတ်ချက် Add