Fvsft103 s06 A Notes
Fvsft103 s06 A Notes
faradars.org/fvsft103
1
آموزش سیستم های عامل
faradars.org/fvsft103
فصل ششم
س ر د ا ﺮ ﻓ
a
مدیریت حافظه
r s .or g
F ar aD
2
آموزش سیستم های عامل
faradars.org/fvsft103
مدیریت حافظه اصلی و مدیریت حافظه دیسک بر عهده سیستم عامل است.
3
آموزش سیستم های عامل
faradars.org/fvsft103
چند برنامگی با پارتیشن ثابت
س ر د -1مشکل بودن تعیین تعداد و اندازه پارتیشن ها.
g
-2محدود بودن درجه چند برنامگی به تعداد پارتیشن ها .
صف
a
r aD
، 120دستیابی داشته باشد.
F a
7
آموزش سیستم های عامل
faradars.org/fvsft103
8
آموزش سیستم های عامل
faradars.org/fvsft103
مبادله )(swapping
ﻓ
در سیستم های اشتراك زمانی در گاهی اوقات نمی توان همه فرایندهای فعال را در حافظه اصلی جای داد
or g
برگردانده می شود (Swap in ,Swap out).
F a
شود ،با فرایند دیگری مبادله می شود.
در پارتیشن بندی پویا« ،تعداد ،موقعیت و اندازه» پارتیشن ها متفاوت است .این انعطاف پذیری باعث
بهبود بهره وری حافظه می شود.
9
آموزش سیستم های عامل
مثال faradars.org/fvsft103
شکل زیر نحوه عملکرد سیستمی را نشان می دهد که بر اساس مبادله کار می کند.
10
آموزش سیستم های عامل
faradars.org/fvsft103
تکه تکه شدن خارجی
ﺮ ﻓ
در پارتیشن بندی پویا ،به خاطر مبادله ،حفره های متعددی در حافظه به وجود می آید که باعث اتالف
س ر د ا حافظه می شود .به این مشکل ،تکه تکه شدن خارجی می گویند.
.or g
برای مقابله با تکه تکه شدن خارجی از فشرده سازی میتوان استفاده کرد.
ar a
F
آزاد تشکیل می شود .ولی این روش هزینه زیادی دارد.
11
آموزش سیستم های عامل
faradars.org/fvsft103
تشخیص بخش های آزاد حافظه
ﺮ ﻓ
وقتی که حافظه به صورت پویا تخصیص داده می شود ،سیستم عامل باید بداند که کدام بخش حافظه
س ر د ا در هر لحظه ،تخصیص داده شده و کدام بخش آزاد است.
.or g
برای این منظور ،دو روش وجود دارد:
ar aD a r s -1مدیریت حافظه با نگاشت های بیتی
F
-2مدیریت حافظه با لیست های پیوندی
12
آموزش سیستم های عامل
faradars.org/fvsft103
مدیریت حافظه با نگاشت های بیتی
ﺮ ﻓ
حافظه به چندین واحد تخصیص تقسیم می شود.
س ر د ا متناظر با هر واحد تخصیص،یک بیت وجود دارد.
س ر
a r s .or g
F ar aD هر چه واحد تخصیص کوچکتر باشد ،نگاشت بیتی بزرگتر خواهد بود.
اگر اندازه فرایند ،ضریبی از اندازه واحد تخصیص نباشد ،در آخرین واحد مقداری از حافظه هدر می رود.
برای انتقال یک فرایند به حافظه که به kواحد فضا نیاز دارد ،مدیر حافظه باید در نگاشت بیتی جستجو کرده و kبیت متوالی 0را پیدا کند .که
عملی زمانبر است.
14
آموزش سیستم های عامل
faradars.org/fvsft103
مدیریت حافظه با لیست های پیوندی
یک لیست پیوندی از قطعه های آزاد یا تخصیص یافته حافظه تشکیل می شود.
س ر
a r s .or g
F ar aD -4آدرس گره بعدی -3طول -2آدرس شروع
فیلدهای گره لیست پیوندی:
-1حفره یا فرایند بودن
مزیت این روش این است که زمانی که فرایندی خاتمه می یابد ،یا مبادله می شود ،این لیست به سادگی updateمی شود.
15
آموزش سیستم های عامل
الگوریتم های مکان یابی و تخصیص حافظه faradars.org/fvsft103
وقتی فرایندها و حفره ها در یک لیست مرتب شده بر اساس آدرس قرار می گیرند ،الگوریتم های مختلفی جهت تخصیص
ﻓ
حافظه به یک فرایند وجود دارد.
r g
-2برازش بعدی )(Next fit
F a
-3بهترین برازش )(Best fit
تمام لیست جستجو می شود و فرایند در کوچکترین حفره ای قرار داده می شود که در آن جا می شود.
تمام لیست جستجو می شود و فرایند در بزرگترین حفره ای قرار داده می شود که در آن جا می شود.
16
آموزش سیستم های عامل
مثال faradars.org/fvsft103
ﻓ
در یک سیستم که مدیریت حافظه با استفاده از مبادله انجام میشود ،حافظه اصلی شامل فضاهای خالی با اندازههای به ترتیب
س
6کیلو بایت با استفاده از روش های گفته شده کدام یک از فضاهای خالی فوق الذکر اشغال میشوند؟
.or g
10 4 20 18 7 9 12
12 10
ar aD a r s 4 8 18 7 9 12
F
10 0 4 8 18 7 9 12
6 0 4 2 18 7 9 12
First fit
18
آموزش سیستم های عامل
faradars.org/fvsft103
Next fit
س
10
12 10
ر د ا
4 20
4 8 ﺮ ﻓ18
18
7
7
9
9
12
12
or g
10 10 4 8 8 7 9 12
6 10
r aD a
4 8
r s
2
. 7 9 12
F a
19
آموزش سیستم های عامل
faradars.org/fvsft103
Best fit
س
12 10
ر
10
د ا
4
4 ﺮ ﻓ
20 18 7
20 18 7
9 12
9 0
r g
10 0 4 20 18 7 9 0
6
r
0
aD a
4
r s .o
20 18 1 9 0
F a
20
آموزش سیستم های عامل
faradars.org/fvsft103
Worst fit
س
10
12 10 ر د
4
4
ا ﺮ ﻓ
20
8
18
18
7
7
9
9
12
12
10 10 4
a r s
8
.or
8
g 7 9 12
r aD
6 10 4 8 8 7 9 6
F a
21
آموزش سیستم های عامل
faradars.org/fvsft103
اگر لیست فضاهای خالی بر اساس اندازه فضاها مرتب باشد ،سرعت
g
سرعت الگوریتم های Best fitو Worst fitپایین است ،چون کل لیست باید
22
آموزش سیستم های عامل
faradars.org/fvsft103
r g
خانه اول :اشاره گری به ابتدای لیست حفره های 4کیلو بایتی،
r aD a r s .o خانه دوم :به ابتدای حفره های 8کیلو بایتی
F a
و ...
23
آموزش سیستم های عامل
faradars.org/fvsft103
مدیریت حافظه با سیستم رفاقتی )(Buddy System
در بخش بندی ایستا امکان تکه تکه شدن داخلی و در بخش بندی پویا ،امکان تکه تکه شدن خارجی
r g
اندازه بالکهای حافظه توانی از 2میباشند.
g
ترکیب رفقای مجاور می باشد.
F
25
آموزش سیستم های عامل
مثال faradars.org/fvsft103
مزیت سیستم رفاقتی این است که چیدمان حفره ها ساخت یافته است و می توان یک ساختار درختی برای بلوك های پر و
ﺮ ﻓ
خالی ایجاد کرد و با یک الگوریتم بازگشتی ،حفره مناسب را خیلی سریع پیدا کرد.
س ر د ا مثال :درخت دودویی بعد از درخواست Release B
ر د
صفحه س
بندی ا ﺮ ﻓ
a r s .or g
F ar aD
28
آموزش سیستم های عامل
faradars.org/fvsft103
س ر
حافظه منطقی به بلوك هایی با اندازه های یکسان به نام صفحه )(pageتقسیم میشود.
اندازه صفحه و اندازه قاب توسط سخت افزار تعریف می شود.
r aD
و یک جدول صفحه ایجاد میشود.
F a جدول صفحه ،محل قاب هر صفحه از فرایند را مشخص میکند.
اندازه صفحه و اندازه قاب باید توانی از 2باشند.
نقطه ضعف اصلی صفحه بندی تکه تکه شدن داخلی است.
29
آموزش سیستم های عامل
faradars.org/fvsft103
مثال
س ر د ا ﺮ ﻓآدرس منطقی از دو قسمت تشکیل شده است:
a
F ar aD آدرس فیزیکی از دو قسمت تشکیل شده است:
32
آموزش سیستم های عامل
مثال faradars.org/fvsft103
با توجه به آدرس نسبی ، 0000010111011110چند بیت برای شماره صفحه نیاز است؟
ر د
پاسخ :اندازه صفحه یک کیلو بایت است ،پس 10بیت برای آفست مورد نیاز است.
س
چون آدرس 16بیتی است 6 ،بیت برای شماره صفحه باقی میماند.
آدرس نسبی داده شده دارای آفست ( )0111011110در صفحه ( )000001است.
مثال
r g
بود؟
r aD a r s .o 4× 2 = 8 = 23 فضای آدرس دهی منطقی:
35
آموزش سیستم های عامل
faradars.org/fvsft103
مثال
ﺮ ﻓ
در یک سیستم حافظه صفحه بندی با یک جدول صفحه حاوی 64مدخل 10بیتی و صفحه های 512بایتی،
س ر د ا آدرس منطقی و فیزیکی چند بیتی است؟
اندازه حافظه منطقی =حاصل ضرب تعداد صفحات (تعداد مدخل ها) در اندازه هر صفحه:
36
آموزش سیستم های عامل
faradars.org/fvsft103
مثال
فضای آدرس دهی فیزیکی حاوی 8قاب صفحه نگاشته می شود .آدرس فیزیکی حاوی چند بیت است؟
37
آموزش سیستم های عامل
faradars.org/fvsft103
a r s .or g و لزومی ندارد اندازه این قطعهها هم اندازه باشند.
هر سطر این جدول شامل آدرس شروع قطعه مورد نظر در حافظه اصلی و طول قطعه می باشد.
39
آموزش سیستم های عامل
دید منطقی از قطعه بندی faradars.org/fvsft103
41
آموزش سیستم های عامل
faradars.org/fvsft103
قطعه بندی به دلیل بکارگیری قطعههای غیرهم اندازه ،مشابه بخش بندی پویا است. -4
ﻓ
البته در قطعه بندی یک برنامه میتواند بیش از یک بخش را اشغال کند و لزومی ندارد
.or g
-5قطعه بندی تکه تکه شدن داخلی را حذف میکند ،اما دارای تکه تکه شدن خارجی
F
-6در حالی که صفحه بندی از دید برنامهساز مخفی است ،قطعه بندی قابل رویت و عامل
ﺮ ﻓ
آدرس منطقی 16بیتی 0001001011110000مفروض است .نحوه تولید آدرس فیزیکی در روش قطعه بندی را
س ر د ا نشان دهید( .آفست 12بیتی و شماره قطعه 4بیتی)
ﺮ ﻓ
کدام آدرس منطقی فاقد آدرس فیزیکی هستند؟
ا
2, 700
0,150
آدرس منطقی دوم ،دارای آدرس فیزیکی است ،چون 150 200 :
این آدرس برابر است با500 150 650 :
45
آموزش سیستم های عامل
faradars.org/fvsft103
ر د
پایانس ا ﺮ ﻓ
a r s .or g
F ar aD
46
آموزش سیستم های عامل
faradars.org/fvsft103
47