Mmap

در رایانش، mmap(2)‎ (برگرفته از memory map) یک فراخوان سیستمی یونیکسی سازگار با استاندارد پازیکس است که پرونده‌ها و دستگاه‌ها را در حافظه سیستم نگاشت (به انگلیسی: map) می‌کند. این فراخوان سیستمی، روشی برای انجام دادن عمل ورودی/خروجی اطلاعات در فایل‌های حافظه-نگاشت را فراهم می‌کند. فراخوان سیستمی mmap، اساساً کارش را به صورت صفحه‌بندی نیازی انجام می‌دهد، چرا که در ابتدا تمام محتوایات فایل از هارد دیسک خوانده نمی‌شود و از حافظه فیزیکی RAM استفاده نمی‌شود، تنها هر جا که نیاز بود، اطلاعات از هارد دیسک خوانده شده و به RAM آورده می‌شوند. به عبارت دیگر، اطلاعات تا زمانی که درخواست نشده‌اند وارد RAM نمی‌شوند و عمل واقعی خواندن اطلاعات از روی دیسک به صورت «تنبل‌گونه» صورت می‌گیرد. پس از اینکه دیگر نیازی به حافظه نبود، باید فراخوان سیستمی دیگری به نام munmap(2)‎ اجرا شود و اشاره‌گر به ناحیه‌ای از حافظه که اطلاعات در آنجا قرار داشته‌اند، به عنوان آرگومان برای آن ارسال شود. به کمک فراخوان سیستمی دیگری به نام mprotect(2)‎ می‌توان از اطلاعات در حافظه محافظت کرد و به کمک فراخوان سیستمی دیگری به نام madvise(2)‎ هم می‌توان رفتارهای خاص در مورد آن ناحیه از حافظه را کنترل کرد. در سیستم‌عامل‌های لینوکس، مک اواس ده و خانواده بی‌اس‌دی، فراخوان سیستمی mmap می‌تواند عمل نگاشت را به روش‌های گوناگونی انجام دهد.


Mmap

Dodaje.pl - Ogłoszenia lokalne