Unix/Linux ေပၚမွာ C programming ေရးၾကရေအာင္ (၁)


C programming language အေၾကာင္းကို မေျပာခင္မွာ UNIX operating system အေၾကာင္းကို ေျပာျပခ်င္ပါတယ္။ UNIX ကို တစ္ဦး တစ္ေယာက္ တစ္ကုမၸဏီေကာင္း ေရးသားခဲ႔တာမဟုတ္ဘဲ အဖြဲ႕အမ်ား စုစည္းေရးသားခဲ႔တာ ျဖစ္ပါတယ္။ ဒါေၾကာင္႔ အၾကံဥာဏ္ေကာင္းမ်ားစြာ စုစည္း ပါဝင္ေနတာ ျဖစ္ပါတယ္။ ဒါေပမယ္႔ UNIX မူကြဲမ်ားစြာ ျဖစ္ေပၚလာၿပီး ၄င္းတို႔ အားလံုးမွာ အလုပ္လုပ္တဲ႔ software ေတြ ေရးသားဖို႔ ခက္ခဲလာတဲ႔အတြက္ standard တစ္ခု ျဖစ္ေပၚလာဖို႔အထိ တြန္းအားေတြ ျဖစ္လာခဲ႔ရပါတယ္။ 
UNIX ရဲ႕ ပထမဆံုး version ကို (AT&T တယ္လီဖုန္း ကုမၸဏီရဲ႕ ဌာနခြဲတစ္ခုျဖစ္တဲ႔ Bell Lab မွာ လုပ္ကိုင္ေနတဲ႔) Ken Thompson က 1969 ခုႏွစ္မွာ ေရးသား ခဲ႔ပါတယ္။ အဲဒီႏွစ္မွာပဲ (Linus Torvalds ကို ေမြးဖြားခဲ႔တာပါ)။ Digital PDP-7 မီနီကြန္ပ်ဴတာ အတြက္ assembley language ကို အသံုးျပဳၿပီး ေရးသားခဲ႔တာ ျဖစ္ပါတယ္။ UNIX ဟာ AT&T နဲ႔ MIT တို႔ ပူးတြဲလုပ္ေဆာင္ခဲ႔တဲ႔ MULTICS (Multiplexed Information and Computing Service) operating system ထဲက tree-structured file system၊ shell နဲ႔ file တည္ေဆာက္ပံု စတာေတြကို အေျခခံခဲ႔ပါတယ္။ 
1970 မွာ ပိုၿပီး စြမ္းရည္ျမင္႔လာတဲ႔ PDP-11 ကြန္ပ်ဴတာ အတြက္ UNIX ကို assembly language ကို သံုးၿပီး ျပန္ေရးခဲ႔ပါတယ္။ မၾကာခင္မွာ Thompson ရဲ႕  Bell Lab က လုပ္ေဖာ္ကိုင္ဖက္ တစ္ဦးျဖစ္တဲ႔ Dennis Ritchie က C programming language ကို ဒီဇိုင္းေရးဆြဲခဲ႔ပါတယ္။ ၄င္း ဘာသာစကားဟာလဲ BCPL ကိ္ု မွီးထားတဲ႔ Thompson ရဲ႕ B programming language ကို အေျခခံထားတာပဲ ျဖစ္ပါတယ္။ 1973 ကိုေရာက္တဲ႔ အခ်ိန္မွာေတာ႔ C language ဟာ UNIX kernel ကို အစအဆံုးနီးပါး ျပန္ေရးလို႔ ရေလာက္ေအာင္ ျပည္႔စံုလာပါတယ္။ ဒါေၾကာင္႔ C language ကို သံုးၿပီး ျဖစ္ႏိုင္သမွ် hardware architectures ေတြ အတြက္ UNIX ကို ေရးသားခဲ႔ၾကပါတယ္။ 
Operating System တစ္ခုကို ေရးဖို႔ ဒီဇိုင္းျပဳလုပ္ တီထြင္ထားတဲ႔ ျဖစ္တဲ႔အတြက္ C language ဟာ powerful ျဖစ္တဲ႔ ကြန္ပ်ဴတာ ဘာသာစကား တစ္ခုပဲ ျဖစ္ပါတယ္။ ဒါေၾကာင္႔ C နဲ႔ ၄င္းကေန ဆင္းသက္လာတဲ႔ C++ တို႔ကို system programming languages ေတြအေနနဲ႔ ယေန႔အခ်ိန္အထိ က်ယ္က်ယ္ျပန္႔ျပန္႔ အသံုးျပဳေနၾကတာပဲ ျဖစ္ပါတယ္။ C ကို အသံုးျပဳ ေရးသားထားတဲ႔ ပရိုဂရမ္မ်ားဟာ အရြယ္အစား ေသးငယ္ၿပီး စြမ္းရည္ျမင္႔မားၾကပါတယ္။ 
အဲဒီအခ်ိန္တုန္းက AT&T ဟာ အေမရိကန္ တယ္လီဖုန္း စနစ္ကို လက္ဝါးႀကီးအုပ္မႈနဲ႔ အစိုးရက ပိတ္ဆို႔မႈကို ခံေနရခ်ိန္ ျဖစ္ပါတယ္။ ဒါေၾကာင္႔ software ေရာင္းခ်ခြင္႔ ပိတ္ပင္ခံထားရၿပီး UNIX ကိုလည္း မေရာင္းႏိုင္ခဲ႔ပါဘူး။ ဒါေၾကာင္႔ တကၠသိုလ္ေတြကို မဆိုစေလာက္ ျဖန္႔ခ်ီခ ရယူၿပီး လိုင္စင္ခ်ေပးခဲ႔ပါတယ္။ အဲဒီထဲမွာ စာရြက္စာတမ္းေတြနဲ႔ (အဲဒီအခ်ိန္က လိုင္း ၁၀၀၀၀ ခန္႔ရွိတဲ႔) kernel source code ေတြပါ ပါဝင္ပါတယ္။ အက်ိဳးဆက္ အေနနဲ႔ တကၠသိုလ္ေတြက ကြန္ပ်ဴတာ ေက်ာင္းသားေတြအမ်ားအျပားဟာ UNIX ကို သင္ၾကားခြင္႔ရတဲ႔ အျပင္ kernel source code ေတြက တဆင္႔ အမ်ားႀကီး ေလ႔လာစမ္းသပ္ႏိုင္ခဲ႔ၾကပါတယ္။ ေနာင္တစ္ခ်ိန္မွာ အဲဒီေက်ာင္းသားေတြထဲက startup ကုမၸဏီေတြ တည္ေထာင္ၾကၿပီး ေစ်းႏႈန္းသက္သာတဲ႔ ကြန္ပ်ဴတာ ေတြကို UNIX operating system တင္ၿပီး ေရာင္းခ်ခဲ႔ၾကပါတယ္။  
ကၽြန္ေတာ္ ေမြးတဲ႔ႏွစ္ (၁၉၇၈ခုႏွစ္) မွာေတာ႔ C ကို တီထြင္သူေတြ ျဖစ္တဲ႔ Kernighan နဲ႔ Ritchie တို႔ဟာ "The C Programming Language" စာအုပ္ကို စတင္ေရးသား ထုတ္ေဝခဲ႔ပါတယ္။ 

ဆက္ရန္.....

Please Share This Post

Share on Facebook Plus on Google+