School ICT Self Study
📝 View in Your Language:

Process management can be considered as one of the main functions of an operating system.

85 viewsG12-05. AL ICT Operating System
0

Process management can be considered as one of the main functions of an operating system.

911d98a3 4eaf 4ec4 aa14 d4511219621f

Spread the love
Ruwan Suraweera Changed status to publish July 28, 2025
0

ක්‍රියාවන සන්ක්‍රාන්තිය (Process Transition) යනු මෙහෙයුම් පද්ධතියක (Operating System) ක්‍රියාවලියක් (Process) එක් තත්ත්වයක සිට තවත් තත්ත්වයකට වෙනස් වීමයි. ක්‍රියාවලියක ජීවන චක්‍රය තුළ (Life Cycle of a Process) එය විවිධ අවස්ථාවන් හරහා ගමන් කරන අතර, එම එක් එක් අවස්ථාවන් “තත්ත්වයන්” (States) ලෙස හැඳින්වේ. මෙම තත්ත්වයන් අතර සිදුවන වෙනස් වීම් “සන්ක්‍රාන්ති” ලෙස හැඳින්වේ.

ප්‍රධාන ක්‍රියාවලියේ තත්ත්වයන් සහ ඒවා අතර සිදුවන සන්ක්‍රාන්ති පහත පරිදි වේ:

ප්‍රධාන ක්‍රියාවලියේ තත්ත්වයන්:

  1. නව (New): ක්‍රියාවලියක් නිර්මාණය වන විට එය මෙම තත්ත්වයේ පවතී. එය තවමත් ප්‍රධාන මතකයට (Main Memory) පටවා නොමැති අතර, ක්‍රියාත්මක වීමට සූදානම් නැත.
  2. සූදානම් (Ready): ක්‍රියාවලිය ප්‍රධාන මතකයට පටවා ඇති අතර, CPU එක ලබා ගැනීමට සූදානම්ව සිටී. එය CPU කාලය ලබා ගැනීම සඳහා පොරොත්තු පෝලිමක (Ready Queue) රැඳී සිටියි.
  3. ක්‍රියාත්මක වන (Running): ක්‍රියාවලිය දැනට CPU එක මගින් ක්‍රියාත්මක වෙමින් පවතී. CPU එකේ ක්‍රියාත්මක විය හැක්කේ එක් ක්‍රියාවලියක් පමණි (බහු-හර CPU වලදී එක් හරයකට එකක්).
  4. පොරොත්තු (Waiting / Blocked): ක්‍රියාවලියකට යම් සිදුවීමක් (Event) සිදුවන තෙක් බලා සිටීමට සිදුවන විට එය මෙම තත්ත්වයට පත්වේ. උදාහරණයක් ලෙස, I/O මෙහෙයුමක් අවසන් වන තෙක්, යම් සම්පතක් නිදහස් වන තෙක්, හෝ පරිශීලක ආදානයක් ලැබෙන තෙක් බලා සිටීම.
  5. අවසන් වූ (Terminated / Halted): ක්‍රියාවලියක් එහි කාර්යය සම්පූර්ණ කළ විට හෝ යම් දෝෂයක් නිසා ක්‍රියාත්මක වීම නැවැත්වූ විට එය මෙම තත්ත්වයට පත්වේ. එහි සියලු සම්පත් නිදහස් කර මෙහෙයුම් පද්ධතියට භාර දෙනු ලැබේ.

ක්‍රියාවන සන්ක්‍රාන්ති (තත්ත්වයන් අතර වෙනස් වීම්):

මෙම තත්ත්වයන් අතර සිදුවන සන්ක්‍රාන්ති (Transitions) මෙහෙයුම් පද්ධතියේ ෂෙඩියුලර් (Scheduler) සහ සිදුවීම් මත පදනම් වේ:

  • නව (New) සූදානම් (Ready):
    • ක්‍රියාව: මෙහෙයුම් පද්ධතිය විසින් නව ක්‍රියාවලියක් ප්‍රධාන මතකයට පටවා, එය CPU කාලය ලබා ගැනීමට සූදානම් බවට සලකුණු කරයි.
    • ප්‍රේරකය: ක්‍රියාවලියක් නිර්මාණය වීම (උදා: පරිශීලකයෙකු වැඩසටහනක් විවෘත කිරීම).
  • සූදානම් (Ready) ක්‍රියාත්මක වන (Running):
    • ක්‍රියාව: ෂෙඩියුලර් විසින් “සූදානම්” පෝලිමෙන් (Ready Queue) ක්‍රියාවලියක් තෝරාගෙන එය CPU එකට යවයි.
    • ප්‍රේරකය: CPU එක නිදහස් වීම සහ ෂෙඩියුලර් තීරණය. (මෙය Context Switching එකක කොටසකි).
  • ක්‍රියාත්මක වන (Running) පොරොත්තු (Waiting):
    • ක්‍රියාව: ක්‍රියාත්මක වන ක්‍රියාවලියකට යම් සිදුවීමක් (උදා: I/O ඉල්ලීමක්, යම් සම්පතක් සඳහා රැඳී සිටීම) සිදුවන තෙක් බලා සිටීමට සිදුවන විට, එය ස්වේච්ඡාවෙන් CPU එක නිදහස් කර මෙම තත්ත්වයට පත්වේ.
    • ප්‍රේරකය: I/O ඉල්ලීම්, සම්පත් අවහිරතා, සිදුවීමක් සඳහා පොරොත්තු වීම.
  • ක්‍රියාත්මක වන (Running) සූදානම් (Ready):
    • ක්‍රියාව: ක්‍රියාත්මක වන ක්‍රියාවලියකට එහි වෙන් කළ CPU කාල සීමාව (Time Slice/Quantum) අවසන් වූ විට, හෝ වඩා ඉහළ ප්‍රමුඛතාවයක් සහිත (Higher Priority) ක්‍රියාවලියක් පැමිණි විට, මෙහෙයුම් පද්ධතිය විසින් එයට CPU එක අහිමි කර නැවත “සූදානම්” තත්ත්වයට පත් කරයි.
    • ප්‍රේරකය: කාල සීමාව අවසන් වීම (Time slice expiry), ඉහළ ප්‍රමුඛතාවයක් සහිත ක්‍රියාවලියක් පැමිණීම (Preemption).
  • පොරොත්තු (Waiting) සූදානම් (Ready):
    • ක්‍රියාව: ක්‍රියාවලියක් බලා සිටි සිදුවීම (උදා: I/O මෙහෙයුම අවසන් වීම) සිදු වූ විට, එය නැවත CPU කාලය ලබා ගැනීමට සූදානම් වන තත්ත්වයට පත්වේ.
    • ප්‍රේරකය: බලා සිටි සිදුවීමක් අවසන් වීම (Event Completion).
  • ක්‍රියාත්මක වන (Running) අවසන් වූ (Terminated):
    • ක්‍රියාව: ක්‍රියාවලියක් සාර්ථකව එහි කාර්යය සම්පූර්ණ කළ විට, හෝ යම් දෝෂයක් නිසා අසාර්ථක වූ විට, එය සම්පූර්ණයෙන් ක්‍රියාත්මක වීම නවත්වයි.
    • ප්‍රේරකය: කාර්යය සම්පූර්ණ වීම, දෝෂයක්, පරිශීලකයා විසින් අවසන් කිරීම.

සාරාංශයක් ලෙස, “ක්‍රියාවන සන්ක්‍රාන්තිය” යනු ක්‍රියාවලියක් එහි ජීවන චක්‍රය තුළ එක් තත්ත්වයකින් තවත් තත්ත්වයකට මාරු වන ක්‍රියාවලියයි. මෙම සන්ක්‍රාන්ති මෙහෙයුම් පද්ධතිය මඟින් CPU සම්පත් කාර්යක්ෂමව කළමනාකරණය කිරීමට සහ බහු කාර්ය පරිසරයක් (Multitasking Environment) නිර්මාණය කිරීමට අත්‍යවශ්‍ය වේ.

 

. මෙහෙයුම් පද්ධතියක සිදුවන එක් ප්‍රධාන කාර්යයක් ලෙස ක්‍රියාවන කළමනාකරණය දැක්විය හැකිය.

(a) ක්‍රියාවන සටහනිය යනු කුමක්ද?

ක්‍රියාවන සටහනිය (Process Scheduler) යනු මෙහෙයුම් පද්ධතියේ (Operating System) වැදගත් කොටසකි. එහි ප්‍රධාන කාර්යය වන්නේ CPU එක භාවිතය සඳහා සුදානම්ව ඇති ක්‍රියාවලීන් (processes) අතරින්, ඊළඟට CPU එකට යැවිය යුතු ක්‍රියාවලිය තෝරා ගැනීම සහ එම ක්‍රියාවලිය CPU එකට ලබා දීමයි.

සරලව කිවහොත්, පරිගණකයක එකවර ක්‍රියාවලීන් (programs/tasks) රාශියක් ක්‍රියාත්මක වීමට උත්සාහ කරන විට, CPU එකට එකවර ක්‍රියාත්මක කළ හැක්කේ එක් ක්‍රියාවලියක් පමණි (බහු-හර CPU වලදී පවා හරයකට එකක්). මෙහිදී මෙම ක්‍රියාවලීන් CPU කාලය ලබා ගැනීම සඳහා තරඟ කරයි. ක්‍රියාවන සටහනිය (Scheduler) මෙම ක්‍රියාවලීන් නිසි ලෙස කළමනාකරණය කරමින්, CPU කාලය වඩාත් කාර්යක්ෂමව බෙදා හැරීම සිදු කරයි.

එය CPU එකේ කාර්යක්ෂමතාවය ඉහළ නැංවීමට සහ පරිශීලකයින්ට ක්‍රියාවලීන් එකවර ක්‍රියාත්මක වනවා වැනි හැඟීමක් ලබා දීමට උපකාරී වේ.


(b) ක්‍රියාවන පාලන කණ්ඩිකයක කාර්යය කොටසක් දක්වන්න.

ක්‍රියාවන පාලන කණ්ඩිකාව (Process Control Block – PCB) යනු මෙහෙයුම් පද්ධතියක් මඟින් සෑම ක්‍රියාවලියක් (process) සඳහාම පවත්වාගෙන යන දත්ත ව්‍යුහයකි. එය අත්‍යවශ්‍ය තොරතුරු ගබඩා කරන අතර, CPU එකේ ඊළඟට ක්‍රියාත්මක විය යුත්තේ කුමන ක්‍රියාවලියද යන්න තීරණය කිරීමට සහ ක්‍රියාවලීන් අතර මාරු වීමේදී (Context Switching) අවශ්‍ය දත්ත සුරැකීමට උපකාරී වේ.

ක්‍රියාවන පාලන කණ්ඩිකයක කාර්යය කොටස් (අඩංගු විය හැකි දත්ත) කිහිපයක්:

  • ක්‍රියාවලියේ තත්ත්වය (Process State): ක්‍රියාවලිය දැනට පවතින තත්ත්වය (උදා: නව, ක්‍රියාත්මක වන, පොරොත්තු, අවසන් වූ).
  • වැඩසටහන් කවුන්ටරය (Program Counter – PC): ක්‍රියාවලිය නැවත ක්‍රියාත්මක වන විට ඊළඟට ක්‍රියාත්මක විය යුතු උපදෙස් වල මතක ලිපිනය.
  • CPU රෙජිස්ටර් (CPU Registers): ක්‍රියාවලිය ක්‍රියාත්මක වන විට CPU හි රෙජිස්ටරවල අඩංගු අගයන් (උදා: සාමාන්‍ය රෙජිස්ටර්, දර්ශක රෙජිස්ටර්). ක්‍රියාවලීන් අතර මාරු වන විට (Context Switch) මෙම අගයන් සුරැකෙනු ඇත.
  • CPU සටහන් කිරීමේ තොරතුරු (CPU Scheduling Information): ක්‍රියාවලියට හිමි ප්‍රමුඛතාවය (Priority), එයට ලබා දී ඇති CPU කාලය, එයට ලබා දිය යුතු CPU කාලය වැනි දත්ත.
  • මතක කළමනාකරණ තොරතුරු (Memory Management Information): ක්‍රියාවලිය සඳහා වෙන් කර ඇති මතක ප්‍රමාණය, එහි මතක සීමාවන් (limits), පිටු වගු (page tables) වැනි දත්ත.
  • ගිණුම්කරණ තොරතුරු (Accounting Information): ක්‍රියාවලිය මගින් භාවිතා කරන ලද CPU කාලය, ගත වූ සැබෑ කාලය, භාවිතා කරන ලද සම්පත් ප්‍රමාණය වැනි දත්ත.
  • I/O තත්ත්ව තොරතුරු (I/O Status Information): ක්‍රියාවලිය මගින් භාවිතා කරන I/O උපාංග, විවෘත කර ඇති ගොනු ලැයිස්තුව, පොරොත්තු I/O මෙහෙයුම් වැනි දත්ත.

(c) ක්‍රියාවන පාලන කණ්ඩිකයක් විසින් සටහන් නොහොත් තබා නොගනු නොරොතුරු 3ක් සදහන් කරන්න.

ක්‍රියාවන පාලන කණ්ඩිකයක් (PCB) මගින් සෘජුවම සටහන් නොකරන හෝ තබා නොගන්නා තොරතුරු කිහිපයක් මෙසේය:

  1. අනෙකුත් ක්‍රියාවලීන්ගේ PCB ලිපින (Addresses of other Process PCBs): එක් PCB එකක, අනෙකුත් ක්‍රියාවලීන්ගේ PCB ලිපින සෘජුවම ගබඩා කරන්නේ නැත. ඒවා සාමාන්‍යයෙන් මෙහෙයුම් පද්ධතියේ ෂෙඩියුලර් වැනි වෙනත් ව්‍යුහයන් මගින් කළමනාකරණය කෙරේ.
  2. පරිශීලක මුරපද (User Passwords): පරිශීලක මුරපද PCB එකක ගබඩා නොකෙරේ. ඒවා සාමාන්‍යයෙන් ආරක්ෂිතව ගබඩා කරනු ලබන්නේ වෙනම පරිශීලක ගිණුම් දත්ත ගබඩාවක හෝ ආරක්ෂක යාන්ත්‍රණ හරහාය.
  3. යෙදුම් කේතය (Application Code): ක්‍රියාවලියක සම්පූර්ණ යෙදුම් කේතය (executable program instructions) PCB එකක ගබඩා නොකෙරේ. ඒ වෙනුවට, කේතය ප්‍රධාන මතකයේ (Main Memory) වෙනමම වෙන් වූ ප්‍රදේශයක ගබඩා කර ඇති අතර, PCB එකේ අඩංගු වන්නේ එම කේතය පවතින මතක ලිපිනයන් පිළිබඳ තොරතුරු පමණි.
  4. සමස්ත පද්ධති සම්පත්වල වත්මන් භාවිතය (Overall System Resource Usage): PCB එකක ගබඩා වන්නේ අදාළ එක් ක්‍රියාවලියක් විසින් භාවිතා කරන ලද සම්පත් පිළිබඳ තොරතුරු මිස, සමස්ත පද්ධතියේ සියලුම සම්පත්වල වත්මන් භාවිතය පිළිබඳ පුළුල් තොරතුරු නොවේ. එය මෙහෙයුම් පද්ධතියේ වෙනත් මොඩියුල මගින් කළමනාකරණය වේ.
  5. උපාංග ධාවක කේතය (Device Driver Code): යම් උපාංග ධාවකයක කේතය PCB එකක ගබඩා නොවේ. එය මෙහෙයුම් පද්ධති කර්නලයේ කොටසක් ලෙස හෝ වෙනම මොඩියුල ලෙස පවතී.

(ඉහතින් ඕනෑම 3ක් සටහන් කළ හැක.)


(d) I) සංචරණ ස්ථිතියේ කාර්යය සදහන් කර ඒ සඳහා ක්‍රියාවන පාලන කණ්ඩිකාවේ වැදගත්කම කෙටියෙන් දක්වන්න.

සංචරණ ස්ථිතිය (Context Switching) යනු මෙහෙයුම් පද්ධතියක මූලික මෙහෙයුමකි. එහි කාර්යය වන්නේ CPU එක එක් ක්‍රියාවලියකින් (process) තවත් ක්‍රියාවලියකට මාරු කිරීමයි.

CPU එක එක් ක්‍රියාවලියක් ක්‍රියාත්මක කරමින් සිටින විට, එයට බාධා ඇති විය හැක (උදා: I/O ඉල්ලීමක්, කාල සීමාවක් අවසන් වීම, ඉහළ ප්‍රමුඛතාවයක් සහිත නව ක්‍රියාවලියක් පැමිණීම). එවිට මෙහෙයුම් පද්ධතිය විසින් වත්මන් ක්‍රියාවලිය අත්හිටුවා, වෙනත් ක්‍රියාවලියක් ක්‍රියාත්මක කිරීමට සිදුවේ. මෙම මාරු වීමේ ක්‍රියාවලියේදී:

  1. වත්මන් ක්‍රියාවලියේ තත්ත්වය (CPU රෙජිස්ටරවල අගයන්, වැඩසටහන් කවුන්ටරය වැනි) එහි ක්‍රියාවන පාලන කණ්ඩිකාවේ (PCB) ගබඩා කරනු ලැබේ.
  2. ඊළඟට ක්‍රියාත්මක විය යුතු ක්‍රියාවලියේ PCB එකෙන්, එහි පෙර සුරැකි තත්ත්වය නැවත CPU රෙජිස්ටර වෙත පටවනු ලැබේ.

ක්‍රියාවන පාලන කණ්ඩිකාවේ වැදගත්කම (සංචරණ ස්ථිතියට අදාළව):

සංචරණ ස්ථිතිය සාර්ථකව සිදු කිරීම සඳහා ක්‍රියාවන පාලන කණ්ඩිකාව අත්‍යවශ්‍ය වේ. එහි වැදගත්කම පහත පරිදි දැක්විය හැකිය:

  • තොරතුරු සුරැකීම: CPU එක එක් ක්‍රියාවලියකින් තවත් ක්‍රියාවලියකට මාරු වන විට, වත්මන් ක්‍රියාවලියේ සියලුම අත්‍යවශ්‍ය තොරතුරු (වැඩසටහන් කවුන්ටරය, රෙජිස්ටර අගයන් ආදිය) PCB එක තුළ සුරැකීම සිදු කරයි. මෙය නොතිබුණහොත්, එම ක්‍රියාවලියට පසුව නැවත ක්‍රියාත්මක වීමට අවශ්‍ය තොරතුරු අහිමි වනු ඇත.
  • දත්ත නැවත පූරණය කිරීම: ඊළඟට ක්‍රියාත්මක විය යුතු ක්‍රියාවලිය තෝරාගත් විට, එහි PCB එකෙන් සුරැකි තොරතුරු නැවත CPU වෙත පූරණය කිරීම සිදු කරයි. මෙය මගින් එම ක්‍රියාවලියට පෙර නවතා දැමූ ස්ථානයේ සිටම කිසිදු ගැටලුවකින් තොරව නැවත ආරම්භ කිරීමට හැකි වේ.
  • අඛණ්ඩතාව සහතික කිරීම: PCB එක මගින් ක්‍රියාවලීන්ගේ තත්ත්වය පිළිබඳ සම්පූර්ණ වාර්තාවක් තබා ගන්නා බැවින්, මෙහෙයුම් පද්ධතියට ක්‍රියාවලීන් අතර බාධාවකින් තොරව සහ දත්ත අහිමි වීමකින් තොරව මාරු වීමට ඉඩ සලසයි. මෙය පරිශීලකයාට එකවර වැඩසටහන් කිහිපයක් ක්‍රියාත්මක වනවා වැනි හැඟීමක් ලබා දීමටත්, පද්ධතියේ සමස්ත කාර්යක්ෂමතාවය පවත්වා ගැනීමටත් අත්‍යවශ්‍ය වේ.
Spread the love
Ruwan Suraweera Changed status to publish July 28, 2025
Write your answer.
Select Language:
Select Font Size: