कभी आपने सोचा है कि जब आप कंप्यूटर पर कोई फ़ाइल खोलते हैं या प्रोग्राम रन करते हैं, तो पीछे तकनीकी तौर पर क्या होता है? असल में, आपके हर एक्शन को Operating System (OS) तक पहुँचाने का काम System Call करता है।
इस ब्लॉग में हम जानेंगे कि System Call क्या होता है, यह कैसे काम करता है, इसके प्रकार कौन-कौन से हैं, और यह कंप्यूटर सिस्टम में क्यों महत्वपूर्ण है।
System Call क्या है?
System Call एक ऐसा इंटरफेस (Interface) है जो User Program और Operating System Kernel के बीच संचार (communication) स्थापित करता है।
आसान शब्दों में:
जब कोई प्रोग्राम OS से कोई सेवा (जैसे कि फाइल खोलना, मेमोरी अलॉट करना, नेटवर्क एक्सेस करना आदि) चाहता है, तो वह System Call के ज़रिए अपनी रिक्वेस्ट भेजता है।
उदाहरण से समझिए:
मान लीजिए आप एक टेक्स्ट फ़ाइल खोलना चाहते हैं:
आपने Notepad में “File > Open” पर क्लिक किया।
आपका यूज़र प्रोग्राम (Notepad) एक System Call करता है, जैसे
open()
यह कॉल कर्नेल (Kernel) को भेजी जाती है।
कर्नेल डिस्क से फ़ाइल लोड करता है और इसे मेमोरी में लाता है।
फिर वह कंट्रोल वापिस यूज़र प्रोग्राम को दे देता है।
System Call की ज़रूरत क्यों होती है?
Security: यूज़र प्रोग्राम को डायरेक्ट हार्डवेयर एक्सेस नहीं देना चाहिए।
Abstraction: प्रोग्राम को यह जानने की ज़रूरत नहीं कि फ़ाइल कैसे खोली जाती है; बस वह System Call करे।
Control: OS हर संसाधन (Resource) पर नियंत्रण रखता है, और System Call के ज़रिए वही संभव है।
System Call के प्रकार (Types of System Calls)
प्रकार | विवरण |
---|---|
Process Control | नए प्रोसेस बनाना, खत्म करना, रन करना आदि |
File Management | फ़ाइल खोलना, पढ़ना, लिखना, बंद करना आदि |
Device Management | इनपुट/आउटपुट डिवाइस को एक्सेस करना |
Information Maintenance | सिस्टम से संबंधित जानकारी प्राप्त करना |
Communication | दो प्रोसेस के बीच डेटा ट्रांसफर करना (Interprocess Communication) |
कुछ सामान्य System Calls (Linux में):
System Call | कार्य |
---|---|
fork() | नया प्रोसेस बनाना |
exec() | किसी नई प्रोग्राम को रन करना |
read() | फाइल से डेटा पढ़ना |
write() | फाइल में डेटा लिखना |
open() | फाइल खोलना |
close() | फाइल बंद करना |
exit() | प्रोग्राम को समाप्त करना |
wait() | किसी प्रोसेस के खत्म होने का इंतजार करना |
System Call Execution Process
यूज़र प्रोग्राम सिस्टम कॉल करता है।
Trap to Kernel – Control यूज़र मोड से कर्नेल मोड में चला जाता है।
OS काम करता है।
Result यूज़र प्रोग्राम को लौटाता है।
सुरक्षा और सिस्टम कॉल
System Calls यूज़र प्रोग्राम को OS के “rules” के तहत काम करने देते हैं। इससे कोई प्रोग्राम सीधे हार्डवेयर को नुकसान नहीं पहुंचा सकता।
निष्कर्ष
System Call वह जरिया है जिसके बिना कोई यूज़र प्रोग्राम हार्डवेयर या OS रिसोर्स से बात नहीं कर सकता।
ये OS के साथ संवाद करने का इकलौता सुरक्षित रास्ता होते हैं।
File Handling, Process Management, Networking – हर चीज़ में System Call की भूमिका अहम होती है।
यदि आप छात्र हैं…
Operating System विषय में System Call एक बहुत ही महत्वपूर्ण टॉपिक है।
Interview या Exam में अक्सर
fork()
,exec()
,read()
जैसे system calls के बारे में पूछा जाता है।Linux में इनका अभ्यास करना आपको कर्नेल और सिस्टम प्रोग्रामिंग में दक्ष बना सकता है।