මේ කියන්න යන්නෙ Computing වල Shell ගැන. Computer වල OS වලත් Shell කියලා එකක් තියෙනවා. අද කතාව ආන්න ඒක ගැන.
සමහරවිට ඔයා Linux පාවිච්චි කරන කෙනෙක් නම්, මේ ෂෙල් කතාව අහලා ඇති. Windows වුණත් ටිකක් දැනගෙන පාවිච්චි කරන කෙනෙක් නම් ඔයත් මේ ෂෙල් කතාව කොහෙන් හරි අහලා ඇති. ඒත් කවදාවත් හිතුණෙ නැත්නම් මේ මොකක්ද මේ කියන මළ ඉලව්ව කියලා ඔන්න අද ඒ ගැන ඉගෙනගන්න අවස්තාව.
Shell එකකින් කරන්නේ Computer එක පාවිච්චි කරන User ට OS එකත් එක්ක Interact කරන්න පුළුවන් interface එකක් ලබා දීම. ගොඩක් දුරට මේ Shell එකෙන් කරන්නෙ OS එකේ Kernel එක එක්ක Interact කරන්න පුළුවන් විදියේ interface එකක් හදන එක. එතකොට මෙතන තවත් උභතෝකෝටික ප්රශ්ණයක් ආවද මොකක්ද Kernel එක කියන්නේ කියලා? හරි එහෙනම් ඒක ගැන බලන්න යමු. (ඇන්ඩ්රොයිඩ් පෝස්ට් සීරිස් එකේ ටිකක් මේ ගැන කතා වුණා, කමක් නෑ, අපි මේකෙ වෙනම කතා කරමු.)
Kernel
Kernel එක කියන්නෙ ඕනම OS එකක ඇට සැකිල්ල වගේ එකක්. 😂 ගෙඩියක නම් මදය වගේ එකක්. පොල් ගෙඩියක් ගත්තොත්, අර සුදු පාට පොල් මදය තමයි Kernel එක. පොල් කටුව තමයි Shell එක. පිටතට පේන්නෙ කටුව, මදය තියෙන්නේ ඇතුළේ. මේක නැතුව ඉතින් ආයෙ Computer එක හොල්ලනවා බොරු.පරිගණකය On කරන අවස්ථාවේ මුලින්ම RAM එකට ලෝඩ් වෙන්නේ මෙන්න මෙයා. ඊට පස්සෙ මෙයා දිගටම Computer එක Off කරනකන්ම RAM එකේ ඉන්නවා. අන්න ඒ හේතුව නිසා, Kernel එක ගොඩක් සයිස් එක පොඩියට හදන්න මෘදුකාංග ඉංජිනේරු ශිල්පීන් උත්සාහ දරනවා. මොකද Kernel එකෙන් RAM එකේ වැඩි කොටසක් පරිභෝජනයට ගත්තොත් User ගේ වැඩ වලට RAM එක මදි වෙන නිසා. පොඩියට හැදුවයි කියලා මේකෙන් කරන්න ඕන වැඩ ටික නම් ඉතින් අනිවාර්යයෙන්ම වෙන්න ඕන. ඒකත් මේක හදනකොට මූණදෙන්න වෙන ප්රධාන ගැටළුවක්.
මේක RAM එකෙන් ගියොත් කිසි වැඩක් කරගන්න බැරි වෙන නිසා, Kernel එක සාමාන්යයෙන් ලෝඩ් වෙන්නේ රැම් එකේ ආරක්ෂිත ප්රදේශයකට.
අපි බලමුකො මෙයා කරන වැඩ මොනාද කියලා.
සාමාන්යයෙන් Kernel එක තමයි පරිගණකයේ මතකය කළමනාකරණය කරන්නේ. ආයෙ Process and task ටිකත්, disk ටිකත් මෙයා යටතේ තමයි තියෙන්නේ.
Kernel එකෙන් තමයි ඔයාගෙ Device එකේ Hardware කොටස් එක්ක මෘදුකාංග සම්බන්ධ කරන්නේ. ඒ මෙයාගෙ වැඩ වලින් ටිකක් විතරයි. ඔන්න දැක්කනෙ මේකෙ වැඩ ටික. ඉතින් කල්පනා කරලා බැලුවොත් මෙයා නැතුව මොකවත් කරගන්න බැරි හේතුව දැන් වැටහෙනවා ඇති.
ඒ වගේම වැටහෙනවා ඇති, මේ කර්නල් එක කන්ට්රෝල් කරන්න පුළුවන් Shell එකෙන් නෙ, ඉතින් Shell එකෙන් මුළු සිස්ටම් එකම වගේ කන්ට්රෝල් කරන්න පුළුවන් බව.
Shell එකට ඇයි ඒ නමින් අමතන්නේ?
Shell කියන්නෙ මොනාටද? අපිට නම් Shell Gas නේ මතක් වෙන්නේ. ආයෙ ෂෙල් වෙඩි? 😂 හා හා ඕන්නැති මගුල්ම නේ. Shell කියලා කියනවා පිට පොත්තට, කටුවට. සිප්පි කටුවට කියන්නෙ Sea Shell කියලා නේ? දැන් ඔය කබොල්ල කියන එක තියෙන්නේ පිටින් නේ. සතා හරි මොකා හරි ඉන්නේ ඇතුළේ. අර මම කලින් කිව්ව පොල් උදාහරණයත් මේකට හරි. පොල් කටුවට කියන්නෙත් Coconut Shell කියලා නෙ.ආන්න ඒ තේරුමෙන් තමයි මේ Shell එකට ඒ නම වැටිලා තියෙන්නේ. Kernel එකේ පිට කටුව තමයි Shell එක. Kernel එක ගොළුබෙල්ලෙක් නම්, උගෙ කට්ට තමයි Shell එක. අපිට Kernel එකත් එක්ක කෙළින්ම ගණුදෙනු කරන්න අමාරු නිසා තමයි අපි මේ Shell එක එක්ක ගණුදෙනු කරන්නේ.
Shell වලට උදාහරණ
ෂෙල් වර්ග දෙකක් තියෙනවා.- CLI shells
- GUI shells
CLI Shells
මේවා එක්ක වැඩ කරන්න ඉතින් අමාරුයි, ඒක කොහොමත් CLI වල තියෙන දෝෂයක් නේ. අපි ඔක්කොම Commands ගැන වෙනම ඉගෙනගන්න වෙනවා.
අපි උදාහරණ ටිකක් බලමු. මේ උදාහරණ වල Syntax එහෙමත් නැත්නම් codes type කරන පිළිවෙලවල් වෙනස්. ක්රම වෙනස්. ආන්න ඒකයි මේවයෙ වෙනස. ඒ වගේම මේවගෙන් කරන්න පුළුවන් වැඩත් අඩු වැඩි වශයෙන් වෙනවා. මෙතනින් දැනට ගොඩක් ජනප්රිය වෙලා තියෙන Shell එක තමයි bash කියන්නෙ. ඔයා Linux based OS එකක් පාවිච්චි කරලා තියෙනවා නම්, ඔයා නොදැනුවත්වම සමහරවිට මේ bash shell එකෙන් වැඩ අරන් ඇති. මේ Shell වැඩ කරන්නේ Terminal එකේනෙ.
CLI based Linux/Unix Shells
- sh - Bourne shell
- bash - Bourne Again shell
- csh & tcsh - C-Shell
- ksh - Korn shell
http://hyperpolyglot.org/unix-shells
CLI Based Windows Shells
- Windows PowerShell
GUI Shells
Windows 10 GUI Shell |
Windows GUI Shells
- Windows Shell
- Cairo Shell
Unix/Linux GUI Shells
- X Window
අර උඩ කිව්ව දෙකම Windows වලට එන Shells. Windows Shell කියන්නෙ වෙන අමුතු දෙයක් නෙවෙයි, වින්ඩෝස් වල GUI එකට. දැන් Windows users ලා උඩ ගිහින් බලනවා ඇති, යකෝ මමත් මෙච්චර කල් Shell එකක් පාවිච්චි කරලා මම දන්නෙත් නෑ කියලා. :P
X Window System එහෙමත් නැත්නම් X කියන්නෙ Unix-like OS වල තියෙන GUI base එක. Unix-like කිව්වෙ Linux ඇතුළු මහ OS පරම්පරාවක් ගැන. ඒ ගැන නම් කියන්න පෝස්ට් දෙක තුනක් යයි. ඒ කෙසේ වෙතත්, X Windows System එක පාදක කරගෙන හැදුව KDE, Gnome වගේ සුපිරිම Linux GUI තියෙනවා. ඒවට අපි කියන්නෙ Desktop Environments කියලා නේ. මම ඒ ගැන ඉදිරියෙදි වෙන වෙනම දීර්ඝ වශයෙන් කතා කරන්න බලාපොරොත්තු වෙනවා.
Adapta KDE Theme on Ubuntu KDE Plasma |
Ubuntu 18.04 with Gnome DE |
ඔන්න ඔහොම ෂෙල් කතාව ගොඩක් දුර දිග ගියානෙ. අන්තිම වශයෙන් කියන්න ඕන, කොච්චර GUI ආවත්, සමහර Advanced වැඩ කරන්න CLI නැතුව බෑ කියන එක. එහෙම GUI වලින් විතරක් පුළුවන් නම් Windows PowerShell කියලා එකක් ඕන්නෑනෙ ඔච්චර මනරම් GUI තියෙන Windows OS වලට නේද? ගොඩක් Server based වැඩ වලට CLI නැතුවම බැරි වෙනවා. අන්න ඒකයි CLI වල වැදගත්කම.
අනික කට්ටිය නොදැනුවත්වම, GUI කිය කිය Shell පාවිච්චි කරලා නේද කියලත් දැන් දන්නවා ඇති. අපි අලුත් පෝස්ට් එකකින් එහෙනම් ආයෙත් මුණගැහෙමු. ඊළඟ පෝස්ට් එක බොහෝ දුරට Dark Web වල related එකක් වේවි. ජය වේවා!
1 Comments
Eka niyamai👍
ReplyDelete