Inter-Process Communication

Inter-Process Communication

Inter-process Communication Operating System द्वारा Provide किया जाने वाला Mechanism है जो Process को एक-दूसरे के साथ Communicate करने के लिए Allow करते है | इस Communication में Multiple Process Involve होती है जो अन्य Process को बताती है कि कौन-सा Event Occurs हुआ है, या Data को एक Process से दूसरी Process में Transfer करना है |

“Inter-process Communication का Use एक या अधिक Process (Program) में कई Thread के बीच Information को Exchange करने के लिए किया जाता है |”

Synchronization in Inter-process Communication

Synchronization Inter-process का एक Important Part  है | यह Inter-process Control Mechanism द्वारा Provide किया जाता है एवं Communicating Process द्वारा Control किया जाता है | Synchronization Provide करने के लिए निम्न Method का प्रयोग किया जाता है –

Semaphore

Semaphore एक Variable है, जो कई Process द्वारा Common Resource के Access को Control करता है | Semaphore दो प्रकार के होते है –

(i) Binary Semaphores

(ii) Counting Semaphores

Mutual Exclusion

Mutual Exclusion के अनुसार एक Time में केवल एक Process Thread Critical Section में Enter कर सकता है | यह Synchronization के लिए Useful है तथा यह Race Condition को Prevent करता है |

Barrier

Barrier एक Individual Process को तब तक आगे बढ़ने की अनुमति नहीं देता है जब अन्य Process अपना Execution Complete नहीं कर लेते है | कई Parallel Language और Collective Routine Barrier को Impose करती है |

Spinlock

यह एक प्रकार का Lock है | Lock Available है या नहीं, Check करते समय इस Lock को प्राप्त करने की कोशिश करने वाली Process Loop में Wait करती है | इसे Busy Waiting भी कहते है, क्योंकि Active होने के बावजूद कोई Useful Operation नहीं कर रही है |

Approaches to inter-process Communication

Inter-process Communication को Implement करने लिए निम्नलिखित Approach का Use किया जाता है –

Pipe

Pipe एक Data Channel है जो Unidirectional होता है | दो Process के बीच Two Ways Data Channel बनाने के लिए Two Pipe का Use किया जाता है | यह Standard I/O Method का उपयोग करता है | सभी POSIX System के साथ-साथ Windows Operating में भी Pipe का उपयोग किया जाता है |

Socket

Socket, Data को Send तथा Receive करने का Endpoint है | अधिकांश Operating System Inter-process Communication के लिए Socket का उपयोग करते है |

File

File एक Data Record है जिसे Disk पर Store किया जा सकता है या File Server से Demand पर Acquire किया जा सकता है | एक से अधिक Process आवश्यकतानुसार एक File को Access कर सकते   है | सभी Operating System Data Storage के लिए File का उपयोग करते है |

Signal

Signal Limited Way में Inter-process Communication के उपयोगी है | ये वे System Message है जो एक Process से दूसरे Process को भेजे जाते है | आमतौर पर Signal Data Transfer के लिए नहीं किया जाता है बल्कि Processes के बीच Remote Command के लिए Use किया जाता है |

Shared Memory

Shared Memory वह Memory है जिसे एक साथ कई Process द्वारा Access किया जा सकता है | ऐसा इसलिए किया जाता है ताकि Process आपस में एक-दूसरे से Communicate कर सके | सभी POSIX System के साथ-साथ Windows Operating में भी Shared Memory का उपयोग किया जाता है |

Message Queue

Multiple Process एक दूसरे से जुड़े बिना Message Queue में Data Read व Write कर सकती है | Message को Queue में तब तक Store किया जाता है जब तक उसका Receiver उसको Retrieve न कर ले | Message Queue Inter-process Communication के लिए महत्वपूर्ण है एवं इनका उपयोग अधिकांश Operating System द्वारा किया जाता है |

Approaches to Inter-process Communication

 

Previous articleContext Switch and Operation on Processes
Next articleCPU Scheduler& Scheduling Criteria

LEAVE A REPLY

Please enter your comment!
Please enter your name here