صفحه 1:
۳
دانشگاه آزاد اسلامي قانمشهر
فصل ©
استاد:
جناب آقای قاسمپوری
به كوشش:
حدیث نبوی
سودابه علیزاده
الميرا رستميان
1 اردیبهشت 66
صفحه 2:
مدیریت حافضار
در این فصل. راههای مختلف مدیریت حافظه را بحث می کنیم. الگوریتمهای مدیریت حافظه
از روشهای اولیه مبتنی بر ماشین گرفته تا راهیردهای صفحه بندی و قطعه بندی را شامل می
شود. هر رهیافت» امتیازات و معایب خاص خودش را دارد.انتخاب الگوی مدیریت حافظه برای
یک دیسک خاص به عولمل زیادی» از جمله طراحی سخت افزار سیستم بستگی دارد.
صفحه 3:
0-9 مرور کلی
<حافظه» آرایه بزرگی ازکلمات یا بایت ها است که هر کدام دارای رئوس می باشند. رم
دستوری را که توسط شمارنده برنامه مشخص می شود از حافظه مکش می کند. این دستورات
ممکن است نیاز به بار کردن و ذخیره کردن در حافظه داشته باشد.
مراحل اجرای یک چرخه دستور: ابتدا از حافظه مکش می شود و سپس رمز: می شود
پس از اينکه اين دستور بر روی عملوندها اجرا شد» نتایج ممکن است در حافظه ذخیره شود.
صفحه 4:
©-0-)انقياد آدرس
الا معمولا برنامه برروى ديسك به صورت يك فايل اجرايى دودويى ذخيره مى شود. برنامه بايد
به حافظه بار شود و در داخل فرآيندى قرار كيرد تا اجرا شود. بر حسب اينكه جه مديريت حافظه اى
مورد استفاده قرار مى كيرد؛ لين فرآيند ممكن است در حين اجرا بين ديسك و حافظه حركت كند.
مجموعه ای از فرآیندهای موجود در دیسک که منتظرند وارد حافظه و اجرا می شوند» ضف
ورودی را تشکیل می دهد.
صفحه 5:
©-0-)انقياد آدرس
اغلب سیستم ها اجازه مى دهند كه فرآيند كاربر در هر بخشى از حافظه فيزيكى قرار
كيرد. لذاء كرجه فضاى آدرس كامبيوتر از (00000000)شروع مى شودء لازم نيست آدرس
شروع فرآيند كاربر (00000000)باشد. اين نظم؛ آدرس هايى را كه برنامه کاربر می تواند
مورد استفاده قرار دهد. تحت تاثير قرار مى دهد.
صفحه 6:
©-0-0انقياد آدرس
ادر اغلب موارد؛ برنامه كاربر قبل از شروع اجراء رمان
مراحلى را طى مى كند كه بعضى از آن مراحل ممكن
است اختیاری باشد (شکل6-0).
شکل پردازش چند مرهله ای برنامه کاربر.
صفحه 7:
4-انقیاد آدرس
انقیاد دستورات و داده ها به آدرسهای حافظه در سه مرحله انجام می گیرد:
صفحه 8:
۵-02 فضای آدرس منطقی و فیزیکی
© آدرسی که توسط رم تولید می شود. آدرس منطقی نام دارد» در حالی که آدرسی که توسط
واحد حافظه مشاهده می شود آدرس فیزیکی نام دارد.
:2 الگوهای انقیاد آدرس در زمان ترجمه و در زمان بار کردن؛ آدرسهای فیزیکی و منطقی
یکسانی را تولید می کنند. اماء الگوی انقیاد آدرس در زمان اجراء آدرسهای فیزیکی و مختلفی
را ایجاد می کنند. در این حالت» آدرس منطقی را آدرس مجازی می نامیم.
صفحه 9:
0۵.04 فضای آدرس منطقی و فیزیکی
۷همانطور که در شکل 0-0 آمده است الگوی واحد مدیریت حافظه(0000)) نيامند پشتیبان
سخت افزاری است که کمی متفاوت از سخت افزار کامپیوتر است. در لینجا ثبات پایه به نام ثبات
جابه جایی» نامیده می شود. مقدار موجود در ثبات جا به جايى؛ به هر آدرسی که توسط فرآیند
برنامه» در هنگام ورود به حافظه ایجاد می شود؛ اضافه می گردد.
صفحه 10:
6.02 فضای آدرس منطقی و فیزیکی
نکته
دو نوع آدرس وجود دارد: آدرسهای منطقی (از صفر تا بسس) و آدرسهای فیزیکی از (۲+0)) تا
»+8 با مقدار يايه2) كاربر فقط آدرسهاىمنطقىرا توليد موكند و فكر مىوكند كاه
فرلیند در
محل های صفر تا 209) اجرا می شود. برنامه کاربر آدرس های منطقی را تولید می کند و اين
آدرسها قبل از به کار گیری باید به آدرسهای فیزیکی نگاشت شوند.
صفحه 11:
9-0-6 بار كردن يويا
الا در بار كردن بوياء يك روال تا زمانى كه فراخوانى نشد بار نمى شود. تمام روالها بر روى
ديسكى با فرمت قابل جابجايى ذخيره مى شوند. برنامه اصلى به حافظه بار شده اجرا مى شود.
وقتى روللى نياز به فراخولنى روال ديكر داردء روال فراخوان ابتدا بررسى مى كند آيا روالى كه
بايد فرلخوانى شود بار شده است یا خیر. اگر بار نشده باشد. بار کننده پیوندی قابل جا به جايى
فراخوانی می شود تا روال مطلوب را به حافظه بار کند و جدولهای آدرس برنامه را بروز نماید
سپس کنترل به روال می رود.
11
صفحه 12:
5-04 امتیاز بار کردن پویا
7 روالی که مورد استفاده واقع نمی شود بار نخواهد شد. اين الگو برای مواقعی خوب است که
cath ols مثل روالهای مربوط به خطاها. در اين
برای پردازش موارد نا درست. کد زیادی مورد
موردهگرچه اندازه کل برنامه ممکن است بزرگ باشد» ولی بخشی از برنامه که مورد استفاده
قرارمى كيرد » ممکن است بسیار کوچک باشد.
12
صفحه 13:
۴/2 پیوند پویا و کتابخانه مشترک:
> مفهوم بيوند يويا مثل بار كردن يويا است. به جاى اينكه بار کردن تا زمان اجرا به تعویق افتد»
بيوند زدن به زمان اجرا موکول می شود. اين ویژگی معمولا با کتابخانه هاى سيستم به کار گرفته
می شود مثل کتا بخانه های زیر روال زبان. بدون اين قابلیت تمام برنامه های موجود در یک
سیستم باید یک کپی از کتابخانه زبان را داشته باشند يا حداقل» یک کپی از روالهایی را داشته
باشند که برنامه به آنها مراجعه می کند. این کار موجب اتلاف فضای دیسک و حافظه اصلی می شود.
13
صفحه 14:
Grub
۶ در پیوند پویاه برای هر ارجاع به روال on Sy LEMS قرار مى كيرد. اين یمد کد
کوچکی است که نشان می دهد چگونه روال کتابخانه مقیم حافظه مناسبی را می توان پیدا کرد و
چگونه می توان روال را بار کرد.وقتی اين ادمح لجرا می شوده بررسی می کند که آیا روال
مطلوب در حافظه وجود دارد یا خیر. لگر در حافظه نباشد برنامه آنرا به حافظه بار می US
حال؛ ota آدرس روال رد به جای خودش قرار می دهد و آن روال را اجرا می کند. بنابراین»
وقتی دفعه بعد به آن قطعه از كد می رسیم ۰ روال کتابخانه مستقیما اجرا می شود و هزینه پیوند
در
پویا وجود ندارد.
14
صفحه 15:
[] اگر تغییرات در کتابخانه اندک باشد» شماره نسخه تغییر نمی کند ولی اگر تغییرلت زیاد باشد؛
شماره نسخه تغییر خواهد کرد. فقط برنامه هایی که با نسخه جدید کتابخانه ترجمه می شوند؛
تحت تاثیر تغییرات نا سازگار آن قرا رمی کيرند. سایر برنامه هایی که قبل لز نصب کتابخانه
جدید پیوند زده شده اند» با استفاده از کتابخانه قدیمی اجرا می شوند. این سیستم را کتابخانه های
مشترك نيز مى نامند.
15
صفحه 16:
S1-9 جایگذاری
فرآیند ممکن است بزرگتر از حافظهای باشد که به آن تخصیص يافته استء بدين سان از
16
تكنيكى به نام جايكذارى استفاده مى شود. ايده اين تكنيك اين است كه فقط دستورات و داده
هاى كه در همان زمان لازمندء در حافظه قرار كيرند. اكر به دستورات ديكرى نياز باشدء به
جای دستورات قبلی» که فعلا مورد نیاز نیستند. قرار می گیرند.
صفحه 17:
S1-9 جایگذاری
ازه این قطعات به صورت زیر است:
OO | اء روالهای مشترک: ۲00
لیر است با جدول نمادهاه روالهای
ل نمادهاء روالهای مشترک و گذر دوم.
قیت (0) ) در نظر می کیریم و با
ل تمام شدء به گرداننده جایگذاری می
ای جایگذاری 9) قرار می دهد و کنترل
که جایگذاری
* یک اسمبر دو گذاره را در
* گنر اول: ۰۱:20 گذر
* دو جایگذاری را تعريف
مشترک و كذر اول؟!9
* یک گرداننده جایگذاری برا
جایگذاری () در حافظه ش
رویم که جایگذاری 2
ابه كذ سس
70k
صفحه 18:
حافظه پشتیبان
18 شکل مبادله دو
اصلی به حافظه پشتیبان برود و بعدا به حافه
مبادله گویند.
ارنامه ای را پا الگوریتم زمانیندی 6۲ در نظ
بادك يك اس مد
آرا به فضای حافظه ای که فعلا آزاد شده اس
مبادله به داخل )
فرآیند با استفاده از دیسک به عنوان حافظه پشتیب
سيستم عامل
فضای کاربر
حافظه اصلی
صفحه 19:
و مبادله
در اين فاصله» زمانبند (۳0)() یک برهه زمانی را به فرآیند دیگر موجود در حافظه تخصیص
می دهد. وقتی هر فرآیندی کوانتوم زمانی خودش را تمام می کنده با فرآیند دیگری مبادله می شود.
در حالت ایده آل» مدیر حافظه می تواند فرآیند ها را آنقذر سریع مبادله کند که هر وقت زمانبند
ندهايودر حافظه وجود دلشته باشد.
Wh yee CPD 00000 را دوباره زمانبندیکند» فرا
کولنتوم.
زمانی نيز بايد به اندازه کافی بزرگ باشد تا در بین مبادله هاء محاسبات معقولی صورت گیرد.
صفحه 20:
20
اگر فرآیندی با اولویت بیشتر بیید و درخواست خدمات کنده مدیر حافظه می تواند فرآیندی با
اولویت پایین تر را از حافظه خارج کند و فرآیندی با اولویت بالاتر را اجرا نماید. وقتی اجرای
فرآیندی با اولویت بالاتر خاتمه یافت فرآیندی با اولویت کمتر می تواند دوباره وارد حافظه
شده به اجرایش ادامه دهد.
صفحه 21:
21
مبادله نيازمن
سریع است. اين دی
تمام تصاویر حافظه مربوط به همه کاربران
راذخیره نماید و امکان ستیابی مستقیم به این تصاویر حافظه را فراهم کند. سیستم یک صف
آمادگی را نگهداری می کند که شامل تمام فرآیندهایی است که تصویرحافظه آنها در حافظه
ن یا در حافظه قرار دارند و آماده اجرا
بای آنقدر بزرگ باشد که
صفحه 22:
22
*** بخش عمده زمان مبادله» زمان لنتقال لست. کل زمان انتقال با میزان مبادله حافظه نسبت
مستقیم دارد. اگر اندازه دقیق حافظه مورد نیاز فرآیند کاربر مشخص باشد» بسیار مفید است.
ب آنچه که دقیقا مورد لستفاده قرار می گیرد باید مبادله شود تا زمان مبادله کاهش
** برای مبدله يك فرآيند؛ بايد مطمئن باشیم که آن فرآیند کاملا بیکار است. فرآیندی که
درخواست 1/0 دارد. مورد بررسی قرار می گیرد. اگر فرآیندی منتظر عمل VO باشد. می
تولنیم آن فر آیند را مبادله کنیم تا حافظه آزاد شود. اما اگر عمل (/1/ برای دستیابی به
ميانكيرهاء به حافظه کاربر دستیابی داشته باشد. فرآیند را نمی توان مبادله کرد.
صفحه 23:
مه تخصیص همجوار
حافظه معمولا به دو قسمت تقسیم می شود:
صفحه 24:
وه تخصیص همجوار
#سیستم عامل را می توان در قسمت بالایی حافظه یا در قسمت پایینی حافظه قرار داد.
عامل مهمى كه در اين تقسيم گیری نقش دارد» محل بردار وقفه است. چون معمولا بردار
وقفه در حافظه پایین قرلر دارده سیستم عامل نیز در حافظه پایین قرار می گیرد.
24
صفحه 25:
حفاظت از حافظه
منظور از حفاظت از حافظه حفاظت سیستم عامل از فرآیند های کاربر و حفاظت فرآیندهای
کاربر از یکدیگر است. ین حفاظت با اتاده از ثبت جاهجایی و ثاتحد فرهم می شود. با
تله: خطای آدرس دهی
شکل 6-6 پشتیبانی سخت افزاری برای ثباتهای جابجایی و حد
صفحه 26:
#الگوی ثبات جابه جایی لجازه می دهد که اندازه سیستم عامل به طور
انعطاف در بسیاری از موارد مطلوب است. به عنوان مثال سيستم عامل حاوى كد و ميانكير
هایی برای گرداننده های دستگاه است. اگر یک گرداننده دستگاه به طور معمول مورد استفاده
قرار نگیرد» مطلوب نیست که کد و داده های آن در حافظه قرار گیرد» زیرا می توان از آن ف
برای اهداف دیگری استفاده کرد. این کد ها را کد گذاری سیستم عامل گویند. اين کدها در
صورت لزوم به حافظه می آیند و سپس حذف می شوند. بنابر این با استفاده از اين کدهاء اندازه
سیستم عامل در زمان اجرای برنامه تغییر می کند.
26
صفحه 27:
هه تخصیص حافظه
> حافظه به چند قسمت با اندازه ثابت تقسيم مى شود و در هر قسمت يك فرآيند قرار مى گیرد.
لذا درجه جند برنامه اى توسط تعداد اين قسمتها محدود مى شود. اكر در اين روش جند قسمتى»
يك قسمت از حافظه خالى باشد فرآيندى از صف ورودى انتخاب شده و در آن قسمت خالى
قرار مى كيرد. وقتى فرآيندى خاتمه مى يابد«قسمتى از حافظه كه در اختيار آن است آزاد مى
شود و فرآيند ديكرى مى تواند در آن قسمت قرار بكيرد.
27
صفحه 28:
شکل کلی از الگوی قسمت بندی با اندازه ثابت:
28
a
سیستم عامل جدولی را تشکیل می دهد که مشخص می کند چه قسمتهایی از حافظه آزاد و جه
قسمتهایی اشغال هستند. در آغاز» کل حافظه برای فرآیندهای کاربر مهیا است و به عنوان یک
بلوک حافظه بزرگ به نام حفره در نظر كرفته مى شود. وقتى فرآيندى نيان به حافظه داشته
th يك حفره را جستجو مى كنيم كه براى ابن فرآيند كافى باشد. اكر جنين حافظه اى بيدا
شد. حافظه مورد نیاز آن فرآیند را تخصيص مى دهيم.
صفحه 29:
راهبردهایی برای انتخاب یک حفره آزاد از مجموعه ای از حفره ها:
* اولین جای مناسب
صفحه 30:
راهبردهایی برای انتخاب یک حفره آزاد از مجموعه ای از حفره ها:
اولین جای مناسب: اولین حفره ای که تواند به فرآیند تخصیص یابد انتخاب می شود. جستجو
می تواند از ابتدای مجموعه ای از حفره های آزاد انجام شود یا می تواند از جایی آغاز گردد
که جستجو قبلی برای اولین جای مناسب» در آنجا خاتمه یافته است. با یافتن اولین حفرهای که
فضای کافی برای فرآیند داشته باشده جستجو خاتمه می یابد.
2 بهترین جای مناسب: در این روش کوچکترین حفره ای که بتواند فرآیند را در خود جی دهد
یص می یابد. اگر لیست بر حسب اندازه حفره ها مرتب نباشده کل لیست باید جستجو شود.
2 بد ترین جای مناسب: در اين روشء بزرگترین حفره انتخاب می شود. اگر لیست بر حسب
اندازه حفره ها مرئب نباشد. کل لیست باید جستجو شود.
صفحه 31:
31
* وقتى فرآيندها به حافظه بار مى شوند و از حافظه حذف مى كردند» فضاى حافظه به تكه هاى
كوجكى تقسيم مى شود. تكه تكه شدن خارجى وقتى به وجود مى آيد كه حافظه كافى براى
ياسخكويى به يك درخواست وجود دارد ولى كل اين حافظه همجوار نيست. يعنى حافظه به
تعداد زيادى از حفره هاى كوجك تقسيم شده است كه همجوار نيستند.
صفحه 32:
32
عوامل موثر در تكه تكه شدن خارجى:
* استفاده از روش اولین جای مناسب به جای بهترین جای مناسب
* کدام طرف بلوک آزاد تخصیص یابد. یعنی وقتی بلوک آزاد به دو بخش تقسیم شد» بخش بالایی
مورد استفاده قرار کیرد یا بخش پاینی ؟
صفحه 33:
33
تكه تكه شدن داخلى
© تفاوت بين حافظه در خواستى و حافظه تخصيص يافته را تكه تكه شدن داخلى كويند» يعنى
حافظه ای که در داخل یک قسمت از حافظه است ولی مورد استفاده قرار نگیرد.
صفحه 34:
34
فشرده سازى: حفره هاى كوجك با يكديكر ادغام شوند تا يك بلوك بزرك از حافظه را ايحاد
کنند. فشرده سازی هميشه ممکن نیست. اگر جابه جایی به صورت ایستا باشد و در زمان اسمبل
کردن یا در زمان بار کردن انجام شود. فشرده سازی امکان پذیر نیست. یعنی فشرده سازی فقط
وقتی ممکن است که جابه جایی به صورت بويا و در زمان اجرا صورت گيرد.
صفحه 35:
35
اجازه دهیم فضای آدرس منطقی فرآیند همجوار نباشد. بد؛ هر جايى از حافظه فيزيكى
كه آزاد شدء به فرآيند تخصيص يابد. دو تكنيك براى اين oly حل وجود دارد که مکمل
: صفحه بندى و قطعه بندى. اين تكنيك ها مى توانند با هم تر كيب شوند.
صفحه 36:
2۵ صفحه بندی
2 صفحه بندی یک طرح مدیریت حافظه لست كه اجازه مى دهد فضای آدرس فیزیکی فرآیند.
همجوار نباشد. برازش قطعات حافظه با اندازه متغیر در حافظه پشتیبان را حل می کند.
36
صفحه 37:
09 روش انجام کار در صفحه بندی
> حافظه فیزیکی به بلوکهایی با اندازه ثابت به نام قاب تقسیم می شود. حافظه منطقی نیز به
بلوکهایی با اندازه های یکسان به نام صفحه تقسیم مى شود. وقتی فرآیندی می خواهد اجرا
شود صفحات آن از حافظه پشتیبان به قابهای حافظه آزاد بار می شود. حافظه پشتیبان به
آکه به اندازه قابهای حافظه است. پشتیبانی سخت افزاری
حافظه فيزيكى
7 ضح سفت افزار صفحه بندی
صفحه 38:
09 روش انجام کار در صفحه بندی
شماره قاب
ow تولید می شودبه دو بخش تقسیم می گردد: شماره صفحه۳))
به عنوان اندیسی برای جدول مه کار می رود. جدول
4 حافظه منطقی
شکل 69-2 مدل صفحه بندی حافظه منطقی و فیزیکی
صفحه 39:
© اندازه صفحه توان 6 است. ترجمه آدرس منطقی به شماره صفحه و آفست صفحه» آسان
است. اگر فضای منطقی مب باشدو اندلزه صفحه برابر با »6 واحد آدرس دهی باشد. آنگاه
مسر بیت با ارزش آدرس متظقی» شماره صفحه و » بیت کم ارزش. آفست صفحه را تعیین
می کند. بنابر این آدرس منطقی به صورت زير است:
آفست صفحه شماره صفحه
39
صفحه 40:
40
* در حافظه شکل 0-0 با استفاده از صفحه *) بایتی و حافظه فیزیکی 90 بایتی (60صفحه)
نشان می دهیم که حافظه از دیدگاه کاربر چگونه به حافظه فیزیکی نگاشت می شود.
* وقتی از الگوی صفحه بندی استفاده می کنیم تکه تکه شدن خارجی وجود ندارد زيرا هر قاب
آزاد می تواند به فرآیندی که به آن نیاز دارد تخصیص يابد. اما ممکن است تکه تکه شدن
داخلی به وجود آيد. توجه كنيد كه قابها به عنوان واحد های حافظه تخصیص می یابند. اگر
حافظه مورد نیاز فرآیندی ر محدوده یک صفحه نباشد» آخرین قابی که تخصیص یافت ممکن
است کاملا پر نباشد.
صفحه 41:
ود و SET
41
وچ سس
Ss 5 85 8 A 9 > 9
48
۳
1
4
3
4 13
۱ 3
as م م ماه
3
3 آه و و سیر -|عه ۵ دنه
1 ۲
وه آسوهه هه مق
5 نه
صفحه 42:
42
وقتى فرآيندى بخواهد اجرا شود؛ اندازه آن بر حسب صفحات سنجيده مى شود. هر صفحه لز
فرآيند به يك قاب نياز دارد. بنابراين» اكر فرآيندى به .. صفحه نياز داشته باشدء حداقل بايد ..
قاب آزاد در حافظه موجود باشد اكر. قاب آزاد موجود باشده به اين فرآيند تخصيص مى يابد.
اولين صفحه فرآيند به يكى از اين قابهاى تخصيص يافته بار مى شود و شماره آن قاب در
جدول صفحه مر بوط به اين فرآیند قرار می گیرد. صفحه بعدی به قاب دیگری منتقل می شود
و شماره اين قاب نیز در جدول صفحه قرار می گیرد و این رون ادامه می یاید( شکل9-0).
صفحه 43:
9 روش انجام کار در صفحه بندی
لیست قابهای آزاد
15
13
14
15
16
17
18
19
20
جدول صفحه فرآیند جدید
(لف)
43
3
صفحه 44:
٩-2 پشتیبانی سخت افزاری از صفحه بندی
* هر سیستم عامل برای ذخیره جدول صفحات به ازای هر فرآیند یک جدول صفحه ایجاد می
کند.یک اشاره گربه جدول صفحه بهمراه سایر مقادیر ثبات در بلوک کنترل فرآیند ذخیره می
شود,وقتی به توزیع کننده گفته می شود فرآیندی را آغاز کندباید ثباتهای کاربر را دوباره بار
کند و با ستفده از جدول صفحه کاربرهمقادیر جدول صفحه سخت افزار را تعریف نماید.
44
صفحه 45:
45
® در روش اول جدول صفحه بصورت مجموعه ای از ثباتها بياده سازى مى كردد.
توزیع كننده رحب اين ثباتها را همانند ثباتهاى ديكر دوباره بار مى كند.
OEC 060005-00 مانند:
آدرس: ©0 بيتى
اندازه صفحه:66
صفحه 46:
۷ در روش دوم جدول صفحه در حافظه اصلی نگهداری می شود و یک ثبات پایه جدو
صفحه(۳/0) به جدول صفحه اشاره می کند. alps تلزم
ثبات است و در نتیجه زمان تعویض بستر کاهش می يابد.
v مشکل این روش زمان لازم برای دستیابی به محل حافظه کاربر است که برای دستیابی
به يك بایت دوبار باید به حافظه دستیابی داشت. بنابراین دستیابی به حافظه به اندازه
ضریب 6 کند می شود.
46
صفحه 47:
در روش سوم از یک سخت لفزار جستجوی سریع؛کوچک و پنیان بنام ميانكيرهاى دم
دستى (TLD) ستفاده می شود که حافظه انجمنی و بسیار سریع را بوجود می آورد.
هر ورودی در 0۷" شامل دو بخش است:
a +
** مقدار
_ وقتی حافظه انجمنی با قلم داده ای مواجه می شود.آن قلم داده فورا با تمام کلیدها مقایسه می گردد
در صورت وجود قلم داده محتویلت فیلد مقدار متناظر با آن کلید بازیابی می گردد.
صفحه 48:
پیاده سازی جدول صفحه
صفحه 49:
لا بعضی از ۱,0( /هاشناسه های فضای آدرس(0710) را در هر ورودی 0۱00/ ذخيره مى
کنند. هر (969/100) فرآیند منحصر به فردی را مشخص می کند و برای حفاظت فضای آدرس آن
فرآيند بكار مى آيد. همجنين به 1008 اجازه می دهد که همزمان برای فرآیندهای مختلف؛
ورودیهایی را داشته باشد.
49
صفحه 50:
50
۴ درصد تعداد دفعاتی که شماره صفحه در ثباتهای انجمنی یافت می شود.نسبت اصابت نام دارد.
de LOD Cube! Gus SI باشد یعنی (00)درصد از تعداد دفعاتی که به ۱,6۵( مراجعه
کردیمشماره صفحه پیدا شده است.
صفحه 51:
2-02 حفاظت از حافظه در صفحه بندی
لا حفاظت از حافظه در صفحه بندی با استفاده از بیتهای حفاظت مربوط به هر قاب انجام می
گیرد. یک بیت نشان می دهد که صفحه فقط خواندنی است يا قابل خواندن و نوشتن است.
لا از طریق جدول صفحه به حافظه مراجعه می شود تا شماره قاب مناسبی پیدا شود. هنگام محاسبه
آدرس فیزیکی,بیتهای حفاظتی بررسی می شوند تا عمل نوشتن بر روی صفحه فقط خواندنی
صورت نگیرد. اگر این کار صورت گیرد یک تله سخت افزلری به سیستم عامل ارسال می شود.
صفحه 52:
52
معمولا هر ورودى جدول صفحه يك بيت اعتباردارد.اكر اين بيت معتبر باشد نشان مى دهد كه
صفحه مربوط به آن در فضاى آدرس منطقى فرآيند وجود دارد. سيستم عامل اين بيت را برای
هر صفحه تنظيم مى كند تا اجازه دستيابى به آن وجود داشته باشد يا نداشته باشد.
صفحه 53:
53
جدولهاى صف
| صفحه درهم سازی شده
صفحه 54:
04 صفحه بندی سلسله مرأتبی
برای اینکه جدول صفحه بطور همجوار در حافظه اصلی قرار نگیرد باید جدول صفحه به
فضاهای کوچکتری تقسیم شود:
” الگوی صفحه بندی دو سطحی
۷ الگوی صفحه بندی چهار سطحی
54
صفحه 55:
د جدول نیز صفحه بندی ما
100
00
708
۳" ۱ «۳
929 صفحه جدول صفحه
صفحه 56:
آدرس منطقی به صورت زیر است:
آفست صفحه شماره صفحه
12 10 10
چون ترجمه آدرس از صفحه بیرونی به طرف داخل کار می کندهاين روش را جدول صفحه
نگاشت به جلو می نامند.
شکل 9-
56
صفحه 57:
57
آدرس منطقی
صفحه 58:
در سیستمی با فضای آدرس منطقی 676۳ بیتی.الگوی صفحه بندی دو سطحی مناسب نیست. یک
روش برای پرهیز از جدول بزرگ این است که جدول صفحه بیرونی به قطعات کوچکتری تقسیم
شود. همچنین می توان جدول صفحه بیرونی را صفحه بندی کرد تا الگوی صفحه بندی سه سطحی
بوجود آید:
آفست | صفحه درونی صفحه پیرونی | صفحه پیرونی دوم
32 10 10 12
58
صفحه 59:
59
#در اين الكو جدول صفحه بيرونى سطح دوم؛ صفحه بندى مى شود. معمارى سيستم
60 با آدرس دهی 00 بیتی از الگوی سه سطحی استفاده می کندءدر حالیکه معماری
موتورولا 6260000000 سی و دو بیتیءاز الگوی صفحه بندی چهار سطحی لستفاده مى كند.
صفحه 60:
666۵ جدولهای صفحه درهم سازی شده
در این روش.یک مقدار درهم سازی بعنوان شماره صفحه مجازی منظور می شود. هر
ورودی حاوی یک لیست پیوندی از عناصری است که به محل یکسانی درهم سازی می شوند.
هر عنصر شامل سه فیلد است:
** شماره صفحه مجازی
مقدار قاب صفحه نگاشت شده
** اشاره گری به عنصر بعدی در لیست پیوندی
60
صفحه 61:
O-P-P-O جدرلهای صفحه درهم سازی شده
روش کار این الگوریتم در شکل زیر نشان داده شده است:
9
أآدرس فيزيكىي
ey
ول وزهامتاری
آدرس منطقی
صفحه 62:
666۵ جدولهای صفحه درهم سازی شده
آساشکل دیگری از این طرح جدولهای صفحه خوشه ای لست با اين تفاوت که هر ورودی
به چندین صفحه مراجعه می کند. جدولهای صفحه ای خوشه ای برای فضای آدرس
اسپارس مفیداند. که در آن ارجاعات به حافظه همجوار نیستند و در سراسر فضای آدرس
پخش مى شود.
62
صفحه 63:
مجح جدرل صفحه معکوس
63
يكى از معايب جدول طبيعى وجود ميليونها ورودى براى هر جدول صفحه است كه مقدار زيادى
از حافظه فيزيكى را مصرف مى کنند. برای حل اين مشكل مى توان از جدول صفحه معكوس
استفاده كرد.
جدول صفحه معكوس به ازاى هر قاب حافظه يك ورودى دارد كه هر ورودى متشكل ازآدرس
مجازى صفحه اى است كه در آن محل واقعى حافظه ذخيره شده است.
صفحه 64:
64
شکل 9-9
صفحه 65:
65
كرجه اين روش حافظه را كاهش مى دهدءدر هر ارجاع به صفحهزمان لازم براى جستجو در
جدولء افزايش مى يابد.
براى حل اين مسئله از جدول درهم سازى استفده مى كنيم تا جستجو فقط در يك يا تعداد اندكى از
وروديهاى جدول صورت
صفحه 66:
مه صفحات مشترک
66
٩دی
دادهمم
ويراستارا
ويراستار
ويراستار
دادم
مشترک در محیط اشتراک زمانی مناسب است. اگر کد برنا
لور اشتراكى مورد استفاده واقع شود.
ذم شاص ص هاب هادص
10
جدول صفحه
برای ۳0
Pa hs
جدول صفحه
PO Sle
Pe aa 8
جدول صفحه
PO sly
صفحه 67:
00۵ صفحات مشترک
2 کد چند دخولی که کد خالص نیز نامیده می شود. خود اصلاح نیست یعنی در حین اجرا
تغییر نمی کند و دو یا چند فرآیند همزمان می توانند آن کد را اجرا کنند. فقط یک کپی از
ویراستار باید در حافظه نگهداری شود. هر جدول صفحه کاربر به آن کپی فیزیکی از
ویراستار نگاشت می شود ولی صفحات داده به قابهای گوناگونی نگاشت می شوند.
67
صفحه 68:
64 قطعه بندی
[] الگوی صفحه بندی نمی تواند حافظه فیزیکی را از دیدگاه کاربر نسبت به حافظه تفکیک کند. دیدگاه
کاربر» به آدرس فیزیکی نگاشت می شود که اين نگاشت تفاوت بین حافظه منطقی و فیزیکی را
ممکن می سازد.
68
صفحه 69:
۵9 روش انجام کار در قطعه بندی
کاربر حافظه را بصورت یک آرایه خط Abily را مجموعه ای از
69 فضای آدرس منطقی
صفحه 70:
۵42 روش انجام کار در قطعه بندی
قطعه بندی یک الگوی مدیریت حافظه است که دیدگاه کاربر نسبت به حافظه را پشتیبانی می کند.
V فضای آدرس منطقی مجموعه ای از قطعات است.کاربر هر آدرس را با دو کمیت مشخص می کند:
< نام قطعه و یک آفست>
7 برای سهولت قطعات شماره گذاری می شوند و از طریق این شماره مراجعه می شوند.بنابر این
آدرس منطقی شامل دوتایی است:
<آفست و شماره صفحه>
صفحه 71:
هه سخت افزار
* آدرسهاى دو بعدى كاربر به آدرسهای فیزیکی یک بعدی توسط جدول قطعه نگاشت می شود.
* _پایه قطعه< آدرس شروع حافظه فیزیکی مکان قطعه
* حد قطعهت طول قطعه
صفحه 72:
تله: خطای آدرس دهی
صفحه 73:
RWNHO
صفحه 74:
ممه حفاظت و اشثراک کد و داده ها
برای حفاظت از قطعات؛ سخت افزار مدیریت حافظه با قرار دلدن یک آرایه در قطعه خودش»
به طور خودکار کنترل می کند که اندیس آرایه معتبر باشد و ارجاع به خارج از حد آرایه
صورت نگیرد.
صفحه 75:
صفحه 76:
م مج تکه تكه شدن
قطعه بندی ممکن است منجر به تکه تکه شدن خارجی شود به طوری که هیچکدام | بلوکهای آزاد
نمی توانند قطعه ای را در خود جای دهند. در این حالت ؛ فرلیند ممکن است منتظر بماند تا حافظه
بیشتری آزاد شود یا فشرده سازی صورت گیرد تا حفره بزرگتری بوجود آید.
صفحه 77:
04 قطعه بندی با صفحه بندی
3
صفحه 78:
آدرس منطقی بصورت جفت(آفست و انتخابگر)است:
13 1 2
ج شماره قطعه است؛ gy معلوم می کند که آیا قعه در 000/0) است یا در (2۷)راو م
مربوط به حفاظت است. آقست یک عدد 00 بیتی و انتخابگر یک عدد 10 بیتی است.
صفحه 79: