एफसीएफएस शेड्यूलिंग एल्गोरिदम: क्या है, उदाहरण प्रोग्राम

⚡ स्मार्ट सारांश

फर्स्ट कम फर्स्ट सर्व शेड्यूलिंग प्रक्रियाओं को ठीक उसी क्रम में चलाती है जिस क्रम में वे रेडी क्यू में पहुंचती हैं, एक सरल नॉन-प्रीएम्प्टिव FIFO दृष्टिकोण का उपयोग करते हुए जो इसे ऑपरेटिंग सिस्टम के लिए लागू करने के लिए सबसे आसान CPU शेड्यूलिंग एल्गोरिदम बनाता है।

  • 🔄 परिभाषा: एफसीएफएस सीपीयू को उस प्रक्रिया को आवंटित करता है जो पहले इसका अनुरोध करती है, और रेडी क्यू को फर्स्ट-इन, फर्स्ट-आउट (एफआईएफओ) संरचना के रूप में प्रबंधित करता है।
  • ⚙️ प्रकृति: एफसीएफएस नॉन-प्रीएम्प्टिव है, इसलिए एक चल रही प्रक्रिया सीपीयू को तब तक अपने पास रखती है जब तक कि वह अपना पूरा बर्स्ट टाइम समाप्त नहीं कर लेती।
  • सादृश्य: टिकट काउंटर की कतार की तरह, जो पहले आता है उसे पहले सेवा मिलती है, और बाद में आने वाले अपनी बारी का इंतजार करते हैं।
  • 📊 गणना: औसत प्रतीक्षा समय उप-विभाग द्वारा ज्ञात किया जाता हैtracप्रत्येक प्रक्रिया के आगमन समय की गणना उसके प्रारंभ समय से की जाती है, और फिर सभी प्रक्रियाओं का औसत निकाला जाता है।
  • 🐢 काफिले का प्रभाव: मोर्चे पर एक लंबी प्रक्रिया के कारण छोटे कामों को इंतजार करना पड़ता है, जिससे औसत प्रतीक्षा समय बढ़ जाता है और प्रदर्शन पर नकारात्मक प्रभाव पड़ता है।
  • 🤖 एआई का दृष्टिकोण: मशीन लर्निंग बेहतर शेड्यूलिंग के लिए बर्स्ट टाइम का अनुमान लगाती है, और कोपायलट एफसीएफएस कोड को जल्दी से लिखने और परीक्षण करने में मदद करता है।

एफसीएफएस शेड्यूलिंग एल्गोरिथम में Operaटिंग सिस्टम

पहले आओ पहले पाओ पद्धति क्या है?

पहले आओ पहले पाओ (एफसीएफएस) FCFS एक ऑपरेटिंग सिस्टम शेड्यूलिंग एल्गोरिदम है जो कतार में मौजूद अनुरोधों और प्रक्रियाओं को उनके आने के क्रम में स्वचालित रूप से निष्पादित करता है। यह सबसे सरल और आसान CPU शेड्यूलिंग एल्गोरिदम है। इस प्रकार के एल्गोरिदम में, जो प्रक्रिया सबसे पहले CPU का अनुरोध करती है, उसे सबसे पहले CPU आवंटन मिलता है। इसे FIFO कतार के माध्यम से प्रबंधित किया जाता है। FCFS का पूरा नाम फर्स्ट कम फर्स्ट सर्व है।

जैसे ही कोई प्रोसेस रेडी क्यू में प्रवेश करता है, उसका पीसीबी (प्रोसेस कंट्रोल ब्लॉक) क्यू के अंत वाले हिस्से से जुड़ जाता है। इस प्रकार, जब सीपीयू खाली होता है, तो उसे क्यू के शुरुआत में मौजूद प्रोसेस को आवंटित कर दिया जाता है।

एफसीएफएस विधि की विशेषताएं

पहले आओ पहले पाओ पद्धति की मुख्य विशेषताएं नीचे दी गई हैं:

  • यह एक ग़ैर अग्र शेड्यूलिंग एल्गोरिदम के कारण, एक प्रक्रिया अपने बर्स्ट टाइम को पूरा करने तक सीपीयू को अपने पास रखती है।
  • नौकरियां हमेशा पहले आओ, पहले पाओ के आधार पर निष्पादित की जाती हैं।
  • इसे क्रियान्वित करना और प्रयोग करना आसान है।
  • यह विधि खराब प्रदर्शन वाली है, तथा सामान्य प्रतीक्षा समय काफी अधिक है।

एफसीएफएस शेड्यूलिंग का उदाहरण

एफसीएफएस पद्धति का एक वास्तविक उदाहरण टिकट काउंटर पर फिल्म का टिकट खरीदना है। इस शेड्यूलिंग एल्गोरिदम में, व्यक्ति को कतार के क्रम के अनुसार सेवा दी जाती है। कतार में सबसे पहले आने वाला व्यक्ति सबसे पहले टिकट खरीदता है, और फिर अगला व्यक्ति। यह प्रक्रिया तब तक चलती रहती है जब तक कतार में अंतिम व्यक्ति टिकट नहीं खरीद लेता। इस एल्गोरिदम का उपयोग करके, सीपीयू प्रक्रिया भी इसी तरह काम करती है।

FCFS कैसे काम करता है? औसत प्रतीक्षा समय की गणना

यह समझने के लिए कि एल्गोरिदम प्रक्रियाओं को कैसे शेड्यूल करता है, यहाँ पाँच प्रक्रियाओं का एक उदाहरण दिया गया है जो अलग-अलग समय पर आती हैं। प्रत्येक प्रक्रिया का बर्स्ट टाइम अलग-अलग है।

प्रक्रिया बर्स्ट टाइम आने का समय
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

एफसीएफएस शेड्यूलिंग एल्गोरिदम का उपयोग करके, इन प्रक्रियाओं को निम्नानुसार प्रबंधित किया जाता है।

चरण 1) यह प्रक्रिया P4 से शुरू होती है, जिसका आगमन समय 0 है।

एफसीएफएस शेड्यूलिंग उदाहरण चरण 1

चरण 2) समय = 1 पर, P3 आता है। P4 अभी भी निष्पादित हो रहा है। इसलिए, P3 को कतार में रखा जाता है।

एफसीएफएस शेड्यूलिंग उदाहरण चरण 2

चरण 3) समय=2 पर, P1 आता है और उसे कतार में रखा जाता है।

एफसीएफएस शेड्यूलिंग उदाहरण चरण 3

चरण 4) समय=3 पर, P4 प्रक्रिया अपना निष्पादन पूरा कर लेती है।

एफसीएफएस शेड्यूलिंग उदाहरण चरण 4

चरण 5) समय=4 पर, P3, जो कतार में प्रथम है, निष्पादन प्रारंभ करता है।

एफसीएफएस शेड्यूलिंग उदाहरण चरण 5

चरण 6) समय=5 पर, P2 आता है और उसे कतार में रखा जाता है।

एफसीएफएस शेड्यूलिंग उदाहरण चरण 6

चरण 7) समय=11 पर, P3 अपना निष्पादन पूरा करता है।

एफसीएफएस शेड्यूलिंग उदाहरण चरण 7

चरण 8) समय=11 पर, P1 का निष्पादन शुरू होता है। इसका बर्स्ट टाइम 6 है, इसलिए यह 17 के समय अंतराल पर निष्पादन पूरा करता है।

एफसीएफएस शेड्यूलिंग उदाहरण चरण 8

चरण 9) समय=17 पर, P5 का निष्पादन शुरू होता है। इसका बर्स्ट टाइम 4 है, इसलिए यह समय=21 पर निष्पादन पूरा करता है।

एफसीएफएस शेड्यूलिंग उदाहरण चरण 9

चरण 10) समय=21 पर, P2 का निष्पादन शुरू होता है। इसका बर्स्ट टाइम 2 है, इसलिए यह 23 के समय अंतराल पर निष्पादन पूरा करता है।

एफसीएफएस शेड्यूलिंग उदाहरण चरण 10

चरण 11) अब, आइए उपरोक्त उदाहरण के लिए औसत प्रतीक्षा समय की गणना करें।

एफसीएफएस शेड्यूलिंग औसत प्रतीक्षा समय

Waiting time = Start time - Arrival time

P4 = 0 – 0 = 0

P3 = 3 – 1 = 2

P1 = 11 – 2 = 9

P5 = 17 – 4 = 13

P2 = 21 – 5 = 16

औसत प्रतीक्षा समय = (0 + 2 + 9 + 13 + 16) / 5 = 40 / 5 = 8

एफसीएफएस शेड्यूलिंग औसत प्रतीक्षा समय गणना

एफसीएफएस के लाभ

एफसीएफएस शेड्यूलिंग एल्गोरिदम का उपयोग करने के फायदे और लाभ इस प्रकार हैं:

एफसीएफएस के नुकसान

एफसीएफएस शेड्यूलिंग एल्गोरिदम का उपयोग करने के नुकसान और कमियां इस प्रकार हैं:

  • यह एक नॉन-प्रीएम्प्टिव सीपीयू शेड्यूलिंग एल्गोरिदम है, इसलिए एक बार किसी प्रक्रिया को सीपीयू आवंटित कर दिए जाने के बाद, यह तब तक सीपीयू को नहीं छोड़ेगा जब तक कि उसका निष्पादन समाप्त नहीं हो जाता।
  • औसत प्रतीक्षा समय अधिक है।
  • कतार के पीछे मौजूद छोटी प्रक्रियाओं को आगे मौजूद लंबी प्रक्रिया के समाप्त होने तक इंतजार करना पड़ता है।
  • यह टाइम-शेयरिंग सिस्टम के लिए एक आदर्श तकनीक नहीं है।
  • अपनी सरलता के कारण, FCFS बहुत कुशल नहीं है।

अक्सर पूछे जाने वाले प्रश्न

फर्स्ट कम फर्स्ट सर्व एक नॉन-प्रीएम्प्टिव एल्गोरिदम है। एक बार किसी प्रोसेस को CPU मिल जाने के बाद, वह तब तक चलता रहता है जब तक उसका बर्स्ट पूरा नहीं हो जाता, इसलिए शेड्यूलर उसे रोककर किसी नए आए या छोटे प्रोसेस को नहीं चला सकता।

कॉन्वॉय इफ़ेक्ट तब होता है जब कई छोटी प्रक्रियाएँ कतार के आगे एक लंबी प्रक्रिया के पीछे प्रतीक्षा करती हैं। यह एक लंबी प्रक्रिया औसत प्रतीक्षा समय को बढ़ा देती है और कुल CPU थ्रूपुट को कम कर देती है।

टर्नअराउंड टाइम, प्रत्येक प्रक्रिया के लिए पूर्णता समय में से आगमन समय को घटाने के बराबर होता है। यह सिस्टम में किसी प्रक्रिया द्वारा व्यतीत कुल समय को मापता है, यानी उसके आगमन से लेकर सीपीयू पर निष्पादन समाप्त होने तक का समय।

एफसीएफएस आगमन क्रम के अनुसार सेवा प्रदान करता है। सबसे छोटा काम सबसे पहले कम प्रतीक्षा समय के लिए सबसे पहले सबसे कम मात्रा में भोजन परोसा जाता है, और आवेदनपत्र यह प्रत्येक प्रक्रिया को समय-साझाकरण के लिए एक निश्चित समय अवधि प्रदान करता है।

शुद्ध एफसीएफएस (FCFS) से भुखमरी की समस्या नहीं होती, क्योंकि प्रत्येक प्रक्रिया अंततः एफआईएफओ कतार के अग्रभाग तक पहुंच जाती है। हालांकि, लंबी नौकरियां काफिला प्रभाव के कारण छोटी नौकरियों में काफी देरी कर सकती हैं।

FCFS प्रक्रिया O(n) समय में चलती है जब प्रक्रियाएँ पहले से ही आगमन के क्रम में व्यवस्थित होती हैं, क्योंकि प्रत्येक प्रक्रिया को एक बार ही शेड्यूल किया जाता है। अव्यवस्थित आगमन को आगमन समय के अनुसार क्रमबद्ध करने से एक O(n log n) चरण जुड़ जाता है।

मशीन लर्निंग मॉडल प्रक्रिया के चरम समय का अनुमान लगाते हैं और औसत प्रतीक्षा समय और ऊर्जा उपयोग को कम करने के लिए शेड्यूलिंग नीतियों का चयन या समायोजन करते हैं। शोधकर्ता इन एआई-संचालित शेड्यूलर का उपयोग क्लाउड सर्वर और डेटा केंद्रों में करते हैं।

हाँ। GitHub Copilot C भाषा में FCFS कोड जनरेट कर सकता है। Javaया, Python प्रतीक्षा समय और टर्नअराउंड समय की गणनाओं के साथ। आउटपुट पर भरोसा करने से पहले आगमन समय सॉर्टिंग, टाई-ब्रेकिंग और औसत सूत्रों को हमेशा सत्यापित करें।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: