نظام V & Posix
نظام V & Posix
يسرد الجدول التالي الاختلافات بين System V IPC و POSIX IPC.
النظام الخامس | بوسيكس |
---|---|
قدمت AT & T (1983) ثلاثة أشكال جديدة من مرافق IPC وهي قوائم انتظار الرسائل والذاكرة المشتركة والإشارات. | معايير واجهة نظام التشغيل المحمولة المحددة من قبل IEEE لتعريف واجهة برمجة التطبيقات (API). تغطي POSIX جميع الأشكال الثلاثة لـ IPC |
يغطي SYSTEM V IPC جميع آليات IPC ، مثل الأنابيب والأنابيب المسماة وقوائم انتظار الرسائل والإشارات والإشارات والذاكرة المشتركة. كما أنه يغطي المقبس ومآخذ مجال Unix. | جميع المفاهيم الأساسية تقريبًا هي نفسها System V. وهي تختلف فقط مع الواجهة |
استدعاءات واجهة الذاكرة المشتركة shmget () ، shmat () ، shmdt () ، shmctl () | استدعاءات واجهة الذاكرة المشتركة shm_open () ، mmap () ، shm_unlink () |
استدعاءات واجهة قائمة انتظار الرسائل msgget () و msgsnd () و msgrcv () و msgctl () | استدعاءات واجهة قائمة انتظار الرسائل mq_open () ، mq_send () ، mq_receive () ، mq_unlink () |
استدعاءات واجهة Semaphore semget ()، semop ()، semctl () | استدعاءات واجهة الإشارة Semaphores sem_open () ، sem_close () ، sem_unlink () ، sem_post () ، sem_wait () ، sem_trywait () ، sem_timedwait () ، sem_getvalue () الاسم أو الإشارات المستندة إلى الذاكرة sem_init () ، sem_post () ، () ، sem_getvalue () ، sem_destroy () |
يستخدم المفاتيح والمعرفات لتحديد كائنات IPC. | يستخدم الأسماء واصفات الملفات لتعريف كائنات IPC |
غير متوفر | يمكن مراقبة قوائم انتظار رسائل POSIX باستخدام واجهات برمجة تطبيقات select () و poll () و epoll |
يقدم اتصال msgctl () | يوفر وظائف (mq_getattr () و mq_setattr ()) إما للوصول إلى السمات أو تعيينها 11. IPC - النظام V و POSIX |
غير متوفر | متعدد الخيوط آمنة. يغطي وظائف مزامنة مؤشرات الترابط مثل أقفال كائن المزامنة والمتغيرات الشرطية وأقفال القراءة والكتابة وما إلى ذلك. |
غير متوفر | يقدم بعض ميزات الإعلام لقوائم انتظار الرسائل (مثل mq_notify ()) |
يتطلب استدعاءات النظام مثل shmctl () والأوامر (ipcs و ipcrm) لإجراء عمليات الحالة / التحكم. | يمكن فحص كائنات الذاكرة المشتركة ومعالجتها باستخدام استدعاءات النظام مثل fstat () ، fchmod () |
حجم مقطع الذاكرة المشتركة System V ثابت في وقت الإنشاء (عبر shmget ()) | يمكننا استخدام ftruncate () لضبط حجم الكائن الأساسي ، ثم إعادة إنشاء التعيين باستخدام munmap () و mmap () (أو mremap الخاص بـ Linux ()) |
<< الصفحة الرئيسية