سؤال

  1. أي IPC بين قوائم قوائم الرسائل والذاكرة المشتركة والرملة هي الأسهل في التحويل إلى شبكة IPC الشبكة والتي هي الأصعب.

  2. هل سيكون من الأسهل تحويل الذاكرة المشتركة للنظام V إلى شبكة IPC أو POSIX المشترك لشبكة IPC

هل كانت مفيدة؟

المحلول

كما قال هنريك غوستافسون:

  1. قوائم قوائم الرسائل هي إلى حد بعيد أسهل آلية IPC للتحويل إلى الشبكة. لم يتم تصميم Semaphores لنقل البيانات ، وعادةً ما تحتاج الذاكرة المشتركة إلى الوصول الذي يسيطر عليه Smaphore (أو آلية مكافئة) لتوفير تحكم مناسب حتى على جهاز واحد ، ناهيك عبر الشبكة. ومع ذلك ، فإن قوائم رسائل System V هي على الأرجح آلية IPC الأقل استخدامًا.

  2. إن تحويل أي آلية ذاكرة مشتركة أمر صعب تقريبًا. النقطة الرئيسية التي يجب ملاحظة ذلك هي أنك في الواقع نادراً ما تستخدم "الذاكرة المشتركة" ؛ هناك أدوات مزامنة أخرى قيد الاستخدام أيضًا.

نصائح أخرى

  1. أود أن أقول أن قوائم قوائم الرسائل على أساس أن العمليات التي تقوم بها في قائمة انتظار الرسائل لها تعيينات متطابقة تقريبًا لعمليات المقبس.
  2. من المحتمل بنفس القدر من الصعب ، أقترح عليك تنفيذ تجريد أكثر ملائمة للشبكة على رأس SHM ... مثل قائمة انتظار الرسائل. الذاكرة المشتركة ليست مناسبة للغاية للشبكات على الرغم من وجود بعض التطبيقات التي تدعمها الشبكة ، ولكن التسلسلات التي صادفتها هي تجريدات متسربة بالفعل.
  1. Semaphores ليست في الحقيقة آلية اتصال ، فهي مخصصة للمزامنة. يمكن استخدام الذاكرة المشتركة عبر شبكة (الذاكرة المشتركة الموزعة) ، لكن هذا صعب للغاية. قوائم قوائم الرسائل سهلة لأنها خريطة مباشرة على مآخذ الشبكة.

  2. من المحتمل أن تكون صعوبة مشابهة تمامًا ؛ كلا واجهات برمجة التطبيقات متشابهة ، لديهم فقط واجهة مختلفة.

(1). الأسهل هو قوائم قوائم الرسائل والأصعب هو الذاكرة المشتركة.

أعتقد أن ذلك يرجع إلى أن قوائم قوائم الرسائل تتطلب فقط مؤشرًا إلى بنية بيانات قائمة انتظار الرسائل حيث تتطلب الذاكرة المشتركة إرفاق الذاكرة المشتركة بمساحة عنوان العملية لكل من العمليات وتخصيص الذاكرة المشتركة عندما تكون العمليتين على أجهزة مختلفة.

(2). من الأسهل تحويل الذاكرة المشتركة POSIX من الذاكرة المشتركة للنظام V إلى شبكة IPC.

أعتقد أن ذلك يرجع إلى أن POSIX يدعم كلاً من الإشارات القائمة على الذاكرة والمسامة ولا تتطلب تدخل kernel في حين أن النظام v يتطلب تدخل OS.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top