صفحه 1:

صفحه 2:
۱ (( a An oan] #تقسیم بندی حافظه به منظور پذیرش چندین فرآیند ۴ باید طوری حافظه را تخصیص دهیم که بیشترین تعداد ممکن از فرآیندها را جا دهیم.

صفحه 3:
0 عاج جوج سنيج 18 ی ری ۱4((۹] 7( ® تخصیص مجدد برنامه نویس نمی داند که برنامه در حین اجرا در کجای حافظه قرار می گيرد. *” ممكن است در حین اجرا برنامه به حافظه جانبی فرستاده شود و در هنكام بركشت به حافظه اصلی در جای متفاوتی قرار گیرد. * ارجاعات به حافظه اصلى بايد بطریقی به آدرس فیزیکی واقعی تبديل شوند.

صفحه 4:
Process control ‏جه سس‎ Information Entry point ‏جد‎ to program Branch instruction Increasing address values Reference todata نت ها امس ‎of stack‏

صفحه 5:
‎car aS ON cae CANE CNG od 0‏ 0ك ‏© حفاظت * فرآیندها نباید بدون مجوز به فضاى آدرس ديكر فرآيندها دسترسى داشته ‎ably‏ ‏* به دلیل امکان تخصیص مجدد نمی توان در برنامه ها از آدرسهای مطلق استفاده کرد. * سیستم عامل نمی تواند تمام ارجاعات یک ف رآیند به حافظه را پیش بینی کند. * لذا این امر باید در حین اجرا کنترل شود. ‎٩‏ اشتراک * به فرآیندهای مختلف اجازه می دهد که قسمتی از حافظه را بصورت اشتراکی استفاده کنند. ‎

صفحه 6:
‎car aS ON cae CANE CNG od 0‏ 0ك ‏سازماندهی منطقی برنامه ها بصورت ماژول نوشته می شوند. ؟ مازولها می توانند بصورت جداگانه نوشته و کامپایل شوند. *می توان ماژولها را به اشتراک گذاشت. سازماندهی فیزیکی * حافظه موجود ممکن است از حد نیاز برنامه و داده های آن کمتر باشد. ‏® برنامه نویس نمی داند مقدار حافظه موجود چقدر است. ‎

صفحه 7:
#پارتیشن های هم اندازه * هر فرآیندی که سایز آن کمتر یا مساوی اندازه پارتیشن است » می تواند درون یک پارتیشن خالی قرار گیرد. ؟ اگر همه پارتیشن ها پر باشنده سیستم عامل می تواند یک فرآیند را به حافظه جانبی بر گرداند. * ممکن است اندازه ف رآیندی از اندازه پارتیشن بزرگتر باشد. * استفاده ما از حافظه غیر موثر است. هر برنامه ای حتی اگر خیلی کوچک باشد یک پارتیشن کامل را اشغال می کند. این مشکل ‎ASS‏ ‏تکه شدن داخلی نام دارد.

صفحه 8:
operating System Operating System aM 8M. 2 ‏ده‎ iM om aM. sm su ‏م‎ ‎sM ‎nM ‎aM. ‎su ‎1M ‎2 ‎(a) Equa sie partons (0) Unequal size partitions Figure 7.2. Example of Fixed Partitioning of a 64-Mbyte Memory

صفحه 9:
۱ (esa assed wits Punticas 0 # پارتیشنهای هم اندازه " چون سایز پارتیشنها برابر است» مهم نیست که کدام پارتیشن مصرف می شود. #پارتیشنهای با سایز متفاوت. * مى توان هر فرآيند را به كوجكترين يارتيشنى كه جا مى شود تخصیص داد. ۴ فرآیندها را طوری تخصیص می دهیم که اتلاف حافظه مینیمم شود. #صف بندی: * هر پارتیشن دارای یک صف * يك صف براى همه

صفحه 10:
New Processes New Processes (a) One process queue per partition (b) Single process queue Figure 7.3. Memory Assignment for Fixed Partitioning

صفحه 11:
در روش دینامیک » تعداد و اندازه پارتيشنها متغییر است. # حافظه ای که به فرآیند تخصیص داده می شود دقیقا به اندازه مورد نیاز آن است. این روش در نهایت منجر به ایجاد حفره های زیادی در حافظه خواهد شد. به این پدیده تکه تکه شدن خارجی گفته می ۳ شود. #برای حل این مشکل از تکنیک فشرده سازی استفاده می گردد.

صفحه 12:
ام ی 2 20M 14M 14M SoM 22M fa) (b) © ‏نا‎ Figure 7.4 The Effect of Dynamic Partitioning

صفحه 13:
۳ tia 1 | سس | لا لكا لا Process 3 ۷ |. on ou Process 3 | ۷ Process 3 |} 18M 18M 18M 4M 4M 4M 4M fe) 40 © ‏زم‎ Figure 7.4 The Effect of Dynamic Partitioning

صفحه 14:
0 دم ‏ ل ا ۱۱۱ # سیستم عامل باید در مورد نحوه تخصیص فضاهای خالی به فرآیند 2 تصمیم بگیرد. ؟ الگوریتم ‎Dest‏ ‏© بلوکی را انتخاب می کند که اندازه آن به سایز درخواست فرآیند نزدیکتر است. (کوچکترین بلوکی که فرآیند در آن جا می شود). * این روش در مقایسه با دو روش دیگر که در ادامه معرفی می شوند عملکرد بدتری دارد. * چون بلو کهای کوچکتر انتخاب می شونده تکه های باقیمانده کوچکتر خواهند بود. این تکه ها معمولا مصرف نمی شوند لذا نیاز به فشرده سازی بیشتر خواهد ‎by‏

صفحه 15:
0 دم ‏ ل ا ۱۱۱ © الگوریتم ۷-:۳) * سریعترین است. منجر به تجمع فرآیندها در ابتدای حافظه می شود. هنگام جستجوی برای پیدا كردن فضاى خالى بايد از اين فرآیندها گذر کنیم تا یک بلوک خالی بيدا شود. ‎Der Pit 9 N°‏ * اغلب اوقات قسمتهای انتهایی حافظه را برای تخصیص مورد استفاده قرار می دهد. * قسمتهای انتهایی شامل بلو کهای بزرگی از حافظه هستند که شکسته می شوند. * فشرده سازی موقعی نیاز است که به یک بلوک بز رگ در انتهای حافظه نیاز داریم.

صفحه 16:
aM 20M Water 9 ‏سسب‎ ‎Crem ا ره میاه ut انم Figure 7.5 Example Memory Configuration Before and After Allocation of 16 Mbyte Block

صفحه 17:
۲ (ce ‏کل فضای حافظه را به عنوان يكك بلوکک با سایز در نظر‎ ‏مى كيريم.‎ © ۳ ۳ اگر درخواست ما یعنی < طوری بود كه <> ج > 6294© اج ع کل بلوک را در بر می گيرد. #در غیر اینصورت: * بلوك را به دو قسمت مساوی تقسیم می کنیم. وتا = أي الگوریتم را آنقدر ادامه می دهیم تا کوچکترین بلو کی که از < بزرگتر هست ؛ تولید شود.

صفحه 18:
2561 2561 2561 2561 2561 3 5121 5121 312K D=256K D=256K D=256K D=256K D=256K D=256K IM 13۳ 2561 2561 2561 [oak [64K] Gis [oak Gis 5121 1281 3 ۳3 ۳3 A= 16 ۳3 2 15 128 ۲2 816 E= 28K Figure 7.6 Example of Buddy System 1 Mbyte block Request 100 K Request 240K Request 64K Request 256K Release B Release A Request 75 K Release ‏ع‎ ‎Release E Release D

صفحه 19:
3 D=256K Figure 7.7. Tree Representation of Buddy System 256K 64 22 IM 512K 256K 128K 641

صفحه 20:
* وقتى که فرآیند به حافظه آورده می شود محل واقعی (مطلق) آن در حافظه مشخص می گردد. # چون فرآیند ممکن است در جاهای مختلفی قرار گیرد (مساله تخصیص مجدد) » لذا در حین اجرا آدرسهای مطلق متفاوتی سازی نیز باعث می شود محل برنامه در حافظه عوض شود. لذا آدرسهای مطلق باز هم تغیبر می کنند.

صفحه 21:
0 * ارجاع به محلى از حافظه مستقل از تخصیص جاری فرآیند در حافظه * بايد آدرس منطقى را به آدرس فیزیکی ترجمه کنیم. سبی ؟ آدرس محلی از حافظه نسبت به یک نقطه مشخص داده می شود. #فیزیکی * آدرس مطلق یا محل واقعی داده در حافظه اصلی

صفحه 22:
007 وس مه 1 1 ٩ ‏یبا‎ ‎۰ Interrupt to ‘operating system Process image in ‘main memory Figure 7.8 Hardware Support for Relocation

صفحه 23:
(Nee ea ta Osed Naini] Ceca east 0 رجیستر پایه * آدرس شروع فرآیند در حافظه #رجيستر حد ‎(bouerds)‏ ‏© أدرسن آخرین محل فرآیند دو حافظه * هنگام بار گذاری فرآیند در حافظه یا تعویض آن این رجیسترها تنظیم می گردند.

صفحه 24:
(Nee ea ta Osed Naini] Ceca east 0 * مقدار رجیستر پایه با آدرس نسبی جمع می گردد تا یک آدرس مطلق تولید گردد. آدرس نتیجه با مقدار رجیستر حد مقایسه می شود. گر در محدوده نباشدء يكك وقفه برای سیستم عامل توليد می گردد.

صفحه 25:
حافظه و فررآیند را به مقادیر مساوی تقسیم می کنیم. © به تکه های فرآیند صفحه و به تکه های حافظه قاب می گوییم. © سیستم عامل برای هر ف رآیند یک جدول صفحه نگهداری می کند. " برای هر صفحه محل قابهای آن در حافظه نگهداری می شود. * آدرسهای حافظه شامل شماره صفحه و اا نسبت به ابتدای آن صفحه می باشد.

صفحه 26:
Frame number, Main memory Main memory (a) Fifteen Available Frames (b) Load Process A (b) Load Process B Figure 7.9 Assignment of Process Pages to Free Frames

صفحه 27:
Main memory Main memory Main memory (@) Load Process C {e) Swap out B (1) Load Process D Figure 7.9 Assignment of Process Pages to Free Frames

صفحه 28:
13 14 Free frame list 11 12 بج سر يج نذا حك Process D page table سر نو با 8 10 Process C page table neo Process B page table ات نس تج دما اح أس ادم نت Process A page table Figure 7.10 Data Structures for the Example of Figure 7.9 at Time Epoch (f)

صفحه 29:
* تمام قطعه های برنامه هم اندازه نیستند. © البته سایز قطعه ها دارای یک مقدار ما کسیمم است. آدرس دهی شامل دو قسمت است: شماره قطعه و اعد!2 # چون قطعه ها هم اندازه نیستند» قطعه بندی مثل پارتیشن كردن دینامیک است.

جهت مطالعه ادامه متن، فایل را دریافت نمایید.
30,000 تومان