💻
ITmatic101 - MY
  • ITmatic101 - နည်းပညာဆိုင်ရာ Blog
  • ☕Linux/BSD
    • Linux distro-hopper ခရီးကြမ်း
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၁)
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၂)
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၃)
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၄)
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၅)
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၆)
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၇)
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၈)
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၉)
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၁၀)
    • Manjaro Linux အကြောင်းတစေ့တစောင်း
    • GNU/Linux Desktop Environment များအကြောင်း အပိုင်း (၁)
    • GNU/Linux Desktop Environment များအကြောင်း အပိုင်း (၂)
    • GNU/Linux Desktop Environment များအကြောင်း အပိုင်း (၃)
    • GNU/Linux Desktop Environment များအကြောင်း အပိုင်း (၄)
    • GNU/Linux Desktop Environment များအကြောင်း အပိုင်း (၅)
    • TACACS+ နဲ့ Windows AD ကိုတွဲပြီး အသုံးပြုနည်း – အပိုင်း (၁)
    • TACACS+ နဲ့ Windows AD ကိုတွဲပြီး အသုံးပြုနည်း – အပိုင်း (၂)
    • FreeRADIUS နဲ့ PPPoE Authentication အပိုင်း (၁)
    • FreeRADIUS နဲ့ PPPoE Authentication အပိုင်း (၂)
    • Ubuntu မှာအလုပ်ဖြစ်သော tool နဲ့ application (၁၀) ခုအကြောင်း
    • Docker မိတ်ဆက် အပိုင်း(၁)
    • Docker မိတ်ဆက် အပိုင်း(၂)
    • Docker မိတ်ဆက် အပိုင်း(၃)
    • GNU/Linux ကိုဘာလို့ ပြောင်းသုံးသင့်သလဲ
    • GNU/Linux မှာသုံးတဲ့ CLI ကိုဘယ်လိုခေါ်ကြသလဲ
    • Linux Kernel အကြောင်း သိကောင်းစရာ အပိုင်း (၁)
    • Linux Kernel အကြောင်း သိကောင်းစရာ အပိုင်း (၂)
    • Linux Kernel အကြောင်း သိကောင်းစရာ အပိုင်း (၃)
    • ပြတိုက်ထဲက SysVinit အကြောင်း
    • Open source သင်ခန်းစာများ အပိုင်း(၁)
    • Open source သင်ခန်းစာများ အပိုင်း(၂)
    • လေထုညစ်ညမ်းစပြုလာတဲ့ Linux ရဲ့ Ecosystem
    • အသုံးဝင်သော Linux Certification များအကြောင်း အပိုင်း (၁)
    • အသုံးဝင်သော Linux Certification များအကြောင်း အပိုင်း (၂)
    • အသုံးဝင်သော Linux Certification များအကြောင်း အပိုင်း (၃)
    • အသုံးဝင်သော Linux Certification များအကြောင်း အပိုင်း (၄)
    • အသုံးဝင်သော Linux Certification များအကြောင်း အပိုင်း (၅)
    • Linux မှာသုံးတဲ့ GNU General Public License အကြောင်း အပိုင်း(၁)
    • Linux မှာသုံးတဲ့ GNU General Public License အကြောင်း အပိုင်း(၂)
    • Linux မှာသုံးတဲ့ GNU General Public License အကြောင်း အပိုင်း(၃)
    • Linux မှာသုံးတဲ့ GNU General Public License အကြောင်း အပိုင်း(၄)
    • Open Source ကောက်ကြောင်း – အပိုင်း(၁)
    • Open Source ကောက်ကြောင်း – အပိုင်း( ၂)
    • “မှားတဲ့ဘက်မှာ” – အပိုင်း (၁)
    • “မှားတဲ့ဘက်မှာ” – အပိုင်း (၂)
    • SELinux မိတ်ဆက်
    • Open Source Licenses များအကြောင်း – အပိုင်း (၁)
    • Open Source Licenses များအကြောင်း – အပိုင်း (၂)
    • Keepalived မိတ်ဆက် – အပိုင်း (၁)
    • Keepalived မိတ်ဆက် – အပိုင်း (၂)
    • Linux မှာ package manager တွေကိုဘယ်လိုအသုံးပြုသလဲ
  • 🚀Automation
    • Chef မိတ်ဆက် အပိုင်း(၁)
    • Wireguard ရဲ့ automated workflow
    • အနားမသပ်နိုင် သေးတဲ့ Infrastructure as Code (IaC) – အပိုင်း(၁)
    • အနားမသပ်နိုင် သေးတဲ့ Infrastructure as Code (IaC) – အပိုင်း(၂)
    • အနားမသပ်နိုင် သေးတဲ့ Infrastructure as Code (IaC) - အပိုင်း(၃)
    • အနားမသပ်နိုင် သေးတဲ့ Infrastructure as Code (IaC) - အပိုင်း(၄)
    • ကြုံတွေ့ရသမျှ Network Automation အနုပညာ အပိုင်း(၁)
    • ကြုံတွေ့ရသမျှ Network Automation အနုပညာ အပိုင်း(၂)
    • ကြုံတွေ့ရသမျှ Network Automation အနုပညာ အပိုင်း(၃)
    • Bash နဲ့ Network Configuration Management system တစ်ခုတည်ဆောက်ပုံ – အပိုင်း(၁)
    • Bash နဲ့ Network Configuration Management system တစ်ခုတည်ဆောက်ပုံ – အပိုင်း(၂)
    • FTP/TFTP server ပေါ်မှာ network config တွေကို auto backup လုပ်ပုံ – အပိုင်း (၁)
    • FTP/TFTP server ပေါ်မှာ network config တွေကို auto backup လုပ်ပုံ – အပိုင်း (၂)
    • Kickstart ကိုအသုံးပြုပြီး Custom ISO တွေဖန်တီးပုံ
  • ⚙️Networking
    • အဘယ့်ကြောင့် GNS3
    • ZeroTier မိတ်ဆက်
    • WireGuard အကြောင်းသိကောင်းစရာ
    • Linode VPS မှာကိုယ်ပိုင် Wireguard VPN server တစ်ခုတည်ဆောက်ပုံ
    • အဘယ်ကြောင့် MikroTik
    • VRRP ကို MikroTik မှာ setup လုပ်ပုံ
  • ☁️Virtualisation and Cloud
    • KVM မှာ virtual disk တွေကို ဘယ်လို resize လုပ်လို့ရသလဲ
    • Debian 12 ပေါ်တွင် Proxmox 8 ကိုဘယ်လို integrate လုပ်သလဲ
    • Promox ပေါ်မှာ VM template တွေကို cloud-init သုံးပြီး ဖန်တီးပုံ
    • Custom LXD container templates များကိုဘယ်လို import လုပ်သလဲ
    • Cloud ဆိုသည်မှာ
  • 🍒others
    • Git အကြောင်းသိကောင်းစရာ
    • Home Lab ရှိခြင်း အနုပညာ
    • ကိုယ့်လုံခြုံရေးအတွက် အသုံးပြုသင့်တဲ့ toolkit လေးများ
    • SSH Tunneling အကြောင်းသိကောင်းစရာ
    • အခြေခံ SSH workflow များ
    • SSH Certificate Based Authentication အကြောင်းတစေ့တစောင်း
    • နေ့စဉ်သုံး စိတ်ကြိုက် Application/Software လေးများ
    • Keyboard Size တွေအကြောင်းသိသမျှ
    • သက္ကရာဇ်၂၀၂၀ ခုနှစ်တွင်း နည်းပညာဆိုင်ရာ အမှတ်တရလေးများ
    • သက္ကရာဇ်၂၀၂၁ ခုနှစ်တွင်း နည်းပညာဆိုင်ရာ အမှတ်တရလေးများ
    • Storage အကြောင်းတစေ့တစောင်း – အပိုင်း(၁)
    • Storage အကြောင်းတစေ့တစောင်း – အပိုင်း(၂)
    • Storage အကြောင်းတစေ့တစောင်း – အပိုင်း(၃)
    • Storage အကြောင်းတစေ့တစောင်း – အပိုင်း(၄)
    • Storage အကြောင်းတစေ့တစောင်း – အပိုင်း(၅)
    • အင်တာနက်မြန်မာစာ ယူနီကုဒ်ဇော်ဂျီ ပြဿနာ
    • CyanogenMod မိတ်ဆက် အပိုင်း(၁)
    • WikiLeaks ဆိုသည်မှာ အပိုင်း (၁)
    • WikiLeaks ဆိုသည်မှာ အပိုင်း (၂)
    • WikiLeaks ဆိုသည်မှာ အပိုင်း (၃)
  • 💀OffSec
    • ခုတ်မယ် ထစ်မယ် ပါးပါးလှီးမယ် OpenSSL
Powered by GitBook
On this page
  • C programming နဲ့ Unix ဆက်နွယ်ပုံအကျဉ်းချုပ်
  • Unix-like Operating System များ ပေါက်ဖွားလာပုံ အကျဉ်းချုပ်
  • Linux Kernel အစပိုင်း ခရီးစဉ်

Was this helpful?

  1. Linux/BSD

Linux Kernel အကြောင်း သိကောင်းစရာ အပိုင်း (၂)

PreviousLinux Kernel အကြောင်း သိကောင်းစရာ အပိုင်း (၁)NextLinux Kernel အကြောင်း သိကောင်းစရာ အပိုင်း (၃)

Last updated 2 years ago

Was this helpful?

အရှေ့တပိုင်းမှာတော့ Linux kernel စတင်ခဲ့ပုံ ကိုအနည်းငယ် မိတ်ဆက် ပေးပြီးသွားပါပြီ။ Linus Torvalds က kernel တစ်ခုကိုရေးဖို့ စိတ်ကူးထားခဲ့တာမျိုးမဟုတ်ပဲနဲ့ Unix-like operating system တစ်ခုစိတ်ကူးပုံဖော်ခဲ့တာပါ။ တကယ်တန်းလက်တွေ့မှာတော့ မထင်မှတ်ပဲ kernel တစ်ခုကို ရေးပြီးသားဖြစ်သွားတာပါ။ အဲ့ဒါကိုလည်း သူနဲ့ David Diamond ရေးတဲ့ Just For Fun ဆိုတဲ့ စာအုပ်မှာလည်း ပြက်လုံးထုတ်ပြီးရေးသွားပါတယ်။ စာအုပ်ရဲ့အဖုံးမှာလည်း The story of an accidental revolutionary လို့ဆိုပြီးတော့လည်း စာအုပ်နာမည်အောက်မှာရေးထားပါတယ်။ ဘယ်လိုပဲဖြစ်ဖြစ် ဝါသနာပါလို့ တစ်ခုခုလုပ်မယ်ဆိုပြီးတော့ အားစိုက်ထုတ်ရာကနေ ရလာတဲ့ ရလာဒ် တစ်ခုဖြစ်ပါတယ်။ နောက်ပြီးတော့ သူရေးခဲ့တာလည်း Minix လို platform မှာ စမ်းသပ်သုံးဖို့ကို ရည်ရွယ်ပြီးတော့မှ ရေးခဲ့တာလည်းဖြစ်ပါတယ်။ Minix ကတော့ Unix-like system တစ်ခုဖြစ်ပြီးတော့ နည်းပညာသင်ကြားရေးမှာ အထောက်အကူ ဖြစ်စေဖို့ထုတ်ထားတဲ့ system တစ်ခုဖြစ်ပါတယ်။ ဒီမှာတော့ Minix အကြောင်း၊ Unix အကြောင်းကိုလည်း နည်းနည်းရှင်းဖို့ လိုမယ်လို့ ထင်ပါတယ်။ ဒါ့အပြင် C programming language ဖြစ်ပေါ်လာပုံကိုပါ မပြောလို့ မပြီးပါဘူး။ အဲ့ဒါကြောင့် နည်းနည်းတော့ တတ်နိုင်သလောက် အကျဉ်းချုပ်ပြီးတော့ ပြောပါ့မယ်။

C programming နဲ့ Unix ဆက်နွယ်ပုံအကျဉ်းချုပ်

အစောပိုင်းထွက်တဲ့ high-level programming language ဖြစ်တဲ့ C ကိုတော့ Dennis Ritchie က Bell Labs မှာ ၁၉၆၉ခုနှစ် နဲ့ ၁၉၇၃ ခုနှစ်ကြားမှာ စတင်ပြီးတော့ တီထွင်ခဲ့ပါတယ်။ C Compiler ဟာ အဲ့ဒီတုန်းက system တော်တော်များများမှာ အလုပ်ဖြစ်လွန်းလို့ လူသုံးများလာခဲ့တာ အခုချိန်ထိ လို့ဆိုရမှာဖြစ်ပါတယ်။ တချိန်ထဲမှာဆိုသလို Dennis Ritchie ဟာ Ken Thompson နဲ့ တခြားသော developer က Unix operating system ကို ၁၉၆၉ ခုနှစ်ထဲမှာ စတင်ပြီးတော့ Bell Labs နဲ့ AT&T မှာ တည်ဆောက်နေပါတယ်။ ၁၉၇၀ ခုနှစ်မှာတော့ Unix ကို ပထမဆုံး အနေနဲ့ စတင်ထုတ်ခဲ့ပါတယ်။ အစပိုင်းမှာ လိုအပ်ချက်တွေရှိနေတာကြောင့် ၁၉၇၂ ခုနှစ်မှာ Dennis Ritchie ရဲ့ C programming language နဲ့ ပြန်ပြင်ပြီးတော့ရေးခဲ့ပါတယ်။ Unix ကို Bell System ရဲ့အောက်မှာ သီးသန့် အသုံးပြုဖို့ ရည်ရွယ်ထားသော်လည်း၊ ၁၉၇၀ခုနှစ်နှောင်းပိုင်းမှာ အဲ့ဒီအချိန်ကစပြီးတော့ Unix ဟာ cross-platform compatible ဖြစ်တာကြောင့် system တော်တော်များများအတွက် အသုံးပြုလာကြတဲ့အပြင်၊ နည်းပညာသင်ကြားရေးမှာ အထောက်အကူပြုဖို့အတွက် တက္ကသိုလ်တွေနဲ့ စီးပွားရေးလုပ်ငန်းတွေကပါ ပြန်လည်ပြင်ဆင်ပြီးတော့ တွင်တွင်ကျယ်ကျယ် အသုံးပြုလာကြပါတယ်။

Unix ဟာ License နဲ့ operating system တစ်ခုဖြစ်ပြီးတော့ Bell Labs နဲ့ AT&T အတွက် research လုပ်ဖို့ ထုတ်ထားတဲ့ platform တစ်ခုပါ။ Unix ရဲ့ license ကိုကိုင်ထားတဲ့ AT&T က BSD ကို Unix ရဲ့ code တွေကိုယူသုံးတယ်ဆိုပြီးတော့ တရားစွဲခဲ့ဘူးပါတယ်။ BSD (Berkeley Software Distribution) ကိုတော့ Computer Systems Research Group (CSRG) က University of California (UC), Berkeley မှာ Unix ရဲ့ 6th edition ကို အခြေခံပြီးတော့ ရေးထားတာဖြစ်ပါတယ်။ AT&T က BSD ကို တရားစွဲလိုက်တာကြောင့်လည်း BSD project ရဲ့ တိုးတက်နှုန်းကလည်း အရမ်းကိုနှေးသွားခဲ့ရပါတယ်။ အဲ့လို အဖြစ်အပျက်တွေနောက်ပိုင်းမှာတော့ Unix ကို sub-license သဘောမျိုးနဲ့ AT&T ကခွင့်ပြုတဲ့ ပုံစံခွက်ထဲမှာ Unix ကို မွေးစားချင်တဲ့ platform တွေက အဲ့ဒီ sub-license အောက်မှာ ပြန်လည်ပြီးတော့ develop လုပ်လာကြပါတယ်။ ဥပမာပေးရရင် Apple ရဲ့ Mac OS X နဲ့ အခုနောက်ပိုင်းထွက်တဲ့ macOS တို့ဟာဆိုရင် Unix ကိုအခြေခံထားတဲ့ system တွေပါ။

Unix-like Operating System များ ပေါက်ဖွားလာပုံ အကျဉ်းချုပ်

အထက်မှာရှင်းပြခဲ့တဲ့ အရှုပ်တော်ပုံတွေကြောင့် Unix ကို တိုက်ရိုက် မမွေးစားတော့ပဲနဲ့ open source ကိုသွားချင်တဲ့ system တွေဟာ Unix-like ဆိုပြီးတော့ ကိုယ်ပိုင် source code နဲ့ kernel တွေ၊ operating system တွေ၊ compiler တွေကို အစကနေပြီးတော့ ပြန်ရေးခဲ့ကြပါတယ်။ Minix ကတော့ အဲ့ဒီအချိန်က လူသုံးများတဲ့ Unix-like operating system တစ်ခုဖြစ်ပါတယ်။ သူ့ကိုတော့ Andrew S. Tanenbaum ဆိုတဲ့ ပုဂ္ဂိုလ်က နည်းပညာသင်ကြားရေးမှာ အသုံးပြုလို့ရအောင် ရေးထားတာပါ။ နောက်ပြီးတော့ Minix ရဲ့ source code ကို နည်းပညာတက္ကသိုလ် ကျောင်းသားတွေ အလွယ်တကူလေ့လာလို့ ရအောင်လို့ ပြန်ဝေမျှပါတယ်။ Linus Torvalds ကလည်း အစကတည်းက Minix လို မျိုး operating system တစ်ခုရေးမယ်လို့ စိတ်ကူးထားပုံရပါတယ်။ သို့သော်လည်း operating system တစ်ခုလုံး မပြီးလိုက်ပဲနဲ့ backbone ဖြစ်တဲ့ kernel ကိုသာ ရုပ်လုံးပေါ်အောင်ရေးနိုင်ခဲ့ပါတယ်။ ဆိုလိုချင်တာက ဒီလောက်ဆိုအဲ့ဒီအချိန်က Unix-like OS တွေကို နည်းပညာသမားတွေ ဘယ်လောက်တောင် ရှုးသွပ်နေခဲ့ကြသလဲဆိုတာကို ခန့်မှန်းလို့ရပါပြီ။ တနည်းအားဖြင့် programming language ဘက်မှာလည်း အဲ့ဒီ အချိန်က C လိုမျိုး high-level language တွေထွက်ပေါ်တာလာကြောင့်လည်း Unix-like OS ကို လိုက်ရေးတဲ့ ခေတ်ထခဲ့ဟန်တူပါတယ်။

ထိုနည်းတူစွာ ၁၉၈၃ ခုနှစ်ကတည်းစပြီးတော့ Richard Stallman ဆိုတဲ့ ပုဂ္ဂိုလ်ကြီးဟာလည်း GNU ဆိုတဲ့ project ကြီးကို စတင်ကြေငြာခဲ့ပါတယ်။ Richard Stallman အကြောင်းကိုတော့ အရှေ့ပိုင်း GNU GPL အကြောင်းတွေကို ပြောတုန်းကအများကြီးကို မိတ်ဆက်ပေးဘူးပါတယ်။ GNU project အစမှာတော့ Unix-like system တွေမှာ အသုံးပြုလို့ရမယ့် application လေးတွေကိုရေးဖို့သာဖြစ်ပါတယ်။ GNU Emacs တို့ GNU C compiler တို့ ဟာဆိုရင်ဖြင့် ထင်ရှားတဲ့ GNU project ကထွက်လာတဲ့ အစောဆုံး အဆင့်မြင့် text editor application နဲ့ C compiler တို့ပဲဖြစ်ပါတယ်။ နောက်ပိုင်းမှာတော့ GNU ဟာ Unix-like operating system တစ်ခုတည်ဆောက်ဖို့အထိကို project ကကြီးကျယ်ခမ်းနားသွားပါတော့တယ်။ OS အတွက်လိုတဲ့ kernel ကိုလည်း Richard Stallman က ဦးဆောင်ပြီးတော့ GNU Hurd ဆိုတဲ့နာမည်နဲ့ develop လုပ်ခဲ့ပါတယ်။ Hurd မှာအဆင်မပြေတာတွေအများကြီးရှိခဲ့ပါတယ်။ နောက်ပြီးတော့ ထင်ထားသလောက် community က contribution နဲ့ support မရခဲ့တာကြောင့် Hurd က အသုံးပြုလို့ရတဲ့အဆင့်ထိ မရောက်ခဲ့ပါဘူး။ kernel မရှိရင် OS ဟာ backbone မရှိတဲ့အတွက် ဘယ်လိုမှ operating state တစ်ခုမရနိုင်ပါဘူး။ GNU system ဟာလည်း kernel အဆင်သင့် မဖြစ်သေးတဲ့အတွက် သုံးလို့ရတဲ့ operating system တစ်ခုအဆင့်ကို အဲ့ဒီအချိန်က မရောက်လှမ်းနိုင်ခဲ့ပါဘူး။

Linux Kernel အစပိုင်း ခရီးစဉ်

၁၉၉၁ ခုနှစ်မှာတော့ Linus Torvalds ဟာလည်း သူ့ရဲ့ မပြီးပြတ်သေးတဲ့ Unix-like system တစ်ခုကနေပြီးတော့ Hurd ထက် stable ဖြစ်တဲ့ Linux kernel ကို စတင်မိတ်ဆက် ပေးခဲ့ပါတယ်။ အဲ့ဒီ Linux kernel ကိုလည်း C programming language နဲ့ ရေးထားပြီးတော့ GNU C compiler ကိုအသုံးပြုထားပါတယ်။ ထိုစဉ်က Linus Torvalds ဟာ သူ့ရဲ့ kernel ကတော့ အဆင်သင့်ဖြစ်သလောက်ရှိပါပြီ၊ ဒါပေမယ့် Linux kernel တစ်ခုတည်းနဲ့ ဘာမှလုပ်လို့ရမှာ မဟုတ်ပါဘူးတဲ့။ သူနဲ့ တွဲသုံးဖို့ကိုတော့ တခြား Unix-like platform တစ်ခုလိုပါလိမ့်မယ်လို့လည်းသူကဆိုခဲ့ပါတယ်။ GNU project မှာလည်း Hurd က ဘာမှဆက်မဖြစ်တော့တဲ့အတွက် Linux kernel ကို GNU project ထဲကို ထည့်ပြီးတော့ စမ်းသပ်အသုံးပြုရင်းနဲ့ Linux ဟာ Hurd ထက် အဆင်ပြေတယ်ဆိုတာကိုတွေ့ရပါတော့တယ်။ အဲ့ဒါကြောင့်လည်း Linux ကို GNU ရဲ့ kernel အဖြစ်ယူသုံးပြီးတော့ တချိန်တည်းမှာပဲ Hurd ကိုလည်း သီးသန့် kernel တစ်ခုဖြစ်အောင် ကြိုးပမ်း ခဲ့ကြပါတယ်။ developer တွေဟာလည်း Linux kernel ဟာ ယာယီ kernel တစ်ခုသာဖြစ်ပြီးတော့ Hurd အဆင်သင့် ဖြစ်ရင် မလွှဲမသွေ Hurd က Linux ထက်ကောင်းမယ်လို့သာ ယူဆထားခဲ့ပါတယ်။

GNU project ထဲကို Linux kernel ရောက်လာပြီးတဲ့နောက် project ရဲ့ အရှိန်ဟာလည်း ပိုပိုပြီးတော့ မြန်ဆန်လာပါတော့တယ်။ free software ကို လိုက်တဲ့ developer တွေနဲ့ hobbyist တွေကလည်း Linux kernel နဲ့ GNU project မှာလိုအပ်တဲ့ အရာတွေကို ဝိုင်းပြီးတော့ contribute လုပ်ကြပါတယ်။ အဲ့ဒါကြောင့်လည်း GNU/Linux ဆိုပြီးတော့ ခိုင်မာတောင့်တင်းတဲ့ Unix-like system တစ်ခုဖြစ်လာပါတော့တယ်။ Hurd kernel ကတော့ ထင်ထားသလို မဖြစ်လာပဲ တပိုင်းတစနဲ့ပဲ အဆုံးသတ်လိုက်ရပါတယ်။ အခုချိန်ထိ Linux ကိုသာ OS တစ်ခုအနေနဲ့ သိထားကြပြီးတော့ GNU/Linux ရယ်လို့ လူသိပ်မသိပါဘူး။ Richard Stallman ကြီးက အဲ့ဒါကို သဘောသိပ်မတွေ့ပါဘူး။ တချိန်မှာ Richard Stallman က သူရဲ့ project နာမည် GNU ပျောက်သွားမှာ စိုးရိမ်ပြီးတော့ Lignux လို့ခေါ်ဖို့တိုက်တွန်းပါတယ်။ Linux ဆိုတဲ့ နာမည်ကြားမှာ GNU ဆိုတဲ့ branding ကို အတင်းထည့်လိုက်တဲ့သဘောပါ။ ဘယ်သူမှ အဲ့ဒီနာမည်ကို လိုက်မခေါ်ကြပါဘူး။ GNU/Linux ကိုသာ သဘောတူလိုက်ကြပြီးတော့ ယနေ့တိုင် GNU/Linux လို့သာခေါ်ပါတယ်။ သို့သော်လည်း Linux လို့သာ လူသိများပါတယ်။ Richard Stallman က အဲ့ဒီ Linux OS လို့ခေါ်တာကို ဘာလို့ အချဉ်ပေါက်သလဲဆိုတာကို စာဖတ်သူတို့ ရိပ်စားမိမယ်လို့ထင်ပါတယ်။ စာရေးသူအနေနဲ့လည်း GNU/Linux ဆိုတာကိုသာ ပိုပြီးတော့ သဘောတွေ့မိပါတယ်။ ဒါမှလည်း GNU project ရဲ့ စွမ်းဆောင်ရည်တွေကို credit ပေးရာ အသိအမှတ်ပြုရာ ရောက်မှာဖြစ်ပါတယ်။ Linux kernel က အရေးကြီးပါတယ်။ သို့သော်လည်း GNU လိုမျိုး platform မရှိရင်တော့ Linux kernel ဟာလည်း အမှောင်ထဲမှာပဲ လမ်းပျောက်ကြယ် အနေနဲ့သာ ရပ်တည်ရမယ့် အနေအထားဖြစ်ပါတယ်။

ဒီအပိုင်းမှာတော့ Linux kernel ရဲ့ အစပိုင်း ခရီးကြမ်း နဲ့ သူ့မတိုင်ခင် သမိုင်းဝင် ဖြစ်စဉ်တွေကို အကျဉ်းချုပ်ပြီးတော့ ဖော်ပြပေးထားပါတယ်။ C programming language အကြောင်း၊ Unix အကြောင်း၊ BSD နဲ့ Minix အကြောင်းတွေဟာလည်း Unix-like OS ဖြစ်တဲ့ GNU/Linux အကြောင်းပြောတဲ့အခါမှာ မပါမဖြစ်ပါ။ GNU/Linux ဟာဆိုရင် GNU project နဲ့ Linux kernel တို့ရဲ့ ဆုံမှတ်ပါ။ နည်းပညာလောကမှာ အကောင်းဆုံး အရာနှစ်ခုပေါင်းဆုံရာ ဆုံမှတ်လို့ စာရေးသူမြင်မိပါတယ်။ နောက်တပိုင်းမှာတော့ Linux kernel ကို Linus Torvalds ကြီးဘယ်လို ဦးဆောင်ပုံ၊ GNU/Linux အောက်ကနေ မတူတဲ့ distro တွေခွဲထွက်လာပုံ၊ kernel version release လုပ်ပုံတွေကို ဆက်လက်တင်ပြလိုပါတယ်။ စာဖတ်သူတို့ စိတ်ဝင်စားမယ်လို့ထင်ပါတယ်။ ဒီအပိုင်းကိုတော့ ဒီမှာပဲ ရပ်လိုက်ပါတော့မယ်။

☕