नमस्कार दोस्तों, आज की इस ब्लॉग पोस्ट में हम बात करने वाले हैं एक बहुत ही जरूरी और दिलचस्प टॉपिक के बारे में, जिसका नाम है “System Call”। अगर आप कंप्यूटर साइंस के स्टूडेंट हैं या फिर Operating System (OS) को थोड़ा गहराई से समझना चाहते हैं, तो ये पोस्ट आपके लिए एकदम परफेक्ट होने वाली है।
दोस्तों, आपने अक्सर सुना होगा कि कोई भी प्रोग्राम अपने आप सिस्टम के हार्डवेयर तक डायरेक्ट पहुंच नहीं पाता, उसके लिए उसे OS की मदद लेनी पड़ती है। लेकिन क्या आपने कभी सोचा है कि ये काम होता कैसे है? तो बस इसी सवाल का जवाब छुपा है System Call में।
इस पोस्ट में हम बिल्कुल आसान और स्टूडेंट फ्रेंडली भाषा में जानेंगे कि System Call क्या होता है, कैसे काम करता है, किस भाषा में लिखा जाता है और आखिर क्यों ये हमारे ऑपरेटिंग सिस्टम का इतना जरूरी हिस्सा है?
तो चलिए दोस्तों, बिना किसी देरी के शुरू करते हैं और System Call की इस पूरी दुनिया को step by step समझते हैं!
Table of Contents
- What is a system call in Hindi? – (सिस्टम कॉल क्या होता है?)
- उदहारण:
- How does a system call work in Hindi? – (सिस्टम कॉल कैसे काम करता है?)
- Which language are system calls written in Hindi?
- Why does a system call necessary in Hindi? – (System Call क्यों ज़रूरी है?)
- Advantages of System call in Hindi
- Conclusion (निस्कर्स):
What is a system call in Hindi? – (सिस्टम कॉल क्या होता है?)
हम सब यह तो जानते ही है, कि कभी भी किसी सिस्टम में मैमोरी एड्रेस या फिर हार्डवेयर रिसोर्स डायरेक्ट एक्सेस नहीं किया जा सकता है। इसलिए जब भी कभी कोई यूजर अपने सिस्टम में किसी तरह का प्रोग्राम चलता है, तो उस प्रोग्राम को चलाने के लिए यूजर को सबसे पहले सिस्टम के लिए एक रिक्वेस्ट भेजनी होती है।
तो ये जो रिक्वेस्ट भेजने की प्रोसेस होती है उसको हम System Call कहते हैं। यानि जब भी कोई यूजर अपने सिस्टम में से किसी सॉफ्टवेयर फाइल को खोलता है, मेमोरी यूज़ करता है या फिर कीबोर्ड, माउस या प्रिंटर जैसी किसी भी हार्डवेयर डिवाइस से डाटा लेना चाहता है। तो इस तरह के सभी कामो को System Call की की सहायता से ही पूरा किया जाता हैं।
अगर हम इसे आसान भाषा समझे, तो ये जो System Call है वह हमेशा एक पुल (Bridge) की तरह काम करता रहता है जिसका काम सिस्टम में चल रहे प्रोग्राम और ऑपरेटिंग सिस्टम को आपस में एक दूसरे से जोड़ना होता है। इसका यह मतलब है, कि अगर किसी सिस्टम में system call मौजूद नहीं होगा, तो उसमे कोई भी प्रोग्राम सीधे सिस्टम के किसी भी हार्डवेयर से communication ही नहीं कर पाएगा।
उदहारण:
मान लीजिए कि आपको अपने कंप्यूटर में किसी तरह की फ़ाइल को सेव करना है, तो अगर आपके कंप्यूटर में सिस्टम कॉल नहीं होता है तो आपका एप्लिकेशन उस फाइल को सीधे सेव नहीं कर सकता है।
बल्कि हम आपको बता दे कि कोई भी एप्लीकेशन कभी भी किसी फाइल को डायरेक्ट खुद सेव नहीं करता है। इसके लिए वो OS (Operating System) को System Call का उपयोग करके बोलता है कि “यह एक फाइल है जिसे आपको डिस्क में सेव करन है।” और फिर उसके बाद ऑपरेटिंग सिस्टम उस एप्लीकेशन के कहने पर आपके लिए उस काम को कर देता है।
How does a system call work in Hindi? – (सिस्टम कॉल कैसे काम करता है?)
जब कभी भी कोई यूज़र के द्वारा चलाया गया प्रोग्राम ऑपरेटिंग सिस्टम से किसी तरह के काम को पूरा करवाना चाहता है, तो सबसे पहले वो एक स्पेशल इंस्ट्रक्शन चलाता है, जिसका काम सिर्फ उसको User Mode से लेकर Kernel Mode में भेजन होता है। अब जैसे ही उस प्रोग्राम का कंट्रोल Kernel Mode में पहुंच जाता है, उसके तुरंत बाद ऑपरेटिंग सिस्टम जो होता है वो उस डिमांड को अच्छी तरह से संभालने के लिए तैयार हो जाता है और प्रोसेस को कंप्लीट करता है।
दूसरे शव्दो में कहे, तो जब भी हम किसी तरह की रिक्वेस्ट को सिस्टम में भेजते हैं, तो उसका अलर्ट सीधे Kernel के पास जाता है। और जैसे ही उस प्रोसेस का कंट्रोल Kernel Mode के पास आ जाता है, वैसे ही पूरा सिस्टम, ऑपरेटिंग सिस्टम के कंट्रोल में आ जाता है ताकि जो भी काम है वह सुरक्षित और सही तरीके से पूरा हो सके।
जब वह काम पूरी तरह से कंप्लीट हो जाता है, तो उसका रिजल्ट फिर से यूज़र के द्वारा चलाए गए प्रोग्राम तक पहुंचा दिया जाता है। और ऑपरेटिंग सिस्टम के पास जो भी कंट्रोल होता है, वह वापस User Mode में लौट आता है।
Which language are system calls written in Hindi?
System Call हो होते है उनको आमतौर पर C language या फिर Pascal जैसी high-level programming languages में लिखा जाता है। इसके अलावा, कुछ मामले काफी ज्यादा advance होते है इस लिए उन्हें सीधे Assembly language में भी लिखा जाता है ताकि उसकी performance और control दोनों अच्छे रतरहह से मिलें।
आसान भाषा में कहे, तो ये जितने भी system calls होते हैं, वो OS द्वारा पहले से बनाए गए ready-made functions की तरह होते हैं। यानि जब भी कोई प्रोग्राम किसी सुविधा का इस्तेमाल करता है (जैसे कि read() write(), open()), तो वह actually में उस OS के system call को ही call करता है।
यही वो वजह है जिसके कारन हम system call को भी API (Application Programming Interface) का हिस्सा कहते हैं।
Why does a system call necessary in Hindi? – (System Call क्यों ज़रूरी है?)
System Call जो है वह किसी भी ऑपरेटिंग सिस्टम का एक बहुत ही ज्यादा जरूरी और महत्वपूर्ण हिस्सा होता है। अगर यह नहीं होगा तो, इसके बिना हमारे सिस्टम में कोई भी प्रोग्राम और उसमे उपस्थित OS आपस में एक दूसरे के साथ सही तरीके से communicate नहीं कर पाते है। यानी सिस्टम कॉल के अलाबा इनके बीच कोई भी standard तरीका नहीं होता है जिसके जरिए ये दोनों आपस में एक – दूसरे को अपनी बातें समझा सके।
Advantages of System call in Hindi
- सबसे पहले तो, प्रोग्राम्स बड़े ही सुरक्षित और व्यवस्थित तरीके से सिस्टम के resources (जैसे कि CPU, memory, files) को access कर पाते हैं। यानी सब कुछ रूल्स के हिसाब से होता है।
- अगर System Calls ही नहीं होते, तो फिर हर एक प्रोग्राम को खुद ही hardware को संभालने का code लिखना पड़ता। अब सोचिए, यह काम कितना मुश्किल और मुसीबत भरा होता! और साथ ही इसमें bugs आने और system crash होने के चांस भी काफी ज्यादा रहते।
- और सबसे बड़ी बात System Calls की वजह से OS एक ऐसी सुरक्षा दीवार (secure boundary) बना देता है कि कोई भी malicious (यानि खतरनाक) प्रोग्राम सीधा सिस्टम को नुकसान नहीं पहुंचा सकता।
Conclusion (निस्कर्स):
तो दोस्तों, इसी वजह से कहा जाता है कि System Call ही वो foundation (आधार) है, जो हमारे user applications और ऑपरेटिंग सिस्टम के बीच की बातचीत को आसान, साफ और सबसे ज्यादा सुरक्षित बनाता है। यही कारण से हर modern OS में System Call का होना compulsory हो गया है।
उम्मीद है कि आपको यह जानकारी अच्छी लगी होगी अगर हा तो इसइ अपने दोस्तों के साथ जरूर शेयर करेंगे। अगर आपको इस पोस्ट या फिर किसी और टॉपिक से सम्बंधित कोई भी जानकरी या suggestion देना हो तो आप हमे कमेंट के जरिये बता सकते है। Thank You!