Sunday, May 31, 2015

Khnel ဆိုတဲ႔ ေဝါဟာရ အေျကာင္း


Android ကိုစတင္ေလ့လာေနသူေတြအတြက္ Khnel ဆိုတဲ႔ ေဝါဟာရအေျကာင္း

Kernel ဆိုတာဘာလဲ????ဲ

Kernel ဆိုတာက Android တစ္ခုထဲမွာသာလွ်င္ရွိတာ မဟုတ္ပဲ
IOS,MacOS,Window,BlackBerry's QNX တို႔မွာလဲရွိပါတယ္၊ High Level
Operation Systems အားလံုးမွာ Kernel တစ္ခုေတာ့ ပါ၀င္ပါတယ္၊ ခု ေျပာမွာက
Android အေၾကာင္းဆိုေတာ့ Linux Kernel ကိုပဲ ဦးတည္ပီးေျပာသြားပါမယ္၊
Android သံုးသမွ် ပစၥည္းေတြက Linux Kernel ကိုသံုးၾကပါတယ္၊ ဒါေပမယ့္ Linux
Operation System က သံုးတဲ့ Kernel နဲ႔ေတာ့ တထပ္တည္းမတူပါဘူး၊ Android
Kernel မွာ Android အတြက္ သီးသန္႔ Build-in code ေတြပါေနပါတယ္၊
ဒါ့ေၾကာင့္ပဲ Developers ေတြနဲ႔ hackers ေတြအတြက္ Android Versions
အသစ္ေတြကို Android ဖုန္း အေဟာင္းေတြမွာ ထည့္သြင္းပီး အားလံုး အဆင္ေျပေျပ
အလုပ္ျဖစ္ေအာင္လုပ္ဖို႔ အေတာ့ကိုေစာင့္ရပါတယ္၊ Gingerbred kernel အတြက္
သံုးတဲ့ drivers ေတြက Ice Cream Sandwich kernel အတြက္ အလုပ္လုပ္မွာ
မဟုတ္ပါဘူး၊ ဒီကစၥက လဲ အေရးႀကီးပါတယ္၊ Kernel ရဲ့ အဓီက အလုပ္က Hardware
ကို ထိန္းခ်ဳပ္ဖို႔ တာ၀န္ကိုယူထားလို႔ပါ၊ kernel ကိုေရးတဲ့ ကုတ္ေတြလဲ
တကယ့္ကိုမ်ားလွပါတယ္၊ Kernel ရဲ့ အဓီက တာ၀န္ကေတာ့ Hardware နဲ႔ Software
တို႔ၾကားမွာ ႏွစ္ဖက္ညြန္ၾကားခ်က္ေတြကို နာလည္ေအာင္ လုပ္ကိုင္ေပးဖို႔ပါပဲ၊

Software တစ္ခုက ဘယ္လို အလုပ္မ်ိဳးကိုမဆို Hardware ကို လုပ္ေစခ်င္တဲ့
အခါက်ရင္ Hardware ကို တိုက္ရိုက္ အမိန္႔မေပးပဲနဲ႔ Kernel ကို
ညြန္ၾကားခ်က္ အရင္လွမ္းပို႔ပါတယ္၊ ဒီေနရာမွာ အလုပ္ဆိုတာက ဖုန္းက
လုပ္ႏိုင္တဲ့ အလုပ္အားလံုးကိုညြန္းပါတယ္၊ ဖုန္း Screen
အလင္းေရာင္ခ်ိန္တာတို႔၊ အသံ အနိမ္း အျမင့္ ခ်ိန္တာတို႔၊ Raido ကို
ခ်ိတ္ဆက္ပီး ဖုန္းေခၚဆိုတာတို႔၊ ဖုန္း မ်က္ႏွာျပင္မွာ ပုံဆြဲတာတို႔
စသျဖင့္ အလုပ္ မွန္သမွ်ကို Software က လုပ္လိုတဲ့အခါက်ရင္ Hardware
ကိုတိုက္ရိုက္ မခိုင္းပဲ Kernel ကိုလွမ္းခိုင္းလိုက္ပါတယ္၊ အဲ့ဒီ့ အခါမွာ
Kernal က တဆင့္ Hardware ကို လုပ္မယ့္အလုပ္ကိုညြန္ၾကားပါတယ္၊ ဥပမာ
ကၽြန္ေတာ္တို႔ ဖုန္း မ်က္ႏွာျပင္ေပၚမွာ က ကင္မရာ (Camera) ရိုက္တဲ့ခလုပ္
မွာ ခလစ္တစ္ခ်က္ႏွိပ္ပီး ဓါတ္ပံုရိုက္တယ္ဆိုပါစို႔ ၊
ခလုပ္ကိုႏွီပ္လိုက္တာနဲ႔ကို software က Event တစ္ခုကိုနားေထာင္လုိ႔ရမယ္
ရတဲ့ Event ျဖစ္ေပၚတဲ့ေနရာကို driver ကတဆင့္ Kernel ကို ပို႔မယ္၊ kernel
ကလဲ ရလာတဲ့အခ်က္နဲ႔ ပက္သက္တဲ့ command ကို Camera hardware
ကိုလွမ္းပို႔မယ္၊ Camera Hardware က ဓါတ္ပံုကို ရိုက္ေပးမယ္၊ ဒီလို တစ္ခုက
Software က Input လုပ္လိုက္တာကို Kernel က ယူပီး Output တစ္ခုအျဖစ္
Hardware ကိုျပန္ေပးပါတယ္၊

အကယ္၍ Kernel သာမရွိခဲ့ရင္ေတာ့ Developers ေတြက အလုပ္တစ္ခုစီအတြက္
အလြန္႔အလြန္မ်ားျပားလွတဲ့ machine Code ေတြကို ေရးပီး Hardware ကို
ခိုင္းေစရမွာျဖစ္ပါတယ္၊ Kernel က ၾကားခံ ေပးထားတဲ့အတြက္ Application
Developers ေတြအေနနဲ႔ Android System API's ေတြကေန တစ္ဆင့္ Kernel ဆီကို
Resquest ေတြအလြယ္တစ္ကူပို႔ႏိုင္ပီး Kernel နဲ႔ ခ်ိတ္ဆက္ အလုပ္လုပ္ဖို႔သာ
Develop လုပ္ရမွာျဖစ္သလို Hardware Developers ေတြကလဲ သူတို႔ Develop
လုပ္တဲ့ Hardware ကို Kernel နဲ႔ ဆက္သြယ္ အသံုးျပဳႏိုင္ေအာင္သာ Develop
လုပ္ေပးစရာလို႔ပါတယ္၊

သက္ဆိုင္သူကို credit ေပးပါတယ္

No comments:

Post a Comment