अगर आप Operating System पढ़ रहे हैं या Computer Science / IT के student हैं, तो आपने ज़रूर system calls in OS का नाम सुना होगा। लेकिन अक्सर students को यह समझ नहीं आता कि system calls असल में होते क्या हैं, ये कैसे काम करते हैं और बिना system calls के कोई program OS से कैसे बात ही नहीं कर सकता।
इस article में आप सीखेंगे:
- system calls in OS की आसान definition
- user mode और kernel mode क्या होते हैं
- system calls काम कैसे करते हैं (step-by-step)
- system calls के सभी types with real examples
- Linux और Windows में system calls का role
- system calls vs function calls का difference
इस guide को पढ़ने के बाद system calls in operating system आपको पूरी तरह clear हो जाएंगे।
System Calls in Operating System क्या हैं?
System Calls वे special requests होते हैं जिनके ज़रिये कोई user program, Operating System के kernel से service मांगता है।
साधारण भाषा में कहें तो –
जब भी कोई program file open करता है, data पढ़ता है, keyboard से input लेता है या नया process बनाता है, तब वह direct hardware को access नहीं करता बल्कि system calls का उपयोग करता है।
उदाहरण के लिए –
आप जब Notepad में कोई file open करते हैं, तो आपका program internally OS से कहता है:
“मुझे file खोलनी है”
यह request OS तक पहुँचाने का काम system calls करते हैं।
इसलिए कहा जाता है –
System calls are the bridge between User Program and Operating System kernel.
Types of Modes in Operating System
Operating System में mainly दो प्रकार के Modes होते हैं (User Mode and Kernel Mode), जिनमें CPU काम करता है। इन modes की वजह से system secure रहता है और user programs को limited access ही मिलती है।
1. User Mode क्या हैं ?
User Mode वह mode है जिसमें सामान्य application programs चलते हैं जैसे browser, media player, text editor आदि। इस mode में program को hardware devices या system memory को directly access करने की अनुमति नहीं होती।
अगर कोई user program file open करना चाहता है या keyboard से input लेना चाहता है, तो वह direct hardware को access नहीं कर सकता। इसके लिए उसे OS kernel से request भेजनी पड़ती है, जो system calls के द्वारा की जाती है।
User mode का मुख्य उद्देश्य system को unsafe operations से protect करना है।
2. Kernel Mode क्या हैं ?
Kernel Mode को privileged mode भी कहा जाता है। इसमें Operating System का core हिस्सा run होता है जैसे process management, memory management, device drivers और file system। इस mode में OS को hardware और system resources पर full control होता है।
जब user program कोई system call करता है, तो CPU user mode से kernel mode में switch हो जाता है और OS उस request को execute करता है। काम पूरा होने के बाद CPU फिर से user mode में वापस आ जाता है।
Kernel mode system की security और stability के लिए सबसे महत्वपूर्ण होता है।
अब सवाल यह है –
User Mode से Kernel Mode में जाना कैसे होता है?
यहीं पर system calls का असली काम शुरू होता है।
System Calls कैसे काम करते हैं (How System Calls in OS work) ?
मान लीजिए आप C program में file read कर रहे हैं:
read(file_descriptor, buffer, size);
अब internally ये steps होते हैं:
- User program read() function call करता है
- यह function internally system call instruction trigger करता है
- CPU user mode से kernel mode में switch हो जाता है
- OS kernel file system से data पढ़ता है
- Data buffer में डालता है
- Kernel mode से वापस user mode में control चला जाता है
यही पूरा process system calls mechanism कहलाता है।
System Calls in OS के प्रमुख Examples
कुछ popular system calls:
| System call | काम |
| open() | file खोलना |
| read() | file से data पढ़ना |
| write() | file में data लिखना |
| close() | file बंद करना |
| fork() | नया process बनाना |
| exec() | program को execute करना |
| exit() | process को terminate करना |
| wait() | child process का इंतज़ार करना |
ये सभी OS services system calls के ज़रिये ही उपलब्ध होती हैं।
यह भी पढ़ें : System Programming क्या है? Complete Guide in Hindi – Beginners से लेकर Advanced Level तक
Types of System Calls in Operating System
अब हम detail में समझते हैं कि system calls कितने प्रकार के होते हैं।
1. File Management System Calls
File management system calls का उपयोग files को create, open, read, write और delete करने के लिए किया जाता है। जब भी कोई program किसी file से data पढ़ता है या उसमें कुछ लिखता है, तब वह direct disk को access नहीं करता बल्कि OS को system calls के माध्यम से request भेजता है।
उदाहरण के लिए open(), read(), write() और close() जैसे calls file handling के लिए सबसे ज़्यादा इस्तेमाल किए जाते हैं। बिना file management system calls के किसी भी program के लिए file system के साथ काम करना संभव नहीं होता।
2. Process Control System Calls
Process control system calls का काम processes को create, manage और terminate करना होता है। जब user कोई program run करता है, तो OS नया process बनाता है और उसे CPU time देता है। इस पूरे process management में fork(), exec(), wait() और exit() जैसी system calls use होती हैं।
उदाहरण के लिए Linux में fork() system call parent process से एक नया child process create करता है। इसी तरह exit() process को safely terminate करता है।
3. Memory Management System Calls
Memory management system calls का उपयोग RAM को allocate और de-allocate करने के लिए किया जाता है। जब किसी program को अधिक memory चाहिए होती है या उसे memory release करनी होती है, तब OS kernel से यह request system calls के द्वारा की जाती है।
brk() और mmap() जैसे calls memory size को increase या map करने के लिए इस्तेमाल होते हैं। ये calls यह सुनिश्चित करते हैं कि हर process को सुरक्षित और limited memory ही मिले।
4. Device Management System Calls
Device management system calls का उपयोग hardware devices जैसे keyboard, printer, disk या USB devices को control करने के लिए किया जाता है।
Program direct device को control नहीं कर सकता, इसलिए OS से मदद लेने के लिए ioctl(), read() और write() जैसी system calls का इस्तेमाल करता है।
उदाहरण के लिए जब keyboard से input लिया जाता है, तब OS device driver के माध्यम से system call का उपयोग करता है।
5. Information Maintenance System Calls
Information maintenance system calls का उपयोग system और process से जुड़ी information प्राप्त करने या update करने के लिए किया जाता है। जैसे किसी process का ID जानने के लिए getpid() और system का current time पता करने के लिए time() जैसी system calls प्रयोग की जाती हैं। ये calls system की internal information को user programs तक पहुँचाने का काम करती हैं।
6. Communication System Calls
Communication system calls का उपयोग दो या उससे अधिक processes के बीच communication establish करने के लिए किया जाता है। जब एक process दूसरे process को data भेजना चाहता है, तब OS kernel की मदद से pipe(), socket() और send() जैसी system calls का प्रयोग होता है।
यह inter-process communication को सुरक्षित और efficient बनाता है, खासकर networking और multi-process applications में।
यह भी पढ़ें : What is File Handling in C Programming | सी में फ़ाइल हैंडलिंग क्या है (Beginner to Pro Guide)
C Codes / Pseudocode – Using System Calls in OS
अब हम एक simple C program देखते हैं जिसमें system calls का real use दिखेगा।
यह program एक file open करेगा, उसमें data लिखेगा, फिर file को close कर देगा।
C Program – Using open(), write() and close() System Calls
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
int main()
{
int fd;
char message[] = "Welcome to System Calls in Operating System";
/* Create or open a file using system call */
fd = open("systemcall.txt", O_CREAT | O_WRONLY, 0644);
if (fd < 0)
{
printf("Failed to open the file\n");
return 1;
}
/* Write data into the file */
write(fd, message, sizeof(message));
/* Close the file */
close(fd);
printf("Data successfully written to the file\n");
return 0;
}
Code Explanation:
| Line/ Function | Description |
| #include <fcntl.h> | Required for file control system calls such as open() |
| #include <unistd.h> | Required for read(), write(), and close() system calls |
| open() | Requests the operating system to create or open a file |
| write() | Sends a request to the OS kernel to write data into the file |
| close() | Informs the OS to safely close the file |
यह पूरा program user mode से kernel mode में बार-बार जाता है, और हर बार system calls का इस्तेमाल करता है।
Pseudocode of System Calls
START
Request OS to open a file
If file opened successfully
Request OS to write data into file
Request OS to close the file
Else
Print error message
END
इस pseudocode से साफ पता चलता है कि हर step पर program direct hardware से नहीं बल्कि system calls के ज़रिये OS से बात कर रहा है।
यह भी पढ़ें : Python Programming Tutorial in Hindi – शुरुआत से सीखें (Beginner to Pro)
System Calls vs Function Calls
| Feature | System Call | Function Call |
| Mode Switch | Yes (user → kernel) | No |
| Hardware Access | Possible | Not possible |
| Speed | Slower | Faster |
| Example | read(), fork() | Printf(), strlen() |
इससे clear है कि system calls OS level पर काम करते हैं जबकि function calls program level पर।
Linux vs Windows में System Calls (Overview)
| Linux | Windows |
| fork(), exec() | CreateProcess() |
| Open source | Closed source |
| Syscall table accessible | Mostly hidden |
लेकिन concept दोनों में same रहता है – program OS से बात system calls के ज़रिये ही करता है।
यह भी पढ़ें : प्रधानमंत्री कृषि सिंचाई योजना | PM Krishi Sinchai Yojana: Benefits, Eligibility and How To Apply
निष्कर्ष (Conclusion)
अब आप समझ चुके हैं कि system calls in operating system कितने important होते हैं।
बिना system calls के ना file open हो सकती है, ना process बन सकता है और ना ही memory manage हो सकती है।
अगर आप OS या programming में career बनाना चाहते हैं, तो system calls की understanding आपके लिए foundation की तरह काम करेगी।
FAQs
Q1. System calls क्यों ज़रूरी हैं?
Ans. क्योंकि user programs को direct hardware access नहीं मिलता।
Q2. क्या system calls slow होते हैं?
Ans. हाँ, क्योंकि इसमें mode switch होता है।
Q3. क्या हर program system calls use करता है?
Ans. हाँ, हर program indirectly system calls का use करता है।
