memory management( هظفاح تیریدم :مراهچ لصف memory manager...

13
72 ( : مدیریت حافظه فصل چهارمMemory Management ) 1 ) ( مدیر حافظهMemory Manager :) عی اصلی اطز فضاهای پر و خالمل است که ایستم عامتی از س قس می نگهداری مدیریت حافظهرون جدولهایت را دعا دارد. او این اطمه، آن را یک برناد. برای اجرا شدن نمایی بهز حافظه جانب اند میدیل به فرآیرنامه تبب( میکند حافظه کپین حالت می. در ای) شود گویند به فرآیند را آزاد به فرآینده شدهیص دادد نیز حافظه تخص فرآینن اجرایست. در پایاه شده ایص داد حافظه تخص میکند.2 ) آدرس:شود. این آیتم مشخص میط آدرس آن آیتمم در حافظه، توس هر آیتریارگی محل قر می تواند یکجود دارد:ع آدرس و نوت کلی دو. در حالستور یا ... باشدغیر، ثابت، د مت الف- ا مجازی: ی آدرس منطقید. اینمه را مشخص میکن برنا در)متغیر(حل یک آیتم آدرس منطقی م آدرس( ترجمی برنامه توسط میل اجرای ها هنگام تولید فاCompiler د می تولی) شوند. ب- کیزی آدرس فی واقعی: یافظه اصلیی به حاز حافظه جانبمه اجرا شود، است یک برناار انگامی که قر ه منتقل می نظر گرفته میفظه اصلی درل در حا یک مح)متغیر( هر آیتمپس برای شود. سهی است. بدی شود است. دارای آدرسفظه اصلیل در حا که این مح به آدرسی که محل یک( آیتم متغیر) در حافظه اصلی یکی گفته میزی، آدرس فیا را مشخص میکندم اجر هتگا شود. ج- جمه آدرس یا تر نگاشت: ( ازندهنگامی که پرد هCPU را واکشی)ل اجرانامه در حابر( فرآیند یک دستور) ، با آدرس نمایدا اجراده تا آن ر کره آدرسمانطور که گفته شده( خواهد شد منطقی مواجه های آیتم ها برنامه، آد درون آیتم روید نظر برلیات مور فرآیند باید عمم اجرای هنگا، در حالیکه) منطقی است رس های آیتمکیزی نیاز به آدرس فیازندهت گیرد. پس پردفظه اصلی صور در حا متناظر آدرس و باید دارد ها های آدرس یا تکی نگاشتزی به آدرس فیل آدرس منطقیه تبدییل شود. بکی تبدزی به آدرس فی منطقی بدیل صورت می سخت افزاری بصورتعمول م افزایش سرعت اجرا، این عم گویند. بمنظور آدرس می گیرد.3 ) مدیریت حافظهازهای نی: آورده سازد.ا بر ذیل رازهاید نی مدیریت حافظه باییستم یک س الف- ی:ابجای ج آدرس باعث تغییرفظه اصلی در حار محل فرآیندیدانیم تغییانطور که م هملمانکی ازی فی)متغیر( های دروند می ن فرآی شود در حالیکه آدرسز طرف دیگر با توجه کرد. اری نخواهد تغیی منطقی هاییستموقات سهی اب فصل گذشته گا به مطالهدا تغییر دفظه اصلی ر در حا است محل فرآیند عامل ناچار

Upload: others

Post on 09-Sep-2019

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Memory Management( هظفاح تیریدم :مراهچ لصف Memory Manager 1compfo.com/news/wp-content/uploads/2016/10/Sec_3.pdf · 72 سآ LA= Logical Address( .وشیم یلوت

72

(Memory Managementفصل چهارم: مدیریت حافظه )

قسمتی از سیستم عامل است که از فضاهای پر و خالی اصلی اطالع (:Memory Managerمدیر حافظه) (1

نماید. برای اجرا شدن یک برنامه، آن را دارد. او این اطالعات را درون جدولهای مدیریت حافظه نگهداری می

گویند به فرآیند شود(. در این حالت میحافظه کپی میکند )برنامه تبدیل به فرآیند می از حافظه جانبی به

حافظه تخصیص داده شده است. در پایان اجرای فرآیند نیز حافظه تخصیص داده شده به فرآیند را آزاد

میکند.

تواند یک میمحل قرارگیری هر آیتم در حافظه، توسط آدرس آن آیتم مشخص میشود. این آیتم آدرس: (2

متغیر، ثابت، دستور یا ... باشد. در حالت کلی دو نوع آدرس وجود دارد:

آدرس منطقی محل یک آیتم)متغیر( در برنامه را مشخص میکند. این آدرس منطقی یا مجازی: -الف

شوند.( تولید میCompilerها هنگام تولید فایل اجرایی برنامه توسط مترجم )آدرس

هنگامی که قرار است یک برنامه اجرا شود، از حافظه جانبی به حافظه اصلی یا واقعی:آدرس فیزیکی -ب

شود. بدیهی است شود. سپس برای هر آیتم)متغیر( یک محل در حافظه اصلی در نظر گرفته میمنتقل می

ی اصلیدر حافظه (متغیرآیتم )محل یک به آدرسی که که این محل در حافظه اصلی دارای آدرس است.

شود.هتگام اجرا را مشخص میکند، آدرس فیزیکی گفته می

( یک دستور فرآیند )برنامه در حال اجرا( را واکشی CPUهنگامی که پردازنده ): نگاشت یا ترجمه آدرس -ج

ها آیتم های منطقی مواجه خواهد شد )همانطور که گفته شده آدرسکرده تا آن را اجرا نماید، با آدرس

های رس منطقی است(، در حالیکه هنگام اجرای فرآیند باید عملیات مورد نظر بر روی آیتمدرون برنامه، آد

های ها دارد و باید آدرسمتناظر در حافظه اصلی صورت گیرد. پس پردازنده نیاز به آدرس فیزیکی آیتم

بدیل منطقی به آدرس فیزیکی تبدیل شود. به تبدیل آدرس منطقی به آدرس فیزیکی نگاشت آدرس یا ت

گیرد.آدرس می گویند. بمنظور افزایش سرعت اجرا، این عمل معموال بصورت سخت افزاری صورت می

یک سیستم مدیریت حافظه باید نیازهای ذیل را برآورده سازد. :نیازهای مدیریت حافظه (3

فیزیکی المان همانطور که میدانیم تغییر محل فرآیند در حافظه اصلی باعث تغییر آدرس جابجایی: -الف

های منطقی تغییری نخواهد کرد. از طرف دیگر با توجه شود در حالیکه آدرسن فرآیند میهای درو)متغیر(

عامل ناچار است محل فرآیند در حافظه اصلی را تغییر دهد به مطالب فصل گذشته گاهی اوقات سیستم

Page 2: Memory Management( هظفاح تیریدم :مراهچ لصف Memory Manager 1compfo.com/news/wp-content/uploads/2016/10/Sec_3.pdf · 72 سآ LA= Logical Address( .وشیم یلوت

72

از بازگردانی به حافظه اصلی در محل )مثال فرآیندی که معلق شده و از حافظه اصلی خارج شده است، پس

های منطقی مستقل از آدرس فیزیکی دیگری از حافظه اصلی قرار داده شود(. جابجایی یعنی اینکه آدرس

عامل بتواند آزادانه یک فرآیند را به هر نقطه از حافظه اصلی تغییر مکان دهد، بدون اینکه باشند و سیستم

د.در اجرای فرآیند مشکلی ایجاد گرد

ای همواره چندین فرآیند در حافظه اصلی وجود دارد و های چندبرنامهازآنجا که در سیستم حفاظت: -ب

عامل نیز در حافظه اصلی است، باید هر فرآیند فقط به محدوده خودش در حافظه بعالوه همواره سیستم

دسترسی پیدا کند. بویژه محدوده سایر فرآیندها در حافظه اصلی اصلی دسترسی داشته باشد و نتواند به

عامل در حافظه اصلی در مقابل کلیه فرآیندهای دیگر محافظت گردد.باید محدوده سیستم

در شرایطی که چندین فرآیند نیاز به دسترسی به آیتم )داده، متغیر( یکسانی داشته باشند و یا :اشتراک -ب

ن داده یا دستورات بین فرآیندها به اشتراک بخواهند دستورات یکسانی را اجرا نمایند، بهتر است که که ای

ها بین هایی برای به اشتراک گذاری آیتمگذاشته شود. بنابراین سیستم مدیریت حافظه باید مکانیزم

ها یا دستورات مشترک را کنترل نماید.فرآیندها داشته باشد و از این طریق نحوه دسترسی به داده

مدیریت حافظه شامل دو بخش است. بخش اول روشی است که هر تکنیک :تکنیک های مدیریت حافظه (4

شود. گفته می روش تخصیصشود که به آن حافظه تخصیص داده می ،طبق آن به فرآیند در حافظه اصلی

روش نگاشتشود که به آن بخش دوم روشی است که طبق آن آدرس منطقی به آدرس فیزیکی تبدیل می

شت وابستگی مستقیم به روش تخصیص دارد.شود. بدیهی است که روش نگاگفته می

در تکنیک های این خانواده،فضایی که به یک های مدیریت حافظه بصورت هم جوار یا پیوسته:تکنیک -4-1

داده میشود بصورت پشت سر هم و یکپارچه است و نمی توان فرآیند را در حافظه توزیع فرآیند در حافظه اصلی

کرد. خانواده ی تکنیک های هم جوار روش های تخصیص متفاوتی دارد ولی در همه ی آنها از یک روش برای

تبدیل آدرس منطقی به فیزیکی استفاده می شود.

Baseدر این روش در پردازنده یک ثبات پایه) روش تبدیل آدرس در تکنیک های هم جوار:-4-1-1

Register(و یک ثبات حد )Limit Registerدر ود که به ترتیب شروع و طول فرآیند( در نظر گرفته میش

تا از شدهمقایسه Limitثبات آدرس منطقی با ابتدا برای تبدیل آدرس، د.نحافظه ی اصلی را نگهداری میکن

کوچکتر باشد دسترسی مجاز بوده و آدرس Limitآدرس منطقی از ثبات اگر .دسترسی غیرمجاز جلوگیری شود

Page 3: Memory Management( هظفاح تیریدم :مراهچ لصف Memory Manager 1compfo.com/news/wp-content/uploads/2016/10/Sec_3.pdf · 72 سآ LA= Logical Address( .وشیم یلوت

72

آدرس LA= Logical Address) میشود. تولید Base مقدار ثبات با فیزیکی از حاصلجمع آدرس منطقی

آدرس فیزیکی( PhA=Physical Address منطقی،

هم جوار: روش های تخصیص در تکنیک-4-1-2

یک تخصیص، در این روش:Single Partition memory managementالف(تخصیص تک قسمتی

.و قسمت دیگر تنها در اختیار یک فرآیند قرار میگیرند در نظر گرفته شده قسمت از حافظه برای سیستم عامل

و سه مشکل دارد: گیرد.عامل فقط یک فرآیند )برنامه( در حافظه اصلی قرار میبعبارت دیگر عالوه بر سیستم

: اگر یک فرآیند نتواند کل حافظه اصلی را اشغال نماید، این باقیمانده فضا بدون استفاده ی غیربهینه از حافظه-

ماند.استفاده باقی می

گیرد، چندبرنامگی در این حالت فقط یک فرآیند در حافظه اصلی قرار می: چون چند برنامگی غیرممکن است-

وجود ندارد.

ین پردازنده و وسایل ورودی خروجی: چون تنها یک فرآیند در سیستم است )چندبرنامگی نداریم(، کارآیی پای-

در اکثر اوقات پردازنده یا وسایل ورودی/خروجی بیکار هستند، پس کارایی پایین است.

Limit Reg.

Logical Address

خطا

LA<Limit PhA=LA+Base Reg. Yes

No

Page 4: Memory Management( هظفاح تیریدم :مراهچ لصف Memory Manager 1compfo.com/news/wp-content/uploads/2016/10/Sec_3.pdf · 72 سآ LA= Logical Address( .وشیم یلوت

03

(Ramحافظه اصلی )

در این روش یک :Static Partition memory managementپارتیشن ایستا -ب(تخصیص چندقسمتی

هایی با اندازه بخشصورت منطقی به و بقیه حافظه به در نظر گرفته شده قسمت از حافظه برای سیستم عامل

، هر فرآیند رای اجرایسپس ب شود.؛ به هر بخش یک پارتیشن گفته میدوشهای ثابت ولی متفاوت شکسته می

نکته مهم این فرآیند باشد.اندازه بزرگتر یا مساوی اش اندازهد که وشاختصاص داده می پارتیشنی به آن فرآیند

د. ریگتنها یک فرآیند قرار می پارتیشند و در هر وشه میداد پارتیشنبه هر فرآیند تنها یک است که

سیستم

عامل

فرآیند

100 KB

200 KB

400 KB

600 KB

OS

220KBبا سایز Aفرآیند

180KB فضای آزاد = تکه تکه شدن داخلی

Page 5: Memory Management( هظفاح تیریدم :مراهچ لصف Memory Manager 1compfo.com/news/wp-content/uploads/2016/10/Sec_3.pdf · 72 سآ LA= Logical Address( .وشیم یلوت

03

:مشکل زیر است 0 این روش دارای

مساوی ی موجود درحافظه اصلیحداکثر تعداد فرآیندهاگیرد، چون در هر پارتیشن فقط یک فرآیند قرار می -

تعداد پارتیشن هاست.

)فرآیندی( ایتیشن برنامهبزرگتر از بزرگترین پارشود، چون به هر فرآیند تنها یک پارتیشن اختصاص داده می -

قابل اجرا نیست.

اختصاص داده شده به فرآیند ارتیشن:اگر پInternal Fragmentationتکه تکه شدن داخلی حافظه یا -

اختصاص داده شده خالی می ماند که به این اتفاقمقداری از فضای پارتیشن باشد، فرآیندبزرگتر از اندازه ی

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

.شودمیباعث اتالف حافظه شدن داخلی

ها به دو صورت است:تقسیم بندی بندی بخش

شود یا اندازه همه های با اندازه مساوی شکسته میدر این روش حافظه به بخش های با اندازه مساوی:بخش -1

، اگر سربار کم، های این روش عبارتند از: سرعت در انتخاب پارتیشنها با هم مساوی است. ویژگیپارتیشن

-پارتیشن قابل قرارگیری نباشد آنگاه در هیچ پارتیشن دیگری نیز قابل قرار گیری نیست. تکهفرآیندی در یک

یابد.تکه شدن داخلی افزایش می

شود. های متفاوت شکسته میهای با اندازهدر این روش حافظه به پارتیشن های با اندازه متفاوت:بخش -2

یابد. در این حالت برای قرار دادن فرآیندها در حافظه یتکه شدن داخلی تا حدی کاهش مبنابراین مقدار تکه

-شود و فرآیندها براساس اندازهبرای هر پارتیشن یک صف در نظر گرفته می در راه اولاصلی دو راه وجود دارد.

شوند تا هر شان در صف کوچکترین پارتیشن مناسب )بزرگتر یا مساوی اندازه فرآیند( برای خود قرار داده می

گاه پارتیشن مربوطه آزاد گردد، فرآیند سر صف در پارتیشن قرار گیرد. مزیت این روش کاهش اتالف بدلیل

تکه شدن داخلی است اما مشکل آن این است که ممکن است پارتیشن مناسب دیگری برای فرآیندی آزاد تکه

ها برای همه پارتیشندر راه دوم . باشد ولی فرآیند منتظر ورود به کوچکترین پارتیشن مناسب بوده و اجرا نشود

گیرند. به محض اینکه پارتیشنی آزاد شود و همه فرآیندها در این صف قرار مییک صف واحد در نظر گرفته می

-شود اولین فرآیند سرصف که آن پارتیشن برایش مناسب باشد از صف برداشته شده و در آن پارتیشن قرار می

شود.همزمان آزاد باشند کوچکترین پارتیشن مناسب انتخاب میاگر چندین پارتیشن بصورت گیرد.

Page 6: Memory Management( هظفاح تیریدم :مراهچ لصف Memory Manager 1compfo.com/news/wp-content/uploads/2016/10/Sec_3.pdf · 72 سآ LA= Logical Address( .وشیم یلوت

07

Page 7: Memory Management( هظفاح تیریدم :مراهچ لصف Memory Manager 1compfo.com/news/wp-content/uploads/2016/10/Sec_3.pdf · 72 سآ LA= Logical Address( .وشیم یلوت

00

در این روش :Dynamic Partition memory managementپارتیشن پویا -ج(تخصیص چندقسمتی

یک هنگام اجرای و بقیه ی حافظه آزاد میباشد. در نظر گرفته شده یک قسمت از حافظه برای سیستم عامل

برای قرار میگیرد. فرآیند در این پارتیشنفرآیند یک پارتیشن دقیقا به اندازه همان فرآیند ساخته شده و

ساختن یک پارتیشن دقیقا یا متناسب با اندازه فرآیند، دو روش زیر وجود دارد:

شود که اندازه تقسیم میدر این روش حافظه اصلی به تعدادی پارتیشن هممدیریت حافظه با نگاشت بیتی: -1

گرفته که هر خانه آن یک بردار بیتی در نظر سیستم عامل معموال اندازه این پارتیشنها کوچک است. سپس

باشد آن پارتیشن پر و 3مثال اگر این بیت برابر نشان دهنده پر یا خالی بودن پارتیشن متناظر با این خانه است.

اگر صفر باشد آن پارتیشن آزاد است. حال هرگاه فرآیندی میخواهد در حافظه اصلی قرار گیرد سیستم عامل

Page 8: Memory Management( هظفاح تیریدم :مراهچ لصف Memory Manager 1compfo.com/news/wp-content/uploads/2016/10/Sec_3.pdf · 72 سآ LA= Logical Address( .وشیم یلوت

03

انتخاب کرده و فرآیند را در آن قرار میدهد. بعنوان مثال در ار ی آزاد پشت سر همتعدادی از این پارتیشنها

است. P2=450KBو اندازه فرآیند P1=250KBاندازه فرآیند ، 100KBشکل زیر اندازه هر پارتیشن برابر

های حافظه اصلیماتریس بیتی متناظر با وضعیت بالک

عامل بخواهد فرآیند جدیدی در حافظه اصلی قرار دهد باید تعدادی پارتیشن آزاد پشت سر هنگامی که سیستم

مثال برای قرار دادن یک پشت سرهم قرار داد.های هم پیداکند به نحوی که آن فرآیند را بتوان در آن پارتیشن

پس باید در ماتریس بیتی به پارتیشن آزاد پشت سرهم است. 3کیلوبایتی در شکل باال نیاز به 033فرآیند

برای ی ماتریس بیتیجستجو ل دارد: اول اینکهمشک این روش سه یدا کند.همان تعداد بیت صفر پشت سرهم پ

، دوما، هنگامیکه اندازه فرآیند مضرب صحیحی از اندازه برای فرآیند زمان را تلف میکند یافتن فضای مناسب

تکه ماند و این باعث تکهپارتیشن نباشد مقداری از فضای آخرین پارتیشن اختصاص داده شده به فرایند خالی می

، برای ذخیره سازی ماتریس بیتی مقداری حافظه شدن داخلی حافظه و در نتیجه اتالف حافظه خواهد شد. سوما

های اصلی بزرگ فضای الزم برای ذخیره سازی ماتریس بیتی قابل توجه خواهد بود.شود که برای حافظهتلف می

ارتیشنپشماره 3 3 7 0 3 5 6 2 2 2 33 33

وضعیت 3 3 3 3 3 3 3 3 3 3 3 3

3

3

7

0

3

5

6

2

2

2

33

33

P1فرآیند

P2فرآیند

Page 9: Memory Management( هظفاح تیریدم :مراهچ لصف Memory Manager 1compfo.com/news/wp-content/uploads/2016/10/Sec_3.pdf · 72 سآ LA= Logical Address( .وشیم یلوت

05

که شدن خارجی افزایش یافته و اندازه ماتریس تها بزرگتر باشد میزان تکههرچه اندازه پارتیشن نکته مهم اینکه:

یافته و اندازه کاهشکه شدن خارجی تباشد میزان تکه کوچکترها هرچه اندازه پارتیشنیابد، بیتی کاهش می

شود.یافته و زمان جستجو در آن بیشتر می افزایشماتریس بیتی

در این روش کل فضای حافظه شامل قسمتهای تخصیص یافته و آزاد :لیست پیوندیمدیریت حافظه با -2

شود. هر گره این لیست نشان دهنده یک قطعه از حافظه است که بصورت یک لیست پیوندی نمایش داده می

نشان دهنده این در هر گره لیست فیلداولین شود. های آزاد حفره گفته میبه قطعه میتواند آزاد یا اشغال باشد.

( نشان دهنده حفره و Hole) Hاست که این گره متناظر با یک فرآیند یا متناظر با یک حفره است، اگر مقدار

( نشان دهنده فرآیند است.Process) Pمقدار

بنابراین در نقاط مختلف حافظه پراکنده شده اند. بدون هیچگونه نظمی های خالی مطابق با شکل فوق حفره

باید در این لیست جستجو هنگامی که سیستم عامل میخواهد فرآیند جدیدی را در حافظه اصلی قرار دهد

3از یکی از این قرار دادن فرآیندخالی برای حفرهبرای انتخاب مناسب برای فرآیند را پیدا کند. حفرهنموده تا

(را در حافظه قرار دهیم 220KBکنیم بخواهیم فرآیندی با اندازه )فرض می الگوریتم استفاده می شود:

1)First Fit: دهدمناسب قرار می خالی حفرهرده و فرآیند را در اولین را از ابتدا بررسی ک لیستمدیر حافظه.

گیرد. در این روش تراکم فرآیندها در ابتدای حافظه بیشتر است.قرار می 300KB حفرهدر مثال ما، فرآیند در

Page 10: Memory Management( هظفاح تیریدم :مراهچ لصف Memory Manager 1compfo.com/news/wp-content/uploads/2016/10/Sec_3.pdf · 72 سآ LA= Logical Address( .وشیم یلوت

06

2)Best Fit: در مناسب قرار میدهد. حفرهرا بررسی کرده و فرآیند را در کوچکترین لیستکل مدیر حافظه

گیرد.قرار می 250KB حفرهمثال ما، فرآیند در

3)Worst Fit: در مناسب قرار میدهد. حفرهو فرآیند را در بزرگترین را بررسی کرده لیستکل مدیر حافظه

گیرد. قرار می 500KB حفرهمثال ما، فرآیند در

4)Next Fit: ،همانند این الگوریتمFirst Fit ی خالی را از جایی یافتن حفرهبرای ی لیستاست ولی جستجو

ی خالی یافته بود.فرهحآغاز میکند که دفعه ی قبل

حافظه از ی یبندی پویا در اثر ورود و خروج متناوب فرایندها باریکه ها پارتیشندر روش تکه تکه شدن خارجی:

کوچک غالبا هاتکه تکه شدن خارجی میگویند و چون این فضا این رخدادبه شود.در حافظه اصلی ایجاد میآزاد

.شوندمیباعث اتالف حافظه نددیگری نیست فرآیندهایو قابل تخصیص به هستند

میتوان فرایند ها را در حافظه جابه جا تکه شدن خارجی برای برطرف کردن تکه : compactionفشردگی یا

کرده )شیفت داده ( و فضاهای خالی را در کنار هم قرار داد و فضاهای خالی بزرگتر ایجاد کرد که به این کار

فشردگی گویند که عملی زمان بر است.

های ذکر شده:های الگوریتمویژگی

یافتن کوچکترین و جستجوی کل لیست اتالف زمان جهت -دارای این معایب است: Best Fitلگوریتم ا -3

تشدید تکه تکه شدن خارجی و انجام فشردگی به دفعات زیاد. - ،حفره

Page 11: Memory Management( هظفاح تیریدم :مراهچ لصف Memory Manager 1compfo.com/news/wp-content/uploads/2016/10/Sec_3.pdf · 72 سآ LA= Logical Address( .وشیم یلوت

02

یافتن بزرگترین و جستجوی کل لیست اتالف زمان جهت -دارای این معایب است: worst Fitلگوریتم ا -7

بزرگ هایفرآیندبزرگ و مشکل در پذیرش ایههسریع حفر شکستن - ،حفره

کند.تلف میهر بار جستجو را از ابتدای لیست آغاز کرده و زمان را است: دارای این عیب First Fitلگوریتم ا -0

از عدم جستجو -عدم جستجو برای کوچکترین و بزرگترین -است: هاویژگیدارای این Next Fitلگوریتم ا -3

ابتدای لیست.

آیند در تکنیک های این خانواده میتوان فر هم جوار یا پیوسته:غیر های مدیریت حافظه بصورت تکنیک -4-2

یع نمود و عبارتند از :را در جاهای مختلف حافظه توز

ظه در این روش حاف :(Page memory management) مدیریت حافظه به روش صفحه بندی - 4-2-1

اصلی توسط سیستم عامل به قسمت هایی هم اندازه )اندازه ها ثابت و یکسان( به نام بالک تقسیم می شود.

سپس برنامه ای که قرار است اجرا شود به قسمت هایی هم اندازه با بالک ها به نام صفحه تقسیم میشود.در

را در هر بالک آزاد قرار داد. صفحه فرآیندنهایت میتوان هر

منطقی به فیزیکی در صفحه بندی :تبدیل ادرس روش -الف

برای تبدیل آدرس، آدرس منطقی به دو قسمت شماره صفحه و فاصله از شروع صفحه تبدیل می شود.سپس

شماره صفحه به جدول صفحه اندیس می شود تا مشخص شود این صفحه در کدام بالک قرار گرفته است.در

ز ابتدای صفحه آدرس فیزیکی بدست می آید.)فاصله از ابتدای نهایت با کنار هم قرار دادن شماره بالک و فاصله ا

صفحه با فاصله از ابتدای بالک یکسان است.(

جدول صفحه :هربرنامه جدول صفحه ی اختصاصی خود را دارد. جدول صفحه جدولی است که مشخص می کند

و محتوای داخلی هر اندیس هر صفحه برنامه در کدام بالک قرار گرفته است.در این جدول اندیس شماره صفحه

شماره بالک است.

معایب صفحه بندی: -ب

اتالف حافظه: -1

a: چون همیشه اندازه ی برنامه ها مضرب صحیح از اندازه ی صفحه نمی باشد ( بدلیل تکه تکه شدن داخلی

ا به طور مقداری از فضای آخرین صفحه ی اختصاص داده شده به برنامه بدون استفاده باقی می ماند که این فض

یا سط نصف یک صفحهومت

می باشد.

Page 12: Memory Management( هظفاح تیریدم :مراهچ لصف Memory Manager 1compfo.com/news/wp-content/uploads/2016/10/Sec_3.pdf · 72 سآ LA= Logical Address( .وشیم یلوت

02

b) : اتالف می کند دهر برنامه مقداری از حافظه را بابت فضای جدول صفحه ی خو بدلیل حجم جدول صفحه

بایت باشد حجم جدول eبایت باشد و اندازه هرخانه جدول صفحه sکه اگر اندازه ی برنامه ها به طور متوسط

صفحه برابر است با :

که

است. های فرآیند= تعداد صفحه تعداد خانه های جدول صفحه

c: در نهایت هر برنامه به اندازه ( کل اتالف یک برنامه

تلف می کند.را حافظه از

چون برای دسترسی به یک متغیر باید ابتدا به جدول صفحه مراجعه شود تا کاهش سرعت کار با حافظه: -2

شود و سپس به خود متغیر مراجعه شود سپس برای دسترسی به هر آدرس منطقی به آدرس فیزیکی تبدیل

متغیر دو مرتبه دسترسی به حافظه انجام شود سپس پس از مراجعات به حافظه دو برابر شده و سرعت حداقل

نصف می گردد.

تعیین اندازه صفحه به روش در روش صفحه بندی:ج(

.افزایش اتالف حجم جدول 7لی .کاهش اتالف تکه تکه شدن داخ3کوچک باشد : P یا صفحهاندازه اگر -*

.صفحه

. کاهش اتالف به دلیل 7.افزایش اتالف بدلیل تکه تکه شدن داخلی 3باشد : بزرگ P یا صفحهاندازه اگر -*

.حجم جدول صفحه

اندازه ایده ال صفحه -*

در این روش برنامه توسط کامپایلر یا : (Segmentation) مدیریت حافظه به روش قطعه بندی -4-2-2

شکسته می شود که هر قسمت یک و محتویات متفاوت برنامه نویس به قسمت هایی با اندازه های متفاوت

segment .ای خود بر میدارد و جهت اجرای برنامه ربیک قسمت از حافظه اصلی را سیستم عامل میگویند

که به آن پارتیشن گفته میشود و هر سگمنت را در یک پارتیشن قرار برای هر قطعه یک قسمت مجزا می سازد

ها پشت سر هم باشند.لی الزامی نیست که این قسمتودهد می

ابتدا آدرس منطقی برای تبدیل ابتدا ادرس منطقی به فیزیکی، :در قطعه بندی تبدیل ادرس منطقی به فیزیکی

-شود. سپس شماره قطعه به جدول قطعه اندیس میبه دو بخش شماره قطعه و فاصله از شروع قطعه تقسیم می

ی بعد فاصله از شروع قطعه با طول قطعه شود تا محل شروع قطعه و طول قطعه مشخص گردد. در مرحله

حاصل جمع فاصله از شروع قطعه و آدرس شود تا از دسترسی غیر مجاز جلوگیری شود در نهایت مقایسه می

کند. شروع قطعه ، آدرس فیزیکی را تولید می

Page 13: Memory Management( هظفاح تیریدم :مراهچ لصف Memory Manager 1compfo.com/news/wp-content/uploads/2016/10/Sec_3.pdf · 72 سآ LA= Logical Address( .وشیم یلوت

02

های هر هر برنامه جدول قطعه خود را دارد و جدولی است که برای هر برنامه شروع و طول قطعه جدول قطعه:

دهد.برنامه را نشان می

معایب قطعه بندی:

الف( اتالف حافظه:

شود ها ایجاد میهای فضای آزاد حافظه که میان قسمتدر روش قطعه بندی باریکهتکه تکه شدن خارجی : -1

حجم جدول قطعه:هر برنامه مقداری از -7شود .گوییم باعث اتالف حافظه میو به آن تکه تکه شدن خارجی می

کند.حافظه را بابت فضای مورد نیاز برای جدول قطعه خود اشغال یا تلف می

برای دسترسی به هر متغیر باید یکبار برای تبدیل آدرس منطقی به فیزیکی به با حافظه:ب( کاهش سرعت کار

حافظه اصلی مراجعه کرد و بار دیگر پس از بدست آمدن آدرس فیزیکی به خود متغیر مراجعه کرد، در نتیجه

گردد.برای هر دسترسی به متغیر مراجعات به حافظه دو برابر شده و سرعت حداقل نصف می

هردو روش -7هردو روش تخصیص غیر هم جوار هستند. -3 مقایسه صفحه بندی و قطعه بندی: -4-2-3

بندی اندازه در صفحه -3دهند. هردو سرعت کار با حافظه را کاهش می -0شوند. باعث اتالف حافظه می

دارد و صفحه بندی تکه تکه شدن داخلی -5قسمتهای حافظه یکسان است ولی در قطعه بندی یکسان نیست.

صفحه بندی از دید برنامه نویس شفاف است ولی قطعه بندی شفاف -6قطعه بندی تکه تکه شدن خارجی دارد.

در صفحه بندی تبدیل آدرس با جانشینی است ولی در -2نیست و برنامه نویس از اندازه قطعات آگاه است.

قطعه بندی با مقایسه و جمع.