Thursday, January 12, 2017

ඇයි Android OS එකට වඩා Apple Ios එක Speed?



 ගොඩක් වෙලාවට බොහෝ අයට තියන ප්‍රශ්නයක් තමයි ඇයි iOS එක තිබෙන ෆෝන් එකක් සහ android OS එක තියන ෆෝන් එකක සමාන hardware දාරිතාවයන් තිබුනත් iOS එක slow නොවී android OS එක slow වෙන එක ගැන.අද ලිපියෙන් කතා කරන්නේ ඒ ගැන

පහුගිය ලිපි වලින් කතා කරා මතක ඇති OS  Layer එක සහ application Layer එක ගැන මෙතැනදී Application Layer එකේ Kernel කියාවලියෙන් පස්සේ Application Runtime Envirment load කරන එක තමයි හැම OS එකකම ඊලග පියවර වෙන්නේ.මෙතැනදී mobile os වල Grub application එක embered කරලා නිසා කෙලින්ම linux kernel එක ලෝඩ් කරවලා ඊලගට ක්ෂණිකව application layer එක මගින් application runtime enverment එක run කරවන එකයි කරන්නේ..ඊලගට අපි දන්නා 

androidsystem.apk
andoird.res.overlay.apk
com.android.gsm.apk
com.android.internal.res.apk
com.phone.res.apk
com.providers.apk
com.provider.setting.apk
launcher.apk
 shell.apk, 

කියන application ටික මූලික වශයෙන් රන් කරවලා එකෙන් background process එක හදා ගන්නවා
මෙතැනදී background process එකේදී com.android.gsm වගේ application වලින් providers හදුනාගත්තාට පස්සේ ඒක API එකක් හරහා com.quealcomm.apk එකට ලෝඩ් කරවනවා ඒ වගේම launcher එකටත් අර බැක් process ටික දැම්මට පස්සේ
background process එකට smart card read කරන SmartcardServrice.apk, ගූගල් සර්විස් ලබා දෙන Google Play Service.apk එකත් ලෝඩ් කරවනවා..

ගොඩක් අය කියන තර්කයක් තමයි Ios එකේ Graphical Coding ටිකේ Stop කරනවා කියන මතය එතැනදී අපි minimize කරාම application runtime enverment එක ram dumping එක process වෙන එක නතර කරනවා කියනවා..ඇත්තම කිව්වොත් මමත් කලින් හිතාගෙන් හිටියේ එහෙම නමුත් එහෙම ios එකෙන් කරන්න බෑ.

Ios එකේදී ios kernel එක ධාවනයෙන් පස්සේ ඊලගට runtime enverment එක native code වලින් රන් වෙන නිසා කිසිම වෙලාවක ram එක ඉඩපහසුකම් සහ data dumping file ගන්න අලුතින් හදන්න වෙලාවක් ගතවෙන්නේ නෑ.මොකක්ද බොහෝ වෙලාවට ram එකට data dumpin වෙන නිසා start up prcess එකේදී කිසිම වෙලාවක background app තිබුන පලියට core එකෙන් ගන්නේ නෑ වෙනම අවකාශයක්...
ඒ කිව්වොත් සරවලම අපි හිතමු කඩයක් කරන මුදලාලි කෙනෙක්  ගාව තියනවා දොඩම් ගෝනියක්.නමුත් ඒ දොඩම් ගෝනිය ගෙදර තියෙන්නේ.කඩේට ගෙන්න බර වැඩි නිසා ගෙදර තියාගෙන ඉන්නවා...කඩේට මිනිහෙක් ඇවිත් ඉල්ලනවා දොඩම් ගෙඩියක් එතකොට දොඩම් ගෙඩියක් ගෙන්න මුදලාලි කඩේට බඩු ගන්න ආපු මිනිහාට ඉන්න කියලා ගෙදර ගිහින් දොඩම් ගෙඩියක් අරගෙන එනවා.ඉතින් ටිකක් කාලයක් ඉන්න වෙනවා දොඩම් ගන්න ආපු කෙනාට 

ඔය විදිහට තමයි andoird os එකේ ක්‍රියාකාරිත්වය දොඩම් කෙදියට උපමා කරේ ram එක.මුදලාලිට උපමා කරේ runtime enverment එක. කඩේට බඩු ගන්න ආපු මිනිහාට උපමා කරේ application process  එක ඉතින් කඩේට බඩු ගන්න ආපු කෙනාට ටිකක් වෙලා ඉන්න සිදු වෙන එකට උපමා කරේ (ram dumping හැදෙන්න යන කාලය සහ process core API එකට කෝල් කරන කාලය)
නමුත් මෙහෙම හිතමු කඩේ මුදලාලි උදේ පාන්දර කඩේ අරිනකොටම අර දොඩම් ගෝනිය කඩේ තියාගෙන ඉන්නවා.කඩේ ඉඩ අහිරුනත්  කමක් නෑ,මහන්සි උනත් කමක් නෑ කියලා නමුත් එතකොට කඩේට බඩු ගන්න ආපු කෙනා දොඩම් ඉල්ලුවොත් එයාට දොඩම් දෙන්න ඉස්සෙල්ලා වගේ වෙලාව්‍යක් යන්නේ නෑ.මොකද දොඩම් ගෙඩි ගෝනිය පිටින්ම කඩේ තියන නිසා ඉක්මනට දෙන්න පුළුවන්.නමුත් පොඩි ගැටළුවක් තියනවා.මුදලාලිට දොඩම් ගෝනිය කඩේ තියාගෙන හිටියොත් ටිකක් මහන්සි වෙන්න වෙනවා ඒ වගේම සමහර වෙලාවට දොඩම් ගෝනිය ඉහිරුනොත් අර ගෙදරින් දොඩම් ගෙනාවා වගේ නෙවෙයි පැය ගානක් යනවා ආයෙත් දොඩම් ටික මල්ලට දාගන්න

මෙතැනදී මම ios එක ගැන සරලව පැහැදිලි කරේ උපකල්පනයක් විදිහට මෙතැනදී කලින් විදිහටම බඩු ගන්න ආපු කෙනා application process එක විදිහටයි, මුදලාලි runtime enverment එක විදිහටයි උපමා කර..කඩේට දොඩම් ගෝනිය ගෙනාවා කියල උපමා කරේ phone එකේ start up එකේදී ram dumping එකෙන් මුළු අප්ප්ලිකේෂන් ලේයර් එකටම runtime enverment එකට ලෝඩ් කරවන එක.ඒ කියන්නේ native code පාවිච්චි කරලා රන් කරවනවා. හැබැයි ගෝනිය හැලුනොත් එකතු කරගන්න පැය ගානක් යනවා කියලා අර්ථ දැක්වුයේ වැරදිලා හරි runtime enverment එක හිර උනොත් (සාමන්යෙන් එහෙම වෙන්නේ නෑ නමුත් උනොත් ) ෆෝන් එක හිර වෙනවා විකල්පයක් නැති වෙන්නම..අඩුම තරමින් ෆෝන් එක off කරගන්නවත් බැරි වෙන්න හිර වෙනවා පැය ගානකින් තමයි නැවතත් හරියන්නේ. :D එහෙම උනොත් හිතෙයි andoird ඒ අතින් කොච්චර හොදද කියලා....නමුත් ios පාවිච්චි කරන අය හිත කලබල කරගන්න එපා..සාමන්යෙන් iphone එකක් එහෙම හිර වෙන්නේ නෑ..1000ක 1 වගේ අවම සම්භාවිතාවය ඒ ගැටලුව ගැන... :D නමුත් ram එකට වද දෙනවා