ارتباط بین پردازشی

(تغییرمسیر از ارتباطات بین فرایندی)

در علوم رایانه، ارتباطات بین پردازشی (به انگلیسی:Inter-Process Communication یا IPC)، مجموعه ای از روشها برای تبادل اطلاعات بین چندین پردازش خرد و کوچک (یا ریسه) می‌باشند، و بنابراین هر یک از این روشها می‌تواند برای ارتباط بین یک یا چند پردازش بکار می‌روند. ممکن است این پردازشها در یک یا چندین رایانه متصل بهم توسط یک شبکه اجرا گردند. ارتباطات بین پردازشی به روشهای زیر تقسیم گردیده‌اند:

  • روشهای عبور پیام
  • روشهای همسانسازی
  • روشهای به اشتراک گذاشتن حافظه
  • روشهای فراخوانی روال از راه دور (RPC)
نمایی از ارتباط بین پردازشی یا IPC دو پردازشگر

امکان دارد روشهای مورد استفاده در ارتباطات بین پردازشی با توجه به پهنای باند عبوری، زمان تأخیر در ارتباط بین ریسه‌ها، نوع داده در حال عبور، و همچنین سیستم‌عامل متفاوت از یکدیگر باشند.[۱]

روشها

ویرایش
روش تامین‌شده توسط سیستم‌های عامل یا محیط‌های دیگر
پرونده بیشتر سیستم‌های عامل
سیگنال بیشتر سیستم‌های عامل، برخی سیستم‌ها مانند ویندوز فقط سیگنالها را در C run-time library پیاده‌سازی نموده و به عنوان روشی برای IPC پشتیبانی نمی‌کنند.
کانال شبکه یا Socket بیشتر سیستم‌های عامل
صف پیام بیشتر سیستم‌های عامل
لوله‌کشی (یونیکس) همه سیستمهای پازیکس، ویندوز
Named pipe همه سیستمهای پازیکس، ویندوز
نشانبر یا Semaphore همه سیستمهای پازیکس، ویندوز
حافظه مشترک همه سیستمهای پازیکس، ویندوز
Message passing
(shared nothing)
استفاده شده در نمونه MPI, فراخوانی متد راه دور جاوا، کوربا، MSMQ, MailSlot, کیوان‌اکس، غیره
فایل حافظه نقشه‌شده همه سیستمهای پازیکس، ویندوز
وب سرویس همه سیستمها

منابع

ویرایش