[CPU Scheduling in Hindi] [Process Scheduling क्या हैं?]

[CPU Scheduling in Hindi] [Process Scheduling क्या हैं?]

Process Scheduling क्या हैं?

Process Scheduling एक Multiprogramming operating system का एक भाग
होता है। वर्तमान में processor की कार्य क्षमता एवं गति काफी अधिक हो गई है और
यदि हम उसके सम्पूर्ण क्षमता (शक्ति) का उपयोग करना चाहते हैं तो उससे neno
second के अंतर से कई program process कराना होता है। यह कार्य Multiprogramming
operating system के द्वारा ही किया जाता है वह वर्तमान में
प्रोसेस हेतु आवश्यक अलग-अलग program को neno second में schedule निर्धारित
करके processor को दे देता है। इस प्रकार processing का निर्धारण करने से
processor के idle process को रोक जा सकता है।

अगर एक और अन्य प्रकार से Process Scheduling को परिभाषित करें तो यह
इसलिए आवश्यक होता है क्योंकि Computer प्रणाली के device के लिए दिए जाने वाले
कार्यो की अनुसूची operating system तैयार करता है। Operating System यह निर्णय
लेता है कि किस device का उपयोग कब करना है।

CPU Scheduling Cycle को निम्न diagram में समझा जा सकता हैं।

Process Scheduling क्या हैं?

उपरोक्त diagram में circle में queue को दर्शाया गया है squre के द्वारा उस
queue को उपलब्ध कराने वाले resource को दर्शाया गया है और arrow के द्वारा
process के flow को दर्शाया गया है।


Process Definition-in Hindi:

Process, उस कंप्यूटर program को कहा जाता हैं जिसका processor के
द्वारा execution किया जा रहा है। जिसे अन्य शब्दों में instance of a program भी
कह सकते हैं। ऑपरेटिंग सिस्टम के द्वारा अनेक program execution के लिए
processor को भेजे जाते हैं जिन्हें उसके priority और निर्धारित scheduling के
अनुसार उन्हें process करता है। Processing इस बात पर निर्भर करता है कि ऑपरेटिंग
सिस्टम किस प्रोग्राम के execution को पहले चाहता है वह उसी आधार
पर प्रोसेस प्रोग्राम्स के लिए priority set करता है।

हम यह बात जानते हैं कि निर्देश के समूह को computer program कहते हैं और
इन्ही कंप्यूटर प्रोग्राम के मदद से सभी प्रकार के computer software तैयार
किया जाता है। इन्ही softwares program को कार्य करने के लिए process की आवश्यकता
होती है। यह एक छोटा सा background प्रक्रिया है जो हमे system में operating
system के खुलने के साथ लगातार चलता रहता है।

Process Definition-in Hindi:

CPU Scheduling क्या हैं?

CPU Scheduling को Operating System के द्वारा ही निर्धारित किया जाता है
और इसका मुख्य उद्देश्य यह CPU को हर समय व्यस्त रखना और इसके साथ अधिक से अधिक
कार्य लेना होता है। सामान्यतः जब किसी भी प्रोग्राम को प्रोसेसिंग के दौरान
इनपुट या आउटपुट डिवाइस से संबंधित process होता है तब CPU इनपुट के लिए wait
स्टेट में चला जाता है और वह इसके बाद खाली होता है तब अगर जब तक कि प्रोग्राम के
लिए आवश्यक इनपुट CPU को प्राप्त नहीं होता तब तक उससे अन्य और प्रोग्राम प्रोसेस
कराया जा सकता है। इसे multiprogramming के नाम से जाना जाता है जिसमे CPU कई
प्रोग्राम्स को निर्धारित scheduling के अनुसार प्रोसेस करते रहते हैं।
CPU Scheduling के दो स्टेट होते हैं:

(1) Running: जब operating system के द्वारा नया process बनाया जाता है
तो वह प्रोसेस चालू स्थिति में प्रवेश करता है।

(2) Not-running: जब प्रोसेस नही चलता तब उसे queue में रखा जाता है और
वह process के लिए wait करता रहता है। कभी-कभी process कोई समस्या आ जाती है तो
वह वापस wait state में चला जाता है। यह Queue, linked list के रूप में होता है।

Type of Schedulers in Hindi:

CPU Scheduler निम्न तीन प्रकार की होती है:

  1. Short term scheduler
  2. Medium term scheduler
  3. Long term scheduler

(1) Short term scheduler:

इसे ही CPU scheduling कहा जाता है। इस scheduling का निर्धारण operating system
के द्वारा किया जाता है वह यह decide करता है कि किस प्रकार के program को पहले
execute करना है और कितने समय अंतराल में execute करना है। इस scheduling का एक
अन्य उद्देश्य system के कार्य गति को बढ़ाना होता है। यह ready state को running
state में बदलता है।

(2) Medium term scheduler:

इस प्रकार के Scheduler का कार्य main memory process को मिटाकर उसे secondry
memory में स्थानांतरित करना होता है।

(3) Long term scheduler:

इस Scheduler का कार्य यह निर्धारित करना होता है कि किस प्रकार के processing को
आरंभ करना होता है। इसे admission queue भी कहा जाता है क्योंकि इसमें job
scheduler के द्वारा processing का निर्धारण किया जाता है।

Scheduling Algorithms क्या हैं? 

CPU के द्वारा चल रहे process को किस प्रकार handle करना है इसके समझने के लिए
अलग-अलग प्रकार के algorithm तैयार किया गया है। यह algorithm प्रत्येक process
queue के लिए ही होता है जिसमें किस process किस प्रकार के process के लिए कौन सा
होगा यह सभी operating system के सहायता से ही निर्धारित किया जाता है। समान्यतः
निम्न Scheduling Algorithms का उपयोग किया जाता है:

(1)First-come first-serve scheduling (FCFS):

यह सामान्य जीवन में उपयोग होने वाले system जैसे: बिल भुगतान के लिए queue में
खड़े व्यक्ति में से जो पहले आता है उसे पहले सुविधा प्राप्त होती है इसी प्रकार
कई अन्य उदाहरण है। processor के पास जो सबसे पहले process के लिए जाता है वह
पहले process होता है। परंतु इस algorithm system से एक बहुत नुकसान है और वह उन
परिस्थितियों में होता है जब अनेक process wait state में होता है और उनके पहले
जो process हो रहा है वह काफी बड़ा है। इसे निम्न चित्र से समझते हैं:

First-come first-serve scheduling (FCFS):
इस स्थिति में औसत Wating समय (0+30+35+38)/4=25.75ms और इसी प्रोसेस में यदि
छोटा प्रोसेस को पहले कर दे तो wating time को काम किया जा सकता है इसे निम्न
प्रकार से समझ सकते है:
अब इस समय को जोड़कर इसका औसत निकालते है (0+10+13+18)/4=10.45ms wating time हो
जाता है।


(2)Shorted-Job first scheduling (SJF):

FCFS schedule ng algorithm में जो कमी थी (जिसकी चर्चा ऊपर के उदाहरण में किया
गया है) उसे दूर करने के लिए इस algorithm को तैयार किया गया। इसमें जो सबसे छोटा
process होता है उसे पहले किया जाता है। जैसे ऊपर के उदाहरण में P2 सबसे छोटा
process है, P1 उससे थोड़ा बड़ा है, P3 उससे बड़ा और P4 सबसे बड़ा Process है यदि इस
processing को ascending order में किया जाए तो निम्न प्रकार से process होगा:

Shorted-Job first scheduling (SJF):

इस प्रकार के processing algorithm में waiting time को कम किया जा सकता है।
जैसे: FCFS विधि के process में waiting time (0+30+35+38)/4=25.75 है और यदि यही
waiting time SJF विधि में काफी कम हो जाता है जैसे: (0+3+8+18)/4=7.25ps हो जाता
है। इससे काफी समय की बचत होती है।

इस process का नुकसान उस समय दिखता है जब कोई नया process मिलता है और वह current
process से छोटा है ऐसी स्थिति में current process भी wait state में आ जाता
है। 

(3)Priority Scheduling:

यह उपरोक्त दोनों से भिन्न है इसमें जो Job अधिक priority रखता है उसे पहले
process किया जाता है जैसे: reservation system में VIP व्यक्ति अधिक priority
रखता है इसलिए  उसका reservation किया जाता है इसके बाद सामान्य reservation
किया जाता है। इसमें operation system से scheduling के साथ priority bit भी लिया
जाता है और उसी के आधार पर process किया जाता है। इसे निम्न प्रकार से समझते है:

Process Brust time Priority
P0 30 2
P1 3
P2 3 0
P3 10 1

इस प्रकार priority के आधार पर processing निम्न प्रकार होगा:

Priority Scheduling:

(4)Round Robin Scheduling:

यह Scheduling FCFS की तरह ही कार्य करता है। इसमें प्रत्येक process को एक
निश्चित समय दिया जाता है जिसे quantum कहते हैं और जब दिये गये समय मे पहला
process समाप्त हो जाता है उसके बाद अगला process एक निश्चित समय के लिए continue
हो जाता है।

1 thought on “[CPU Scheduling in Hindi] [Process Scheduling क्या हैं?]”

Leave a Comment