OS Internals
3.45K subscribers
6 photos
29 videos
12 files
84 links
مقاله و فیلم آموزش مدیریت و برنامه‌نویسی سیستم‌های عامل، شبکه و امنیت اطلاعات.

مقالات من در ویرگول:
https://virgool.io/@akazemi

ویدئوهای کانال در آپارات:
https://www.aparat.com/oxaa55

ارتباط با مدیر کانال از طریق:
@akazemi67
Download Telegram
مروری بر روش‌های IPC در لینوکس و تست SharedMemory

بحث IPC یا Inter-Process Communication به روش‌هایی گفته می‌شود که از طریق آن دو پروسه می‌توانند با یکدیگر اطلاعاتی رد و بدل کرده یا یک رخ‌داد را به اطلاع هم برسانند. برای انجام اینکار متدهای متنوعی در لینوکس وجود دارد که قبلا نیز در مورد Signal پستی منتشر کرده بودم و جزئیات آنرا نمایش داده بودم.

یکی دیگر از روش‌های تبادل اطلاعات بین دو پروسه، استفاده از حافظه‌ی مشترک است که در آن فضایی در RAM در نظر گرفته شده و در فضای آدرس مجازی دو پروسه نگاشت می‌شود که پروسه‌ها در آن اطلاعات مشترک خود را قرار دهند.

برای استفاده از حافظه‌ی مشترک در لینوکس، با استفاده از shm_open درخواست ایجاد فضای مشترک را داده و پس از دریافت یک File Descriptor به کمک mmap حافظه‌ی مورد نیاز را از کرنل لینوکس دریافت می‌کنیم.

نکته‌ای که باید به آن توجه کنیم این است که نوشتن چند پروسه به صورت همزمان درفضای مشترک، می‌تواند ناسازگاری داده ایجاد کند که با استفاده از Semaphore یا روش‌های دیگر Synchronization بر اساس نیاز، باید بین پروسه‌ها هماهنگی ایجاد نمود.

در این ویدئو، پس از مرور کوتاهی بر روش‌های مختلف IPC به بررسی عمیق‌تر روش Shared Memory پرداخته و یک کد ساده برای تست آن می‌زنیم.


لینک ویدئو در یوتیوب:
https://youtu.be/exhJs3RDnN8
لینک ویدئو در آپارات:
https://aparat.com/v/gskav3t

#ShortLinuxInternals #linux #internals #programming #processes #ipc #sharedmemory
12👍3