التواصل بين العمليات

نظام حوسبة شبكية يربط العديد من أجهزة الكمبيوتر الشخصية عبر الإنترنت من خلال اتصال الشبكة بين العمليات

في علوم الحاسوب ، يُعرف الاتصال بين العمليات ( IPC ) بأنه تبادل البيانات بين العمليات الجارية في نظام حاسوبي واحد، أو بين أنظمة حاسوبية متعددة. وقد يوفر نظام التشغيل آليات الاتصال بين العمليات . تُصنف التطبيقات التي تستخدم الاتصال بين العمليات عادةً إلى عملاء وخوادم ، حيث يطلب العميل البيانات ويستجيب الخادم لطلبات العميل. [ 1 ] العديد من التطبيقات تجمع بين وظيفتي العميل والخادم، كما هو شائع في الحوسبة الموزعة .

يُعدّ الاتصال بين العمليات (IPC) بالغ الأهمية في عملية تصميم النوى المصغّرة والنوى النانوية ، التي تُقلّل من عدد الوظائف التي تُوفّرها النواة. وتُستَخدَم هذه الوظائف من خلال التواصل مع الخوادم عبر الاتصال بين العمليات، مما يؤدي إلى زيادة كبيرة في حجم الاتصال مقارنةً بالنواة المتجانسة التقليدية. وتتضمن واجهات الاتصال بين العمليات عادةً هياكل إطار تحليلي متغيرة. وتضمن هذه العمليات التوافق بين بروتوكولات المتجهات المتعددة التي تعتمد عليها نماذج الاتصال بين العمليات. [ 2 ]

تكون آلية الاتصال بين العمليات إما متزامنة أو غير متزامنة. ويمكن استخدام أدوات التزامن الأساسية لتحقيق سلوك متزامن مع آلية اتصال بين العمليات غير متزامنة.

العيوب

قد يؤدي دمج البيانات من عمليتين إلى تكاليف أعلى بكثير مقارنةً بمعالجة البيانات نفسها على خيط معالجة واحد، وقد تصل هذه التكاليف إلى ضعفين أو أكثر بسبب النفقات الإضافية مثل التواصل بين العمليات والمزامنة. [ 3 ] [ 4 ] [ 5 ]

الأساليب

تم تصميم مناهج مختلفة للاتصال بين العمليات (IPC) لتناسب متطلبات البرمجيات المختلفة ، مثل الأداء ، والنمطية ، وظروف النظام مثل عرض النطاق الترددي للشبكة وزمن الاستجابة . [ 1 ]

طريقةوصف مختصرمقدمة من ( أنظمة التشغيل أو البيئات الأخرى)
ملفسجل مخزن على القرص، أو سجل يتم إنشاؤه عند الطلب بواسطة خادم ملفات، والذي يمكن الوصول إليه بواسطة عمليات متعددة.معظم أنظمة التشغيل
ملف الاتصالاتشكل فريد من نوعه من أشكال الاتصال بين الأجهزة في أواخر الستينيات، وهو يشبه إلى حد كبير بروتوكول 9P الخاص بخطة 9نظام دارتموث للمشاركة الزمنية
إشارة ؛ وأيضًا مصيدة النظام غير المتزامنرسالة نظام يتم إرسالها من عملية إلى أخرى، ولا تستخدم عادة لنقل البيانات ولكن بدلاً من ذلك تستخدم للتحكم عن بعد في العملية الشريكة.معظم أنظمة التشغيل
المقبسالبيانات المرسلة عبر واجهة الشبكة، إما إلى عملية مختلفة على نفس الحاسوب أو إلى حاسوب آخر على الشبكة. تكون هذه البيانات موجهة نحو التدفق (مثل TCP ؛ حيث تتطلب كتابة البيانات عبر مقبس تنسيقًا للحفاظ على حدود الرسائل) أو، في حالات نادرة، موجهة نحو الرسائل (مثل UDP و SCTP ).معظم أنظمة التشغيل
مقبس نطاق يونكسيشبه هذا النوع من الاتصال مقابس الإنترنت، لكن جميع الاتصالات تتم داخل نواة النظام. تستخدم مقابس النطاق نظام الملفات كمساحة عناوين لها. تشير العمليات إلى مقبس النطاق كعقدة بيانات (inode) ، ويمكن لعدة عمليات التواصل مع مقبس واحد.جميع أنظمة التشغيل POSIX ونظام التشغيل Windows 10 [ 6 ]
قائمة انتظار الرسائلتدفق بيانات مشابه للمقبس، ولكنه يحافظ عادةً على حدود الرسائل. يتم تنفيذه عادةً بواسطة نظام التشغيل، ويسمح لعمليات متعددة بقراءة وكتابة الرسائل في قائمة الانتظار دون أن تكون متصلة ببعضها البعض مباشرةً.معظم أنظمة التشغيل
أنبوب مجهولقناة بيانات أحادية الاتجاه تستخدم المدخلات والمخرجات القياسية . يقوم نظام التشغيل بتخزين البيانات المكتوبة إلى طرف الكتابة مؤقتًا حتى تتم قراءتها من طرف القراءة. يمكن تحقيق اتصال ثنائي الاتجاه بين العمليات باستخدام قناتين في اتجاهين متعاكسين.جميع أنظمة POSIX ، ويندوز
أنبوب مسمىأنبوب يُعامل كملف. بدلاً من استخدام المدخلات والمخرجات القياسية كما هو الحال مع الأنبوب المجهول، تكتب العمليات إلى الأنبوب المسمى وتقرأ منه، كما لو كان ملفًا عاديًا.جميع أنظمة POSIX، وويندوز، وأميغا أو إس 2.0+
الذاكرة المشتركةيتم منح عمليات متعددة إمكانية الوصول إلى نفس كتلة الذاكرة ، مما يؤدي إلى إنشاء مخزن مؤقت مشترك للعمليات للتواصل مع بعضها البعض.جميع أنظمة POSIX، ويندوز
تمرير الرسائليسمح هذا النظام لبرامج متعددة بالتواصل باستخدام قوائم انتظار الرسائل و/أو قنوات غير مُدارة من قِبل نظام التشغيل. ويُستخدم عادةً في نماذج التزامن.تُستخدم في نماذج LPC و RPC و RMI و MPI ، و Java RMI و CORBA و COM و DDS و MSMQ و MailSlots و QNX وغيرها.
ملف مُرتبط بالذاكرةملف مُخزّن في ذاكرة الوصول العشوائي (RAM) ويمكن تعديله بتغيير عناوين الذاكرة مباشرةً بدلاً من إخراجه إلى دفق بيانات. وهذا يُوفر نفس مزايا الملف العادي .جميع أنظمة POSIX، ويندوز

التطبيقات

واجهات استدعاء الإجراءات عن بُعد

مجموعة اتصالات المنصة

فيما يلي أنظمة المراسلة والمعلومات التي تستخدم آليات الاتصال بين العمليات ولكنها لا تنفذ هذه الآليات بنفسها:

حزمة اتصالات نظام التشغيل

فيما يلي واجهات برمجة التطبيقات الخاصة بالمنصة أو لغة البرمجة:

نماذج الكائنات الموزعة

فيما يلي واجهات برمجة التطبيقات الخاصة بالمنصة أو لغة البرمجة التي تستخدم الاتصال بين العمليات، ولكنها لا تقوم بتنفيذه بنفسها:

انظر أيضاً

مراجع

  1. 1 2 "الاتصالات بين العمليات" . مايكروسوفت.
  2. كاموراتي، ب (1993). "الاتصالات بين العمليات لتصميم مستوى النظام". ورشة العمل الدولية حول التصميم المشترك للأجهزة/البرمجيات .
  3. مفاهيم أنظمة التشغيل . ISBN 978-0470128725.
  4. تنظيم وتصميم الحاسوب، إصدار MIPS: واجهة الأجهزة/البرمجيات (سلسلة مورغان كوفمان في هندسة وتصميم الحاسوب) . مورغان كوفمان. ISBN 978-0124077263.
  5. البرمجة المتوازية: تقنيات وتطبيقات باستخدام محطات العمل الشبكية والحواسيب المتوازية . بيرسون. ISBN 978-0131405639.
  6. "التوافق بين Windows/WSL مع AF_UNIX" . مايكروسوفت. 7 فبراير 2018. تم الاطلاع عليه بتاريخ 25 مايو 2018 .
  7. " البرمجة المتزامنة - التواصل بين العمليات "
  8. "IpcMain | Electron" .