تفاوت میان نسخه‌های «قطعه‌بندی»

۳۶ بایت اضافه‌شده ،  ۴ سال پیش
جز
{{کاربردهای دیگر|قطعه‌بندی (روان‌شناسی)}}
'''تقسیم حافظه'''، ''قسمت''، ''بخش'' یا ''قطعه‌ای'' از [[حافظه دسترسی تصادفی|حافظه اصلی]] [[رایانه]] در تقسیم‌بندی حافظه میباشدمی‌باشد. برای استفاده از تقسیم‌بندی در یک سیستم رایانه‌ای، یک آدرس ارجاع به مکانی در حافظه، محتوی مقداری معین برای شناسایی یک بخش و یک [[آفست سگمنت]] در آن بخش میباشدمی‌باشد. این بخشها یا قطعات در آبجکت‌فایل هایآبجکت‌فایل‌های [[مترجم (رایانه)|برنامه‌های ترجمه شده]] هم زمانیهم‌زمانی مورد استفاده قرار میگیرندمی‌گیرند که به یکدیگر در یک فایل اجرایی که در حافظه فراخوانده شده باشد [[پیوندده|پیوند]] داده شده باشند.
 
ممکن است '''بخشهای''' مختلف برای [[برنامه‌نویسی پودمانی|برنامه‌های پودمانی]] مختلف ساخته شده باشند، یا برای استفاده از کلاسهای مختلف حافظه مانند بخش کد، [[بخش داده]]. حتی ممکن است برخی '''بخشها''' بین برنامه‌ها به اشتراک گذاشته شوند.<ref name="en">[http://en.wikipedia.org/w/index.php?title=Memory_segmentation&oldid=527487248 Wikipedia contributors, "Memory segmentation," Wikipedia]، December 11, 2012.</ref>
 
== پیاده‌سازی سخت‌افزاری ==
تقسیم حافظه، روشی برای پیاده‌سازی [[حفاظت از حافظه]] (به انگلیسی: Memory Protection) میباشدمی‌باشد. [[صفحه‌بندی (رایانه)|صفحه‌بندی]] (به انگلیسی:Paging) روش دیگری است که میتواندمی‌تواند بصورت ترکیبی با '''حفاظت از حافظه''' بکار گرفته شود. معمولاًْمعمولاْ اندازه ''تقسیم حافظه'' ثابت نیست و ممکن است به کوچکی یک [[بایت]] باشد. معمولاًْمعمولاْ '''بخشها''' به صورت طبیعی نماینده قسمتی از یک برنامه هستند مانند یک [[روال]] تک یا جدول داده هاداده‌ها بنابراین، ''بخشها'' برای برنامه‌نویسان قابل رویت هستند.
 
یک بخش، دارای ''طول'' و مجموعه‌ای از ''مجوزهای دسترسی'' است. یک [[فرایند (رایانه)|پردازه]] تنها در حالتی اجازه ارجاع به یک بخش را دارد، که نوع ارجاع آن پردازه، مجوز دسترسی به آن بخش را دارا باشد و [[آفست سگمنت|آفست]] آن بخش نیز در محدوده تعریف شده در طول آن بخش باشد. در غیر اینصورت، یک [[مدیریت استثنا]] (به انگلیسی:Hardware Exception) رخ دهد.
 
اطلاعات مربوط به محل وجود بخش در حافظه، چیز دیگری است که به یک بخش مرتبط میگرددمی‌گردد. این اطلاعات میتواندمی‌تواند آدرس اولین محل بخش در حافظه بوده، یا اگر تقسیم‌بندی با صفحه‌بندی (به انگلیسی:Paging) پیاده‌سازی شده باشد آدرس ''جدول صفحه'' (به انگلیسی: Page Table) آن بخش باشد. در احتمال اول، اگر یک ارجاع به یک مکانی در یک بخش داده شده باشد، برای دادن آدرس آیتم ارجاع شده در حافظه، آفست آن بخش به آدرس اولین مکان در آن بخش اضافه خواهد گردید. در حالت دوم، آفست آن بخش با استفاده از ''جدول صفحه'' به آدرس حافظه ترجمه میگرددمی‌گردد.
 
ممکن است بخشها دارای پرچمی باشند تا نشان دهند که آن بخش در حافظه اصلی حضور دارد یا خیر. اگر به یک بخش که در حافظه حاضر نیست، ارجاعی شود، یک [[مدیریت استثنا]] رخ خواهد داد، و [[سیستم عامل]] آن بخش را در حافظه از محل ذخیره‌سازی ثانویه خواهد خواند.
 
وقتی یک بخش به یک جدول صفحه مرتبط نشده باشد، اولین آدرس در آن بخش معمولاًْمعمولاْ یک آدرس در حافظه اصلی میباشدمی‌باشد. در آن شرایط صفحه‌بندی انجام نخواهد شد. در اینتل ۸۰۳۸۶ به بعد، اگر صفحه‌بندی فعال نباشد آن آدرس میتواندمی‌تواند یک آدرس در حافظه اصلی باشد یا اگر صفحه‌بندی فعال باشد، یک آدرس در یک فضای آدرس که Page شده است.
 
یک [[واحد مدیریت حافظه]] وظیفه دارد تا یک بخش و آفست داخل آن بخش را به یک آدرس حافظه ترجمه نماید، و امتحاناتی را برای اطمینان از اینکه ترجمه میتواندمی‌تواند انجام پذیرد و ارجاع به آن بخش و آفست آن مجوز دسترسی لازم را دارد انجام دهد.
 
== جستارهای وابسته ==
== بیشتر بدانیم ==
* [[حافظه مجازی]]
* [[بی‌اس‌اس]]
* [[صفحه‌بندی (رایانه)]] (به انگلیسی: Paging)
* [[حفاظت از حافظه]] (به انگلیسی: Memory Protection)
 
== منابع ==
{{پانویس}}