Friday, February 7, 2014

Android သံုး ဖုန္း Power စဖြင့္တာနဲ႔ အဆင့္ဆင့္ ဘယ္လို အလုပ္လုပ္သလဲ


ပထမအဆင့္
Power စဖြင့္တာနဲ႔ ROM ထဲမွာရွိတဲ့ Boot ROM Code က စပီးအလုပ္လုပ္ပါတယ္၊ Boot ROM Code လုပ္တဲ့အလုပ္က Bootlaoder ကို RAM ထဲကို ၀န္တင္တယ္၊ RAM ထဲေရာက္တဲ့ Bootloader စတင္အလုပ္လုပ္တယ္၊

ဒုတိယ အဆင့္
Bootloader ဆိုတာ Software Program ေသးေသးေလးပါ၊ သူ႔ထဲမွာ ကုတ္ေတြေရးထားတယ္၊ အဲ့ဒီ့ကုတ္ေတြက Bootloader လုပ္မယ့္ အလုပ္ျဖစ္တဲ့ ညြန္ၾကားခ်က္ေတြပါ၊ Bootloader စတင္အလုပ္လုပ္တဲ့ အခါမွာ အဆင့္ ႏွစ္ဆင့္ နဲ႔ အလုပ္လုပ္ပါတယ္၊ ပထမအဆင့္က Network, Memory တို႔လို လိုအပ္သမွ် Program ေတြ အားလံုးကို External RAM ထဲကို ၀န္တင္ပါတယ္၊ ဒုတိယ အဆင့္မွာေတာ့ Kernel စတင္ အလုပ္လုပ္ဖို႔လိုအပ္တဲ့ Network နဲ႔ Memory တို႔ကို စတင္ေစပါတယ္၊ ဒီဆင့္ကဲျဖစ္စဥ္ႏွစ္ခုကို ျဖစ္ေပၚေစတာက init.S ဆိုတဲ့ Stack ေတြခြဲျခားတဲ့ဖိုင္ပါ၊ သူက Stacks ေတြကို ခြဲထုတ္ပီး BSS Segments ေတြကို 0 ကေနစတင္ေစတယ္၊ ပီးေတာ့ main.c ဖိုင္ထဲက _main() funciton ကိုေခၚတယ္၊ _main() Function က Hardware အစိတ္အပိုင္းေတြျဖစ္တဲ့ Clock,borad,keyboard,console တို႔ကို စတင္တယ္ အဓိက ျဖစ္တဲ့ Linux Tag ကိုဖန္တီးတယ္၊ Linux Tag က linux kernel image ကို RAM ေပၚမွာ ၀င္တင္ပီးေတာ့ စတင္အလုပ္လုပ္ေစတယ္၊

Android ႏွင့္ပက္သက္၍ အနည္းဆံုး သိသင့္သမွ်



Android ကိုစတင္ေလ့လာဖို႔က်ိဳးစားေနသူေတြအေနနဲ႔ အမ်ားေျပာေနၾကတဲ့
Bootloader , Firmware, ADB , Stock ROMs, Custom ROMs, OS Kernel,
ClockworkMod, Flashing , Rooting , Baseband စသျဖင့္ စာလံုး အထူး
အဆန္းေတြျခည္းေတြ႔ရလို႔ ေလ့လာခ်င္စိတ္ကုန္ သြားတတ္သလို႔၊ တစ္လံုး စီနဲ႔
သူတို႔ရဲ့ သီးသန္႔ အလုပ္လုပ္ပံုကို အတိအက် မသိရင္ နာမည္သာေခၚေနေပမယ့္
အႏွစ္သာရ မဲ့ေနတတ္ပါတယ္၊ တကယ္ေလ့လာလိုသူေတြအေနနဲ႔ လဲ တစ္ခုစီရဲ့
အဓီပါယ္နဲ႔ အသံုး၀င္ပံု အေသးစိတ္အလုပ္လုပ္ပံုတို႔ကို ေသခ်ာ သိကိုသိထား
ရပါမယ္၊ ဒီပို႔စ္မွာ အထက္က စာလံုးေတြအေၾကာင္း ရွင္းသြားေပးပါမယ္၊
တကယ္ပညာရွင္အဆင့္ တက္လွမ္းခ်င္သူေတြအတြက္ Open Source ျဖစ္တဲ့ Android က
မည္သူမဆို ေဒါင္းယူႏိုင္ပီး ႀကိဳက္သလို ျဖတ္ႏိုင္ ျပင္ႏိုင္ ပါတယ္၊
စိတ္ႀကိဳက္ေျပာင္းႏိုင္ မိမိနဲ႔ အသင့္ေတာ္ဆံုး ျဖစ္တဲ့ System
တစ္ခုျဖစ္သြားတဲ့ အထိ ျပဳျပင္ယူလို႔ရပါတယ္၊