ارتباط بین پردازشی
در علوم رایانه، ارتباطات بین پردازشی (به انگلیسی:Inter-Process Communication یا IPC)، مجموعه ای از روشها برای تبادل اطلاعات بین چندین پردازش خرد و کوچک (یا ریسه) میباشند، و بنابراین هر یک از این روشها میتواند برای ارتباط بین یک یا چند پردازش بکار میروند. ممکن است این پردازشها در یک یا چندین رایانه متصل بهم توسط یک شبکه اجرا گردند. ارتباطات بین پردازشی به روشهای زیر تقسیم گردیدهاند:
- روشهای عبور پیام
- روشهای همسانسازی
- روشهای به اشتراک گذاشتن حافظه
- روشهای فراخوانی روال از راه دور (RPC)
امکان دارد روشهای مورد استفاده در ارتباطات بین پردازشی با توجه به پهنای باند عبوری، زمان تأخیر در ارتباط بین ریسهها، نوع داده در حال عبور، و همچنین سیستمعامل متفاوت از یکدیگر باشند.
روشها
روش | تامینشده توسط سیستمهای عامل یا محیطهای دیگر |
---|---|
پرونده | بیشتر سیستمهای عامل |
سیگنال | بیشتر سیستمهای عامل، برخی سیستمها مانند ویندوز فقط سیگنالها را در C run-time library پیادهسازی نموده و به عنوان روشی برای IPC پشتیبانی نمیکنند. |
کانال شبکه یا Socket | بیشتر سیستمهای عامل |
صف پیام | بیشتر سیستمهای عامل |
لولهکشی (یونیکس) | همه سیستمهای پازیکس، ویندوز |
Named pipe | همه سیستمهای پازیکس، ویندوز |
نشانبر یا Semaphore | همه سیستمهای پازیکس، ویندوز |
حافظه مشترک | همه سیستمهای پازیکس، ویندوز |
Message passing (shared nothing) | استفاده شده در نمونه MPI, فراخوانی متد راه دور جاوا، کوربا، MSMQ, MailSlot, کیواناکس، غیره |
فایل حافظه نقشهشده | همه سیستمهای پازیکس، ویندوز |
وب سرویس | همه سیستمها |
منابع
- ↑ Wikipedia contributors, "Inter-process communication," Wikipedia, The Free Encyclopedia,, (accessed December 10, 2012).