ओएस में सिस्टम कॉल (Operaटिंग सिस्टम (प्रणाली) क्या है, प्रकार और उदाहरण

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

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

  • 🔑 परिभाषा: यह एकमात्र प्रवेश बिंदु है जहां उपयोगकर्ता प्रोग्राम ऑपरेटिंग सिस्टम सेवाओं तक पहुंचते हैं।
  • 🔄 यह कैसे काम करता है: यह प्रक्रिया कर्नेल में प्रवेश करती है, जो अनुरोध को निष्पादित करता है और उपयोगकर्ता मोड में वापस आ जाता है।
  • प्रकार: प्रक्रिया नियंत्रण, फाइल, उपकरण, सूचना रखरखाव और संचार।
  • ⚙️ उदाहरण: fork(), exec(), wait(), exit(), open(), read(), और write().
  • 🤖 एआई का दृष्टिकोण: मशीन लर्निंग सिस्टम कॉल को स्कैन करती है tracघुसपैठ का पता लगाने के लिए; कोपायलट सिस्टम कॉल कोडिंग को गति देता है।

सिस्टम कॉल में Operaटिंग सिस्टम

सिस्टम कॉल क्या है? Operaटिंग सिस्टम?

A सिस्टम कॉल एक तंत्र है जो एक प्रक्रिया और ऑपरेटिंग सिस्टम के बीच इंटरफ़ेस प्रदान करता है। यह एक प्रोग्रामेटिक विधि है जिसमें एक कंप्यूटर प्रोग्राम ओएस के कर्नेल से एक सेवा का अनुरोध करता है।

सिस्टम कॉल API (एप्लीकेशन प्रोग्रामिंग इंटरफ़ेस) के माध्यम से उपयोगकर्ता प्रोग्राम को ऑपरेटिंग सिस्टम की सेवाएँ प्रदान करता है। सिस्टम कॉल कर्नेल सिस्टम के लिए एकमात्र प्रवेश बिंदु हैं।

सिस्टम कॉल्स Operaटिंग सिस्टम

सिस्टम कॉल्स Operaटिंग सिस्टम

सिस्टम कॉल का उदाहरण

उदाहरण के लिए, एक ऐसा प्रोग्राम लिखने के लिए जो एक फ़ाइल से डेटा पढ़ता है और उसे दूसरी फ़ाइल में कॉपी करता है, प्रोग्राम को सबसे पहले दो फ़ाइलों के नाम चाहिए होते हैं: इनपुट फ़ाइल और आउटपुट फ़ाइल।

एक इंटरेक्टिव सिस्टम में, इस प्रकार के प्रोग्राम निष्पादन के लिए ऑपरेटिंग सिस्टम द्वारा कुछ सिस्टम कॉल की आवश्यकता होती है।

  • पहला कार्य स्क्रीन पर एक संकेत संदेश लिखना है।
  • दूसरा तरीका यह है कि कीबोर्ड से उन अक्षरों को पढ़ा जाए जो दोनों फाइलों को परिभाषित करते हैं।

सिस्टम कॉल कैसे काम करता है?

ऑपरेटिंग सिस्टम में सिस्टम कॉल करने के चरण इस प्रकार हैं:

सिस्टम कॉल कार्य करता है

Archiसिस्टम कॉल की संरचना

Archiसिस्टम कॉल की संरचना

जैसा कि आप ऊपर दिए गए सिस्टम कॉल आरेख में देख सकते हैं:

चरण 1) सिस्टम कॉल द्वारा बाधित होने तक ये प्रक्रियाएं यूजर मोड में चलती रहती हैं।

चरण 2) उसके बाद, सिस्टम कॉल को कर्नेल मोड में प्राथमिकता के आधार पर निष्पादित किया जाता है।

चरण 3) सिस्टम कॉल का निष्पादन समाप्त होने के बाद, नियंत्रण उपयोगकर्ता मोड में वापस आ जाता है।

चरण 4) उपयोगकर्ता प्रक्रियाओं का निष्पादन फिर से शुरू होता है, उपयोगकर्ता मोड और के बीच आगे-पीछे होता रहता है। कर्नेल मोड जैसी ज़रूरत।

आपको OS में सिस्टम कॉल की आवश्यकता क्यों है?

ऑपरेटिंग सिस्टम में सिस्टम कॉल की आवश्यकता निम्नलिखित स्थितियों में होती है:

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

सिस्टम कॉल के प्रकार

ऑपरेटिंग सिस्टम में सिस्टम कॉल के पाँच प्रकार इस प्रकार हैं:

  • प्रक्रिया नियंत्रण
  • फाइल प्रबंधन
  • डिवाइस प्रबंधन
  • सूचना रखरखाव
  • संचार

सिस्टम कॉल के प्रकार

ऑपरेटिंग सिस्टम में सिस्टम कॉल के प्रकार

प्रक्रिया नियंत्रण

ये सिस्टम कॉल प्रक्रिया निर्माण, प्रक्रिया समाप्ति आदि का कार्य करते हैं।

कार्य:

  • समाप्त करें और रद्द करें
  • लोड करें और निष्पादित करें
  • प्रक्रिया बनाएं और प्रक्रिया समाप्त करें
  • रुको और Signal कार्यक्रम
  • मेमोरी आवंटित करें और मुक्त करें

फाइल प्रबंधन

फ़ाइल प्रबंधन सिस्टम कॉल फ़ाइल हेरफेर कार्यों को संभालता है, जैसे फ़ाइल बनाना, पढ़ना और लिखना आदि।

कार्य:

  • एक फ़ाइल बनाएँ
  • फ़ाइल हटाएँ
  • फ़ाइल खोलें और बंद करें
  • पढ़ें, लिखें और पुनः स्थापित करें
  • फ़ाइल विशेषताएँ प्राप्त करें और सेट करें

डिवाइस प्रबंधन

डिवाइस प्रबंधन डिवाइस मैनीपुलेशन का कार्य करता है जैसे डिवाइस बफर्स ​​से पढ़ना, डिवाइस बफर्स ​​में लिखना आदि।

कार्य:

  • डिवाइस का अनुरोध करें और रिलीज़ करें
  • उपकरणों को तार्किक रूप से जोड़ें या अलग करें
  • डिवाइस विशेषताओं को प्राप्त करें और सेट करें

सूचना रखरखाव

यह ओएस और उपयोगकर्ता प्रोग्राम के बीच सूचना और उसके स्थानांतरण को संभालता है।

कार्य:

  • समय और दिनांक प्राप्त करें या सेट करें
  • प्रक्रिया और डिवाइस विशेषताएँ प्राप्त करें

संचार

इस प्रकार के सिस्टम कॉल विशेष रूप से प्रक्रियाओं के बीच संचार के लिए उपयोग किए जाते हैं।

कार्य:

  • संचार कनेक्शन बनाएं और हटाएं
  • संदेश भेजें और प्राप्त करें
  • ऑपरेटिंग सिस्टम स्थानांतरण स्थिति की जानकारी में सहायता करें
  • दूरस्थ डिवाइस को जोड़ें या अलग करें

सिस्टम कॉल के लिए पैरामीटर पास करने के नियम

सिस्टम कॉल में पैरामीटर पास करने के सामान्य नियम इस प्रकार हैं:

  • ऑपरेटिंग सिस्टम द्वारा पैरामीटर को स्टैक पर पुश या पॉप किया जाना चाहिए।
  • पैरामीटर्स को रजिस्टरों में पास किया जा सकता है।
  • जब रजिस्टरों की तुलना में अधिक पैरामीटर हों, तो उन्हें एक ब्लॉक में संग्रहीत किया जाना चाहिए, और ब्लॉक का पता एक रजिस्टर में पास किया जाना चाहिए।

ओएस में प्रयुक्त महत्वपूर्ण सिस्टम कॉल

रुको()

कुछ प्रणालियों में, एक प्रक्रिया को दूसरी प्रक्रिया के समाप्त होने का इंतजार करना पड़ता है। ऐसा तब होता है जब एक मूल प्रक्रिया एक बाल प्रक्रिया बनाती है, और मूल प्रक्रिया तब तक निलंबित रहती है जब तक कि बाल प्रक्रिया पूरी नहीं हो जाती।

माता-पिता का निलंबन wait() सिस्टम कॉल के साथ स्वचालित रूप से होता है। जब चाइल्ड का निष्पादन समाप्त हो जाता है, तो नियंत्रण वापस माता-पिता के पास चला जाता है।

कांटा()

प्रक्रियाएँ स्वयं की प्रतिलिपि बनाने के लिए इस सिस्टम कॉल का उपयोग करती हैं। fork() फ़ंक्शन की सहायता से, एक जनक प्रक्रिया एक दैत्य प्रक्रिया बनाती है, और दैत्य प्रक्रिया तब तक निलंबित रहती है जब तक कि दैत्य प्रक्रिया निष्पादित नहीं हो जाती।

कार्यकारी ()

यह सिस्टम कॉल पहले से चल रही प्रक्रिया के भीतर एक निष्पादन योग्य फ़ाइल को चलाता है, जिससे पुरानी प्रक्रिया बदल जाती है। कोई नई प्रक्रिया नहीं बनाई जाती है, इसलिए मूल प्रक्रिया पहचानकर्ता अपरिवर्तित रहता है, लेकिन स्टैक, डेटा, हीप आदि को नई प्रक्रिया द्वारा प्रतिस्थापित कर दिया जाता है।

मारो ()

ऑपरेटिंग सिस्टम (OS) किसी प्रक्रिया को समाप्त करने का संकेत भेजने के लिए kill() सिस्टम कॉल का उपयोग करता है, जिससे वह प्रक्रिया बंद हो जाती है। हालांकि, kill सिस्टम कॉल का मतलब हमेशा प्रक्रिया को पूरी तरह से नष्ट करना नहीं होता है और इसके कई अर्थ हो सकते हैं।

बाहर जाएं()

exit() फ़ंक्शन का उपयोग प्रोग्राम के निष्पादन को समाप्त करने के लिए किया जाता है। विशेष रूप से मल्टी-थ्रेडेड वातावरण में, यह फ़ंक्शन यह दर्शाता है कि थ्रेड का निष्पादन पूरा हो गया है। exit() फ़ंक्शन समाप्त होने के बाद ऑपरेटिंग सिस्टम (OS) प्रक्रिया द्वारा उपयोग किए गए संसाधनों को पुनः प्राप्त कर लेता है।

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

API उन फ़ंक्शनों का समूह है जिन्हें एप्लिकेशन कॉल करते हैं। सिस्टम कॉल वह निम्न-स्तरीय अनुरोध है जो कर्नेल में प्रवेश करता है।

लाइब्रेरी फ़ंक्शन यूज़र स्पेस में चलता है; सिस्टम कॉल कर्नेल में प्रवेश करता है। fopen() जैसे कॉल अक्सर आंतरिक रूप से open() को कॉल करते हैं।

नहीं। printf() एक C लाइब्रेरी फ़ंक्शन है जो टेक्स्ट को फ़ॉर्मेट और बफ़र करता है। यह केवल बफ़र खाली होने पर ही write() फ़ंक्शन को कॉल करता है।

यूजर मोड हार्डवेयर और मेमोरी तक पहुंच को सीमित करता है; कर्नेल मोड में पूर्ण विशेषाधिकार होते हैं। एक सिस्टम कॉल इन दोनों के बीच सुरक्षित रूप से स्विच करता है।

Windows Linux में CreateProcess(), ReadFile() और WriteFile() का उपयोग होता है। Linux में fork(), read() और write() का उपयोग होता है। दोनों ही प्रोसेस, फाइल, डिवाइस और कम्युनिकेशन सेवाओं को कवर करते हैं।

जी हां। सिस्टम कॉल कर्नेल मोड में स्विच हो जाता है, जिससे ओवरहेड बढ़ जाता है। सामान्य फ़ंक्शन कॉल यूजर स्पेस में रहते हैं और तेज़ी से चलते हैं।

सुरक्षा उपकरण सिस्टम कॉल पर मशीन लर्निंग लागू करते हैं tracयह मैलवेयर और घुसपैठ को चिह्नित करता है जिन्हें सिग्नेचर स्कैनर अक्सर अनदेखा कर देते हैं।

जी हां। GitHub Copilot, fork(), read() और write() जैसे कॉल्स के लिए सिंटैक्स सुझा सकता है। डेवलपर्स को फिर भी त्रुटि प्रबंधन की पुष्टि करनी होगी।

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