1.1 Linux Evolution and Popular Operating Systems: Embedded Systems, Linux and the Cloud

Share this article to...

Embedded Systems

         Embedded Systems ဆိုတာကတော့ Computer Hardware နှင့် Software တွေပေါင်းစပ်ပြီး သီးခြားအလုပ်တခုခုကို Larger System တခုထဲမှာ လုပ်ဆောင်ပေးတဲ့ စနစ်ပဲဖြစ်ပါတယ်။ အခြားပစ္စည်းတွေရဲ့ အစိတ်အပိုင်းတွေအဖြစ်ပဲ အမြဲလိုလို ပါဝင်လေ့ရှိပြီး အဲ့ဒီပစ္စည်းတွေကိုထိန်းချုပ်ဖို့အတွက် ကူညီပေးပါတယ်။ ကားတွေ၊ ဆေးပညာဆိုင်ရာ၊ စစ်ဘက်ဆိုင်ရာ ပစ္စည်း ကိရိယာတွေမှာ တွေ့မြင်နိုင်ပါတယ်။ နည်းပညာဆိုင်ရာ ပစ္စည်းတော်တော်များများမှာ ကျယ်ကျယ်ပြန့်ပြန့် အသုံးပြုနိုင်တာကြောင့် Linux Kernel အခြေခံတဲ့ OS တော်တော်များများကို Embedded Systems တွေမှာ အသုံးပြုဖို့အတွက် တီထွင်ဖန်တီးခဲ့ကြပါတယ်။ Smart Devices တွေမှာလည်း Linux OS အသုံးပြုလျက်ရှိပါတယ်။

         Embedded Systems တွေနှင့်အတူပဲ Embedded Software ဟာလည်း ပေါ်ထွက်လာပါတော့တယ်။ ရည်ရွယ်ချက်ကတော့ Hardware ပစ္စည်းတွေကို ထိန်းချုပ်နိုင်ဖို့နှင့် အသုံးပြုနိုင်ဖို့ပဲဖြစ်ပါတယ်။ အခြားသော မူပိုင်ထုတ်လုပ်ကြတဲ့ Embedded Software တွေထက် Linux အသုံးပြုတဲ့ Software တွေရဲ့ အဓိကအားသာချက်တွေကတော့ မည်သည့်ထုတ်လုပ်သူထံမှ ပစ္စည်းနှင့်မဆို ကိုက်ညီမှု၊ တီထွင်ဖန်တီးမှု၊ နည်းပညာဆိုင်ရာကူညီပံ့ပိုးပေးမှု၊ License ကုန်ကျစရိတ်မရှိမှု တို့ပဲဖြစ်ပါတယ်။ Embedded Software Projects တွေထဲက နာမည်ကျော် ၂ခုကတော့ Mobile Phones ထုတ်လုပ်သူများစွာ  အဓိကအသုံးပြုနေကြတဲ့ Android နှင့် Raspberry Pi ပေါ်မှာ အဓိကအသုံးပြုနေတဲ့ Raspbian တို့ပဲဖြစ်ပါတယ်။

Android

            Android OS ကတော့ Google မှ အဓိကပါဝင်ပြီး တီထွင်ဖန်တီးထားတဲ့ Mobile OS ပဲဖြစ်ပါတယ်။ Android Inc. ကို ပါလိုအာတိုမြို့ ကယ်လီဖိုးနီးယားပြည်နယ်မှာ ၂၀၀၃ ခုနှစ်မှာ တည်ထောင်ခဲ့ပါတယ်။ စတင်တည်ထောင်ချိန်မှာတော့ Digital Cameras တွေပေါ်မှာ အသုံးပြုလို့ရမယ့် OS ကို ဖန်တီးခဲ့ပါတယ်။ ၂၀၀၅ မှာတော့ Google က Android Inc. ကို ဝယ်ယူခဲ့ပြီး အကြီးဆုံး Mobile OS တွေထဲက တစ်ခုဖြစ်ဖို့ ဖန်တီးခဲ့ပါတယ်။

         Android ရဲ့ အခြေခံကတော့ Linux Kernel ရဲ့ ပြုပြင်ဖန်တီးမှုပုံစံအသစ်နှင့်အတူ Open Source Software တွေပါ ထပ်မံပေါင်းစပ်ထားတာပါ။ OS ကို Touchscreen Devices တွေအတွက် အဓိကထားပြီး ဖန်တီးထားပေမယ့် Google ဟာ TV နဲ့ လက်ပတ်နာရီတို့အတွက်လည်း အသုံးပြုနိုင်အောင် ဖန်တီးခဲ့ပါတယ်။ ကွန်ပျူတာ၊ ဒစ်ဂျစ်တယ် ကင်မရာ၊ ဂိမ်းစက်တို့အတွက်လည်း အသုံးပြုနိုင်ရန် Android ပုံစံအမျိုးမျိုးကိုလည်း တီထွင်ဖန်တီးထားပါတယ်။

         Android ကို Open Source ပုံစံမျိုးနှင့် Android Open Source Project (AOSP) အဖြစ် အခမဲ့ရယူနိုင်ပါတယ်။ Google ဟာ Android Source Code အပြင် သူ့ရဲ့မူပိုင် Applications များဖြစ်တဲ့ Google Calendar, Google Maps, Google Mail, Chrome browser တို့နှင့်အတူ ဆော့ဖ်ဝဲလ်ထည့်သွင်းမှု လွယ်ကူစေရန် အသုံးပြုနိုင်တဲ့ Google Play Store Application တို့ကိုပါ မျှဝေထားပါတယ်။ အသုံးပြုသူအများစုဟာ Android အသုံးပြုမှုနှင့်အတူ ကျန် Applications များကိုပါ သုံးစွဲလာကြပါတော့တယ်။ ဥရောပနှင့် အမေရိကရှိ Android OS ပါဝင်တဲ့ Mobile Devices တွေအားလုံးနီးပါးမှာ Google မူပိုင်ဆော့ဖ်ဝဲလ်များ ပါဝင်လာပါတော့တယ်။

         Embedded Devices တွေမှာ အသုံးပြုတဲ့ Android OS ရဲ့ အားသာချက်တွေကတော့ နားလည်ရလွယ်ကူမှု၊ Graphical User Interface (GUI) ဖြင့် အသုံးပြုရလွယ်ကူစေမှု၊ ဖန်တီးသူအသိုက်အဝန်း ကျယ်ပြန့်မှုနှင့်အတူ အကူအညီများ အလွယ်တကူ ရရှိနိုင်မှုတို့ပဲ ဖြစ်ပါတယ်။ Hardware ထုတ်လုပ်သူအများစုကလည်း Android ကို လက်ခံနားလည်ပေးတဲ့ Driver ဆော့ဖ်ဝဲလ်နှင့်အတူ ထုတ်လုပ်ပေးတာကြောင့် System တစ်ခုလုံးစမ်းသပ်တီထွင်ဖို့ လွယ်ကူပြီး ကုန်ကျစရိတ်သက်သာလှပါတယ်။

Raspbian and the Raspberry Pi

            Raspberry Pi ဆိုတာကတော့ ကုန်ကျစရိတ် အလွန်နည်းပါးလှပြီး Credit-card အရွယ်မျှသာရှိတဲ့ Desktop Computer တလုံးကဲ့သို့ လုပ်ဆောင်ပေးနိုင်တဲ့ Embedded Linux System တခုထဲမှာ အသုံးပြုနိုင်တဲ့ ကွန်ပျူတာလေးပါပဲ။ UK အခြေစိုက် ပညာရေးဆိုင်ရာ ကုသိုလ်ပြုအဖွဲ့အစည်းတစ်ခုဖြစ်တဲ့ Raspberry Pi Foundation ကပဲ တီထွင်ဖန်တီးခဲ့တာပါ။ အဓိကအားဖြင့်တော့ ငယ်ရွယ်သူတွေကို ကွန်ပျူတာတွေရဲ့ လုပ်ဆောင်မှုတွေကို နားလည်စေဖို့နှင့် ပရိုဂရမ်များရေးသားတတ်စေဖို့ ရည်ရွယ်တာပါ။ ပိုမိုရှုပ်ထွေးတဲ့စနစ်တွေရဲ့ လုပ်ဆောင်ပုံတချို့နှင့် ရွေးချယ်ထားတဲ့အလုပ်တွေ လုပ်ဆောင်နိုင်ဖို့အတွက်  ဒီဇိုင်းရေးဆွဲဖို့၊ ပရိုဂရမ်များရေးသားဖို့အတွက်လည်း အသုံးပြုနိုင်ပါတယ်။

         အထူးအားဖြင့် General Purpose Input-Output (GPIO) Pins တွေပါတာကြောင့် Electronic Devices နှင့် Extension Boards တွေမှာ တွဲဆက်ပြီး Hardware ဖန်တီးမှုအတွက် Platform တခုအနေနှင့်လည်း အသုံးပြုနိုင်ပါတယ်။ ပညာရေးဆိုင်ရာ ရည်ရွယ်ချက်တွေနှင့် စတင်ခဲ့ပေမယ့် အခုအခါမှာတော့ Raspberry Pis တွေဟာ DIY Projects တွေမှာရော၊ Embedded Systems တွေဖန်တီးတဲ့အခါ စက်မှုလုပ်ငန်းသုံး စမ်းသပ်ပုံစံငယ်များအဖြစ်ပါ အသုံးပြုနေကြပါပြီ။

         ARM Processors များ၊ Linux အပါအဝင် အမျိုးမျိုးသော OS များကိုလည်း အသုံးပြုထားပါတယ်။ Hard Disk မပါဝင်တာကြောင့် OS ကို SD Memory Card မှ ဆွဲတင်ပါတယ်။ Raspberry Pi အတွက် အထင်ရှားဆုံး Linux Distributions တွေထဲက တစ်ခုကတော့ Raspbian ပါ။ နာမည်မှာ ခန့်မှန်းမိမယ့်အတိုင်းပါပဲ Debian Distribution Family ထဲကပဲ ဖြစ်ပါတယ်။ Raspberry Pi Hardware ပေါ်မှာ ထည့်သွင်းနိုင်ဖို့အတွက် အထူးပြုလုပ်ဖန်တီးထားတာဖြစ်ပြီး သူနဲ့ကိုက်ညီအောင် Packages ပေါင်း ၃၅၀၀၀ ကျော်လောက် ပံ့ပိုးပေးထားပါတယ်။ Raspberry Pi အတွက် Raspbian အပြင် အခြားသော Linux Distributions များစွာရှိတဲ့ထဲမှာမှ Raspberry Pi ကို Media Center တစ်ခုအဖြစ် အသွင်ပြောင်းလဲပေးတာကတော့ Kodi ပဲဖြစ်ပါတယ်။

Linux and the Cloud

            Cloud Computing ဆိုတာကတော့ Computing Resources (Hardware & Software) တွေကို Private Cloud – ကိုယ်ပိုင်သုံးစွဲမှုပုံစံ (သို့) အများသုံးအတွက် ဝန်ဆောင်မှုပေးသော Public Cloud Provider ထံမှ ဝယ်ယူသုံးစွဲမှုပုံစံစသော စံသတ်မှတ်ချက် တခုခုဖြင့် ရယူအသုံးပြုတာကို ဆိုလိုပါတယ်။ ၂၀၁၇ အစီအရင်ခံစာတွေအရ Public Cloud ရဲ့ ၉၀ ရာခိုင်နှုန်းဟာ Linux OS အသုံးပြုထားပါတယ်။ Cloud Provider တွေဖြစ်ကြတဲ့ Amazon Web Services (AWS) ကနေ Google Cloud Platform (GCP) အထိ အပါအဝင် အားလုံးဟာ Linux Distributions အမျိုးမျိုးကို ဝန်ဆောင်မှုပေးပါတယ်။ Linux ကို Cancer လို့ နှိုင်းယှဥ်ခေါ်ဝေါ်သုံးစွဲခဲ့ဖူးတဲ့ CEO ဟောင်းတစ်ဦးရှိခဲ့ဖူးတဲ့ Microsoft ကုမ္ပဏီရဲ့ Azure Cloud မှာလည်း Linux အခြေခံတဲ့ Virtual Machines တွေကို အသုံးပြုသူတွေအတွက် ထည့်သွင်းထားပေးပါတယ်။         

Linux ကို Infrastructure as a Service (IaaS) ရဲ့ အစိတ်အပိုင်းတစ်ခု အနေဖြင့် ဝန်ဆောင်မှုပေးထားပါတယ်။ IaaS Instances တွေဟာ Cloud ထဲမှာ မိနစ်ပိုင်းအတွင်းပဲ ရွေးချယ်ရရှိနိုင်တဲ့ Virtual Machines တွေပါပဲ။  IaaS Instance တစ်ခုစတင်တဲ့အခါ   Instance အသစ်တစ်ခုအတွက် ပြင်ဆင်ထားတဲ့ အချက်အလက်တွေပါဝင်တဲ့ Image တစ်ခုကို ရွေးချယ်ပါတယ်။ Cloud Providers တွေဟာ နာမည်ကျော်ကြား လူသုံးများတဲ့ Linux Distributions များနှင့်အတူ ကိုယ်ပိုင်ဖန်တီးထားတဲ့ Linux Versions များပါဝင်တဲ့ အဆင်သင့်လုပ်ဆောင်ပေးနိုင်တဲ့ Images အမျိုးမျိုးကို ဝန်ဆောင်မှုပေးကြပါတယ်။ Cloud အသုံးပြုသူများမှ မိမိတို့ကြိုက်နှစ်သက်ရာ Distribution ပါဝင်တဲ့ Image တခုကို ရွေးချယ်ပြီး အချိန်တိုအတွင်းမှာပဲ Cloud Instance ကို စတင်အသုံးပြုနိုင်ပါတယ်။ Cloud Providers အများစုဟာ သက်ဆိုင်ရာ Cloud Instance တစ်ခုကို ထည့်သွင်းအသုံးပြုတဲ့အခါ အဆင်ပြေရအောင် Software Tools တွေကို သူတို့ရဲ့ Images တွေမှာ ထပ်မံပေါင်းထည့်ပေးကြပါတယ်။ ဒီ Software Tools တွေဟာ ဥပမာအားဖြင့် Virtual Machine ရဲ့ Hard Disk နဲ့ အဆင်ပြေစေဖို့အတွက်  Image ရဲ့ ဖိုင်စနစ်ကို ချဲ့ပေးနိုင်တာတွေ လုပ်ဆောင်ပေးနိုင်တာမျိုးပါ။