Pages

Tuesday, April 5, 2011

ලිනක්ස් මුල සිටම 20 කොටස

අන්තිම පෝස්ට් එක දැම්ම දවසවත් මට මතක නෑ.. ICC World Cup එක වෙනුවෙන් දවස් ගානක් නාස්ති උනානෙ. අන්තිමට වෙච්ච දේකුත් නෑ.. ඊටපස්සේ එක දිගට කරදර වැලක් ආව නිසා මුකුත්ම කරගන්න වෙලාවක් තිබුනේ නෑ.. කට්ටිය බය උනේ නෑනෙ ලිනක්ස් මුල සිටම අතරමග හිට්ටා කියල එහෙම?බයවෙන්න එපා මේවා එහෙම හිටින්නේ නෑ..

ආ තව දෙයක් මමත් ආව සිහින බක් මහ සීන් එකට.. ඒක ගැන ගොඩක් අය කතා කරල තියෙන නිසා මම මෙතන අමුතුවෙන් පට්ට ගහන්න ඕන් නෑනෙ..ඒක නිසා වැල් වටාරම් නවත්තල අපි කෙලින්ම වැඩෙට බහිමු...

අද කතාව Managing Processes ගැන තමයි..
මෙතන කතා කරන්න තියෙන්නෙ ඔය කියන  Processes and Applications පාලනය කරගන්න එක තමයි.. ඒක Service එකක් වෙන්නත් පුලුවන්.. එහෙම නැතුව Application එකක් වෙන්නත් පුලුවන්... මොනව උනත් ඔය ඔක්කොම System එක අඳුරගන්නෙ Process ID (pid) එකෙන් තමයි.. ඒකේ එක එක එක්කෙනාට ආවේනික වෙච්ච pid එක ගානෙ තියෙනවා.. ඉතින් ඒක් කරන්නෙත් OS එකෙන්ම තමයි.. අපි මෙතන processes කිය කියා කෑ ගහන එක් ඇත්තටම program එකක් තමයි.. එයාල memory and in the CPU කියන දෙකේම දුවනවා.. ලිනක්ස් වල අපි මෙව්වා ජාති දෙකක් අඳුරගන්න ඕන..


01.)User processes
මේවා ඇත්තටම Users ල program file එකක්  execute කරාම තමයි හැදෙන්නෙ..
උදාහරණයක් කිව්වොත් ඔයාල shell command එකක් execute  කරහම මේ කියන ජාතියෙ එකක් තමයි ආරම්භ කරන්නෙ..


02.)Daemon processes
අපි මුලම හරියෙ පාඩමක කතා කරා මෙයාල ගැන.. යක්කු කියල කිව්වෙ.. මතකද දන්නෙ නෑ.. මේවනම් රන් කරන්නේ system එකෙන්ම තමයි..ගොඩක් වෙලාවට system boot up වෙනකොටම තමයි.. ඕන නම් manually කරන්නත් පුලුවන්..

මේවා තවත් විදිහකට අඳුරගන්න පුලුවන්,

01.)Foreground processes
මේවා terminal එකට attached වෙලා ඒකෙ තමයි දුවන්නෙ..

02.)Background processes
මේවත් එක්ක සහ සම්බන්ද වෙන එකනම් ටිකක් සීමා සහිතයි.. මේවටම job කියලත් කියනව කියල හොඳට මතක තියාගන්න හරිද?
හරි.. දැං කතාව තවත් පැත්තකට හරවගනිමු.. අපි කලින් කතා කරානෙ pid කියල එව්වා ජාතියක් ගැන..අපි තව ටිකක් පැහැදිලි කරගනිමු ඕක..


01.)The process ID (PID) එකකින් එක එක  process එක uniquely අඳුරගන්නවා.. System-started processes  වලට ගොඩාක් වෙලාවට ටිකක් අඩු අංකයක් තමයි ලැබෙන්නේ.. user-started processes  වලට ටිකක් ඉහල අගයක අංකයක් එනවා..

02.)The parent process ID (PPID) කියල ජාතියකුත් තියෙනවනෙ.. ඒව ඇත්තටම නමේ විදිහටම තමයි හැසිරීමත්..

03.) ඒ එක්කම  job number එකකුත් භාවිතා වෙනවා  running job අඳුරගන්න..


processes ටික manage කරගන්න ගියහම PIDs, PPIDs, and job numbers  කියන ඒව ගොඩාක් වැදගත් වෙනවා.. මේව භාවිතාකරල processes අඳුරගන්න විතරක් නෙවෙයි, ඒවට commands රන් කරන්න.. ඒව නවත්තන්න වගේ ගොඩාක් වැඩ කිඩ දාන්න පුලුවන්.. මතකනෙ අපි මේ ලිනක්ස් යකා බැඳගෙන වැඩ ගන්න නේ හදන්නෙ.. ඉතින් උට වැඩ කරන යන්තර මන්තර වැඩිපුර දන්න තරමට ඌව මට්‍ටු කරගන්න එක ලේසියි..

අපි මීට කලින් කතාකරපු Init කියන එක තමයි system එකෙන් පටන් ගන්න  first process එක වෙන්නෙ.. එයාගෙන් තමයි අනික් ඔක්කොම බෙදිල විහිදිල යන්නෙ..
  • එතකොට එක Processes එකකට පුලුවන් තව Processes එකක් පටන් ගන්න..
  • එක Processes එකක් නවත්තන්න නම් kill command  එක ගහන්න ඕන process ID number එකත් එක්ක..
  • මේකත් මතක තියාගන්න මොකක් හරි process එකක් නැවැත්තුවොත් එයාගෙ ළමයි ටික ඒ කියන්නේ child processes  ඔක්කොම ටිකත් ඒ එක්කම හිටිනව.. ඕන නම් මොකක් හරි child processes  එකක් ඉතුරු කරල අනික්වා නවත්තන්නත් පුලුවන් ක්‍රම තියෙනවා..
  • Core processes  වලට අනිවා  lowest pid numbers  තමයි තියෙන්නෙ..
  • zombie process කියල ජාතියක් තියෙනවා... එයාලට  parent process එකක් නෑ.. මේක වෙන්නෙ parent process  එකට  child processes  එක හරියට නවත්තගන්න බැරි උනාම..

 Processes Commands කොටස් තුනකට කඩා ගන්න පුලුවන්..
01.)Viewing Processes Commands
 කියෙව්වම තේරෙනවනේ.. බලාගන්න පාවිච්චි කරන ඒව..
02.)Process Management Commands
03.)Power Management Commands
කියල තමයි ඒ..


මොකද කියන්නෙ කොල්ලනේ.. අපි ඒ ටික වෙන වෙනම ලිපි ටිකකින් ලස්සනට ඉගෙන ගනිමු නේ...
දැන්නම් නහටත් අඟල් දෙක තුනක් උඩට වතුර ඇවිත් එරිල ඉන්නේ.. වෙලාව ලැබෙන ලැබෙන විදිහට ලියන්නේ.. අපි මේ පටන් ගත්ත කතාව පිලිවෙලකට ඊලඟ ලිපි සෙට් එකෙන් බලා ගනිමු.. කමෙන්ට් දාන, මේල් දාන, මාව දිරිමත් කරන ඔය හැමෝටම ගොඩක් ස්තූතියි.. එහෙනම් අපි ආයෙමත් අලුත් දෙයක් එක්ක හම්බ වෙමු..