ओएस में सिस्टम कॉल (Operaटिंग सिस्टम (प्रणाली) क्या है, प्रकार और उदाहरण
सिस्टम कॉल क्या है? Operaटिंग सिस्टम?
A सिस्टम कॉल एक तंत्र है जो एक प्रक्रिया और ऑपरेटिंग सिस्टम के बीच इंटरफ़ेस प्रदान करता है। यह एक प्रोग्रामेटिक विधि है जिसमें एक कंप्यूटर प्रोग्राम ओएस के कर्नेल से एक सेवा का अनुरोध करता है।
सिस्टम कॉल API (एप्लीकेशन प्रोग्रामिंग इंटरफ़ेस) के माध्यम से उपयोगकर्ता प्रोग्राम को ऑपरेटिंग सिस्टम की सेवाएँ प्रदान करता है। सिस्टम कॉल कर्नेल सिस्टम के लिए एकमात्र प्रवेश बिंदु हैं।

सिस्टम कॉल का उदाहरण
उदाहरण के लिए, अगर हमें एक फ़ाइल से डेटा पढ़ने के लिए प्रोग्राम कोड लिखना है, उस डेटा को दूसरी फ़ाइल में कॉपी करना है। प्रोग्राम को सबसे पहले दो फ़ाइलों के नाम की ज़रूरत होती है, इनपुट और आउटपुट फ़ाइलें।
एक इंटरैक्टिव प्रणाली में, इस प्रकार के प्रोग्राम निष्पादन के लिए OS द्वारा कुछ सिस्टम कॉल की आवश्यकता होती है।
- पहला कॉल स्क्रीन पर एक संकेत संदेश लिखना है
- दूसरा, कीबोर्ड से उन अक्षरों को पढ़ना जो दो फाइलों को परिभाषित करते हैं।
सिस्टम कॉल कैसे काम करता है?
ओएस में सिस्टम कॉल के लिए चरण इस प्रकार हैं:
जैसा कि आप ऊपर दिए गए सिस्टम कॉल उदाहरण आरेख में देख सकते हैं।
चरण 1) प्रक्रियाएं उपयोगकर्ता मोड में तब तक निष्पादित होती हैं जब तक कि सिस्टम कॉल इसमें बाधा नहीं डालता।
चरण 2) इसके बाद, सिस्टम कॉल को प्राथमिकता के आधार पर कर्नेल-मोड में निष्पादित किया जाता है।
चरण 3) एक बार सिस्टम कॉल निष्पादन समाप्त हो जाने पर, नियंत्रण उपयोगकर्ता मोड पर वापस आ जाता है।
चरण 4) उपयोगकर्ता प्रक्रियाओं का निष्पादन पुनः शुरू हुआ कर्नेल मोड.
आपको OS में सिस्टम कॉल की आवश्यकता क्यों है?
निम्नलिखित स्थितियाँ ऐसी हैं जिनमें OS में सिस्टम कॉल की आवश्यकता होती है:
- फ़ाइलों को पढ़ने और लिखने के लिए सिस्टम कॉल की आवश्यकता होती है।
- यदि कोई फ़ाइल सिस्टम फ़ाइलें बनाना या हटाना चाहता है, तो सिस्टम कॉल की आवश्यकता होती है।
- सिस्टम कॉल का उपयोग नई प्रक्रियाओं के निर्माण और प्रबंधन के लिए किया जाता है।
- नेटवर्क कनेक्शन को पैकेट भेजने और प्राप्त करने के लिए सिस्टम कॉल की आवश्यकता होती है।
- स्कैनर, प्रिंटर जैसे हार्डवेयर उपकरणों तक पहुंच के लिए सिस्टम कॉल की आवश्यकता होती है।
सिस्टम कॉल के प्रकार
ऑपरेटिंग सिस्टम में सिस्टम कॉल के पांच प्रकार इस प्रकार हैं:
- प्रक्रिया नियंत्रण
- फाइल प्रबंधन
- डिवाइस प्रबंधन
- सूचना रखरखाव
- संचार
प्रक्रिया नियंत्रण
यह सिस्टम कॉल प्रक्रिया निर्माण, प्रक्रिया समाप्ति आदि का कार्य करता है।
कार्य:
- समाप्त करें और निरस्त करें
- लोड करें और निष्पादित करें
- प्रक्रिया बनाएं और प्रक्रिया समाप्त करें
- रुको और Signal कार्यक्रम
- मेमोरी आवंटित करें और मुक्त करें
फाइल प्रबंधन
फ़ाइल प्रबंधन सिस्टम कॉल फ़ाइल हेरफेर कार्यों को संभालता है, जैसे फ़ाइल बनाना, पढ़ना और लिखना आदि।
कार्य:
- एक फ़ाइल बनाएँ
- फ़ाइल हटाएँ
- फ़ाइल खोलें और बंद करें
- पढ़ें, लिखें और पुनः स्थापित करें
- फ़ाइल विशेषताएँ प्राप्त करें और सेट करें
डिवाइस प्रबंधन
डिवाइस प्रबंधन डिवाइस मैनीपुलेशन का कार्य करता है जैसे डिवाइस बफर्स से पढ़ना, डिवाइस बफर्स में लिखना आदि।
कार्य:
- डिवाइस का अनुरोध करें और रिलीज़ करें
- तार्किक रूप से डिवाइस को जोड़ें/अलग करें
- डिवाइस विशेषताएँ प्राप्त करें और सेट करें
सूचना रखरखाव
यह ओएस और उपयोगकर्ता प्रोग्राम के बीच सूचना और उसके स्थानांतरण को संभालता है।
कार्य:
- समय और दिनांक प्राप्त करें या सेट करें
- प्रक्रिया और डिवाइस विशेषताएँ प्राप्त करें
संचार
इस प्रकार के सिस्टम कॉल विशेष रूप से अंतरप्रक्रिया संचार के लिए उपयोग किए जाते हैं।
कार्य:
- संचार कनेक्शन बनाएं, हटाएं
- संदेश भेजें, प्राप्त करें
- स्थिति जानकारी स्थानांतरित करने में OS की सहायता करें
- दूरस्थ डिवाइस को जोड़ें या अलग करें
सिस्टम कॉल के लिए पैरामीटर पास करने के नियम
सिस्टम कॉल में पैरामीटर पास करने के लिए सामान्य नियम यहां दिए गए हैं:
- ऑपरेटिंग सिस्टम द्वारा पैरामीटर्स को स्टैक पर पुश किया जाना चाहिए या स्टैक से बाहर निकाला जाना चाहिए।
- पैरामीटर्स को रजिस्टरों में पास किया जा सकता है।
- जब रजिस्टरों की तुलना में अधिक पैरामीटर हों, तो उसे ब्लॉक में संग्रहित किया जाना चाहिए, तथा ब्लॉक पते को रजिस्टर में पैरामीटर के रूप में पास किया जाना चाहिए।
ओएस में प्रयुक्त महत्वपूर्ण सिस्टम कॉल
रुको()
कुछ सिस्टम में, एक प्रक्रिया को अपना निष्पादन पूरा करने के लिए दूसरी प्रक्रिया की प्रतीक्षा करनी पड़ती है। इस प्रकार की स्थिति तब होती है जब एक पैरेंट प्रक्रिया एक चाइल्ड प्रक्रिया बनाती है, और पैरेंट प्रक्रिया का निष्पादन तब तक निलंबित रहता है जब तक कि उसकी चाइल्ड प्रक्रिया निष्पादित नहीं हो जाती।
पैरेंट प्रक्रिया का निलंबन स्वचालित रूप से wait() सिस्टम कॉल के साथ होता है। जब चाइल्ड प्रक्रिया निष्पादन समाप्त करती है, तो नियंत्रण पैरेंट प्रक्रिया में वापस चला जाता है।
कांटा()
प्रक्रियाएँ इस सिस्टम कॉल का उपयोग उन प्रक्रियाओं को बनाने के लिए करती हैं जो स्वयं की प्रतिलिपि होती हैं। इस सिस्टम कॉल की मदद से पैरेंट प्रक्रिया एक चाइल्ड प्रक्रिया बनाती है, और जब तक चाइल्ड प्रक्रिया निष्पादित नहीं हो जाती, तब तक पैरेंट प्रक्रिया का निष्पादन निलंबित रहेगा।
कार्यकारी ()
यह सिस्टम कॉल तब चलता है जब पहले से चल रही प्रक्रिया के संदर्भ में एक निष्पादन योग्य फ़ाइल पुरानी निष्पादन योग्य फ़ाइल को प्रतिस्थापित करती है। हालाँकि, मूल प्रक्रिया पहचानकर्ता बना रहता है क्योंकि नई प्रक्रिया नहीं बनाई जाती है, लेकिन स्टैक, डेटा, हेड, डेटा आदि को नई प्रक्रिया द्वारा प्रतिस्थापित किया जाता है।
मारो ()
किल () सिस्टम कॉल का उपयोग ओएस द्वारा किसी प्रक्रिया को समाप्ति संकेत भेजने के लिए किया जाता है जो प्रक्रिया को बाहर निकलने के लिए प्रेरित करता है। हालाँकि, किल सिस्टम कॉल का मतलब जरूरी नहीं है कि प्रक्रिया को मारना हो और इसके कई अर्थ हो सकते हैं।
बाहर जाएं()
exit() सिस्टम कॉल का उपयोग प्रोग्राम निष्पादन को समाप्त करने के लिए किया जाता है। विशेष रूप से बहु-थ्रेडेड वातावरण में, यह कॉल परिभाषित करता है कि थ्रेड निष्पादन पूरा हो गया है। OS exit() सिस्टम कॉल के उपयोग के बाद प्रक्रिया द्वारा उपयोग किए गए संसाधनों को पुनः प्राप्त करता है।
सारांश
| श्रेणियाँ | Windows | यूनिक्स |
|---|---|---|
| प्रक्रिया नियंत्रण | प्रक्रिया बनाएं() एक्ज़िटप्रोसेस() एकलऑब्जेक्टकेलिएप्रतीक्षा करें() |
कांटा() बाहर जाएं() रुको() |
| डिवाइस हेरफेर | सेटकंसोलमोड() रीडकंसोल() राइटकंसोल() |
लोक्टल() पढ़ें () लिखो() |
| फ़ाइल हेरफेर | फ़ाइल बनाएं() फ़ाइल पढ़ें() फ़ाइल लिखें() क्लोज़हैंडल() |
खुला() पढ़ना() लिखो() बंद करना!) |
| सूचना रखरखाव | GetCurrentProcessID() टाइमर लगाएं() नींद() |
गेटपिड() अलार्म() नींद () |
| संचार | क्रिएटपाइप() फ़ाइलमैपिंग बनाएं() मैपव्यूऑफफाइल() |
पाइप() shm_ओपन() mmap () |
| सुरक्षा | सेटफ़ाइलसिक्योरिटी() सुरक्षा प्रारंभ करेंDescriptया() सेटसिक्योरिटीDescriptया समूह () |
चामोद() उमास्क() चाउन() |

