ऑपरेटिंग सिस्टम में प्रक्रिया प्रबंधन की मूल अवधारणाओं का अन्वेषण करें, जिसमें प्रक्रिया अवस्थाएँ, शेड्यूलिंग एल्गोरिदम, अंतर-प्रक्रिया संचार और डेडलॉक हैंडलिंग शामिल हैं। डेवलपर्स और सिस्टम प्रशासकों के लिए आवश्यक।
ऑपरेटिंग सिस्टम: प्रक्रिया प्रबंधन के लिए एक व्यापक गाइड
प्रक्रिया प्रबंधन किसी भी आधुनिक ऑपरेटिंग सिस्टम का एक मूलभूत पहलू है। इसमें प्रक्रियाओं के निष्पादन का प्रबंधन, संसाधनों का आवंटन और सुचारू मल्टीटास्किंग सुनिश्चित करना शामिल है। यह मार्गदर्शिका प्रक्रिया प्रबंधन अवधारणाओं, तकनीकों और चुनौतियों का विस्तृत अवलोकन प्रदान करती है। यह छात्रों, डेवलपर्स, सिस्टम प्रशासकों और ऑपरेटिंग सिस्टम कैसे काम करते हैं, इसे समझने में रुचि रखने वाले किसी भी व्यक्ति के लिए डिज़ाइन किया गया है।
एक प्रक्रिया क्या है?
मूल रूप से, एक प्रक्रिया निष्पादन में एक प्रोग्राम का एक उदाहरण है। यह केवल प्रोग्राम का कोड नहीं है; इसमें प्रोग्राम काउंटर, रजिस्टर और चर के वर्तमान मान शामिल हैं। प्रत्येक प्रक्रिया का अपना मेमोरी स्थान होता है, जो इसे अन्य प्रक्रियाओं के साथ सीधे हस्तक्षेप करने से रोकता है।
एक प्रोग्राम को एक रेसिपी और एक प्रक्रिया को वास्तव में पकवान पकाने के कार्य के रूप में सोचें। आप एक ही प्रोग्राम को एक साथ चलाने वाली कई प्रक्रियाएँ रख सकते हैं (उदाहरण के लिए, एक टेक्स्ट एडिटर के कई उदाहरण), प्रत्येक अपने स्वयं के डेटा और स्थिति के साथ।
एक प्रक्रिया के प्रमुख घटक:
- प्रोग्राम कोड (टेक्स्ट सेक्शन): निष्पादित किए जाने वाले निर्देश।
- डेटा सेक्शन: वैश्विक चर और गतिशील रूप से आवंटित मेमोरी।
- स्टैक: फ़ंक्शन कॉल, स्थानीय चर और रिटर्न पते के लिए उपयोग किया जाता है।
- हीप: रनटाइम के दौरान गतिशील रूप से आवंटित मेमोरी।
- प्रक्रिया नियंत्रण ब्लॉक (पीसीबी): प्रत्येक प्रक्रिया के लिए ओएस द्वारा बनाए रखा गया एक डेटा संरचना, जिसमें प्रक्रिया आईडी, स्थिति, प्रोग्राम काउंटर और रजिस्टर मान जैसी जानकारी होती है।
प्रक्रिया अवस्थाएँ
एक प्रक्रिया अपने जीवनकाल के दौरान विभिन्न अवस्थाओं से गुजरती है। प्रक्रिया प्रबंधन को समझने के लिए इन अवस्थाओं को समझना महत्वपूर्ण है।
- नया: प्रक्रिया बनाई जा रही है।
- तैयार: प्रक्रिया को एक प्रोसेसर को असाइन किए जाने की प्रतीक्षा है।
- चल रहा है: निर्देश निष्पादित किए जा रहे हैं।
- प्रतीक्षा (अवरुद्ध): प्रक्रिया कुछ घटना होने की प्रतीक्षा कर रही है (उदाहरण के लिए, I/O पूर्णता या एक सिग्नल प्राप्त करना)।
- समाप्त: प्रक्रिया ने निष्पादन समाप्त कर दिया है।
ये अवस्थाएँ एक प्रक्रिया के जीवन चक्र का प्रतिनिधित्व करती हैं, और ऑपरेटिंग सिस्टम उनके बीच संक्रमणों का प्रबंधन करने के लिए जिम्मेदार है। उदाहरण के लिए, जब किसी प्रक्रिया को डिस्क से डेटा पढ़ने की आवश्यकता होती है, तो यह चल रही अवस्था से प्रतीक्षा अवस्था में तब तक परिवर्तित हो जाती है जब तक कि I/O ऑपरेशन पूरा नहीं हो जाता। फिर, यह वापस तैयार अवस्था में परिवर्तित हो जाती है, फिर से चलने के लिए अपनी बारी का इंतजार करती है।
प्रक्रिया नियंत्रण ब्लॉक (पीसीबी)
पीसीबी एक डेटा संरचना है जिसमें ऑपरेटिंग सिस्टम को एक प्रक्रिया का प्रबंधन करने के लिए आवश्यक सभी जानकारी होती है। यह एक प्रक्रिया के बायोडाटा की तरह है, जिसमें वह सब कुछ होता है जो ओएस को इसका ट्रैक रखने के लिए जानना आवश्यक है।
पीसीबी की विशिष्ट सामग्री:
- प्रक्रिया आईडी (पीआईडी): प्रक्रिया के लिए एक अद्वितीय पहचानकर्ता।
- प्रक्रिया अवस्था: प्रक्रिया की वर्तमान अवस्था (उदाहरण के लिए, तैयार, चल रही, प्रतीक्षा)।
- प्रोग्राम काउंटर (पीसी): निष्पादित किए जाने वाले अगले निर्देश का पता।
- सीपीयू रजिस्टर: सीपीयू रजिस्टर की सामग्री (संचायक, सूचकांक रजिस्टर, स्टैक पॉइंटर, सामान्य-उद्देश्य रजिस्टर, और कोई भी स्थिति-कोड जानकारी)।
- मेमोरी प्रबंधन जानकारी: प्रक्रिया को आवंटित मेमोरी के बारे में जानकारी, जैसे कि बेस और लिमिट रजिस्टर, पेज टेबल या सेगमेंट टेबल।
- लेखा जानकारी: उपयोग किए गए सीपीयू समय की मात्रा, समय सीमा, खाता संख्या, उपयोग की गई मेमोरी की मात्रा, आदि।
- I/O स्थिति जानकारी: प्रक्रिया को आवंटित I/O डिवाइस, खुली फ़ाइलों की सूची, आदि।
प्रक्रिया शेड्यूलिंग
प्रक्रिया शेड्यूलिंग यह निर्धारित करने की गतिविधि है कि तैयार कतार में किस प्रक्रिया को सीपीयू आवंटित किया जाना चाहिए। शेड्यूलिंग का लक्ष्य कुछ मानदंडों के अनुसार सिस्टम प्रदर्शन को अनुकूलित करना है, जैसे कि सीपीयू उपयोग को अधिकतम करना, टर्नअराउंड समय को कम करना या प्रक्रियाओं के बीच निष्पक्षता सुनिश्चित करना।
शेड्यूलिंग कतारें
ओएस प्रक्रियाओं का प्रबंधन करने के लिए कतारों का उपयोग करता है। सामान्य कतारों में शामिल हैं:
- जॉब कतार: सिस्टम में सभी प्रक्रियाएं शामिल हैं।
- तैयार कतार: उन सभी प्रक्रियाओं को शामिल करता है जो निष्पादित करने के लिए तैयार हैं और सीपीयू की प्रतीक्षा कर रही हैं।
- डिवाइस कतारें: प्रत्येक I/O डिवाइस के लिए कतारों का एक सेट, जिसमें उस डिवाइस की प्रतीक्षा करने वाली प्रक्रियाएँ शामिल हैं।
शेड्यूलर
शेड्यूलर सिस्टम सॉफ़्टवेयर मॉड्यूल हैं जो चलाने के लिए अगली प्रक्रिया का चयन करते हैं। दो मुख्य प्रकार के शेड्यूलर हैं:
- लंबे समय तक चलने वाला शेड्यूलर (जॉब शेड्यूलर): जॉब कतार से प्रक्रियाओं का चयन करता है और उन्हें निष्पादन के लिए मेमोरी में लोड करता है। यह मल्टीप्रोग्रामिंग की डिग्री (मेमोरी में प्रक्रियाओं की संख्या) को नियंत्रित करता है। यह शॉर्ट-टर्म शेड्यूलर की तुलना में कम बार चलता है।
- शॉर्ट-टर्म शेड्यूलर (सीपीयू शेड्यूलर): तैयार कतार से एक प्रक्रिया का चयन करता है और सीपीयू को आवंटित करता है। यह बहुत बार चलता है, इसलिए यह तेज़ होना चाहिए।
कुछ सिस्टम में, एक मध्यम अवधि का शेड्यूलर भी होता है, जो मल्टीप्रोग्रामिंग की डिग्री को कम करने के लिए प्रक्रियाओं को मेमोरी (डिस्क पर) और वापस अंदर स्वैप करता है। इसे स्वैपिंग भी कहा जाता है।
शेड्यूलिंग एल्गोरिदम
कई शेड्यूलिंग एल्गोरिदम मौजूद हैं, प्रत्येक की अपनी ताकत और कमजोरियां हैं। एल्गोरिदम की पसंद सिस्टम के विशिष्ट लक्ष्यों पर निर्भर करती है। यहां कुछ सामान्य एल्गोरिदम दिए गए हैं:
- फर्स्ट-कम, फर्स्ट-सर्व्ड (एफसीएफएस): प्रक्रियाओं को उनके आगमन के क्रम में निष्पादित किया जाता है। लागू करने में आसान है लेकिन यदि कोई लंबी प्रक्रिया पहले आती है (कन्वॉय प्रभाव) तो छोटी प्रक्रियाओं के लिए लंबे समय तक प्रतीक्षा करने का कारण बन सकती है।
- शॉर्टेस्ट जॉब फर्स्ट (एसजेएफ): सबसे कम निष्पादन समय वाली प्रक्रियाओं को पहले निष्पादित किया जाता है। औसत प्रतीक्षा समय को कम करने के मामले में इष्टतम है, लेकिन निष्पादन समय को पहले से जानने की आवश्यकता है, जो अक्सर संभव नहीं होता है।
- प्राथमिकता शेड्यूलिंग: प्रत्येक प्रक्रिया को एक प्राथमिकता सौंपी जाती है, और उच्चतम प्राथमिकता वाली प्रक्रिया को पहले निष्पादित किया जाता है। भूख का कारण बन सकता है यदि कम-प्राथमिकता वाली प्रक्रियाओं को उच्च-प्राथमिकता वाली प्रक्रियाओं द्वारा लगातार बाधित किया जाता है।
- राउंड रॉबिन (आरआर): प्रत्येक प्रक्रिया को निष्पादित करने के लिए एक निश्चित समय स्लाइस (क्वांटम) दिया जाता है। यदि प्रक्रिया समय स्लाइस के भीतर पूरी नहीं होती है, तो इसे तैयार कतार के पीछे ले जाया जाता है। निष्पक्ष और भूख को रोकता है, लेकिन संदर्भ स्विचिंग ओवरहेड दक्षता को कम कर सकता है यदि समय स्लाइस बहुत छोटा है।
- मल्टीलेवल कतार शेड्यूलिंग: तैयार कतार को कई कतारों में विभाजित किया गया है, प्रत्येक अपने स्वयं के शेड्यूलिंग एल्गोरिदम के साथ। प्रक्रियाओं को उनकी संपत्तियों के आधार पर कतारों को सौंपा जाता है (उदाहरण के लिए, इंटरैक्टिव बनाम बैच)।
- मल्टीलेवल फीडबैक कतार शेड्यूलिंग: प्रक्रियाएं विभिन्न कतारों के बीच स्थानांतरित हो सकती हैं। यह शेड्यूलर को उनके व्यवहार के आधार पर प्रक्रियाओं की प्राथमिकता को गतिशील रूप से समायोजित करने की अनुमति देता है।
उदाहरण: तीन प्रक्रियाओं, P1, P2 और P3 पर विचार करें, जिनका बर्स्ट समय (निष्पादन समय) क्रमशः 24, 3 और 3 मिलीसेकंड है। यदि वे P1, P2, P3 के क्रम में आते हैं, तो FCFS शेड्यूलिंग के परिणामस्वरूप P1 पहले, फिर P2, फिर P3 चलेगी। औसत प्रतीक्षा समय (0 + 24 + 27) / 3 = 17 मिलीसेकंड होगा। हालांकि, यदि हमने एसजेएफ का उपयोग किया, तो प्रक्रियाओं को पी 2, पी 3, पी 1 के क्रम में निष्पादित किया जाएगा, और औसत प्रतीक्षा समय (0 + 3 + 6) / 3 = 3 मिलीसेकंड होगा - एक महत्वपूर्ण सुधार!
अंतर-प्रक्रिया संचार (आईपीसी)
अंतर-प्रक्रिया संचार (आईपीसी) प्रक्रियाओं को एक दूसरे के साथ संवाद करने और सिंक्रनाइज़ करने की अनुमति देता है। यह जटिल एप्लिकेशन बनाने के लिए आवश्यक है जिसमें एक साथ काम करने वाली कई प्रक्रियाएँ शामिल हैं।
सामान्य आईपीसी तंत्र:
- साझा मेमोरी: प्रक्रियाएं मेमोरी के एक क्षेत्र को साझा करती हैं, जिससे वे सीधे डेटा तक पहुंच और संशोधित कर सकती हैं। दौड़ की स्थिति से बचने के लिए सावधानीपूर्वक सिंक्रनाइज़ेशन की आवश्यकता होती है।
- संदेश पासिंग: प्रक्रियाएं एक दूसरे को संदेश भेजकर संवाद करती हैं। साझा मेमोरी की तुलना में बेहतर अलगाव प्रदान करता है लेकिन धीमा हो सकता है।
- पाइप: दो प्रक्रियाओं के बीच एक दिशात्मक संचार चैनल। आमतौर पर संबंधित प्रक्रियाओं (उदाहरण के लिए, माता-पिता और बच्चे) के बीच संचार के लिए उपयोग किया जाता है।
- नामित पाइप (एफआईएफओ): पाइप के समान लेकिन असंबंधित प्रक्रियाओं के बीच संचार के लिए उपयोग किया जा सकता है।
- संदेश कतारें: प्रक्रियाएं एक कतार से/को संदेश भेज और प्राप्त कर सकती हैं। एसिंक्रोनस संचार प्रदान करता है।
- सॉकेट: एक ही मशीन पर या नेटवर्क पर प्रक्रियाओं के बीच संचार के लिए एक बहुमुखी तंत्र। क्लाइंट-सर्वर अनुप्रयोगों और वितरित सिस्टम के लिए उपयोग किया जाता है।
- सिग्नल: एक सॉफ़्टवेयर इंटरप्ट जिसे किसी प्रक्रिया को किसी घटना के बारे में सूचित करने के लिए भेजा जा सकता है (उदाहरण के लिए, समाप्ति अनुरोध, त्रुटि स्थिति)।
उदाहरण: एक वेब सर्वर एक साथ आने वाले अनुरोधों को संभालने के लिए कई प्रक्रियाओं का उपयोग कर सकता है। प्रत्येक प्रक्रिया एक एकल अनुरोध को संभाल सकती है, और प्रक्रियाएं सर्वर की स्थिति के बारे में डेटा साझा करने के लिए साझा मेमोरी या संदेश पासिंग का उपयोग करके संवाद कर सकती हैं।
सिंक्रनाइज़ेशन
जब कई प्रक्रियाएं साझा संसाधनों तक पहुंचती हैं, तो डेटा भ्रष्टाचार और दौड़ की स्थिति को रोकने के लिए सिंक्रनाइज़ेशन सुनिश्चित करना महत्वपूर्ण है। सिंक्रनाइज़ेशन तंत्र प्रक्रियाओं के निष्पादन का समन्वय करने और साझा डेटा की सुरक्षा के तरीके प्रदान करते हैं।
सामान्य सिंक्रनाइज़ेशन तकनीकें:
- म्यूटेक्स लॉक: एक बाइनरी सेमाफोर जिसका उपयोग कोड के एक महत्वपूर्ण खंड की सुरक्षा के लिए किया जा सकता है। केवल एक प्रक्रिया एक समय में म्यूटेक्स लॉक को धारण कर सकती है।
- सेमाफोर: म्यूटेक्स लॉक का एक सामान्यीकरण जिसका उपयोग सीमित संख्या में संसाधनों तक पहुंच को नियंत्रित करने के लिए किया जा सकता है।
- मॉनिटर: एक उच्च-स्तरीय सिंक्रनाइज़ेशन संरचना जो साझा डेटा और उन कार्यों को समाहित करती है जो उस पर किए जा सकते हैं। प्रतीक्षा और सिग्नलिंग के लिए पारस्परिक बहिष्करण और शर्त चर प्रदान करता है।
- शर्त चर: मॉनिटर के भीतर उपयोग किया जाता है ताकि प्रक्रियाओं को एक विशिष्ट स्थिति के सत्य होने की प्रतीक्षा की जा सके।
- स्पिनलॉक: एक प्रकार का लॉक जहां एक प्रक्रिया बार-बार जांचती है कि लॉक उपलब्ध है या नहीं। छोटे महत्वपूर्ण वर्गों के लिए कुशल हो सकता है, लेकिन सीपीयू समय बर्बाद करता है यदि लॉक लंबे समय तक आयोजित किया जाता है।
उदाहरण: एक साझा काउंटर पर विचार करें जिसे कई प्रक्रियाओं द्वारा बढ़ाया जाता है। सिंक्रनाइज़ेशन के बिना, कई प्रक्रियाएं काउंटर के मूल्य को पढ़ सकती हैं, इसे बढ़ा सकती हैं और इसे वापस लिख सकती हैं, जिससे गलत परिणाम हो सकते हैं। वेतन वृद्धि ऑपरेशन की सुरक्षा के लिए एक म्यूटेक्स लॉक का उपयोग यह सुनिश्चित करता है कि केवल एक प्रक्रिया एक समय में काउंटर तक पहुंच सकती है, जिससे दौड़ की स्थिति को रोका जा सकता है।
डेडलॉक
डेडलॉक तब होता है जब दो या दो से अधिक प्रक्रियाएं अनिश्चित काल के लिए अवरुद्ध हो जाती हैं, प्रत्येक दूसरे द्वारा आयोजित एक संसाधन की प्रतीक्षा कर रही है। यह एक गंभीर समस्या है जो एक सिस्टम को रोक सकती है।
डेडलॉक के लिए शर्तें:
डेडलॉक होने के लिए चार शर्तों को एक साथ पूरा किया जाना चाहिए (कॉफमैन की शर्तें):
- पारस्परिक बहिष्करण: कम से कम एक संसाधन को गैर-साझाकरण योग्य मोड में आयोजित किया जाना चाहिए; यानी, एक समय में केवल एक प्रक्रिया संसाधन का उपयोग कर सकती है।
- होल्ड एंड वेट: एक प्रक्रिया को कम से कम एक संसाधन धारण करना चाहिए और अतिरिक्त संसाधनों को प्राप्त करने की प्रतीक्षा करनी चाहिए जो वर्तमान में अन्य प्रक्रियाओं द्वारा आयोजित किए जा रहे हैं।
- कोई प्रीएम्प्शन नहीं: संसाधनों को जबरन प्रक्रिया से नहीं हटाया जा सकता है; एक संसाधन को केवल इसे धारण करने वाली प्रक्रिया द्वारा स्वेच्छा से जारी किया जा सकता है।
- परिपत्र प्रतीक्षा: प्रतीक्षारत प्रक्रियाओं का एक सेट {P0, P1, ..., Pn} मौजूद होना चाहिए जैसे कि P0 एक ऐसे संसाधन की प्रतीक्षा कर रहा है जो P1 द्वारा आयोजित किया गया है, P1 एक ऐसे संसाधन की प्रतीक्षा कर रहा है जो P2 द्वारा आयोजित किया गया है, ..., Pn-1 एक ऐसे संसाधन की प्रतीक्षा कर रहा है जो Pn द्वारा आयोजित किया गया है, और Pn एक ऐसे संसाधन की प्रतीक्षा कर रहा है जो P0 द्वारा आयोजित किया गया है।
डेडलॉक हैंडलिंग तकनीकें:
डेडलॉक को संभालने के कई दृष्टिकोण हैं:
- डेडलॉक रोकथाम: सुनिश्चित करें कि कॉफमैन की कम से कम एक शर्त लागू नहीं हो सकती। उदाहरण के लिए, प्रक्रियाओं को एक ही बार में सभी संसाधनों का अनुरोध करने या संसाधनों के पूर्वक्रम की अनुमति देने की आवश्यकता होती है।
- डेडलॉक से बचाव: डेडलॉक स्थिति में प्रवेश करने से बचने के लिए संसाधन आवंटन के बारे में जानकारी का उपयोग करें। बैंकर एल्गोरिदम एक सामान्य उदाहरण है।
- डेडलॉक का पता लगाना और पुनर्प्राप्ति: डेडलॉक को होने दें, फिर उनका पता लगाएं और पुनर्प्राप्त करें। पुनर्प्राप्ति में प्रक्रियाओं को समाप्त करना या संसाधनों को पहले से रोकना शामिल हो सकता है।
- डेडलॉक अज्ञानता: समस्या को अनदेखा करें और आशा करें कि यह नहीं होगी। यह दृष्टिकोण अधिकांश ऑपरेटिंग सिस्टम, विंडोज और लिनक्स सहित द्वारा लिया जाता है, क्योंकि डेडलॉक रोकथाम और बचाव महंगा हो सकता है।
उदाहरण: दो प्रक्रियाओं, P1 और P2, और दो संसाधनों, R1 और R2 पर विचार करें। P1 R1 रखता है और R2 का इंतजार कर रहा है, जबकि P2 R2 रखता है और R1 का इंतजार कर रहा है। यह एक परिपत्र प्रतीक्षा बनाता है, जिससे डेडलॉक हो जाता है। इस डेडलॉक को रोकने का एक तरीका प्रक्रियाओं को निष्पादन शुरू करने से पहले एक ही बार में सभी संसाधनों का अनुरोध करने की आवश्यकता होगी।
वास्तविक दुनिया के उदाहरण
प्रक्रिया प्रबंधन अवधारणाओं का उपयोग दुनिया भर के विभिन्न ऑपरेटिंग सिस्टम में किया जाता है:
- लिनक्स: पूरी तरह से निष्पक्ष शेड्यूलर (सीएफएस) नामक एक परिष्कृत शेड्यूलिंग एल्गोरिदम का उपयोग करता है, जिसका उद्देश्य सभी प्रक्रियाओं को उचित सीपीयू आवंटन प्रदान करना है।
- विंडोज: कई प्राथमिकता स्तरों के साथ एक प्राथमिकता-आधारित शेड्यूलिंग एल्गोरिदम को नियोजित करता है।
- मैकोज़: एक हाइब्रिड दृष्टिकोण का उपयोग करता है जो समय-विभाजन के साथ प्राथमिकता-आधारित शेड्यूलिंग को जोड़ता है।
- एंड्रॉइड: लिनक्स कर्नेल पर निर्मित, यह समान प्रक्रिया प्रबंधन तकनीकों का उपयोग करता है, जो मोबाइल उपकरणों के लिए अनुकूलित है।
- रीयल-टाइम ऑपरेटिंग सिस्टम (आरटीओएस): एम्बेडेड सिस्टम और महत्वपूर्ण अनुप्रयोगों में उपयोग किया जाता है, अक्सर विशेष शेड्यूलिंग एल्गोरिदम का उपयोग करते हैं जो कार्यों के समय पर निष्पादन की गारंटी देते हैं। उदाहरणों में वीएक्सवर्क्स और फ्रीआरटीओएस शामिल हैं।
निष्कर्ष
प्रक्रिया प्रबंधन ऑपरेटिंग सिस्टम का एक महत्वपूर्ण पहलू है जो मल्टीटास्किंग, संसाधन साझाकरण और कुशल सिस्टम उपयोग को सक्षम बनाता है। इस गाइड में चर्चा की गई अवधारणाओं को समझना ऑपरेटिंग सिस्टम के साथ काम करने, एप्लिकेशन विकसित करने या सिस्टम का प्रबंधन करने वाले किसी भी व्यक्ति के लिए आवश्यक है। प्रक्रिया अवस्थाओं, शेड्यूलिंग एल्गोरिदम, अंतर-प्रक्रिया संचार और डेडलॉक हैंडलिंग में महारत हासिल करके, आप अधिक मजबूत, कुशल और विश्वसनीय सॉफ़्टवेयर सिस्टम बना सकते हैं। विभिन्न दृष्टिकोणों के बीच व्यापार-बंद पर विचार करना और उन तकनीकों को चुनना याद रखें जो आपकी विशिष्ट आवश्यकताओं के लिए सबसे उपयुक्त हैं।
आगे की पढ़ाई
प्रक्रिया प्रबंधन की अपनी समझ को गहरा करने के लिए, निम्नलिखित संसाधनों का पता लगाने पर विचार करें:
- ऑपरेटिंग सिस्टम कॉन्सेप्ट अब्राहम सिल्बरशाट्ज़, पीटर बेयर गैल्विन और ग्रेग गेगने द्वारा
- मॉडर्न ऑपरेटिंग सिस्टम एंड्रयू एस. टेनेनबॉम द्वारा
- कौरसेरा, एडएक्स और उदासिटी जैसे प्लेटफार्मों से ऑपरेटिंग सिस्टम पर ऑनलाइन पाठ्यक्रम और ट्यूटोरियल।
- अपनी पसंद के ऑपरेटिंग सिस्टम के लिए दस्तावेज़ (उदाहरण के लिए, लिनक्स मैन पेज, विंडोज एपीआई दस्तावेज़)।