OS လို့ခေါ်တဲ့ operation system ဆိုတာ ကျနော်တို့နဲ့ စိမ်းတဲ့ အရာတစ်ခုတော့ မဟုတ်ပါဘူး။ ကျနော်တို့နေ့တိုင်းလိုလို ထိတွေ့နေရတဲ့ အရာတစ်ခုဖြစ်ပါတယ်။ smartphone မှာဆိုလည်း android, ios . computer မှာဆိုရင်လည်း window, linux , mac စသည်ဖြင့် operation system တော်တော်များများနဲ့ ကျနော်တို့ နေ့စဉ်ထိတွေ့နေရတာပဲဖြစ်ပါတယ်။

ကျနော်တို့နေ့စဉ် အသုံးပြုနေတဲ့ applications တွေ run နိုင်ဖို့အတွက် hardware resource တွေလိုအပ်တယ်။ Hardware ရှိယုံနဲ့လည်း တန်း run လို့မရသေးပါဘူး။ application programs တွေအဆင်ပြေပြေ run နိုင်ဖို့အတွက် Operation System လိုအပ်ပါတယ်။ တစ်နည်းအားဖြင့် ကျနော်တို့အသုံးပြုနေတဲ့ applications တွေနဲ့ hardware တွေကြားမှာ OS ရှိပါတယ်။ ဒီထက်ပိုပြီးရှင်းအောင်ပြောရရင် OS က hardware တွေကို manage လုပ်ပါတယ်။ ကျနော်တို့ အသုံးပြုနေတဲ့ applications တွေကို OS ပေါ်မှာ တင် run ပါတယ်။ ဥပမာ ကျနော် အခု Microsoft word သုံးနေတယ်။ Microsoft word ကနေတန်းပြီးတော့ directly hardware resource တွေပေါ် မကိုင်တွယ်ပါဘူး။ ကျနော်အသုံးပြုနေတဲ့ OS ကသာ word နဲ့ hardware resource တွေကြားထဲမှာ interface တစ်ခုအနေနဲ့ ရှိနေပြီး handling လုပ်ပေးနေတာပါ။

ပြောရရင် OS ဆိုတာကလဲ program တစ်ခုပဲ၊ အဲ့ဒီ OSဆိုတဲ့ program ထဲမှာမှ hardware resources တွေကို manage လုပ်ဖို့အတွက်ရော (ဥပမာ memory တွေ processor တွေကို manage လုပ်မယ့် program တွေဖြစ်တဲ့ traffic controller, memory management programs, I/O programs etc..) ၊ user တွေရဲ့ interaction တွေကို အဆင်ပြေပြေ operation လုပ်နိုင်ဖို့အတွက် (ဥပမာ input တွေကို လက်ခံပြီး output ပြန်ပြနိုင်အောင်လုပ်ပေးတာတို့) စသည်ဖြင့် အဲ့လို programs တွေပါ OS ဆိုတဲ့ program ထဲမှာတစ်ခါတည်းပါပြီးဖြစ်ပါတယ်။

ကျနော်တို့ OS ကို tree structure လိုခွဲချလိုက်မယ်ဆိုရင်
Hardware resource တွေ အရင်ဆုံးရှိမယ် (CPU, Memory, I/O devices etc..)၊ hardware တွေပြီးရင် system programs တွေလာမယ် (compilers, loaders, OS etc..) ၊ system programs တွေရဲ့ အပေါ်မှာမှ ကျနော်တို့နေ့စဉ်အသုံးပြုနေတဲ့ application programs တွေလာပါမယ်။

ဒီလောက်ဆိုရင်တော့ ယေဘုယျအားဖြင့် OS က ဘယ်လိုဆိုတာ သိလောက်ပြီလို့ထင်ပါတယ်။ ဘာလို့ OS ကို လေ့လာရလည်းဆိုတော့ ကျနော်တို့ရေးလိုက်တဲ့ code တွေ တစ်နည်းအားဖြင့် application program level ကနေလုပ်လိုက်တဲ့ input တွေမှာ system programs တွေထဲမှာ ဘယ်လို behavior နဲ့အလုပ် လုပ်သွားမယ်၊ system programs တွေကမှတစ်ဆင့် hardware resource တွေကို ဘယ်လို allocate လုပ်သွားမယ်ဆိုတာ သိသွားနိုင်မှာပါ။