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

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

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

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

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

روشها[ویرایش]

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

منابع[ویرایش]