صفحه 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:

دانشگاه آزاد اسالمي قائمشهر فصل 9 استاد: جناب آقای قاسمپوری به کوشش: حدیث نبوی سودابه عل%یزاده المیرا رستمیان خالصه فصل نهم 1 اردیبهشت 88 در این فصل ،راههای مختلف مدیریت حافظه را بحث می کنیم .الگوریتمهای مدیریت حافظه از روشهای اولیه مبتنی بر ماشین گرفته تا راهبردهای صفحه بندی و قطعه بندی را شامل می شود .هر رهیافت ،امتیازات و معایب خاص خودش را دارد.انتخاب الگوی مدیریت حافظه برای یک دیسک خاص به عوا%مل زیادی ،از جمله طراحی سخت افزار سیستم بستگی دارد. 2 1-9مرور کلی ‏حافظه ،آ%رایه بزرگی ازکل%مات یا بایت ها است که هر کدام دارای رئوس می باشندCpu . دستوری را که توسط شمارنده برنامه مشخص می شود ،از حافظه مکش می کند .این دستورات ممکن است نیاز به بار کردن و ذخیره کردن در حافظه داشته باشد. ‏مراحل اجرای یک چرخه دستور :ابتدا از حافظه مکش می شود و سپس رمزگشایی می شود پس از اینکه این دستور بر روی عملوندها اجرا شد ،نتایج ممکن است در حافظه ذخیره شود. 3 1-1-9انقیاد آدرس معموال برنامه بر روی دیسک به صورت یک فایل اجرایی دودویی ذخیره می شود .برنامه باید به حافظه بار شود و در داخل فرآیندی قرار گیرد تا اجرا شود .بر حسب اینکه چه مدیریت حافظه ای مورد استفاده قرار می گیرد ،ا%ین فرآیند ممکن است در حین اجرا بین دیسک و حافظه حرکت کند. مجموعه ای از فرآیندهای موجود در دیسک که منتظرند وارد حافظه و اجرا می شوند ،صف ورودی را تشکیل می دهد. 4 1-1-9انقیاد آدرس اغلب سیستم ها اجازه می دهند که فرآیند کاربر در هر بخشی از حافظه فیزیکی قرار گیرد .لذا ،گرچه فضای آدرس کامپیوتر از 00000شروع می شود ،الزم نیست آدرس شروع فرآیند کاربر 00000باشد .این نظم ،آدرس هایی را که برنامه کاربر می تواند مورد استفاده قرار دهد ،تحت تاثیر قرار می دهد. 5 1-1-9انقیاد آدرس برنامه منبع در اغل%ب موارد ،برنامه کاربر قبل از شروع اجرا ،زمان کامپایل مراحلی را طی می کند که بعضی از آن مراحل ممکن است اختیاری باشد (شکل.)9-1 کامپایلر یا اسمبلر پیمانه مقصد سایر پیمانه های مقصد ویراستار پیوندی زمان بار کردن پیمانه بار کردن بار کننده زمان اجرا 6شکل پردازش چند مرحله ای برنامه کاربر. تصویر حافظه دودویی کتابخانه سیستم کتابخانه سیستم که به طور پویا بار شد پیوند پویا 1-1-9انقیاد آدرس انقیاد دستورات و داده ها به آدرسهای حافظه در سه مرحله انجام می گیرد: زمان ترجمه زمان بار کردن زمان اجرا 7 2-1-9فضای آدرس منطقی و فیزیکی آدرسی که توسط cpuتولید می شود ،آدرس منطقی نام دارد ،در حالی که آدرسی که توسط واحد حافظه مشاهده می شود آدرس فیزیکی نام دارد. الگوهای انقیاد آدرس در زمان ترجمه و در زمان بار کردن ،آدرسهای فیزیکی و منطقی یکسانی را تولید می کنند .اما ،الگوی انقیاد آدرس در زمان اجرا ،آدرسهای فیزیکی و مختلفی را ایجاد می کنند .در این حالت ،آدرس منطقی را آدرس مجازی می نامیم. 8 2-1-9فضای آدرس منطقی و فیزیکی ‏همانطور که در شکل 9-2آمده است الگوی واحد مدیریت حافظه( )MMUنیامند پشتیبان سخت افزاری است که کمی متفاوت از سخت افزار کامپیوتر است .در ا%ینجا ثبات پایه به نام ثبات جابه جایی ،نامیده می شود .مقدار موجود در ثبات جا به جایی ،به هر آدرسی که توسط فرآیند برنامه ،در هنگام ورود به حافظه ایجاد می شود ،اضافه می گردد. ثبات جابجایی 14000 حافظه 9 آدرس فیزیکی 1434 6 + ‏MMU آدرس منطقی 346 ‏cpu 2-1-9فضای آدرس منطقی و فیزیکی نکته دو نوع آدرس وجود دارد :آدرسهای منطقی (از صفر تا )maxو آ%درسهای فیزیکی از( )R+0تا R+maxب%%%ا مق%دار پ%%%ایه R%ک%%%اربر ف%%%قط آدرسه%ایمنطقیرا ت%%%ولید میک%%%ند و ف%%%کر میک%%%ند ک%%%ه% ف%%%رآ%یند در محل های صفر تا MAXاجرا می شود .برنامه کاربر آدرس های منطقی را تولید می کند و این آدرسها قبل از به کار گیری باید به آدرسهای فیزیکی نگاشت شوند. 10 3-1-9بار کردن پویا در بار کردن پویا ،یک روال تا زمانی که فراخوانی نشد ،بار نمی شود .تمام روالها بر روی دیسکی با فرمت قابل جابجایی ذخیره می شوند .برنامه اصلی به حافظه بار شده اجرا می شود. وقتی روا%لی نیاز به فراخوا%نی روال دیگر دارد ،روال فراخوان ابتدا بررسی می کند آیا روال%ی که باید فرا%خوانی شود بار شده است یا خیر .اگر بار نشده باشد ،بار کننده پیوندی قابل %جا به جایی فراخوانی می شود تا روال مطلوب را به حافظه بار کند و جدولهای آدرس برنامه را بروز نماید سپس کنترل به روال می رود. 11 3-1-9امتیاز بار کردن پویا روالی که مورد استفاده واقع نمی شود ،بار نخواهد شد .این الگو برای مواقعی خوب است که برای پردازش موارد نا درست ،کد زیادی مورد نیاز باشد ،مثل روالهای مربوط به خطاها .در این مورد،گرچه اندازه کل برنامه ممکن است بزرگ باشد ،ولی بخشی از برنامه که مورد استفاده قرارمی گیرد ،ممکن است بسیار کوچک باشد. 12 4-1-9پیوند پویا و کتابخانه مشترک: مفهوم پیوند پویا مثل بار کردن پویا است .به جای اینکه بار کردن تا زمان اجرا به تعویق افتد، پیوند زدن به زمان اجرا موکول می شود .این ویژگی معموال با کتابخانه های سیستم به کار گرفته می شود ،مثل کتا بخانه های زیر روال زبان .بدون این قابلیت ،تمام برنامه های موجود در یک سیستم باید یک کپی از کتابخانه زبان را داشته باشند یا حداقل ،یک کپی از روالهایی را داشته باشند که برنامه به آنها مراجعه می کند .این کار موجب اتالف فضای دیسک و حافظه اصلی می شود. 13 Stub در پیوند پویا ،برای هر ارجاع به روال کتابخانه ،یک stubقرار می گیرد .این stubکد کوچکی است که نشان می دهد چگونه روال کتابخانه مقیم حافظه مناسبی را می توان پیدا کرد و چگونه می توان روال را بار کرد.وقتی این stubا%جرا می شود ،بررسی می کند که آیا روال مطلوب در حافظه وجود دارد یا خیر .ا%گر در حافظه نباشد ،برنامه آنرا به حافظه بار می کند .در حال stub ،آدرس روال را %به جای خودش قرار می دهد و آن روال را اجرا می کند .بنابراین، وقتی دفعه بعد به آ%ن قطعه از کد می رسیم ،روال کتابخانه مستقیما اجرا می شود و هزینه پیوند پویا وجود ندارد. 14 4-1-9کتابخانه مشترک اگر تغییرات در کتابخانه اندک باشد ،شماره نسخه تغییر نمی کند ولی اگر تغییرا%ت زیاد باشد، شماره نسخه تغییر خواهد کرد .فقط برنامه هایی که با نسخه جدید کتابخانه ترجمه می شوند، تحت تاثیر تغییرات نا سازگار آن قرا رمی کیرند .سایر برنامه هایی که قبل ا%ز نصب کتابخانه جدید پیوند زده شده اند ،با استفاده از کتابخانه قدیمی اجرا می شوند .این سیستم را کتابخانه های مشترک %نیز می نامند. 15 5-1-9جایگذاری فرآیند ممکن است بزرگتر از حافظهای باشد که به آ%ن تخصیص یافته است ،بدین سان از تکنیکی به نام جایگذاری استفاده می شود .ایده این تکنیک این است که فقط دستورات و داده های که در همان زمان الزمند ،در حافظه قرار گیرند .اگر به دستورات دیگری نیاز باشد ،به جای دستورات قبلی ،که فعال مورد نیاز نیستند ،قرار می گیرند. 16 5-1-9جایگذاری مثال: ‏ ‏ ‏ ‏ 80k 17 20k جدول نمادها یک اسمبر دو گذاره را در نظر بگیرید فرض کنید اندازه این قطعات به صورت زیر است: گذر اول ، k 70 :گذر دوم ، k 80 :جدول نماد ،k 20 :روالهای مشترکk 30 :% دو جایگذاری را تعریف می کنیم :جایگذاری Aبرابر است با جدول نمادها ،روالهای روال های مشترک ،%و گذر اول30k، مشترکبا جدول نمادها ،روالهای مشترک و گذر دوم. برابر است جایگذاری B یک گرداننده جایگذاری برای انجام جایگذاری با ظرفیت K 10در نظر می کیریم و با جایگذاری Aدر حافظه شروع می کنیم .وقتی گذر اول تمام شد ،به گرداننده جایگذاری می رویم که جایگذاری Bرا به حافظه می آورد و به جای جایگذاری Aقرا%ر می دهد و کنترل 10kکند .گرداننده جایگداریبه 120Kنیاز دارد ،در حال%ی که جایگذاری جایگذاری Aفقط را به گذر دوم منتقل می Bبه K 130نیاز دارد ( شکل .)9-3 گذر ا%ول گذر دوم 70k 2-9مبادله ‏ سیستمو به فرآیند می تواند موقتا از حافظه اصلی به حافظه پشتیبان برود و بعدا به حافظه برگردد عامل اجرایش ادامه دهد .این عمل را مبادله گویند. ‏ فرآیند محیط چند برنامه ای را با الگوریتم زمانبندی RRدر نظر بگیرید .وقتی به عنوان مثال یکp1 خارج به مبادله 1 یک کوانتوم زمانی به سپری می شود ،مدیر حافظه فرآیندی را که به پایان رسید از حافظه خارج می کند و فرآیند دیگری را به فضای حافظه ای که فعال آزاد شده است منتقل می کند فرآیند. )9- (شکل 4 ‏p2 مبادله به داخل 2 فضای کاربر حافظه پشتیبان 18 شکل مبادله دو فرآیند با استفاده از دیسک به عنوان حافظه پشتیبان حافظه اصلی 2-9مبادله ‏ در این فاصله ،زمانبند CPUیک برهه زمانی را به فرآیند دیگر موجود در حافظه تخصیص می دهد .وقتی هر فرآیندی کوانتوم زمانی خودش را تمام می کند ،با فرآیند دیگری مبادله می شود. در حالت ایده آل ،مدیر حافظه می تواند فرآیند ها را آنقذر سریع مبادله کند که هر وقت زمانبند CPUمیخ%وا%هد CPUرا دوباره %زمانبندیک%%%ند ،ف%%%رآ%یندهاییدر ح%افظه %وجود دا%شته %ب%%%اشد. ک%%%وا%نتوم% زمانی نیز باید به اندازه کافی بزرگ %باشد تا در بین مبادله ها ،محاسبات معقولی صورت گیرد. 19 مبادله به داخل و مبادله به خارج ‏ 20 اگر فرآیندی با اولویت بیشتر بیاید و درخواست خدمات کند ،مدیر حافظه می تواند فرآیندی با اولویت پایین تر را از حافظه خارج کند و فرآیندی با اولویت باالتر را اجرا نماید .وقتی اجرای فرآیندی با اولویت باالتر خاتمه یافت ،فرآیندی با اول%ویت کمتر می تواند دوباره وارد حافظه شده به اجرایش ادامه دهد. حافظه پشتیبان ‏ 21 مبادله نیازمند حافظه پشتیبان است .حافظه پشتیبان معموال یک دیسک سریع است .این دیسک باید آنقدر بزرگ باشد که بتواند کپی هایی از تمام تصاویر حافظه مربوط به همه کاربرا%ن راذخیره نماید و امکان ستیابی مستقیم به این تصاویر حافظه را فراهم کند .سیستم یک صف آمادگی را نگهداری می کند که شامل تمام فرآیندهایی است که تصویرحافظه آنها در حافظه پشتیبان یا در حافظه قرار دارند و آماده اجرایند. محدودیت های موجود در مبادله بخش عمده زمان مبادله ،زمان ا%نتقال ا%ست .کل زمان انتقال با میزان مبادله حافظه نسبت مستقیم دا%رد .اگر اندازه دقیق حافظه مورد نیاز فرآیند کاربر مشخص باشد ،بسیار مفید است. بدین ترتیب آنچه که دقیقا مورد ا%ستفاده قرار می گیرد باید مبادله شود تا زمان مبادله کاهش یابد. برای مبادله یک فرآیند ،باید مطمئن باشیم که آن فرآیند کامال بیکار است .فرآیندی که درخواست I/Oدارد ،مورد بررسی قرار می گیرد .اگر فرآیندی منتظر عمل I/Oباشد ،می توا%نیم آن فر آیند را مبادله کنیم تا حافظه آ%زاد شود .اما اگر عمل I/Oبرای دستیابی به میانگیرها ،به حافظه کاربر دستیابی داشته باشد ،فرآیند را نمی توان مبادله کرد. 22 3-9تخصیص همجوار حافظه معموال به دو قسمت تقسیم می شود: حافظه سیستم عامل مقیم فرآیند های کاربر 3-9تخصیص همجوار ‏سیستم عامل را می توان در قسمت باالیی حافظه یا در قسمت پایینی حافظه قرار داد. عامل مهمی که در این تقسیم گیری نقش دارد ،محل بردار وقفه است .چون معموال بردار وقفه در حافظه پایین قرا%ر دارد ،سیستم عامل %نیز در حافظه پایین قرار می گیرد. 24 حفاظت از حافظه منظور از حفاظت از حافظه ،حفاظت سیستم عامل از فرآیند های کاربر و حفاظت فرآیندهای کاربر از یکدیگر است .این حفاظت با استفاده از ثبات جابه جایی و ثبات حد فراهم می شود .با ثباتهای جا به جایی وحد هر آدرس منطقی باید کمتر از ثبات حد باشد MMU ،آدرس منطقی را ثبات حد آدرس فیزیکی نگاشت می جابجاییبه طور پویا به ثبات به آن، با افزودن مقدار موجود در ثبات جا به جایی کند .این آدرس نگاشت شده به حافظه فرستاده می شود(شکل . )9-5 حافظه آدرس فیزیکی + بلی < آدرس منطقی خیر تله :خطای آدرس دهی 25 شکل 9-5پشتیبانی سخت افزاری برای ثباتهای جابجایی و حد ‏cpu کد گذاری سیستم عامل ‏الگوی ثبات جابه جایی ا%جازه می دهد که اندازه سیستم عامل به طور پویا تغییر کند .این قابلیت انعطاف در بسیاری از موارد مطلوب است .به عنوان مثال سیستم عامل حاوی کد و میانگیر هایی برای گرداننده های دستگاه است .اگر یک گرداننده دستگاه به طور معمول مورد استفاده قرار نگیرد ،مطلوب نیست که کد و داده های آن در حافظه قرار گیرد ،زیرا می توان از آن فضا برای اهداف دیگری استفاده کرد .این کد ها را کد گذاری سیستم عامل گویند .این کدها در صورت ل%زوم به حافظه می آیند و سپس حذف می شوند .بنابر این با استفاده از این کدها ،اندازه سیستم عامل در زمان اجرای برنامه تغییر می کند. 26 2-3-9تخص%یص حافظه حافظه به چند قسمت با اندازه ثابت تقسیم می شود و در هر قسمت یک فرآیند قرار می گیرد. لذا درجه چند برنامه ای توسط تعداد این قسمتها محدود می شود .اگر در این روش چند قسمتی، یک قسمت از حافظه خالی باشد فرآیندی از صف ورودی انتخاب شده و در آن قسمت خالی قرار می گیرد .وقتی فرآیندی خاتمه می یابد،قسمتی از حافظه که در اختیار آن است آزاد می شود و فرآیند دیگری می تواند در آن قسمت قرار بگیرد. 27 شکل کلی از الگوی قسمت بندی با اندازه ثابت: سیستم عامل جدولی را تشکیل می دهد که مشخص می کند چه قسمتهایی از حافظه آزاد و چه قسمتهایی اشغال هستند .در آغاز ،کل حافظه برای فرآیندهای کاربر مهیا است و به عنوان یک بلوک حافظه بزرگ به نام حفره در نظر گرفته می شود .وقتی فرآیندی نیاز به حافظه داشته باشد ،یک حفره را جستجو می کنیم که برای این فرآیند کافی باشد .اگر چنین حافظه ای پیدا شد ،حافظه مورد نیاز آن فرآیند را تخصیص می دهیم. 28 راهبردهایی برای انتخاب یک حفره آزاد از %مجموعه ای از حفره ها: • اولین جای مناسب • بهترین جای مناسب • بد ترین جای مناسب 29 راهبردهایی برای انتخاب یک حفره آزاد از %مجموعه ای از حفره ها: اولین جای مناسب :اولین حفره ای که تواند به فرآیند تخصیص یابد ،انتخاب می شود .جستجو می تواند از ابتدای مجموعه ای از حفره های آزاد انجام شود یا می تواند از جایی آغاز گردد که جستجو قبلی برای اولین جای مناسب ،در آنجا خاتمه یافته است .با یافتن اولین حفرهای که فضای کافی برای فرآیند داشته باشد ،جستجو خاتمه می یابد. بهترین جای مناسب :در این روش ،کوچکترین حفره ای که بتواند فرآیند را در خود جی دهد تخصیص می یابد .اگر لیست بر حسب اندازه حفره ها مرتب نباشد ،کل لیست باید جستجو شود. بد ترین جای مناسب :در این روش ،بزرگترین حفره انتخاب می شود .اگر لیست بر حسب اندازه حفره ها مرتب نباشد ،کل لیست باید جستجو شود. 30 تکه تکه شدن خارجی وقتی فرآیندها به حافظه بار می شوند و از حافظه حذف می گردند ،فضای حافظه به تکه های کوچکی تقسیم می شود .تکه تکه شدن خارجی وقتی به وجود می آید که حافظه کافی برای پاسخگویی به یک درخواست وجود دارد ول%ی کل این حافظه همجوار نیست .یعنی حافظه به تعداد زیادی از حفره های کوچک تقسیم شده است که همجوار نیستند. 31 عوامل موثر در تکه تکه شدن خارجی: استفاده از روش اولین جای مناسب به جای بهترین جای مناسب کدام طرف بلوک آزاد تخصیص یابد .یعنی وقتی بلوک آزاد به دو بخش تقسیم شد ،بخش باالیی مورد استفاده قرار کیرد یا بخش پاینی ؟ 32 تکه تکه شدن داخلی تفاوت بین حافظه در خواستی و حافظه تخصیص یافته را تکه تکه شدن داخلی گویند ،یعنی حافظه ای که در داخل یک قسمت از حافظه است ولی مورد استفاده قرار نگیرد. 33 راه حل هایی برای مسئله تکه تکه شدن خارجی: فشرده سازی :حفره های کوچک با یکدیگر ادغام شوند تا یک بلوک بزرگ از حافظه را ایحاد کنند .فشرده سازی همیشه ممکن نیست .اگر جابه جایی به صورت ایستا باشد و در زمان اسمبل کردن یا در زمان بار کردن انجام شود ،فشرده سازی امکان پذیر نیست .یعنی فشرده سازی فقط وقتی ممکن است که جابه جایی به صورت پویا و در زمان اجرا صورت گیرد. 34 راه حل دیگر مسئله تکه تکه شدن این است که: اجازه دهیم فضای آدرس منطقی فرآیند همجوار نباشد .بدین ترتیبف هر جایی از حافظه فیزیکی که آزاد شد ،به فرآیند تخصیص یابد .دو تکنیک برای این راه حل وجود دا%رد که مکمل یکدیگرند :صفحه بندی و قطعه بندی .این تکنیک ها می توانند با هم تر کیب شوند. 35 4-9صفحه بندی صفحه بندی یک طرح مدیریت حافظه ا%ست که اجازه می دهد فضای آ%درس فیزیکی فرآیند، همجوار نباشد .برازش قطعات حافظه با اندازه متغیر در حافظه پشتیبان را حل می کند. 36 1-4-9روش انجام کار در صفحه بندی حافظه فیزیکی به بلوکهایی با اندازه ثابت به نام قاب تقسیم می شود .حافظه منطقی نیز به بلوکهایی با اندازه های یکسان به نام صفحه تقسیم می شود .وقتی فرآیندی می خواهد اجرا شود ،صفحات آن از حافظه پشتیبان به قابهای حافظه آزاد بار می شود .حافظه پشتیبان به بلوکهایی با طول ثابت تقسیم می شود که به اندازه قابهای حافظه است .پشتیبانی سخت افزاری ‏f صفحه بندی در شکل 9-6آمده است. برای ‏f000…0000 آدرس فیزیکی ‏d آدرس منطقی ‏d ‏f …f111 1111 ‏p ‏f حافظه فیزیکی 9-6 37سخت افزار صفحه بندی شکل جدول صفحه ‏p ‏cpu 1-4-9روش انجام کار در صفحه بندی شماره قاب هر آدرسی که توسط CPUتولید می شودبه دو بخش تقسیم می گردد :شماره صفحه ))Pو آفست 0 صفحه 0 صفحه ( . )dشماره صفحه به عنوان اندیسی برای جدول صفحه به کار می رود .جدول صفحه 0 صفحه 0 حاوی آدرس پایه هر صفحه1در حافظه فیزیکی است .این آدرس پایه ،با آ%فست صفحه ترکیب می صفحه 1 1 شود تا فضای آدرس فیزیکی تول%ید شود و به واحد حافظه3ارسال گردد .مدل صفحه بندی حافظه در شکل 9-7آمده است. صفحه 2 صفحه 1 2 3 4 2 3 صفحه 3 جدول صفحه 5 6 صفحه 3 38 حافظه فیزیکی صفحه 2 7 شکل 9-7مدل صفحه بندی حافظه منطقی و فیزیکی حافظه منطقی 1-4-9روش انجام کار در صفحه بندی اندازه صفحه توان 2است ،ترجمه آدرس منطقی به شماره صفحه و آفست صفحه ،آسا ن است .اگر فضای منطقی 2mباشدو اندا%زه صفحه برابر با 2nواحد آدرس دهی باشد ،آنگاه m-nبیت با ارزش آدرس منظقی ،شماره صفحه و nبیت کم ارزش ،آفست صفحه را تعیین می کند .بنابر این آدرس منطقی به صورت زیر است: آفست صفحه شماره صفحه ‏d ‏p ‏n 39 ‏m-n 1-4-9روش انجام کار در صفحه بندی در حافظه شکل 9-8با استفاده از صفحه 4بایتی و حافظه فیزیکی 32بایتی (8صفحه) نشان می دهیم که حافظه از دیدگاه کاربر چگونه به حافظه فیزیکی نگاشت می شود. وقتی ا%ز الگوی صفحه بندی استفاده می کنیم تکه تکه شدن خارجی وجود ندارد ،زیرا هر قاب آزاد می تواند به فرآیندی که به آن نیاز دارد تخصیص یابد .اما ممکن است تکه تکه شدن داخلی به وجود آید .توجه کنید که قابها به عنوان واحد های حافظه تخصیص می یابند .اگر حافظه مورد نیاز فرآیندی ر محدوده یک صفحه نباشد ،آخرین قابی که تخصیص یافت ممکن است کامال پر نباشد. 40 0 ‏i ‏j ‏k ‏l ‏M ‏n ‏o ‏p 4 8 حافظه فیزیکی 12 5 0 6 1 1 2 2 3 جدول صفحه 16 ‏a ‏b ‏C ‏d ‏e ‏f ‏g ‏h 41 20 24 28 شکل 9-8نمونه ای از صفحه بندی برای 32بایت حافظه و صفحه 4بایتی ‏b ‏C ‏d 0a 1 2 3 ‏e ‏f ‏g ‏h 4 5 6 7 ‏i ‏j ‏k ‏l 8 9 10 11 ‏M ‏n ‏o ‏p 12 13 14 15 حافظه منطقی 1-4-9روش انجام کار در صفحه بندی وقتی فرآیندی بخواهد اجرا شود ،اندازه آن بر حسب صفحات سنجیده می شود .هر صفحه ا%ز فرآیند به یک قاب نیاز دارد .بنابراین ،اگر فرآیندی به nصفحه نیاز داشته باشد ،حداقل باید n قاب آزاد در حافظه موجود باشد اگر nقاب آزاد موجود باشد ،به این فرآیند تخصیص می یابد. اولین صفحه فرآیند به یکی از این قابهای تخصیص یافته بار می شود و شماره آن قاب در جدول صفحه مر بوط به این فرآیند قرار می گیرد .صفحه بعدی به قاب دیگری منتقل می شود و شماره این قاب نیز در جدول صفحه قرار می گیرد و این روند ادامه می یابد( شکل.)9-9 42 1-4-9روش انجام کار در صفحه بندی لیست قابهای آزاد لیست قابهای آزاد 14 13 18 20 15 15 13 13 صفحه 14 0 14 15 15 صفحه 1 16 17 صفحه 18 2 19 صفحه 20 3 21 43 (ب) صفحه صفحه صفحه صفحه 0 1 2 3 فرآیند جدید 16 17 صفحه صفحه صفحه صفحه 18 19 0 14 1 1 3 2 18 3 20 جدول صفحه فرآیند جدید 20 21 (الف) 0 1 2 3 2-4-9پشتیبانی سخت افزاری از ص%فحه بندی هر سیستم عامل برای ذخیره جدول صفحات به ازای هر فرآیند یک جدول صفحه ایجاد می کند.یک اشاره گربه جدول صفحه بهمراه سایر مقادیر ثبات در بلوک %کنترل فرآیند ذخیره می شود.وقتی به توزیع کننده گفته می شود فرآیندی را آغاز کند،باید ثباتهای کاربر را دوباره بار کند و با استفاده از جدول صفحه کاربر،مقادیر جدول صفحه سخت افزار را %تعریف نماید. 44 پیاده سازی جدول صفحه در روش اول جدول صفحه بصورت مجموعه ای از ثباتها پیاده سازی می گردد. توزیع کننده cpuاین ثباتها را همانند ثباتهای دیگر دوباره بار می کند. مانندDEC PDP-11 : آدرس 16 :بیتی اندازه صفحه8K: 45 پیاده سازی جدول صفحه در روش دوم جدول صفحه در حافظه اصلی نگهداری می شود و یک ثبات پایه جدول صفحه( )PTBRبه جدول صفحه اشاره می کند .تغییر جدولهای صفحه مستلزم تغییر یک ثبات است و در نتیجه زمان تعویض بستر کاهش می یابد. مشکل این روش زمان الزم برای دستیابی به محل حافظه کاربر است که برای دستیابی به یک بایت دوبار باید به حافظه دستیابی داشت .بنابراین دستیابی به حافظه به اندازه ضریب 2کند می شود. 46 پیاده سازی جدول صفحه در روش سوم از یک سخت ا%فزار جستجوی سریع،کوچک و پنهان بنام میانگیرهای دم دستی()TLBاستفاده می شود که حافظه انجمنی و بسیار سریع را بوجود می آورد. هر ورودی در TLBشامل دو بخش است: ‏ کلید ‏ مقدار ‏ وقتی حافظه انجمنی با قلم داده ای مواجه می شود،آن قلم داده فورا با تمام کلیدها مقایسه می گردد در صورت وجود قلم داده محتویلت فیلد مقدار متناظر با آن کلید بازیابی می گردد. 47 پیاده سازی جدول صفحه TLB ب%%%ه %ا%ینص%%ورتب%%%ا ج%دولص%%فحه %ب%%%کار گ%%%رفته %میش%%ود: آدرس منطقی شکل 9-10 ‏d شماره صفحه شماره قاب اصابتTLB آدرس فیزیکی ‏d ‏f ‏TLB ‏p ‏f حافظه فیزیکی 48 جدول صفحه شکست TLB ‏p ‏cpu پیاده سازی جدول صفحه بعضی از TLBها شناسه های فضای آدرس( )ASIDرا در هر ورودی TLBذخیره می کنند .هر ASIDفرآ%یند منحصر به فردی را مشخص می کند و برای حفاظت فضای آدرس آن فرآیند بکار می آید .همچنین به TLBاجازه می دهد که همزمان برای فرآیندهای مختلف، ورودیهایی را داشته باشد. 49 نسبت اص%ابت درصد تعداد دفعاتی که شماره صفحه در ثباتهای انجمنی یافت می شود،نسبت اصابت نام دارد. اگر نسبت اصابت 80درصد باشد یعنی 80درصد از تعداد دفعاتی که به TLBمراجعه کردیم،شماره صفحه پیدا شده است. 50 3-4-9حفاظت از حافظه در صفحه بندی حفاظت از حافظه در صفحه بندی با استفاده از بیتهای حفاظت مربوط به هر قاب انجام می گیرد .یک بیت نشان می دهد که صفحه فقط خواندنی است یا قابل خواندن و نوشتن است. از طریق جدول صفحه به حافظه مراجعه می شود تا شماره قاب مناسبی پیدا شود .هنگام محاسبه آدرس فیزیکی،بیتهای حفاظتی بررسی می شوند تا عمل نوشتن بر روی صفحه فقط خواندنی صورت نگیرد .اگر این کار صورت گیرد یک تله سخت افزا%ری به سیستم عامل ارسال می شود. 51 بیت اعتبار معموال هر ورودی جدول صفحه یک بیت اعتباردارد.اگر این بیت معتبر باشد نشان می دهد که صفحه مربوط به آن در فضای آدرس منطقی فرآیند وجود دارد .سیستم عامل این بیت را برای هر صفحه تنظیم می کند تا اجازه دستیابی به آن وجود داشته باشد یا نداشته باشد. 52 4-4-9ساختار جدول صفحه صفحه بندی سلسله مراتبی جدولهای صفحه درهم سازی شده جدول صفحه معکوس 53 1-4-4-9صفحه بندی سلسله مراتبی ‏ برای اینکه جدول صفحه بطور همجوار در حافظه اصلی قرار نگیرد باید جدول صفحه به فضاهای کوچکتری تقسیم شود: الگوی صفحه بندی دو سطحی الگوی صفحه بندی چهار سطحی 54 0 . . . 1 الگوی صفحه بندی دو سطحی 1 . در این ..روش خود جدول نیز صفحه بندی می شود. . . . 100 شکل 9-12 . . . 500 500 100 . . . . . . 708 . . . . . . . . . 55 حافظه . . . 900 708 . . . 929 . . . 900 929 . . . صفحه جدول صفحه جدول صفحه جدول صقحه بیرونی الگوی صفحه بندی دو سطحی آدرس منطقی به صورت زیر است: آفست صفحه ‏d 12 ‏P2 شماره صفحه ‏P1 10 چون ترجمه آ%درس از صفحه بیرونی به طرف داخل کار می کند،این روش را جدول صفحه نگاشت به جلو می نامند. شکل 9-13 56 10 الگوی صفحه بندی دو سطحی آدرس منطقی ‏p3 ‏p1 ‏p2 جدول صفحه بیرونی ‏d صفخه جدول صفحه 57 ‏p2 ‏p1 الگوی صفحه بندی دو سطحی در سیستمی با فضای آدرس منطقی 64بیتی،الگوی صفحه بندی دو سطحی مناسب نیست .یک روش برای پرهیز از جدول بزرگ این است که جدول صفحه بیرونی به قطعات کوچکتری تقسیم شود .همچنین می توان جدول صفحه بیرونی را صفحه بندی کرد تا الگوی صفحه بندی سه سطحی بوجود آید: آفست ‏p3 ‏d 12 58 صفحه درونی صفحه بیرونی صفحه بیرونی دوم ‏p2 10 10 ‏p1 32 الگوی ص%فحه بندی چه%ار سطحی ‏در این الگو جدول صفحه بیرونی سطح دوم ،صفحه بندی می شود .معماری سیستم SPARCبا آدرس دهی 32بیتی از الگوی سه سطحی استفاده می کند،در حالیکه معماری موتوروال 68030سی و دو بیتی،از الگوی صفحه بندی چهار سطحی ا%ستفاده می کند. 59 2-4-4-9جدولهای صفحه درهم سازی شده ‏ در این روش،یک مقدار درهم سازی بعنوان شماره صفحه مجازی منظور می شود .هر ورودی حاوی یک لیست پیوندی از عناصری است که به محل یکسانی درهم سازی می شوند. هر عنصر شامل سه فیلد است: شماره صفحه مجازی مقدار قاب صفحه نگاشت شده اشاره گری به عنصر بعدی در لیست پیوندی 60 2-4-4-9جدولهای صفحه درهم سازی شده روش کار این الگوریتم در شکل زیر نشان داده شده است: شکل 9-14 آدرس منطقی آدرس فیزیکی حافظه فیزیکی … 61 ‏r ‏q ‏s ‏q تابع درهم سازی جدول درهم سازی 2-4-4-9جدولهای صفحه درهم سازی شده ‏شکل دیگری از این طرح جدولهای صفحه خوشه ای ا%ست با این تفاوت که هر ورودی به چندین صفحه مراجعه می کند .جدولهای صفحه ای خوشه ای برای فضای آدرس اسپارس مفیداند .که در آن ارجاعات به حافظه همجوار نیستند و در سراسر فضای آدرس پخش می شود. 62 3-4-4-9جدول صفحه معکوس یکی از معایب جدول طبیعی وجود میلیونها ورودی برای هر جدول صفحه است که مقدار زیادی از حافظه فیزیکی را مصرف می کنند .برای حل این مشکل می توان از جدول صفحه معکوس استفاده کرد. جدول صفحه معکوس به ازای هر قاب حافظه یک ورودی دارد که هر ورودی متشکل ازآدرس مجازی صفحه ای است که در آن محل واقعی حافظه ذخیره شده است. 63 عملکرد جدول صفحه م%عکوس شکل 9-15 آدرس فیزیکی حافظه فیزیکی ‏d آدرس منطقی ‏d ‏i جستجو ‏i ‏p 64 ‏p ‏pid ‏pid جدول صفحه ‏cp ‏u عملکرد جدول صفحه م%عکوس گرچه این روش حافظه را کاهش می دهد،در هر ارجاع به صفحه،زمان الزم برای جستجو در جدول ،افزایش می یابد. برای حل این مسئل%ه از جدول درهم سازی استفده می کنیم تا جستجو فقط در یک یا تعداد اندکی از ورودیهای جدول صورت گیرد. 65 5-4-9صفحات مشترک ‏ ویراستار 1 چند دخولی باشد استفاده ازکد مشترک در محیط اشتراک زمانی مناسب است .اگر کد برنامه 3 0 ویراستار 2 شود. واقع استفاده مورد اشتراکی طور می تواند به 4 داده 1 شکل 9-16 داده2 ویراستار1 ویراستار 2 ویراستار 3 داده2 1 2 3 3 4 4 6 5 7 6 جدول صفحه برای P2 7 8 9 10 66 6 ویراستار 1 ویراستار 2 1 جدول صفحه برای P1 ویراستار 3 داده 2 3 فرآیند P2 4 ویراستار 3 داده 1 فرآیند P1 ویراستار 1 ویراستار 2 6 2 جدول صفحه برای P3 ویراستار 3 داده 3 فرآیند P3 5-4-9صفحات مشترک کد چند دخولی که کد خالص نیز نامیده می شود ،خود اصالح نیست یعنی در حین اجرا تغییر نمی کند و دو یا چند فرآیند همزمان می توانند آن کد را اجرا کنند .فقط یک کپی از ویراستار باید در حافظه نگهداری شود .هر جدول صفحه کاربر به آن کپی فیزیکی از ویراستار نگاشت می شود ولی صفحات داده به قابهای گوناگونی نگاشت می شوند. 67 5-9قطعه بندی الگوی صفحه بندی نمی تواند حافظه فیزیکی را از دیدگاه کاربر نسبت به حافظه تفکیک کند .دیدگاه کاربر ،به آدرس فیزیکی نگاشت می شود که این نگاشت تفاوت بین حافظه منطقی و فیزیکی را ممکن می سازد. 68 1-5-9روش انجام کار در قطعه بندی کاربر حافظه را بصورت یک آرایه خطی از بایتها نمی داند بلکه حافظه را مجموعه ای از قطعات طول متغیر در نظر می گیرد که هیچ ترتیب خاصی ندارند. شکل 9-17 پشته زیر روال جدول نماد حافظه اصلی 69 ‏SQR ‏T فضای آدرس منطقی 1-5-9روش انجام کار در قطعه بندی قطعه بندی یک الگوی مدیریت حافظه است که دیدگاه کاربر نسبت به حافظه را پشتیبانی می کند. فضای آدرس منطقی مجموعه ای از قطعات است.کاربر هر آدرس را با دو کمیت مشخص می کند: < نام قطعه و یک آ%فست> برای سهولت قطعات شماره گذاری می شوند و از طریق این شماره مراجعه می شوند .بنابر این آدرس منطقی شامل دوتایی است: <آفست و شماره صفحه> 70 2-5-9سخت افزار آدرسهای دو بعدی کاربر به آدرسهای فیزیکی یک بعدی توسط جدول قطعه نگاشت می شود. پایه قطعه= آدرس شروع حافظه فیزیکی مکان قطعه حد قطعه= طول قطعه 71 کاربرد جدول قطعه ‏ ‏ : Sش%%ماره %ق%%طعه% ‏s : dآ%فستق%%طعه (%ک%%%ه %ب%%%اید ب%%%ینص%%فر و ح%د ق%%طعه %ب%%%اشد) حد پایه جدول قطعه + ‏d بلی < خیر تله :خطای آدرس دهی 72 حافظه فیزیکی ‏S ‏CPU نمونه ای از قطعه بندی قطعه 0 قطعه 3 قطعه 2 قطعه 4 قطعه 1 73 140 0 2400 پشته پایه حد 100 1400 0 6300 400 4300 3200 400 3200 110 4700 4300 0 جدول قطعه 470 100 0 0 5700 6300 6700 0 1 2 3 4 زیر روال قطعه 3 جدول نماد قطعه0 قطعه 4 حافظه اصلی قطعه 2 ‏SQR ‏T قطعه 1 فضای آدرس منطقی 3-5-9حفاظت و اشتراک کد و داده ها برای حفاظت از قطعات ،سخت افزار مدیریت حافظه با قرار دا%دن یک آرایه در قطعه خودش، به طور خودکار کنترل می کند که اندیس آرایه معتبر باشد و ارجاع به خارج از حد آرایه صورت نگیرد. 74 3-5-9حفاظت و اشتراک کد و داده ها ‏ ‏ ویراستار قطعات وقتی به اشتراک %گذاشته می شوند که هر فرآیند دارا%ی یک جدول قطعه است.پایه حد ورودیهای جداول قطعه مربوط به دو فرآیند مختلف ،به یک محل فیزیکی اشاره نمایند. قطعه 0 شکل 9-20 43062 ویراستار 68348 داده 1 4306 2 پایه داده 2 98553 75 حافظه فیزیکی 4425 1 قطعه 1 6834 جدول قطعه فرآیند p1 8 7277 3 90003 25286 0 داده1 4306 2 حافظه منطقی فرآیندp1 حد ویراستار 0 25286 8850 9000 جدول قطعه فرآیند p1 3 1 قطعه 0 داده 2 قطعه 1 حافظه منطقی فرآیندp2 4-5-9تکه تکه شدن قطعه بندی ممکن است منجر به تکه تکه شدن خارجی شود ،به طوری که هیچکدام ا بلوکهای آزاد نمی توانند قطعه ای را در خود جای دهند .در این حالت ،فرآ%یند ممکن است منتظر بماند تا حافظه بیشتری آزاد شود یا فشرده سازی صورت گیرد تا حفره بزرگتری بوجود آید. 76 6-9قطعه بندی با صفحه بندی فضای آدرس منطقی یک فرآیند در جدول توصیفگر عمومی()GDT 77 در جدو%ل توصیفگر محلی()LDT 6-9قطعه بندی با صفحه بندی آدرس منطقی بصورت جفت(آفست و انتخابگر)است: ‏p 2 ‏g ‏S 1 sشماره قطعه است g ،معلوم می کند که آیا قعه در GDTاست یا در LDTو p مربوط به حفاظت است .آفست یک عدد 32بیتی و انتخابگر یک عدد 16بیتی است. 78 13 خالصه فصل نهم پایان 79

62,000 تومان