المشاركات

عرض الرسائل ذات التصنيف Inter process communication الاتصال بين العمليات

تخطيط الذاكرة

  تخطيط الذاكرة داية التعيين على النجاح أو MAP_FAILED عند الخطأ. يمكن أن يكون عنوان العنوان الظاهري محددًا من قِبل المستخدم أو تم إنشاؤه بواسطة kernel (عند تمرير العنوان كـ NULL).  يتطلب طول الحقل المشار إليه حجم التعيين بالبايت.  يشير الحقل prot إلى قيم حماية الذاكرة مثل PROT_NONE و PROT_READ و PROT_WRITE و PROT_EXEC والمقصود بالمناطق التي لا يمكن الوصول إليها أو قراءتها أو كتابتها أو تنفيذها على التوالي.  يمكن أن تكون هذه القيمة مفردة (PROT_NONE) أو يمكن أن تكون ORd مع أي من العلامات الثلاثة (آخر 3).  تشير إشارات الحقول إلى نوع التعيين إما MAP_PRIVATE أو MAP_SHARED.  يشير الحقل "fd" إلى واصف الملف الذي يحدد الملف المراد تعيينه ويشير الحقل "الإزاحة" إلى نقطة البداية للملف ، إذا كنت بحاجة إلى تعيين الملف بأكمله ، فيجب أن تكون الإزاحة صفرًا. #include <sys/mman.h> int munmap ( void * addr , size_t length ); إرجاع استدعاء النظام أعلاه 0 عند النجاح أو -1 عند الخطأ. يقوم استدعاء النظام munmap بإلغاء تعيين المنطقة المعينة للذاكرة بالفعل.  يشير ع...

الاتصال بين العمليات - الإشارات

صورة
  الاتصال بين العمليات - الإشارات Ad by   Valueimpression  الصفحة السابقة الصفحة التالية    A  إشارة  هي إخطارا بعملية مشيرا إلى وقوع الحدث.  تسمى الإشارة أيضًا  مقاطعة البرامج  ولا يمكن التنبؤ بها لمعرفة حدوثها ، ومن ثم يطلق عليها أيضًا  حدثًا غير متزامن  . يمكن تحديد الإشارة برقم أو اسم ، وعادة ما تبدأ أسماء الإشارة بـ SIG.  يمكن التحقق من الإشارات المتاحة باستخدام الأمر kill –l (l لإدراج أسماء الإشارات) ، وهو كالتالي - عندما يتم رفع إشارة (إما بشكل برمجي أو بواسطة النظام) ، يتم تنفيذ إجراء افتراضي.  ماذا لو كنت لا ترغب في تنفيذ الإجراء الافتراضي ولكنك ترغب في تنفيذ الإجراءات الخاصة بك عند استقبال الإشارة؟  هل هذا ممكن لجميع الإشارات؟  نعم ، من الممكن التعامل مع الإشارة ولكن ليس مع كل الإشارات.  ماذا لو أردت تجاهل الإشارات ، هل هذا ممكن؟  نعم ، من الممكن تجاهل الإشارة.  تجاهل الإشارة لا يعني عدم تنفيذ الإجراء الافتراضي أو التعامل مع الإشارة.  من الممكن تجاهل أو التعامل مع جميع الإشارات ...