Introduction (परिचय)
Operating System में कई processes एक साथ run करती हैं।
लेकिन कई बार ऐसा होता है कि एक process को दूसरे process से data लेना होता है, या किसी दूसरे process को कुछ information भेजनी होती है।
यहीं पर Inter-Process Communication (IPC) की जरूरत पड़ती है।
Simple शब्दों में कहें, तो जब दो या दो से अधिक processes आपस में information exchange करती हैं, उसे IPC कहते हैं।
IPC क्या होता है
Inter-Process Communication वह mechanism है जिसके माध्यम से processes एक-दूसरे के साथ data share करती हैं और communication करती हैं।
Simple Definition
IPC = दो या अधिक processes के बीच communication और data exchange की technique
IPC की जरूरत क्यों पड़ती है
Operating System में processes हमेशा completely independent नहीं होतीं।
कई बार उन्हें cooperation की जरूरत होती है।
IPC की जरूरत इन कारणों से पड़ती है:
1. Information Sharing
एक process जो data generate करे, दूसरा process उसे use कर सके
2. Computation Speed-up
काम को अलग-अलग processes में divide करके जल्दी complete करना
3. Modularity
एक बड़े task को छोटे-छोटे processes में divide करना
4. Convenience
User एक ही समय में कई related tasks कर सके
Example
मान लो एक process file से data read कर रही है, और दूसरी process उसी data को print कर रही है।
यहाँ:
- पहली process data produce कर रही है
- दूसरी process उस data को use कर रही है
इस situation में दोनों processes के बीच communication जरूरी है।
यही IPC है।
IPC के Main Models
IPC को generally दो main models में divide किया जाता है:
1. Shared Memory
2. Message Passing
अब दोनों को detail में समझते हैं।
1. Shared Memory
इस method में दो या अधिक processes एक common memory area को share करती हैं।
- OS एक shared memory region create करता है
- Processes उस shared area को access करती हैं
- Data उसी shared memory में लिखा और पढ़ा जाता है
Working
Process A data को shared memory में लिखती है
Process B उसी data को shared memory से read करती है
Advantage
- Fast communication
- Large amount of data transfer के लिए अच्छा
Problem
- Synchronization problem हो सकती है
- Multiple processes same data को एक साथ access कर सकती हैं
2. Message Passing
इस method में processes directly data share नहीं करतीं, बल्कि messages send और receive करती हैं।
Working
- Process A message भेजती है
- OS उस message को Process B तक पहुँचाता है
Advantage
- Easy to implement
- Small data transfer के लिए useful
- Shared memory की तुलना में safer
Problem
- Shared memory से थोड़ा slow हो सकता है
IPC Methods (Exam Point)
Practical रूप में IPC कई तरीकों से implement हो सकता है, जैसे:
- Pipes
- Message Queues
- Shared Memory
- Sockets
- Signals
Exam में basic answer में Shared Memory और Message Passing सबसे important होते हैं।
Producer-Consumer Example
IPC को समझने के लिए यह सबसे common example है।
Producer
Data बनाता है
Consumer
Data use करता है
Example:
- Producer process song data तैयार करती है
- Consumer process speaker पर उसे play करती है
दोनों के बीच data transfer IPC से होता है।
Shared Memory vs Message Passing
| Basis | Shared Memory | Message Passing |
|---|---|---|
| Communication | Common memory area | Messages भेजकर |
| Speed | Fast | थोड़ा slow |
| Data Size | Large data के लिए अच्छा | Small data के लिए अच्छा |
| Synchronization | जरूरी | comparatively less issue |
| Complexity | ज्यादा | कम |
IPC में Synchronization क्यों जरूरी है
अगर दो processes एक ही time पर same data को access करें, तो problem हो सकती है।
Example:
- Process A data write कर रही है
- उसी समय Process B data read कर रही है
अगर proper coordination नहीं हुआ, तो wrong output आ सकता है।
इसलिए IPC के साथ synchronization बहुत important होता है।
Real Life Analogy
दो students एक ही notebook use कर रहे हैं:
- अगर notebook दोनों के बीच share हो रही है, तो यह Shared Memory जैसा है
- अगर वे notebook की जगह slips पर message भेज रहे हैं, तो यह Message Passing जैसा है
Advantages of IPC
1. Better Cooperation
Processes मिलकर काम कर सकती हैं
2. Faster Processing
Different processes अलग-अलग part handle कर सकती हैं
3. Data Sharing
Information आसानी से exchange होती है
4. Modular Design
Complex programs को छोटे parts में divide किया जा सकता है
Disadvantages of IPC
1. Synchronization Issues
Shared data conflict हो सकता है
2. Complexity
System design complicated हो सकता है
3. Security Risk
Improper communication से data leak या corruption हो सकता है
Exam Focus Points
IPC topic में अक्सर ये चीजें पूछी जाती हैं:
- IPC क्या है
- IPC की जरूरत
- Shared Memory और Message Passing
- Producer-Consumer example
- Shared Memory vs Message Passing difference
Conclusion
Inter-Process Communication Operating System का बहुत important concept है, क्योंकि modern systems में processes को अक्सर एक-दूसरे के साथ cooperate करना पड़ता है।
IPC की मदद से processes data share कर सकती हैं, communication कर सकती हैं और complex tasks को efficiently complete कर सकती हैं।