صفحه 1:
صفحه 2:
3
3 OE
دار 2
3 4
.
3 3
من 9
3 17۳
|
O
3
=
صفحه 3:
تعریف کامپیوتر
کامپیوتر وسیله ای الکترونیکی است که می تولند اطلاعلتی را بگیرد» پردازش هلیی روی آن
could was p> ol تولید کند. و این نتایج را برای استفاده در آینده. نگهداری کند.
اجزاء کامپیوتر
سخت افزاو؛ کار پردازش اطلاعات را از طریق اجرای دستورالعمل هاء ذخیره داده هاء جلبه جلیی داده ها بین
دستگاه های 1/60 و ارسال و دریافت اطلاعات از مکان های شبکه ای دوردست انجام می دهد.
فوم افزار؛ شامل نرم افزارهای سیستمی. کاربردی و زبان های برنامه نویسی.
شبکه: مسوول ارسال و دریافت اطلاعات در شبکه های محلی و وایرلس
داده یا 12612 : نمایش اطلاعات با فرمتی خاص در محل ذخیره اطلاعات
صفحه 4:
برنامههای کاربردی
نرم افزار مفسر فرمان. مترجم. ادیتورها
سيستم عامل
اجزای مختلف کامپیوتر زبان ماشین
ریز برنامه نویسی
سخت افزار هه دستگاههای فیزیکی
صفحه 5:
Sandbox
‘Application Software
Software
Network
سس ی —
Semi network conductor
System Network
Windows/Linux,
۴ بکنيمه هادیلستو کار ک نترلدسترسوبه دادم ها و جلوگیریاز
هکشدنرا برعهدم دارد و محبط دلجلیک امپیوتر را از محیط خارجینجدا می
صفحه 6:
معماری کامپیوتر
به طراحی و شناخت اجزای کامپیوتر می پردازد.
طبقه بندی معماریهای کامپیوتر
معماری کامپیوتر هاروارد
معماری هاروارد یک معماری کامپیوتر با جداسازی فیزیکی محل ذخیرهسازی و مسیر سیگنالها
برای دستورالعمل هاو دادهه | است. ر برخضی سیستم ها دستورالعمل ها می تواند در
حافظه فقط خواندنی ذخیره شود درحللی که حافظه داده به طور کلی نیازمند حافظه خواندن و
نوشتن است. در برخضی سیستم هاء حافظه دستورالعمل از حافظه داده بیشتر است؛ بنابراین
آدرسهای دستورالعمل ها عرض بیشتری نسبت به آدرسهای داده دارند.
صفحه 7:
این معماری اولین طراحی مدرن
کامپیوتره | براساس مفهوم برنامه
ذخیره شده است که بر اساس برنامه
ذخیره شده با device هایی که
دارای حافظه است کار می کند به
گونهای که دستورهای برنامهریزی شده
مانند دادهها را در حالت خواندنی-
Instruction
memory
نوشتنی در
حافظه د. تصادفی (RAM)
نگه داری می کند و یک سیستم
دیجیتال محاسباتی خودکاره سریع و با
قابليت كنترل منطقي مي باشد
معمارى هاروارد
صفحه 8:
معماری نیومن
اط ی ارت رنه ارقاه یا اهاز یی واحد رردارش برفری و 5
حافظه مجرا مستقل برای نگه داری از اطلاعات و دستورالعمل ها استفاده مي کند. این
طراحی به خاطر مان فون توسان (دانشمتد علوم رابنه ای) تام گذاری شدهاس ار این
eal) ies كار يك ماش one eam ance Sees ار
از دیدگاه نیومن. کامپیوتر یک سیستم محاسباتی دیجیتال خودکار با سرعت خیلی بالا و
دارای درل منطقی ات
SEIS مثل اد تام ری شود جون کفرکاهها ین واسدها یه اشترای gules lana
شدهاند بنابراین در هر لحظه فقط یکی از حالتهای آوردن دستورها یا انجام عملیات روی
دادهها صورت می گیرد که به آن گلوگاه فون نیومن می گویند.
صفحه 9:
طبقهبندی (Flyn) gy
طبقهبندی فلین یک طبقهبندی برای معماریهای کامپیوتر است. در کل کامپیوترهای
دیجیتال بر اساس تعدد دستورالعمل ها و جرین های داده در ۴ دسته طبقهبندی شدهاند.
مایکل فلوبن اين شمارا جهت طبقهبندی و سازماندهی کامپیوترها در سال ۱۹۶۶ میلادی
ارائه کرد. عنصر اساسی فرایند محاسبات اجرای دنبالهای از دستورالعمل های مربوط به
مجموعهای از دادهها است.اين چهار طبقه بر مبنای تعداد دستورهای همزمان و رشته دادههای
قابل دسترسی در معماری تعریف شد:
151 یک دستور یک داده
یک دستور چند داده
ase MISD دستور یک داده
10 چند دستور چند داده
صفحه 10:
کامپیوتر از چهار واحد اصلی تشکیل شده است :
dUnput Unit > واحد ورودى (ل1]1 -١
(Output Unit = OU) واحد خروجى -۲
(Memory Unit = MU ) abit واحد -۳
(ess; = Central Processing Unit) واحد پردازش مرکزی -۴
صفحه 11:
تعریف سختافزار
کامپیوتر در مرحله اول یک ماشین الکترونیکی و الکترومکانیکی است؛ یعنی از یک سری قطعات
آلکرو کی والکرومکان کی ساحه هد است این فطع فیریکی فلل تمس و مشاهده هت که
به آن ها سختافزار گفته می شود.
لسا به تجهیزات فیزیکی کامپیوتر اعم از قسمتهای الکترونیکی و الکترومکانیکی که قابل لمس
مسد سحتافرار گفته می نود محل صفحهکلد. مانتور جابک اسکر ماوس» حارنهاه
مقلومتهاء مدارات داحلی کایلهای بری و
سا سختفزار به تنهایی قادر به انجام هیچ کاری نیست وبه کارگیری ن نیاز به دستورالعمل ها و
برنامههایی دارد که به لُن نرمافزار گفته می شود. سختافزار در واقع مجری اجرای دستورالعمل
ها و برنامههایی است که در حافظه کامپیوتر قرار دارند.
صفحه 12:
اجزای تشکیل دهنده سخت افزار
-١ دستكاههاى وروردذى Input) 629)9 v1, 6 (Input Devices)
(Unit
این دستگاهها وظیفه ورود دادهها به کامپیوتر را بر عهده دارند. در واقع دادهها از طریق واحد
ورودی وارد حافظه اصلی (1۷16100177 1]8112) میشوند. این دادهها ممکن است Gly
پردازش به واحد پردازش مرکزی (پردازنده) فرستاده شوند و یا برای پردازش های آتی در
حافظه جانبی ذخیره گردند.
۲- دستگاههای خروجی Output) .9)> vol, (Output Devices)
(Unit
وظیفه اعلام اطلاعات (دادههای پردازش شده) را به بیرون از کامپیوتر بر عهده دارند. این اطلاعات
به شکلهای گوناگون اعلام میشوند؛ مثلابه شکل تصویری (به وسیله صفحه نمایش, چاپگر) به
صفحه 13:
۳- واحد پردازش مرکزی
Memory or Storage)) 443 —f
دستگاههای ورودی و خروجی
همان طور که گفته شد برخی از دستگاهها و قطعات سختافزاری رایلنه می توانند علاوه بر داشتن
خاصیت ورود اطلاعات به رایانه خاصیت خروجی نیز داشته باشند. به عنوان مثال از یک حافظه
فلش می توان هم به عنوان ورودی و هم به عنوان خروجی استفاده کرد. سیدیها و دیویدیها
نيز دارای چنین خاصیتی هستند. کاربر می تولند اطلاعات ذخیرهسازی شده روی یک دیویدی را
به عنوان اطلاعات ورودی در رایلنه ثبت و استفاده کنند و از طرف دیگر می تولند اطلاعات مورد نظر
خود را با استفاده از رایتر روی لوح فشرده ذخیره کند. بنابراین سیدیها و دیویدیها نیز به
عنوان دستگاههای ورودی-خروجی به شمار میآیند.
صفحه 14:
دستگاه های ورودی/ خروجی مسوول برقراری
رتاک بر بت ee ee
این دستگاه ها دارای رجیسترهایی برای دریافت داده ها
ی بزرگ وکو چک و دستورالعمل ها از سمت پردازنده
می باشند بری میادله داده های بررگ مانند هارد
درلیو به منظور صرفه جویی در زمان پردازنده. از نوعی
واسط مخصوص با نام ]121۷ استفاده می شود.
VO Device
VO Device
HO Module
WO Module
Address
| وه
Data
صفحه 15:
باشد. گاهیم طلوبلستداده ها بین()/1 و حافظه
مستقمام باه شا وند :ار ۰ : روازنده 5 استه
شود و پردازنده بستولند بولیلنجام ک لرهایمیگر آزاد
باشد لیرفرلیند دسترسیمستقیم به حافظه بدور
DMAI, dish 1 be. میگ ویند DMA لمکار
دستیابیدستگاه هایجانبیمانند ی کدیسکبه حافظه اس
را بدینعور از پردازنده فرلهم آورده و سرعتق بدا ۳
وتات کی
لطااتر! لفزلیشمیدهد در لنتقا |لطاهاتاز ولحد ovice | TO
معمولالطاهاتت وس ط س [bls a Je Sola tS.
پرداننده منتقلشده و معمولاپساز آنبه حافظه
منتقلمیگردد.
Memory
صفحه 16:
ثبات ها یا رجیستر ها
پردازنده کامپیوتر برای اينکه بتواند پردازش های خود را روی دستورالعمل ها انجام دهد بایستی
در > مکی ی کار ها انیم دس وان فجن ها کدی دس ورس سا نا هاف لفطلا
پردازنده .
۱ 1د ها اف ی ترا هرز 6 65 erence
دستورالعمل ها با سرعت بسیار بالا مورد استفاده قرار می گیرد. همان طور که میدانید پردازنده
کامیپوتر قطع به یقین یکی از مهم ترین و پیچیده ترین اجزاء یک کامپیوتر محسوب می شود و
طبیعتا یک سخت افزار تک منظوره و یک بعدی نیست و وظایف متعددی بر عهده دارد. از این رو
رجیستر در پردازنده دارای انواع مختلفی است که هر کدام به نوبه خود در امرکنترل و پردازش
کردن دستورالعمل ها برای پردازنده بسیار مهم و اجتناب ناپذیر است.
صفحه 17:
Registers) ۲ نباتهای پردازنده
هر پردازنده شامل مجموعهای از ثباتها ميباشد. ثبات. حافظهای سریعتر و کوچکتر از حافظه اصلی است.
ثباتهای پردازنده از نظر وظایفی که برعهده دارند به دو دسته کلی تقسیم میشوند:
ثباتهای قابل رویت برای کاربر: برنامه نوبسان زبان ماشین یا زبان اسمبلی میتوانند با استفاده مناسب از این
ثباتها. مراجعه به حافظه اصلی را به حداقل برسانند. ثباتهای داده و ثباتهای آدرس دو نمونه از این دستهاند
که عموماً در دسترس تمام برنامه های کاربردی و سیستمی میباشند:
ثباتهای داده: برنامه نوبس میتواند این ثباتها را به برخی توابع نسبت دهد. در برخی موارد. اين ثباتها همه
منظوره هستند و با هر دستورالعمل ماشین که روی دادهها کار کند. قابل استفاده هستند.
ثباتهای آدرس: این ثباتها حاوی آدرس دستورالعمل و دادهها در حافظه اصلی میباشند.
صفحه 18:
تاهای رصع و کترل پرتارده ار این قاتا رای کت رل عملات حرو اد تفاده مک
همچنین رویه های ممتاز سیستم عامل
از این ثباتها برای کنترل اجرای برنامه ها استفاده می کنند.
این ثباتهای غیر قابل رویت برای کاربر به دستههای زیر تقسیم میگردند.
(MAR - Memory Address Resister) - ثبات آدرس حافظه
Memory Buffer Register) - ۷7 - ثبات بافر حافظه
Address Register) 7/0 - 7/0۸۲ - ثبات آدرس ورودی | خروجی
(/OBR - I/O Buffer Register) - بات بافر ورودی | خروجی
صفحه 19:
- ثبات شمارنده برنامه ) :(01272/67/) 70972720 - /6حاوی آدرس دستورالعملی است که باید
واکشی شود.
- ثبات دستورالعمل) 6015/67 Instruction - ؟1حاوی آخرین دستورالعملهایی است که
واکشی شده است.
- ثبات کلمه وضعیت برنامه) (۲۷۵۲۵ 5216 2۳097272 - 5۲۷ حاوی اطلاعات وضعیت
برنامه میباشد.
تفکیک آشکاری بین ثباتهای این دو دسته وجود ندارد. برای مثال» در بعضی پردازندهها» ثبات شمارنده
برنامه ) (م) گبرای کاربر قابل رویت است ولی در بسیاری از پردازندههای دیگر این طور نیست.
صفحه 20:
حافظه های رجستر پردازنده
از سریع ترین حافظه های یک
کامپیوتر به شمار می رود (حتی
سريع تراز حافظه كش 1.1
يردازنده). زيرا پردازنده برای انجام
پردازش های خود بر روی
sss ta Ioan الیل عارا در
حافظه رجیستر ذخیره می کند و
سپس روی ot ها پردازش را انجام
می دهد.
Inside the CPU
Addrass bus
ل
Control Bus (Read / Write)
اما امومع
Clock pulses
Electronic
lock
other
registers
Arithmetic
and Logie
Unit (ALU)
صفحه 21:
وظایف رجیسترها
واکشی
0 کردندستورا_ امملها توسط رجیستر ها از حافظه ]۷[ سیستمبه
منظور لنجام پردازش رویدستورا_اعملها
6 با كدتكشائيهستور لفمزها
عمليات 1060001116 دستورالعمل ها بدين منظور است كه دستورالعمل ها به
40 ها يا دستورات ترجمه شوند تا توسط واحد []:.آ قابل اجرا
باشند واحدی که بر عملیات 126006110 دستورالعمل ها نظارت دارد واحد لأن)
یا همان واحد کنترل در پردازنده می باشد.
صفحه 22:
Execute لاجیلوهستویات
همان طور که گفتیم دستورات به وسیله واحد ALU پردازنده انجام می شود. بعد از اجرا نمودن
دستورات توسط واحد منطقی ALU نتيجه در حافظه 5٩۵1 سیستم ذخیره می شود تا بتوانیم از
نتیجه دستورات استفاده کنیم.
چرخه عملیات در ماشین پردازنده
كام سوم كام دوم »۳
shel فرمان رمز گشایی دستورالعملها وتبدیل آنها به فرمان
صفحه 23:
انواع رجیستر در پردازنده
ین رجیستر همان طور که از نام آسن پیدا است .آدرس های حافظه از داده ها و
دستورالعمل ها را در خود نگه می دارد. این رجیستر برای دسترسی به داده ها و دستورالعمل ها از
حافظه ۲ در طی اجرا شدن دستورالعمل ها مورد استفاده قرار می گیرد. فرض کنید پردازنده
می خواهد برخی از داده ها را در حافظه خذخیره کند و یا بر عکس, می خواهد داده هلیی را
از RAM abst. فراخولنی کند پردازنده در لین گهنه مواقع می آید و آدرس cla داده هلیی که در
حافظه ]۸1۷ بایستی قرار بگیرد را در رجیستر 1۷1/15 به صورت موقت ذخیره می کند. زیرا اگر
این گونه نبود پردازنده نمیدانست که دستورالعمل ها در کدام مکان از حافظه ]1/1۷ بایستی
ذخیره شوند.
Memory Address Register
صفحه 24:
PC
رجيستر )1 رجيسترى است كه به آن 20112161 11151111011011 يا 18 نيز مى كويند.
به این رجیستر ۸00۲655 1125171101080 رجیستر نیز گفته می شود. این رجیستر
مسیر آدرس حافظه دستورالعملی که بعد از تمام شدن 00۱016 ۳۳۵0۲۵90
پردازش دستورالعمل فعلی بایستی مورد پردازش قرار بگیرد را در خود ذخیره می کند.
به عبارت دیگر این رجیستر تا زمانی که پردازش روی دستورالعمل فعلی به اتمام نرسیده
است آدرس حافظه دستورالعمل بعدی را در خود نگه می دارد.
صفحه 25:
رجیستر ۸6
لین رجیستر برای ذخیره سازی نتلیج دستوراتی که توسط واحد لأى پردازنده سیستم
انجام شده است مورد استفاده قرار می گیرد. هنگامی که پردازنده دستورات را مورد
پردازش قرار داد و تمام شد نتیجه دستورات در رجیستر ۸62 به صورت موقت ذخیره
می گردد.
به ۸0011101116101 رجیستر در اصطلاح فنی ۸2 نیز می گویند.
Accumulator
صفحه 26:
رجیستر 1۷1118
این رجیستر یکی از مهم ترین رجیستر های پردازنده است رجیستر *1121[ رجیستر واحد
لا از پردازنده می باشد و شامل اطلاعاتی است که باید در حافظه ]1/۸۷ سیستم یا
سایر حافظه ها ذخیره شود. همچنین این رجیستر می تواند شامل داده هایی باشد که با
عملیات ۳6۷01 یا واکشی داده ها از یک دستگاه ذخیره سازی بدست آمده باشد. رجیستر
+101 همانندیاثر عمل می کند و شامل کپی اطلاعاتی است که از حافظه ]3/1۷ طی
عملیات ۳6۱0 به این رجیستر منتقل شده است تا توسط پردازنده مورد پردازش قرار
گیرد.
Memory Data Register
صفحه 27:
۴ شام (لطاهاتیلستکه هنوز توسط دیکدر هایپردازندم s Decode شده لند
تر sLs MDR (لطاهاتیمانند آدیسهای از حافظه لستک ه در حافظه 1٩۸7۷
که با خولنده ش ده اند به عجارم ۶ ی رایوا کش یباده هی از سلول ۱۳۳ ( 4
باینوی) مامقدار ۱۲۳ (به باینوی را در رجیستر 1۷1/1۹ با رگزابیم یک نیم و عملیات
م6 را لنجام میدهیم
رجیستر ۷11211[ یک رجیستر دو طرفه است به این معنی که داده ها از حافظه UL Fetch
واکشی می شوند و در رجیستر ؟1۷1101 ذخیره می شود. که در حقیقت در یک جهت در اين
oo
رجیستر نوشته شده است.
زمانی که دستورا خواهد نوشته شود بایستی داده ها د تر 1۷112 نوشته
ws سور می خواهد دو سوه بایسبی و وسار ۲و
۳ GK در حافظه Te
صفحه 28:
رجیستر 1120162
اين رجیستر در پردازنده اعداد یا مقادیری را در خود نگه داری می کند که می تولند از بخشی
از آدرس یک دستورالعمل کم یا به آن اضافه شود تا به یک آدرس موثر و کارامد تبدیل شود. به
۴ رجیستر اغلب 3856 رجیستر نیز گفته می شود 12062. رجیستر در پردازنده
کامپیوتر رجیستری است که برای تغییر دادن آدرس های عملوند در طول اجرای یک برنامه
مورد استفاده قرار می گیرد.
به 1120626 رجیستر در اصلاح فنی 6 نیز می گویند.
صفحه 29:
رجیستریا 1131
این رجیستر محتویات داده یا دستورالعمل هایی که از حافظه خوانده یا روی آن نوشته می
شوند را در خود نگه داری می کند. به عبارت دیگر این رجیستر برای ذخیره سازی داده ها یا
دستوراسمل هلیی که از حافظه فراخوانی شهه یا روی آن بارگزاری می شوند مورد استفاده فرر
ررد رجیستر 1۷1 همان رجیستر 1۷1121 است و تفاوتی با هم ندارند.
IR
دستور العمل که برای ذخیره دستورالعمل فعلی که در حال اجراست به کار می رود. OLS
PSW
یک یا چند ثبات که حاوی اطلاعات وضعیت می باشد.
Memory Buffer Register
صفحه 30:
puede Data
این رجیستر برای ذخیره سازی موقتی داده هایی که از دستگاه های ذخیره سازی خوانده پا نوشته می
شوند مورد استفاده قرار می گیرد. به 1616 رجیستر در اصطلاح فنی 1026 نیز می گویند.
1 کوجیستر
هی از فا فلا ها اه یک الاح مس ارت و ری هر قفا
ورودی فلیپفلاپ بعدی در زنجیره متصل eons در نتیجه مداری حاصل میشود که میتواند
در هر پللس ساعت. آرایه بیتی که در آن ذخیره شده را یک واحد به سمت چپ یا راست شیفت
(انتقال) دهد. در عمل شیفت. بیتی که در ورودی قرار دارد به داخل آرلیه آورده میشود (شیفت
به داخل) و آخرین بیت از آرایه خارج مىشود و از بين میرود (شیفت به بیرون). شیفت
رجیسترها میتوانند به صورت سریال (پشت سر هم) یا موازی (همزمان) باشند. در حللت سریء
بیتهابه صورت پشت سر هم و به ترتیب وارد شیفت رجیستر میشوند و در حالت موازی. دادهها
به صورت همزمان وارد شیفت رجیستر میشوند.
صفحه 31:
پرنامه های کاربردی: کار نهایی برای کاربر توسط برنامههای کاربردی انجام میپذیرد. این برنامهها توسط برنامه
نویسان و به زبان های مختلف مانند 01 و *+0 نوشته میشوند برنمههای کاربردی در محیط سیستم عامل اجرا
نرم افزارهای| میشوند و در واقع سیستم عامل بستری برای اجرای اینگونه برنامهها میباشد. (حسابداری ۰ گرافیکی)
کامپیوتر مفسر فرمان - مترجم - ادیتورها
برنامه های سیستمی : عملیات کامپیوتر را مدیریت میکنند.
صفحه 32:
دلایل ايجاد سيستم عامل
يك سيستم كامييوترى ييشرفته از يك يا جند يردازنده . مقدارى حافظه اصلى . ديسك هاء
چاپگر ها . صفحه كليد . صفحه tals واسط هاى شبكه اى و ديكر دستكاه هاى ورودى و
خروجى تشكيل شده است . اين اجزا در كنار يكديكر يك سيستم بيجيده را به وجود آورده
لند . نوشتن برنامه هلیی که تمامی لين عناصر را مديريت كرده و از آن هابه طور صحیح بهینه
و کارآمد استفاده نماید » کار بسیار مشکلی است .
اگر هر برنامه نوس مجبور باشد با مفاهیمی نظیر نحوه کار دستگاه های ورودی خروجی
گوناگون آشنا باشد . بسیاری از برنامه ها هرگز نوشته نخواهد شد . به همین دلیل از سال ها
قبل به وضوح مشخص بود که باید روش هایی یافت که برنامه نویسان را ۱ گی های
سخت افزار دور نگه دارد . تلاش های گسترده . منجر به ایجاد یک LY نرم افزاری روی سخت
افزار شد که همه اجزای سیستم را کنترل نموده و کار برنامه نویسان را راحت تر کند . به این
لايه نرم افزارى سیستم عامل می گویند.
صفحه 33:
تعریف سیستم عامل
لا کلمه 05 مخثف عبارت 53752610 Operating به معنای "سیستم عامل" .یکی
از مهمترین نرم افزارهای سیستمی است.
el ادلی ناس ای اه سارت شین در تاه با گذاری ی شود
O سیستم عامل, مجموعه ای از دستورالعمل هاء برنامه ها و نرم افزارهای مرتبط به هم است
)5 رات ی اسان و تام ونر بجوم می تواند سحت افرار راشناسای کر رهبا ۳
کند.
صفحه 34:
سیستم عامل به عنوان مدير Resource Manager) ws
با یک دید پایین به بالا) .(110 - 011010 12ميبينيم که سیستم عامل تمام اجزای یک سیستم را مدیریت میکند.
یک کامپیوترمجموعهای از منابع مختلف برای ذخیرهسازی, پردازش و انتقال داده da مانند پردازنده
هاء حافظههاء دیسکها, چاپگرها و... ميباشد.
وقتی یک کامپیوتر یا شبکه دارای چندین کاربر است. مدیریت و حفاظت از حافظه امری ضروری میباشد. همچنین
کاربران نیازدارند سختافزار و حتی دادهها را نیز بین یکدیگر به اشتراک بگذارند. اين عملیات برعهده سیستم عامل
به عارت دیگر در مواقعی که متایع موجود در سیستم مجدود و درحواتها نام سود باشند برای اینکه در رای
نابع بهدرخواستها مشکلی پیش یباشد که این کار توسط سیستم عامل انجام ميشود.
صفحه 35:
سيستم عامل به عنوان ماشین گسترده Extended Machine tL,
هر عمل خواندن یا نوشتن روی دیسک نیاز به پارامترهایی نظیر آدرس بلوک موردنظر روی دیسک. تعداد سکتورهای
هر شیار, نوع ذخیرهسازی بکاررفته و میزان دادهها دارد. در نظر گرفتن تمام لین پارامترها توسط انسان بسیار سبخت
و زمانگیر است. سیستم عامل» این عملیات را از دید کاربر پنهان میسازد و کاربر هنگامیکه فرمان خواندن یا نوشتن را
میدهد. دیگر از جرئیات کار آگاهی نارد و فقط منتطر اسام لیات کپی میسانده بتابراین سستم عمل يك قافن
توده با ماشین
o
مجازی را در اختیار کاربر قرار میدهد تا کاربر بتولند به راحتی کار خود را به اتمام برساند .
صفحه 36:
تار یخچه سیستم عامل
نسل اول )سالهای :(۱۹۵۵-۱۹۴۵لامپهای خلاء و تختههای سیستم بندی
در ماشينهاى اين نسل از تقويتكنندههاى مكانيكى بسيار كند استفاده شده بمدها این تقویت
كنندهها جاى خود را به لاميهاى خلاء دادند. اين ماشينهاى بسيار حجيم كل فضاى اتاق را با
دهها هزار لامب خلاء ير ميكردند. در اين ماشينهاء زبانهاى برنامه نويسى و سيستم عامل وجود
نداشت.
نسل دوم )سالهای ۱۹۶۵-:(۱۹۵۵ترانزیستورها و سیستمهای دستهای
کامپیوترهای بزرگ موجود در نسل دوم. اغلب برای محاسبات مهندسی و علمی نظیر حل
معادلات دیفرانسیل جزئی بکار می رفتند که معمولا در علوم مهندسی و فیزیک کاربرد دارند.
اين کامپیوترها اکثرا به زبان فورترن و اسمبلی برنامهنوبسی شده بودند. نمونه ای از
سیستم عاملهای بکار رفته در این کامپیوترها 1 7۷5و 2 15 95 میباشند
صفحه 37:
نسل سوم )۱۹۸۰-:(۱۹۶۵مدارات مجتمع و چندبرنامگی
ماشین 360 BM لاولين کامپیوتری بود که در آن از مدارات مجتمع ) رم استفاده میشد. و از
نظر هزینه و کارایی نسبت به کامپیوترهای نسل دوم که از ترانزیستور استفاده میکردند. عملکرد
بهتری داشت. یکی از مزایای کامپیوترهای نسل سوم نسبت به کامپیوترهای نسلهای قبلیتر. امکان
جند برنامكى ) (101001721111111110 7/1276بود. هر برنامه یا به پردازش و 9و یا به عملیات
نيار دارد. که در حالت دوم 17)در اختیار برنامه دیگری قرار میگیرد. میتوان تعداد برنامههای
موجود در حافظه را طورى در نظر كرفت كه از 6/218 بيشترين استفاده را داشته باشیم و کارایی آن
حداكثر باشد.
صفحه 38:
یکی دیگر از مزایای سیستمهای نسل سوم. قابلیت اشتراک زمانی ) (5/1677710 711216 میباشد. در
سیستم اشتراک زمانی. زمان CPU به طور مساوی بین برنامهها تفسیم میشود و تمام برنامههای موجود
در سیستم به یک میزان از زمان 7011)استفاده میکنند. وقتی این زمان به پایان برسد. 217 به برنامه
دیگری داده میشود. چون این زمان بسیار کوچک است کاربر احساس میکند برنامه ها به
طور همزمان اجرا میشوند. شکل زیر سیستم اشتراک زمانی را با چهار برنامه ۰۸ 3 ۰ )و (نشان
میدهد.
مان
صفحه 39:
نسل چهارم ) ۱۹۸۰تاکنون(: کامپیوترهای شخصی
با توسعه مدارات مجتمع با اندازه بزرگ. نسل کامپیوترهای شخصی مبتنی بر ریزپردازندهها آغاز شد. سیستم عاملهایی
نظیر -57205لو ۷/ )و 7205 4707016همگی سیستمهای مبتنی بر خط فرمان ابودند. کاربران دستورات را
توسط صفحه کلید تایپ میکردند. سپس واسطهای گرافیکی شامل پنجرههاء آیکونها و منوها ایجاد شدند که قابلیت کار
با ماوس ss tb خاش نید در سس لهای
بعد. 0017های ۲۲بیتی و همچنین ۶۴بیتی نیز ساخته شدند. شرکت 870]0/6در سال ۲۰۰۱با گذاشتن واسط
گرافیکی جدید 011/2511 3لروی :]یک تغییر اساسی در سیستم عامل ایجاد نمود. پس از ن شرکت
ماو ۳۳۳۲ اف ویندوز ۳ اراد
ویندوز اولیه فقط یک محیط گرافیکی روی سیستم عامل ۱۶بیتی oe MS-DOS دیگر مدعی دنیای کامپیوترهای
شخصی سیستم عامل 101]است که قویترین سیستم روی کامپیوترهای onze sWorkstation
7 5شبکه میباشد. کامپیوترهای شخصی توانلیی اجرای سیستم عاملهای شبکه و سیستم عاملهای توزیع شده را
دارز
>
صفحه 40:
سیستم های پیوسته با یکنواخت ۳۵۴۵۱6۲۳۱
سیستم عاملهای اولیه مانند 20)05از لحاظ کارائی بسیار محدود بودند ساختاری یکدست و ساده داشتند. در این
ساختار سیستم عامل بصورت مجموعه ای از توابع و روالها در نظر گرفته میشود که هر تابع دارای ورودی ها و خروجی
های مشخص است و این توابع در هنگام نیاز یکدیگر را فراخوانی میکنند. از لحاظ امنیتی کنترل بر نقل و انتقال داده
ها و دسترسی به اطلاعات وجود ندارد.
سیستم های دسته ای (Batch System)
در کامییهترهای تسسل دوم سیستم های حسته ای ابداع شد. این سیستم ها تشکیل شده بود از دستگاه کارت
خوان, پردازنده. رم. و پرینتر. برنامه ها کارها بصورت دسته ای از کارتهای سوراخ شده به دستگاه کارت
خوان داده ميشد. با شروع کار سیستم یک کار بطور کامل خوانده شده اطلاعات انها وارد حافظه اصلی
شده پردازش صورت گرفته و خروجی به چاپگر فرستاده ميشد. سپس همین عمل برای کارت های بعدی
تکرار ميشد. در این حالت به این نحوه پردازش خروجی اصطلاحا spooling 6 میگویند در اين
صفحه 41:
Glyoimmw (Real Time System) بلادرنگ
این سیستمها باید در بازه زمانی معین. سرویسدهی لازم را داشته باشند و اگر عملیات در زمان معین
ایا رس الست رت ی این سای ب اد دا را
صفحه 42:
وظایف سیستم عامل
سیستم عامل استفاده از کامپیوتر را ساده میسازد . این بدان معناست که مثلا کاربر پا برنامه
نویس بدون درگیر شدن با مسائل سخت افزاری دیسک ها به راحتی فایلی را بر روی دیسک ذخیره
و حذف کند. این کار در واقع با به کاربردن دستورات سادهای که فراخوان های
سیستمی(6116) 175610) را صدا میزنند انجام پذیرد.
در صورت عدم وجود سیستم عامل کاربر و یا برنامه نویس میبایست آشنایی کاملی با سخت
افزارهای مختلف کامپیوتر (مثل مانیتور .فلاپی .کیبرد و غیره) داشته باشد و روتینهلیی برای خواندن
ویا نوشتن آنهابه زبانهای سطح پائین بنویسد. از این جنبه به سیستم عامل با عنوان ماشین توسعه
يافته (©12201112 18:2612060) يا ماشين مجازى (©1226©11112 11:]1131/آ) ياد مىشود
صفحه 43:
سیستم عامل مدیریت ping gis wl. (Resource Management) aiic
عامل باعث استفاده بهینه و سودمند (اقتصادی) از منابع سیستم میگردد. منظور از منابع
پردازندهها. حافظههاء دیسک ها موس هاء La Sole فایلهاه پورت ها و غیره هستند. یک سیستم
کامپیوتری منابع نرم افزاری و سخت افزاری بسیار دارد که ممکن است در حین اجرا برنامه لازم
بای سم عامل ضراعت مدب منم ععل کرده وانها رای
از به برنامههای مشخصی
فیزیکی: سخت افزارهای مختلف مثل چاپگر» لا00. حافظه اصلی. پورتها
منابع کامپیوتر +
منطقی: فایلها . برنامههای مختلف. روتینها
صفحه 44:
اجزای سیستم عامل
سیستم عامل از دوبخش هسته
یا[661۳6 و پوسته یا [91261تشکیل می at وا
شود.کلیه وظایف مدیریتی سیستم عامل را
هسته برعهده دارد و واسط بین پوسته و
سخت افزار کامپیوتر می باشد. ‘evel ١
© ل
سته واسط اربر با هسته است i ~~ تسیر
aot Gs
ان هاى a eee » “ pe
از توابع درون اهسته ارا براى
ا ل د
صفحه 45:
(606[1) پوسته
پوسته در وآقع یک مفسر فرمان است که دستورات صادره را تفسیر میکند و در اکثر سیستم
عاملها بكار میرود ولی جزئی از آن نیست. چگونگی اجرای فراخوانی های سیستم به پوسته
وابسته است. همچنین پوسته. واسط بین کاربر و سیستم عامل میباشد. مگر اينکه کاربر یک
واسط کاربر گرافیکی را بکار ببرد. برخی از پوستههای موجود عبارتند از:
.csh ككل 251و .25/2 طوقتى يك كاربر وارد سيستم ميشودء يك يوسته راهاندازى
ميكردد. پوسته ترمینالی به عنوان ورودی و خروجی استاندارد دارد .
صفحه 46:
خدمات و مولفه های سیستم عامل
|.مدیریت پردازش در سیستم عامل
يك برنامه حاوی دستورالعملهایی است که توسط لر) اجراء میشوند و حاوی دادههایی است
كه هنكام اجرای دستورات از آنها استفاده میشود. برنامه در واقع یک موجودیت 888176 است
مد توا یک فایل بر ری ول Een an ils عامل تک برنامه در ال كد
میباشد که موجودیتی active دارد. یک برنامه کاربر که در سیستم اشتراک زمانی در حال اجرا
است )یک پروس (فرایند میباشد. به همین ترتیب یک وظیفه سیستم مثل اسپولینگ خروجی به
جاکر تک راتفر سا ی رانا برد بل لاهن افطه رال
0 و ثابلها . پردازش در سیستم عامل واحد کار در سیستم است .
صفحه 47:
وظایف سیستم عامل در رابطه با مدیر مت پردازش :
ایجاد و حذف پردازش در سیستم عامل های کاربر و سیستم 7 زمانبندی پردازشها واینکه در هر زمان
کدام پردازش در سیستم عامل ل]۳/) را در اختیار داشته باشد - مدیریت همزملنی پردازشها و ارتباط
بین آنها و جلوگیری از بن بست (0660106016) بن بست حالتی است که پردازشها در یک حلقه بسته
منتظر تمام شدن وظایف همدیگر هستندو بنابراین هیچیک نمیتوانند اجراء گردند و سیستم قفل
اكوم
صفحه 48:
۲.مدیربت حافظه و فضای ذخیره سازی
هر پردازه به منظور اجراء می بایست دارای حافظه مورد نیاز و اختصاصی خود باشد.
از انواع متفاوتی حافظه در سیستم استفاده تا هر پردازه قادر به اجراء با بالاترین سطح کارآئی باشد.سیستم
عامل در ابتدا می بایست محدودههای حافظه مورد نیاز هر نوع نرم افزار و برنامههای خاص را فراهم
نمایند. مثلا" فرض کنید سیستمی دارای یک مگابایت حافظه اصلی باشد. سیستم عامل کامپیوتر فرضی؛
کرو pee ات اه عهل رت نمی تفه ما
درایورهای مورد نیاز یه منظور کنترل سخت افزار را نیز مستقر خواهد oS درایورهای مورد نظر به ۲۰۰
کیلو بایت حافظه نیاز خواهند داشت. بنابراین پس از استقرار .سبستم عاما, بطور کامل در حافظه. ۵۰۰
صفحه 49:
حافظه مجازی
22700000
as ا 0 كال لا 0ك الات 207 ys لان م را
خارج و آنها را موقتا" بر روى هارد ديسك ذخيره نمود. بدين ترتيب فضاى حافظه اصلى آزاد و
در زمانيكه به اطلاعات ذخيره شده بر روى هارد ديسك نياز باشد. مجددا" آنها را در حافظه
مستقر کرد. روش فوق " مدیریت حافظه مجازی " نامیده میشود
صفحه 50:
حدیوب فلیلدر سیستم علمل3
جهت استفاده ساده از اطلاعات کامموترسسستم عامل دید متطفی بکسانی از اطلاعات
ذخیره شده روی انواع وسایل ذخیره سازی مثل هارد دیسک فلاپی,نوار یا دیسکهای
نوری پدید میآورد. سیستم عامل خواص فیزیکی وسایل را از دید کاربر مخفی کرده و
یک واحد ذخیره منطقی به نام فایل ارائه میکند. سیستم عامل دررابطه با فایل وظایف
زیر را انجام میدهد :
* ایجاد وحذف فایلها
* ایجادو حذف دایرکتوریها
* انجام عملیات کپی
* انتقال و تغییرات بر روی فایها و دایرکتوریها
ذخیره سازی ومدیریت قرار گیری فایلها بر روی رسانهها
صفحه 51:
۴.مدیریت ورودی- خروجی
هر دستگاه ورودی یا خروجی برای کار کردن به مجموع دستورالعملهایا علامتهای کنترلی خاص
خود نیاز دارد .سیستم به این جزئیات پرداخته و برنامه نویس یا کاربر را از دانستن و پرداختن به
این ارتباطات سطح پایین بی نیاز میسازد . مدیریت بافرها ۰ اسپولینگ » اجرای درایورهای وسایل
مختلف .جلوگیری از تداخل وسایل60/ و ادارد بن بستها در تخصیص وسایل 1/60 به پردازشها از
وظایف سیستم عامل است .
صفحه 52:
تسشخم خطا 5
خطاها میتواند در CPU و حافظه «منل خراب شدن بیتی از حافظه)»در
وسايل 1/0(مثل نويزى كه بر روى كابل برينتر افتاده يا مثلاً جايكر كاغذ نداشته
باشد )یا در برنامه کاربر(مثل خطای سرریزی یا دسترسی به يورتها يا حافظههاى غير
مجاز) رخ دهد. سیستم عامل باید برای هر نوع خطا عمل مناسبی را انجام دهد .
صفحه 53:
۶.حسایر سی
سیستم عامل میتولند سیستم حسابرسی داشته باشد تا مشخص گردد هر کاربر از کدام منبع به
چه مدت زمانی استفاده کرده است . این اطلاعات میتواند جهت صدور صورتحساب و يا جمع
او ماه کارا مورا اه فا کر هل ود با اه ما
محافظتی برای هر کاربر تقاضای رمز ورود([108551۷0۳6) را بکند و بدین ترتیب متناسب با هر
کلمه رمز . امکانات معینی از سیستم را در اختیار آن کار بر قرار دهد.
صفحه 54:
۷. مفسر فرمان
یکی از مهمترین برنامههای سیستم عامل مفسر فرمان است که در واقع واسط بین کاربردو
سیستم عامل میباشد بعضی از سیستم عاملها مفسر فرمان را در هسته خود ([1661106) قرار
دادهلند و بعضی دیگر مثل 12005 و ۲126 [] مفسر فرمان را (که پوسته یا 90611 نیز معروف
است )مانند یک برنامه خاص که در اولین برقراری ارتباط اجراء میشود در نظر می گیرند.مفسر
فرمان سس ورات کار را کرف lls را میت در بو UNIX, DOS فرمانب ار
طریق صفحه کلید وارد شده و روی صفحه نملیش رایلنه به صورت متنی نشان داده میشود ولی
در سیستم عامل ویندوز یا مکینتاش پوسته به صورت محیطی گرافیکی و مبتنی بر پنجرههاست
که با زدن کلید موس به راحتی میتوان دستورات را وارد کرد.
صفحه 55:
۸.فراخوانی سیستمی
فراخوان های سیستمی رابط ما بین سیستم عامل و برنامههای کاربردی میباشند. در
ob; سطی بالای 6۵ و پاسکال مستفیما میدوان این فراخوانهای سیستمی را به کار برده
فراخوانهای سیستمی عبارتند از
مدیریت پردازشها: مانند ایجاد و اتمام پردازش . بارگذاری و اجرای پردازش در سیستم
عامل . تخصیص و آزاد کردن حافظه و غیره.
* مدیریت فابلها و فهرستها: ایجاد و حذف فایل. باز وبسته کردن فایل . خواندن و
نوشتن , تغییر صفات فایل و غیره
* مديريت وسایل: درخواست و رهاسازی وسیله.خواندن و نوشتن در وسیله وغیره
* بدست آوردن اطلاعات : خواندن و تنظیم تاربخ و زمان. خواندن زمان استفاده از
صفحه 56:
خلاصه وظایف اصلی سیستم عامل
#: استفاده بهینه از منابع و جلوگیری از به هدر رفتن آن ها
# تخصیص و آزاد سازی منابع
* اداره صف ها و زمان بندی استفاده از منابع
حساب داری ( ۸60۳00 ) میزان استفاده از منابع
ایجاد امنیت ) (security
** ايجاد , حذف و اداره فرایند ها
# ایجاد مکانیسم های ارتباط بین فرایند ها و همگام سازی آن ها
4 مدیریت فایل ها و پوشه ها
* مدیریت حافظه های اصلی و جانبی
# برقراری امکان دسترسی چندتایی ( 1۲0111۵006055 ) و اجرای هم روند ( 0۳0۲6۵1 ) فرایند ها
به اشتراک 145 5 (Resource Sharing ) guloo
+ تعبین راهکار هایی برای اداره بن بست ( 062010616 ) ها
# جلوگیری از شرایط رقابتی ( 0001100 132060 ) و تداخل يا در هم قفل شدن ( 10161106016 ) فرایند
ها
ف از گر سن Starvation
صفحه 57:
ساختار مشتری خدمتگزار 56۳۷۵۲ | 011601
در این ساختار سیستم عامل از دو بخش seul oad J StsServer Client
بخش : 6۲۷6۲ گاین بخش وظیفه انجام عملیات ضروری و اولیه را دارد که فقط انجام انا باید به
عهده سیستم عامل باشد. مانند : مدیریت پردازش. مدیریت 0۰)/آمدیریت حافظه اصلی, ارتباط بين
پردازشها بخش : ]610]آن)سایر اعمال ثانویه در بخش 610۴]أن)قرار گرفته که بر روی سرور نصب
شده و با سرویس گرفتن از سرور کار خود را انجام میدهد.
Busy Waiting J&s ,tas1
در یک سیستم 0 / آبدون وقفه مثلا برای انتقال داده ها به چاپگر بعد از هر عمل نوشتن در پورت چاپگر
بايد تا ياسخكوتى جايكر كه كاراكتر را جاب كرده و اماده دريافت كاراكتر بعدی است صبر کند و بیکار
بماند. اين زمانهاى انتظار نسبتا طولانى وقت لا”أنارا به هدر ميدهد به اين روش انتظار فعال ميكويند.
صفحه 58:
عملیات تعویض متن 5۷۷۱۲1 600۲۵
هنگامیکه وقفه در سیستم عامل رخ ميدهد. ابتدا سیستم عامل وضعیت کامل برنامه در حال اجرا را حفظ میکند
سپس سیستم عامل وقفه را بررسی میکند و کنترل را به یک روال وقفه گیر مناسب تحویل میدهد پس از انکه
سیستم عامل کنترل رابه یک روال وقفه گیر بخصوص رد میکند وضعیت پردازش جاری در محلی حفظ ميشود. پس
از موارد فوق به یک پردازش دیگر مراجعه ميشود به این جریان کاری در سیستمعامل تعویض متن Context
۷1 گفته میشود. برای عمل تعوینض متن رکن اصلی بات PSW میباشد.
صفحه 59:
پردازش /پردازه /ف رآیند
به یک برنامه در حال اجرا یک پردازش میگوبند به برنامه لی که از حافظه جانبی به حافطه اسلی اسده و
اجرایش اغاز شدم است. اگر چه ممکن است در حال حاضر در پردازنده نباشد.
۱.پردازشهای مربوط به کاربر
۲.پردازشهای مربوط به سیستم
اگر (افرایند در سیستم داشته باشیم افعال بوده در لان)و ۱-1آغیر فعال در لان)در انتظار اتمام
پردازنده هستند.
صفحه 60:
انفجار ورودی / خروجی ((8756 ۱/۵
مقدار زمانی است که پردازش صرف انجام عملیات ورودی / خروجی در پردازنده کند.
CPU Burst)) ows jlo 99 ,lousit
مقدار زمانی است که پردازش صرف انجام عملیات پردازشی در پردازنده ميکند.
پردازش با تنگنای ورودی / خروجی 60۱۳0 ۱۱۳۲/۱/۵ ۱/۵
پردازشی که عمده زمانش را صرف انجام عملیات ورودی / خروجی در پردازنده کند پردازش ۱/0
wala iS. Bound ردازشها پردازشهایکوچکیا کونام گفته ميشود.
پردازش با تنگنای پردازنده 800۳00 CPU Limit / CPU
پردازشی که عمده زمانش را صرف انجام عملیات پردازشی در پردازنده کند را پردازش ۱:۳1 CPU
كوئيم. به اين بردازشهاء پردازش بزرگ یا طولانی گفته ميشود.
صفحه 61:
زمانبند کار 5۳6016۲ Job
روتینی است که بر اساس الگوریتمی خاص یکی از کارهای موجود در جدول WISPT
انتخاب کرده و جهت اجرا شدن ان رابه حافظه میاورد. یک 010 [هنگامی تبدیل به پردازش
میشود که تمامی منلیع موره نیاز از جمله حافظه را در اختیار داشنه باشد. نحوه ته سیم
بندی زمان لا"مابین پردازشها بر عهده واحد زمانبندی میباشد. به تعریف دقیقتر به مدیربت
پردازش طی چرخش در گراف فرایند را زمانیندی میگویند. زمانبندی یعنی اینکه سیستم عامل
تصمیم بگیرد در کدام زمان چه پردازشی جهت اجرا انتخاب شود.
صفحه 62:
مدل هفت حالته فرایند. دیاگرام حالت پردازشر)
خانمه پردازش
Terminate
اتمام بوش زماتى
اتبديل كار به بردازش
ازاد سازى MBL
صفحه 63:
حالت : 40/0 کارهائی برنامه هائی در این حالت قرار دارند که به تازگی درخواست برای اجرای
انها صادر شده است. در این حالت برنامه ها در حافظه جانبی قرار دارد. صفی از کارها بنام صف کار
باانبار کار 0006۷6 00[در این حالت وجود دارد. به این حالت انبار کار هم گفته ميشود.
اماده : 01۷ 68 ]در اين حالت پردازشهائی وجود دارد که در حافظه اصلی بوده. همه منابع خود را در
اختیار داشته. منتظر ورود به پردازنده هستند. محل پردازشهای این حالت حافظه اصلی است. در این
حالت صفی از پردازشها بنام صف اماده 0006۷6 6801۷]وجود دارد.
مسدود : BIOCK / ۷۷31پردازشهائی که در این حالت قرار دارند منتظر شروع عمل / 1
(0هستند و در حین انجام عمل 0 / آدر انتظار بدست اوردن یک منبع باشند. محل پردازشهای این
حالت حافظه اصلی است. در این حالت صفی از پردازشها بنام صف Wait / Block
صفحه 64:
اجرا : Running پردازش در این حالت در پردازنده در حال اجرا میباشد. محل پردازشهای این حالت
حافظه اصلی است. پردازش موجود در این حالت همه منابع خود را دارد.
مسدود معلق : 5۱061 / ]۷۷۵ 06۱0 5لاکهنگامیکه سیستم عامل با کمبود حافظه اصلی ربرو شود
تعدادی از فرایندهای مسدود را بصورت موقت از حافظه اصلی به حافظه جانبی منتقل میکند. هدف این
عمل ازاد سازی حافظه اصلی است. محل پردازشهای این حالت حافظه جانبی است. صفی از پردازشها بنام
Wait 06۲۱ 5لاکوجود دارد. پردازشهای این حالت در حافظه جانبی مسدود هستند.
صفحه 65:
اماده معلق : 6۵۵0۷ 6110 50لا گزمانی که سیستم عامل با کمبود حافظه اصلی روبرو شود
تعدادی از فرایندهای اماده را بصورت موقت از حافظه اصلی به حافظه جانبی منتقل میکند. هدف این
عمل اراد سازی حافطه اسلی است. محل پردازشهای این حالت حافظه جانبی است. در این حاات صفی,
از پردازشها بنام ۳۵۵0۷ 550600 وجوددارد.
خاتمه : 6۲۲۳/۳۵16 خاتمه فرایند در این مرحله انجام
ميكيرد.
صفحه 66:
تفاوت سیستم انحصاری با سیستم غير انحصارى
در سیستم انحصاری فقط زمانی لا)از پردازش در حال اجرا گرفته میشود که جهت عملیات
0 / ایا اتمام پردازش فرزند یا رخداد دیگری بلوکه شود بنابراین مفهوم و پیاده سازی الگوریتم
انحصاری ساده است. در زمانبندی غیر انحصاری پس از تمام شدن برش زمانی معین لان)از
پردازش گرفته مشود در سیستم غیر انحصاری برنامه ها نسبت به سیستم انحصاری موازی تر
نرم تر اجراء ميشود. به عبارت دیگر در روش غیر انحصاری سعی میشود زمان پاسخ بهتری برای
کاربران فراهم شود. ولی این روش نسبت به تکنیک انحصاری هزینه های اضافی همراه خواهد
داشت. به عنوان مثال ویندوز ۲,۱بصورت انحصاری و ویندوز آ لاو ۹۸بصورت غیر انحصاری
است
صفحه 67:
(Dispatch) pl;c!
به انتقال یک فرایند از 01ابه 6601۷ اصطلاحا 1508110 آمیگویند.
(Wake Up) 325 Joy He
به انتقال فرايند از ]أ3لالابه ain gad Joy [Ready
زمان انتظار (۲1۳06 ۵1۲109
به مجموع زمانهائی که یک فرایند در صف 56801به سر میبرد زمان انتظار ان فرایند گفته ميشود.
(Response Time) gab jb;
به فاصله زمانی میان ورود یک فرایند تا تولید اولین خروجی زمان پاسخ گفته میشود این پارامتر زمانی
یکی از معیارهای ارزیابی سیستم های اشتراک زمانی است.
صفحه 68:
مشکل قحطی زدکی
مشکل قحطی زدگی یا گرسنگی 01۷311010 گبه این صورت که ممکن است اجرای یک یا چند فرایند
CI yt Ge بعی مسفن آست هییگاه پوت له أجراق
اين فرايند ها فرسد.
صفحه 69:
وقفه در سیستم عامل
وقفهها جزء مهمی از معماری کامپیوتر هستندو نحوه عملکرد آنها از ماشینی به ماشين
کب مک ای مفاو teas, ars رامکاری را فراه مارا را
دستورالعملهای جاری پردازنده موقتا متوقف شده و دستورات سرویس دهی دیگری
اجراء گردد و سپس از آسن کنترل دوباره به برنامه وقفه داده شده باز گردد.
وقفههای داخلی (7210) که بر اثر اجرای دستورات خود برنامه به صورت داخلی در
0220
وقفههای خارجی که از دستگاههای خارجی مثل دستگاههای ورودی
یاخروجی ,1۷1/8 12,تایمرها . صفحه کلبد و خطاهای سخت افزاری ناشی میشوند.
وقفههای نرم افزاری(یاهمان /5۳۷6) که بر اثر فراخوانی توابع سیستمی توسط پرنامه
صفحه 70:
انواع وقفهها
وقفههای a, a5( (program checkt aul, دلیل اجرای بعضی دستورات رخ
میدهند. مثلا سرریز شدن محاسباتی تقسیم بر صفر. اجراء دستورالعمل غیر مجاز, رجوع به
آدرس خرج از محدوده مجاز كاربر. به اين وقفهدها اغلب 1137" پا تله گفته میشود.
وقفههای زمان سنج(11۳061) اين وقفه به سیستم عامل امکان میدهد بعضی اعمال را به
صورت مرتب در یک پربود زمانی خاص انجام دهد (مثل تنظیم ساعت چک کردن سخت
افزار و..
su
صفحه 71:
؟ وقفههای 1/60 این وقفهها به وسیله کنترل کنندههای دستگاه 1/60 تولید میشوند تا کامل
شدن طبیعی یک عمل یا بروز خطا در انجام عمل را نشان دهند.
۴ وقفههای نقص سخت افزار یا وقفههای 1۷]۵011۳06-016016) مثل وقفهای که بر اثر
cles بیت توازن (081137) حافظه رخ میدهد یا وقفه نقص برق
* وقفه (011 ۷150 511061۳) که در واقع یک تقاضا از طرف برنامه کاربر جهت
دریافت سرویس وبزهای از سیستم عالم TEEN
وقفه Restart که با فشار دادن دکمه 1686 ایجاد میشود .
صفحه 72:
Fetch Cycle Execute Cycle Interrupt Cycle
صفحه 73:
Buffer Overflow
بافر محلی از حافظه برای نگه داری موقت اطلاعات یک نرم افزار با
طرف ارس تس تته ار طرفي اف های تاره از
قبل و در زمان کامپایل تعیین شده است و در صورتی که اطلاعلتی
بیشتری در آن ها نوشته شود. سرریز خواهند شد و اینگونه باگها
را بوجود خواهند آورد. اگر این بافر در پشته برنامه قرار داشته
باشد. ممکن است باعث بوجود آمدن حملات سرریز بافر پشته شود.
نتیجه این عمل خراب شدن و آسیب دیدن اطلاعات مجاور آن بافر
در پشته است و در صورتی که این سرریز به طور ناخواسته و بر
نیرسن | اه نی اراس صی رن تقد
ws Crash acl, یا این که به صورت نادرست رفتار کند.
Push(2)!!
top 89
78
9
Stack Overflow
)ممم
top
Stack Underflow
صفحه 74:
Buffer Underflow
پشته خللی است و می خواهیم عمل ۳608 انجام دهیم. زیر ریز بافر
رخ می دهد.0116 عملوند خود رابه پشته اضافه می کند و دستور
0 مقداری را از پشته حذف می کند و در عملوند خود قرار می دهد.
داده ای که برداشته می شود هميشه آخرین داده ای است که اضافه
شده است یا حالتی است که در آن سرعت انتقال داده هابه بافر یا یا
پردازنده از سرعت خواندن داده ها از بافر یا پردازنده کمتر است. در
لین صورت اید برنامه یا 12613106 كه از بافرء داده ها را می خواند
ناگزیر پردازش خود را متوقف کرده تا بافر مجددا پر شود.
Push(2)!!
Stack Overflow
)ممم
صفحه 75:
۵6 بللستنناها
Spies eee ae های ای melo
يردازنده بليد به آَن ياسخ دهد. هنگام بروز استثناء
بردازنده آدرس دستورجارى را در ثبات وقفه
وقفه oon ذخیره نموده 3 کنترل ۳ به بخشی خاص أن یسم درفواست واهد ورودی/خروجی
wisi] تا ۲ 15ل 0 أسفراسترسيستمعس'زضف أدضن ۱ ۱ ele
3۳0۱ ایسن مواقع واکنشی از پیش تعیین نشده انجام
رفداد سرریز ftw! on
تراد اه مین ی رت :۰ نا a
و یا ادامه ی برنامه را معماری کامپیوتر اجرا می |استهازستماصل نمشنس ادف استنا
كند. سيستم عامل ghd] age AT 5 gd p95] سفتافار oye استثنا , وقفه
رخداد استثنا شده است. می باید دلیل آن را نیز
بداند.
صفحه 76:
يشته يا Stack
يكى از انواع ساختمان داده براى نكه دارى 0818 مى باشد کش ود “اتات
در طراح و يياده سازى سيستم هاى سخت افزارى و نرم افزارى ۳۳
كاربرد داردو المان ها را بر اساس الكوريتم يا الويت خروج با
عناصر FIRST-IN-LAST-)u:s 2 5 FILOs), oj 1 1
Return Inaction Poiner | —— Regie
")از یک طرف محدود است دسترسی از سمت بالای سي و حسم
Teo ot Ba پشته است که براساس 3751 یا ۳00۳ تطبیق می یابد و از
۳ ۱ oly POP برای اضافه کردن یک آیتم و از PUSH Joc
حذف یک آینم استفاده می کندپشته یکی از سه بخش
تخصیص يافته به برنامه در حال اجرا در حافظه 1/۷ است.
صفحه 77:
دستورالعمل های 512016 با پشته
پشته یا 508016 ناحیه ای از حافظه اصلی است که به صورت()۳آیا ۲ ]1-0 1-13-۳1۳6 1۸6
سازماندهی شده است یعنی آخرین داده وارد شده اولین داده ای است که خارج می شود.
PUSH
قرار دادن داده در پشته و رزرو کردن فضای پشته برای
متغیرهای موقت. 5 ]۳ عملوند خود را به پشته اضافه می
کند. ۸۵2 0۷۵
مثال: دستور زیر یک کلمه را در پشته قرار می دهد. PUSHAX
PUSHA
صفحه 78:
قرار دادن همه رجیسترها به طور همزمان در پشته
POP
خروج داده ها از 5]2616.800 مقدارى را از يشته حذف می کند و در عملوند خود قرار می دهد.
POPA
خروج داده ها به صورت کلمات ۸تایی
Segment
به هر قطعه ۶۴ کیلو بایتی از حافظه اصلی که دارای آدرس شروع معینی باشد یک 560106 می گویند. هر
سگمنت با آدرس شروع آن مشخص می شود.آدرس هر بلیت از حافظه اصلی با دوعدد قلبل بیان است: یک عدد برای
ذخیره کردن آدرس شروع سگمنت و عدد دیگر برای ذخیره کردن فاصله بلیت مورد نظر از ابتدای سگمنت. عدد اول
صفحه 79:
دستور لت
آدرس دستورالعمل یعدی را در پشته ذخیره می کند. پردازنده وقتی با دستور 08 مواجه می شود.
به آدرس شروع 010606011176 مراجعه کرده و دستورات موجود در آن زیر برنامه را اجرا می کند.
Return دستور
وقتی پردازنده با ۳61111 مواجه شده به قسمت 0811 برگشته و دستور بعد ازْ0 را اجرا می
دستورات حلقه
دستورالعمل های شرطی 71۷13] [ هستند که از مقدار رچیستر226) ۳ به عنوان شمارنده تعداد دفعات اچرای
یک حلقه استفاده می کند.همه دستورات 1.60608 با یک بار اجرا در رجیستر26) 13 از تعداد آن ها کم می
شود و زملنی که به صفر می رسد 000).آ خاتمه می یابد. از حلقه 1,060 زملنی که بدنه دستور بزرگ
نباشد استفاده می شود.
0 با و۳12 7070
اكر در عمل جع يا تفریق تمامی بیت های نتیجه صفر شوند. "2۳ برابر ۱ است در غیر لین صورت برابر صفر
صفحه 80:
5 م۱ پردازش ردیفی (سریالی ) ل هر( لامپ خلاً)
تطبیق نسلهای له ۲- پردازش دستهای > ترانزيستور)
وها يسول > - چند برنامگی ل ه(مدارات مجتمع)
لام تسس ۴ ۳
۴- سیستم عاملهای کامپیوتری شخصی و شبکه
ل ۵ سیستم عاملهای توزیع شده
صفحه 81:
انواع سیستم عامل
سیستم عامل تک پردازنده
اين نوع سیستم عامل ها . سیستم عامل های نسل چهارم ( نسل فعلی ) هستند که بر روی یک
پردازنده اجرا می شوند .
سیستم عامل شبکه ای
این نوع سیستم عامل ها . از کنترل کننده های واسط شبکه و نرم افزار های سطح پایین به عنوان
ار"
راه دور در آن ها به کار گرفته می شود .
صفحه 82:
سیستم عامل توزیع شده
این سیستم عامل ها خود را مانند سیستم عامل های تک پردازنده به کاربر معرفی می کنند . اما در
عمل از چندین پردازنده اجرا می شوند. این نوع سیستم عامل در یک محیط شبکه ای اجرا می شود در
این نوع سیستم یک برنامه پس از اجرا در کامپوترهای مختلف جواب نهایی به سیستم اصلی کاربر بر
می گردد سرعت پردازش در اين نوع سیستم بسیار بالااست.
سیستم عامل بلا درنگ
سیستم های عامل بلادرنگ برای کنترل ماشین آلات صنعتی. تجهیزات علمی و سیستم های صنعتی
استفاده میگردد. یک سیستم عامل بلادرنگ دارای امکانات محدود در رابطه با بخش رابط کاربر و
برنامههای کاربردی مختص کاربران هستند. یکی از بخشهای مهم لین نوع سیستم های عامل مدیریت
منابع موجود کامپیوتری بگونهای است که یک عملیات خاص در زمانی که میبایست. اجراء خواهند
صفحه 83:
10۲0990۲ 1]ها یا چند پردازندگی
تا چند سال گذشته گ پردازندگی رایج بوده و همه چیز بر روی یک تراشه ذخیره ی شده است. اما در
سال های اخیر پردازنده هایی با سرعت بالا و حاوی چند تراشه بر روی کار آمده است.در ابتدا چند
پردازندگی بر روی یک مادربورد اتفاق می افتاد اما در معماری جدید چند مادربورد باهم حافظه شبکه های
ميان ارتباطى و 5101246 را به اشتراک می گذارند.
به بکارگیری دو یا چند واحد پردازشگر مرکزی دریک سیستم رایانه ای می گویند. لين واه به توانلیی یک
سیستم در بکارگیری چند پردازنده و تقسیم وظایف بین آن ها نیز اطلاق می شود. بسته به اینکه واحدهای
پردازشگر مرکزی چگونه تعریف می شود (چند هسته روی یک قاب. چند چیپ درون یک بسته. چند بسته
در یک سیستم و غیره» تعریف واژه چندپردازی نیز می تواند تغییر کند.
صفحه 84:
در چند پردازندگی. کامپیوتر برای نگه داری داده از چند پردازنده استفاده کرده و داده هابه قطعلتی با
نام 56011160 شکسته شده و به هر پردازنده tasks, تخصیص داده می شود.در مدل های اولیه
چند پردازندگی. یک پردازنده به عنوان پردازنده وللد و بقیه پردازنده ها به عنوان پردازنده فرزند بودند.
وللد کارها را می شکست و بین فرزندان تقسیم می کرد و نتلیج از سمت فرزندان برای وللد ارسال می
شد. تقسیم کارها بین پردازنده ها به شیوه های مختلف صورت می گرفت.
Most popular
configuration
صفحه 85:
سیستم های دارای پردازندههای جند هستهای
پردازندههای اولیه تنها یک هسته داشتند. لین بدین معنی است که هر پردازنده تنها یک
واحد پردازش مرکزی داشت. برای افزایش بازده و قدرت پردازنده. تولید کنندگان اندیشه
افزایش هستهها در پردازنده را در سر پروراندند. در همین راستا پردازندههای دو هستهای
تولید شدند که در واقع دو واحد پردازش مرکزی داشتند و سیستمعاملها نیز آن ها را دو
پردازنده مستقل میدیدند و 8516تأ ها را بصورت موازی به آن ها ارسال میکردند.
در این حالت دو هستهی فیزیکی وجود دارد که همچون دو نده مستقل عمل میکنند
بااین تفاوت که هر دو پردازنده در دل یک تراشه قرار دارند. نزدیک شدن هستهها به
یکدیگر ارتباط بین آن ها را سریع تر کرده و دسترسی لّن هابه المّن های دیگر پردازنده
مانند حافظههای کش و غیره را تسریع می کند.
صفحه 86:
Li Cache
LCake
Processor 1
Cored
Thread 1
Licaehe
12 Cache
System Bus
معماری چندهسته ای
Core 1
Thread |
Li Cache
La Cache
Processor 0
Cored
Li Cache
عنم شا
صفحه 87:
١ _متقارن : سیستم عامل را می توان روی هر یک از « 0011 6 ها اجرا کرد و فرقی نمیکند که روی
سیستمهای کامپیوتری کدام اجرا شود. اگر یک لام) بسوزد سیستم عامل میتواند روی لا دیگر اجرا شود.
چند پردازنده ای
۲) نامتقار
: یک پردازنده خاص به سیستم عامل اختصاص مییابد و مشکلی که دارد این است که "
پردار: اص به سیستم 'ص مى, و ارك اين
«00۷ » ای که قرار است سیستم عامل بر روی آن اجرا میشود بسوزد. سیستم عامل به طور کامل
از کار می افتد.
صفحه 88:
مزایای این سیستم ها
Gat obs توان عملیاتی منظور از Coed nu تعداد کارهایی است که در یک واحد زمانی تمام می شوند. بدیهی
است هر چقدر تعداد پردازندهها بیشتر باشد تعداد کارهای تمام شده در یک پریود زمانی نیز بیشتر خواهد بود. البته لین
Tiley sien sis. pete باشد سرعت اجراء برنامهها *لبرابر نمی شود چرا که بخشی از وقت
پردازندهها جهت مسائل کنترلی و امنیتی وسوتیچ کردن ها به هدر میرود.
# صرفه جويى در هزینهها . از آنجا که پردازندهها منابع تغذیه . دیسک ها حافظهها و ادوات جانبی را به صورت مشترک
استفاده میکنند در هزینههای سخت افزاری صرفهجویی می شود.
* تحمل پذیری در برایر خطاسیستم های مالتی پروسسور قابلیت اعتماد را افزایش می دهند چرا که خرلبی یک پردازنده
ب توقف سیستم نمی ش aes بب کند شدن ن خواهدشد .استمرار عمل با وجود خرلبی نیازمند مکانیزمی
ae acon توجو شده ۰ س داده شده و در صورت امکان اصلاح شود (يا كنار گذاشته شود). لین
توانایی به ادامه سرویس oe با سطح بقای سخت افزارءتنزل مطبوع نامیده می شود.
throughput
fault-tolerant
صفحه 89:
سیستمهای اشتراک زمانی
همانطور که گفته شد در چندبرنامگی اجرای برنامه تا عملیات ورودی / خروجی ادامه
پیدا میکرد و اگر یک برنامه به مدت طولانی نیاز به ورودی و خروجی نداشته باشد. همه
زمان «» لا۵0>را به خود
اختصاص می دهد. برای حل این مشکل سیستمهای اشتراک زمانی معرفی شد که به
EWE Aba) ae
ورودی / خروجی اجرای برنامه تا برش زمانی ادامه پیدا ميكند. در واقع در اشتراک زمانی»
زمان را به برش های زمانی
مثلا ۲ثانیه تقسیم کرده و هر برنامه فقط به مدت يك برش زمانی اجرا میشود و عدالت در
سیستمهای اشتراک زمانی
Lol میشود
صفحه 90:
چند برنامگی
یک اشکال مهم سیستم عاملهای دستهای این بود که در هر زمان فقط یک کار میتوانست توسط «
» لا0»اجرا شود و اگر عملیات ورودی/خروجی یک کار طول میکشید لا0معطل میشد تا عمل ورودی
اخروجی ۲
آن کار تمام شود و سپس ادامه آن کار را پردازش مینمود که در برنامههای با تنگنای محاسباتی
ورودى اخروجى اين ۲
اتلاف بيشتر بود. براى حل اين مشكل جند برنامكى ابداع شد كه در آن حافظه به چند قسمت تقسیم
تست رز بر نت
قسمت یک برنامه اجرا میشود. در چندبرنامگی اجرای برنامه تا عملیات ورودی / خروجی ادامه پیدا کرده و
3
از
Spooling 0۱۱1۲۳6)استفاده می شود. در 5000۱1۳9 0۳۱۱/6)به جای اينکه دادهها به صورت
مستقیم در
حافظه بار شوند به صورت کاراکتر به کاراکتر در بافری در حافظه ورودی قرار میگیرند و سپس به صورت
صفحه 91:
تکنیک 5000۱۱۱9
بکارگیری حافظه جانبی ذخیره سا ان بعنوان واسطه ای میان ابزار ورودی/ خروجی و پردازنده
کامپیوتر را 0001109 5میگویند. در مکانیزم 500011۳09جهت زمانبندی کارها بخشی موسوم به هماهنگ
کننده ((0۲0]310۲)طراحی شده است که جهت زمانبندی برنامه ها و پردازشها و ایجاد محیطی نرمال
جهت عملیات ورودی و خروجی بکار میرود. . و دارای دو نوع است:
۰ - 500011۳9 2]۲11۳06)در این تکنیک ابتدا اطلاعات به یک نوار منتقل شده پردازش اطلاعات از
روی
نوار بوده و نتیجه پردازش نیز بر روی نوار ذخیره ميشود. و از نوار به چاپگر فرستاده ميشود.
:- 500011۳9 1۱1106()در این تکنیک ابتدا اطلاعات به یک دیسک منتقل شده پردازش اطلاعات
از
2
روی دیسک بوده و نتيجه پردازش نیز بر روی دیسک ذخیره ميشود و از نوار به چاپگر فرستاده ميشود.
صفحه 92:
سيستم هاى عسنة018 با ار تباط غير مستفية]|
صفحه 93:
بافر كردن ( 81۴۲6۲1۳09 امکان همپوشانی ( همزمانی ) عمل
0 یک کار را با عملیات پردازش همان کار بوجود می آورد.در
حالیکه ۰ 5000119 امکان همزمانی پردازش ورودی -خروجی
چندین کار رابا یکدیگر فراهم می کند.
۲-هر 5000۱19 الزاما_بافر دارد ولی بافر 500011۴9
اسپولیدگیدعمل ۱۱60 یک کار را با عمل محاسباتی کار دیگر روی هم
میاندازد (6۲۱30 0۷ )در سیستم اسپولینگ در حالیکه ورودی یک کار از
دستگاه ورودی خوانده میشود. کار دیگری در حال چاپ شدن است. در
همین بین حتی کار دیگری میتواند در حال پردازش و اجراء باشد.
صفحه 94:
سیستم های چند نخی Hyperthreadingb
نخ با Thread
سس سس«
آمروزی فضای چند نخی به وجود آورده اند.
Process
aif Thread
3
ww
Time
i
صفحه 95:
رویکرد سنتی یک نخ اجرا در هر فرآیند. مانند 1260-1۷15 از فرآیند تک کاربره و از BL
فرات تک بح شام بلوت کل افسای آدرس فان بت وا ره بای مر و
چند نخی با Multithreading
تکنیک چند نخی برای سازگار نمودن سیستم عامل هابا چند پردازندگی معرفی شد تا سرعت جریان داده
به هر پردازنده را بهبود بخشد و محاسبات پردازنده به طور موازی انجام شود.
امروزه برنامه ها برای اجرای چندین کار و فعالیت به طور هم زمان سرعت بیشتری را می طلبند. موضوعی
كه امروزه تولید برنامه های نرم افزاری را غیر ممکن ساخته است. روش قدیمی در بازی نوبتی سنتی مانند
10-10-60 یا شطرنج جواب می دهد. در حالی که شیوه سنتی در برنامه های چند کاره جدید که
صفحه 96:
۱/۵۵0 سا
files
registers
stack
data
registers,
stack
code
registers
stack
multithreaded process
files
stack
ساختار تک نخی وچند نخی
data
code
registers
thread —> 8
single-threaded process
صفحه 97:
ثباتها cae ظرفيت دارفد) از بالا به يايين ظرفيت افزايش مى يابد
حافظه نهان يا كش اما
سلسله مراتب حافظهها حافظه اصلى
سرعت و قیمت کاهش مییابد
ادیسک يا حافظه جانبی
صفحه 98:
اجزای برنامه
در برنامه های بزرگ هر قسمت از برنامه با وظیفه مشخص را در واحدیا بخش خاصی از برنامه قرار می دهند و هر موقع.
(عتی به صورت تکراری» نباز بود از آن استفاده مي شود هر برنامه متشکل از برنامه اصلی و برنامه های فرعی:
Subprogram, Subroutine, Internal, External,Module
جزئیات داخلی هر یک از برنامه های فرعی از دیگر برنامه های فرعی و خود برنامه اصلی مجزا بوده و لذا به راحتی می توان
ن ها را در هر برنامه دیگر به راحتی مورد استفاده قرار دا.برنامه اصلی و هریک از برنامه های فرعی می توانند ازطریق
واسط (110611806) با یک برنامه فرعی ارتباط بر قرار کندولی ارتباط بين برنامه اصلی و فرعی یک طرفه استباید بین
واسط ها سازكارى برقرار «Consistency of Interfaces)sst
صفحه 99:
انواع برنامه های فرعی
(Supplied Functions) oobT توابع
در کتابخانه فرترن موجود بوده و برنامه نویس بدون اجازه دخل و تصرف فقط می تواند آن
ها را در برنامه خود
زیر روال ها (۳۲۵660۲0۲6ظ)
آن ها را برنامه نوس خود نوشته و می تواند در هر برنامه ای از آن ها استفاده نموده و با
آن ها را تغيير و يا اصلاح نماید. شامل:
Functions ! )143(
Subroutines !
صفحه 100:
انواع زیر برنامه
Intrasegment b داخلی
زیربرنامه در همان سگمنتی که تعریف شده اند قابل فراخوانی هستند و در تعریف آن ها از
صفت 1687 استفاده می شود.
زیربرنامه های خارجی با ۲۸۱615۵080601
روال هلیی هستند که در سگمنت دیگری قرار دارند و از سایر سگمنت ها فراخولنی می شوند و در
تعریف آن ها از صفت 81 استفاده می شود.زیر برنامه های خارجی در فلیل جداگانه ای قرار دارند
و هنكام لينك كردن بليد به برنامه ييوند داده شود.بعد از لینک نتیجه کار مانند زیربرنامه داخلی
است.
صفحه 101:
Near call
زیربرنامه داخلی در همان سگمنتی تعریف شده که فراخوانی می شود.
Far call
زیربرنامه خارجی در
بل جداگانه نگه داری می شوه و هنگام فراخوانی به پرنامه پیوند داده شود
Stack during Stack during
near Call
صفحه 102:
در برخورد با 0811پردازنده به آدرس شروع زیر برنامه رفته و دستورات آن را اجرا می کند. در برخورد با
]۳1 پردازنده به برنامه آ.آ) برگشته و دستور بعد ازسآنآ/) را اجرا می کند.
Stack Protection
666601116 اعمال محدودیت هاء 0011017]ها و قوانین بر روی حافظه ای که پشته در آن قرار دارد.مثلا قرار دادن
يا 1180 بررروى قسمت سخت افزار كه با ٠و١ شدن امكان دسترسى به يشته داده می شود یا 3
داده نمى شود.
execute :)
7777777777777 ee ee eR
صفحه 103:
کرنل يا هسته
اولین برنامه ای است که در حافظه بارگذاری می شود. پل بین سخت افزار و برنامه های نرم افزار کاربردی است.
هسته مرکزی سیستم عامل و کنترل کننده کارهای سیستم است.وظیفه دیگر کرنل. مدیریت منابع
کامپیوتررپردازنده»,آ.۵) ۷5121۷ 5.()/آو...) و فراهم ساختن امکان اجرا و استفاده از منلبع به دیگر برنامه
Applications
ها است.
صفحه 104:
۱ ) ممتاز: ( حق بالا ) یا حالت سیستم يا حالت کنترل
حالات اجرای سیستم عامل
۲ ) غیر ممتاز : ( حق پایین ) یا حالت کاربر
ممتاز: به تمام دستورالعملهای سختقزاری اجازه اجرا میدهد . در واقع « 0۳00 » همه دستورات از جمله پردازشهای سیستم
be را اجرا میکند.
۲ غیر ممتاز : به تمام دستورالعملهای سیستم اجازه اجرا نمیدهد و معمولاً رنامههای کاربردی اجرا میشود « لا » پردازش
های مربوط به کاربر را اجرا میکند.
صفحه 105:
تقسیم بندی سیستمها از جهت ار تباط پردازنده « ا60 » با وسایل جانبی
1( مستقیم : کارایی پردازنده « لا00 » به میزان قابل توجهی کاهش مییابد.
الف. 500009 011106
۲ غیر مستقیم ب. ٩000۱09 06۱06
ج . 61109]]لا۳: از یک بافر در حافظه اصلی استفاده میکندکه اطلاعات ورودی در آن انباشته می
شوند پیش از آنکه مورد نیاز باشند. هنگامی که برنامه به این اطلاعات نیاز داشته باشد میتواند
با سرعتی مناسب با سرعت 0011 » آن ها را پردازش نماید.
صفحه 106:
تشخیص اتمام انتقال دادهها توسط دستگاه های ورودی و خروجی) (۱/0
۵۵(سرکشی): در اين روش هر دستگاه دارای ثبات کنترلی است که «» لا0یا پردازنده . با پررسی آن متوجه
میشود که آیا عملیات انتقال آن دستگاه تمام شده است یا نه ؟ مثال : در بین درس استاد چند دقيقه یک بار از دانشجو
مى يرسد كه آيا سؤال دارید یا خیر ؟
:1 اسر این تکنیک هر دستگاه دارای سیگنال کنترلی مخصوصی است. که به نحوی با «» لا0)ارتباط دارد
هرگاه انتقال اطلاعات و دادهها توسط آن دستگاه تمام شود سیگنالی را به نام وقفه به سمت «» لا0می فرستند تا
آن را از این موضوع مطلع کند. این حالت بهتر از 00111]09است زیرا از اتلاف وقت «» لا0جلوگیری میکند .
صفحه 107:
برنامه ها به دو دسته تقسیم می شوند :
نامه های با تنگنای 60/ایا ورودی و خروجی : بیشتر زمان کامپیوتر ها صرف ورود و خروج اطلاعات
3
۲برناهه های با تنگنای محاسباتی :لا 0گبیشتر ركان كادي ود كرف امات لامع يوه مانند محاسبات
26
دسته بندى سيستم ها از نظر ارتباط كاربر با كامبيوتر
) محاورهای | الفه پیش زمینه: تا هنگامی که دستور اجرا و تمام نشود اعلان سیستم ظاهر نمیگردد.
ب: بس زمينه : پس از ورود دستور بلافاصله اعلان سیستم ظاهر میشود. تا دستور بعدی وارد شود. ولی دستور
در همین حین در حال اجراست.
۲) غیر محورای : مثل سیستمهای دستهای که اپرتور با کمپبوتر كار مكند و كاربر مستقیم با كامبيوتر در اتباط نیست.
صفحه 108:
aig: ally الگووزتمی استق کف سفل محتویات یک فایل بررروی: یک یسک کعلیوه له است ببة عباز تفیگ ally یک انهاکا
غير فعال است.
فرآیند یا پردازش : برنامه ای در حال اجراست به عبارت دیگر پردازش يا فرآیند یک نهاد فعال می باشد.
برنامه بر روی دیسک
غیر فعال است.
وقتی برنامه برا اجرا به حافظه
اصلی برده میشود میتواند. توسط
لام© اجرا شود و در اين حالت
پردازش یا فرآیند نامیده میشود.
حافظه اصلی
> بامراجعه به
حافظه اصلی برنامه-
ها را اجرا میکند.
cpu
صفحه 109:
بلوک کنترل پردازش :Process control block(PCB)
پردازش یا فرآیند در واقع یک برنامه است که علاوه بر کد برنامه شامل مقدار شمارنده برنامه. ریجسترهای پردازشگر
لا 601567 اپشته و بخش داده ها است. وقتی برنامه از دیسک به حافظه اصلی آورده می شود در واقع تبدیل به
یک فرآیند یا پردازش می شود. هر پردازش در سیستم عامل توسط یک ساختمان داده به نام بلوک کنترل پردازش
نشان داده ميشود.
8)”اشام ل |طلهاتزیادیدر مورد یکپرازش|ستمانند حا لتهایجاریپردازش شسمره شناساییپردازش شسمرندم
برنامه لطاهاتوضعیتورودیو خروجی لطاهاتزمانب ندی لا 0و غیرم ۰۰ . وقتیسیستم عامللا0 »را به پردازش
جدیدی میدهد . با لسستنانه 008تمام
See gested, ب ردازش ٩ بل ار Pees ee I)
صفحه 110:
نخ ( بند , رشته , رگه ) : هر فرآیند یا پردازش می تواند دارای یک یا چند رشته اجرایی باشد که به اين رشته های اجرایی ۰ نخ
مى كويند . اين رشته ها مى توانند به طور موازى با هم اجرا شوند .هر نخ دارای شمارنده برنامه خود می باشد چون نخ ها به طور
مجزا و به ترتیب اجرا مي شوند.
فرآیند چند نخی فوآیند تک نخى
صفحه 111:
حالت های اصلی پردازش
ای ار ال
۲.آماده : روی حافظه اصلی «» 3171قرار دارد و آماده اجراست .
۰معلق و مسدود : برنامه هایی هستند که برروی دیسک قرار دارند و منتظر ورودی و خروجی
هستند .
۴ آماده و معلق : برنامه هایی هستند که بر روی دیسک قرار دارند و در صورت انتقال به حافظه
اصلی آماده اجرا هستند .
۵ سود برنامه های هستت که برروی اف اصلی فرار دارند و متتطر ورودی و خر ی
صفحه 112:
زمانیند مین مدت. درس
دیشک حافظه اصلی
صفحه 113:
بنج حالت ممكن براى فرآيند :
اجرا. فرایندی هم اکنون در حالت اجرا است.
آماده : با گرفتن فرصت به اجرا در می آید.
تمام شدن وقت و يا بروز حادثه اتفاق می افتد.
جدید : فرایندی که هم اکنون ایجاد شده است.
خروج : به علت دستور توقف یا به دلیلی قطع شده است.
مدل ينج حالته برای ثرایند
-.
صفحه 114:
انواع صف
.انبار کار یا صف کار با 00115 [یا 00000 [با : *50ٌجدولی که کارهای موجود در دیسک در آن قرار
دارند
بنابراین تعدادی کار وجود دارد که به صورت غیر فعال بر روی دیسک و در انبار کار قرار دارند و هنوز تبديل به
پردازش نشدهاند . حال باید اين کارها بر اساس اولویت و معیارهایی» برای اجرا به حافظه اصلی آورده شوند این
عمل توسط زمانبند کار(زمانبند بلند مدت) انجام می گیرد.
۲.صف آماده : برنامه هابی که بر روی حافظه اصلی قرار دارند این برنامه ها توسط زمان بند کوتاه مدت برای
اجرا توسط لا0-انتخاب شوند.
۳.صف دستگاه : پردازش هایی که متعطر یک وسیله هستند در صف وسیله آن دستگاه فرار میگیرند بنابراین
صفحه 115:
انواع زمانبند
١.زمانبند كار يا زمانبند بلندمدت : روتینی است که بر اساس الگوریتمی خاص یکی از کارهای موجود در
انبار کار یا صف کارا انتخاب کرده و جهت اجرا شدن آن را به حافظه می آورد . هنگامی که کارها در انبار کار
بر روی دیسک منتظر اجرا شدن هستند اصطلاحاً «» [۱016او هنگامی که توسط زمانبند کار جهت اجرا شدن
به حافظه اصلی منتقل می شوند , اصطلاحاً به حالت آماده میروند .
الگوریتم های زمانبندی کار یا روش های انتخاب | ۱) ۳۱۳60 : اولین کاری که وارد انبر کار شده را انتخاب می کند.
کار از بین کارهای موجود در انبار کار ۲ 5۳۲ : کوتاه ترین کار در انبار کار را انتخاب می کند .
۲ ۷/[660] ترکیبی از کارهای با تنگنای محاسباتی لا6(0 و کارهای با تتگنای
ورودی و خروجی را |
صفحه 116:
زمانیند میان مدت : هنگامی که پردازشها در حافظه اصلی بوده و منتظر ورودی و خروجی هستند امکان دارد.
تعداد آنها آنقدر زياد باشد كه هم ظرفيت حافظه اصلى را اشغال نمایند و هم زمان " " لا0به هدر رود بتبراین
متوان تصدادی از این پردارشها را به دیسک متتقل ساعت و تدادی دیگر از رتاف )ا را که آماده هستند از دیسک
به حافظه اصلی منتقل کرد.
هنگامی که پردازش هایی که منتظر ورودی و خروجی هستند را به دیسک منتقل میکنیم در واقع به حالت "معلق
و مسدود" میروند حال اگر ورودی و خروجی مربوط به یک پردازش که به روی دیسک قرار دارد تمام شود
پردازش به حللت "آماده و معلق" میرود. زمانبند میان مدت عمل انتخاب کارهایی که بر روی دیسک قرار داشته و
عمل ورودی و خروجی آنها تمام شده (آماده و معلق) را برعهده دارد.
صفحه 117:
۳.زمانبند کوقاه مدت؛ لین زمانبند پردازشهای موجود در صف آماده را برای اجرا شدن توسط
ل0۱>انتخاب میکند بنابراین زمانبند کوتاه مدت عمل انتخاب پردازشهایی که بر روی حافظه اصلی
هستند را برعهده دارد .
این زمانبند نیز از الگوریتمهای خاصی استفاده میکند لین الگوریتمها را در ادامه بیان میکنیم. برای
انتخاب الگوریت نا ۰ بای 2 از یکسری
صفحه 118:
معا هی تساه الکو ای را Ue appli) race clays) که سس تالک ای
رما دی کونه مد را وان (apy oe
۱ - عدالت
۲- زمان پاسخ
۳ زمان برگشت یا بازگشت.
۴- توان عملیاتی یا گذردهی
۵- زمان انتظار
صفحه 119:
*** عدالت : یعنی سهم پردازنده از لا0به طور منصفانه باشد.
زمان پاسخ : معیار دوم که زمان پاسخ میباشد بدین معناست که الگوریتم انتخابی باید به گونهای باشد که
زمان پاسخ یک پردازش را کاهش دهد . زمان پاسخ زمان مابین شروع یک پردازش و اولین پاسخ پردازش است
بتیراین ومان پاسم مدت ومانی است از صذور یک تقاضا تا تولید اولین باسم آن طول میکشد.
[آزمان بازگشت و برگشت: فاصله زمانی از زمان تحویل کار تا تکمیل کار را زمان برگشت مینامیم.
[اتوان عملیانی: به تعداد پردازش های که در واحد زمان تکمیل میشود توان عملیاتی گفته میشود بنابراین
بهتر است از الگوریتمی استفاده کنیم که توان عملیاتی افزایش یابد.
[آزمان انتظار: مجموع پریودهای زمانی صرف شده در صف آماده می باشد.
صفحه 120:
١ . زمانبتد اولین ورود اولین خروج ۳0۴۱ یا ۳۱۴0 سس انحصاری
ROUND ROBIN 5,6 cuss ails, له غير انحصارى
۳ زمانبند اولین کوتاه ترین کار 5۳/۲ 9۳ 4 انحصاری
۴ . زمانبند کوتاهترین زمان باقیمانده ٩۹" سه غیرانحصاری
الگوریتم های زمان بندی کوتاه مدت ۵ . زمانبتد اولویت hhh ——— غير انحصارى
۶ . زمانبند ۲۱۴۳۹۲۲ ص هه انتحصارى
۷ زمانبند صفهای چندگانه سم انحصاری
8 . زمانبند صفهای چندگانه با فیدبک الهم غير انحصارى
Ges ete ۰ انحصاری
۰ زمانیند 1٩ ۱.۳۴ + انحصاری
صفحه 121:
دسته بندی الگوریتمهای زمانبند کوتاه مدت
[انحصاری : دراین الگوریتمها تا زمانی که پردازش خاتمه نیلبد و يا تا زمانی که پردازش نیاز به عمل
ورودی و خروجی نداشته باشد نمیتوان لا0>را از پردازش در حال اجرا گرفت و به پردازش دیگر اختصاص
داد .
** غیر انحصاری: در اين الگوریتمها با اتمام برش زمانی و یا تفییر شرایط سیستم, زمانبند میتواند 0۱را
از پردازش گرفته و به پردازش دیگری دهد.
صفحه 122:
الگوریتم های زمانبندی سیستم عامل
jlass! 4 & (First-Come, First-Served)) «95)5 casi & زمانبندی «اجرا
(FCFS)
(SJN) jars! 4b (Shortest-Job-Next)) «car زمانبندی «کوتاهترین کار
)۳۲۳۱۵۲۱۲۷( زمانبندی اولوبت
زمانبندی کوتاهترین زمان باقیمانده ((۳1۲06 ۵۳۵1۴۱۴9 (Shortest
زمانبندی نوبت گردشی یا راند (Round Robin) gx} یا به اختصار (RR)
صفحه 123:
زمانبند (۳۱۳۵ یا ۳۳5 ) اولین ورود / اولین خروج :
در اين الکوریتم هر پردازشی که اولین در خواست لا0 را صادر کند (زودتر وارد صف آماده شود) زودتر میتواند از
لا0۳ استفاده کند اين الگوریتم از نوع انحصاری می باشد. بدین معنی که هنگامی که یک پردازش 0 را كرفت تا
زمان اتمامش یا نیاز آن به عمل ورودی وخروجی لا2۳) را نمیتوان از آن گرفت.
ابتدای Cc B A 0 انتهای
صف صف
صفحه 124:
پراساس الگورتم ۳0۳۵ ابتدا پردازش ۸و سپس 9 و سپس ۵ و سپس 0] توسط لا0 اجرا میشوند روش کار این
الکوریتم ماتند صف تانوایی است.
مثال اول ۳۱۳0: اگر سه پردازش ۰01 ۰۳2 03 به ترتیب وارد صف شوند مپانگین زمان اجرا و انتظار را بدست آورید.
زمان ورود همه را صفر در نظر بگیرید.
صفحه 125:
مثال دوم :1۳00 اگر سه پردازش ۰01 ۰02 03]در زمان های ذکر شده در جدول
زير وارد صف شوند. میانگین زمان اجرا و انتظار را بدست آورید.
پردازش ۳3 ۳2 ۳1
۲ ۴
Ey ليه ۶ انیه
1م | قوم P2
صفحه 126:
زمان انتظار 01 -زمان اجرا- (زمان ورود- زمان خروج)<۷
زمان انتظار 02 < زمان اجرا- (زمان ورود- زمان خروج)<۰
زمان انتظار 03 < زمان اجرا- (زمان ورود- زمان خروج)<۵
6+7+4
BT Lal obj ole
7+0+5
ميانكين زمان انتظار:4 37
صفحه 127:
زمانبند نوبت گردشی یا ۲٩۳
ال ۵ ا از تور تاد ارت ها
بای را ار ا ی ار
کامل یا نیاز به عمل ورودی / خروجی . لا "را رها نمیکنند اما در لین الگوریتم هر پردازش به
میزان زملنی مشخصی میتولند بر روی لااناجرا شود بنابراین در لین الگوریتم یک واحد زمانی
با برش زملنی تعریف میشود که هر پردازش به اندازهی آن برش زملنی میتولند توسط لاااجرا
شود این الگوریتم غیر انحصاری می باشد.
صفحه 128:
مثال اول :)گر سه پردازش ۰01 ۰02 03]به ترتیب وارد صف شوند میانگین زمان اجرا و
انتظار را بدست آورید.
برش زمانی را آثانیه در نظر بگیرید؟و زمان ورود همه را صفر در نظر بگیرید
پردازش ۳2 ۳1
17 ey ca زمان اجرا
صفحه 129:
۴۸| ۳2 ۴۵۱ ۴۸| ۴2| ۴3| ۴۸۱ 1
زمان انتظار 01 زمان اجرا- (زمان ورود- زمان خروج)2 ۷- ۰- ۶2۱۳
زمان انتظار 2م > زمان اجرا- (زمان ورود- زمان خروج)<
زمان انتظار 03 > زمان اجرا- (زمان ورود- زمان خروج)<۳- ۰- ۶۱۰ ۷
صفحه 130:
مثال دوم ۹ اگر سه پردازش 401 ۰2 03 در زمان های ذکر شده در جدول زیر وارد صف شوند. میانگین زمان
اجراو انظار را بست آوزند ترش وفانی را #تانيتدر نظر بقيريوة
صفحه 131:
زمانبند اولین کوتاهترین کار ۳۱۱ 5یا 5[۴
الگوریتمی انحصاری است و لا کبه پردازشی داده می شود که کوچک ترین زمان اجرا را دارد اگر
دو پردازش زمان اجرای یکسان داشته باشند پردازشی که زودتر وارد سیستم شده است یعنی در
ابتدای صف است اجرا میشود.
مثال اول LSPN :ا [ذاكر سه پردازش 1 ۰۳2 03به ترتیب وارد صف شوند میانگین زمان
اجرا و انتظار را بدست آورید. زمان ورود همه را صفر در نظر بگیرید. در این 2و ۳3هر دو دارای
زمان اجرای ۳هستند و چون 2 "ابتداوارد شده ابتدا بايد 2 ۳اجرا شود چون زودتر وارد سیستم
شده است.
صفحه 132:
پردازش
زمان اجرا
21 ]تم |۴2
عع
زمان انتظار 81 تتزمان اجرا- (زمان ورود- زمان خروج) ۷- ۰- ۶-۱۳
انتظار 02 < زمان اجرا- (زمان ورود- زمان خروج)<۳- :
زمان انتظار 03 زمان اجرا- (زمان ورود- زمان خروج)<۳- ۶-۰ ۲
64043
g تدمع
3
74343
3
صفحه 133:
مثال دوم از 5۳0۱ با 5۴ بزمنورود همه را صفر در نظر
84 PS P2 ۳1 وم
۰ ۱ ۳ 37 1 ۳۱
انتظار 01 زمان اجرا- (زمان ورود- زمان خروج)< ۵- ۰- ۷2۱۲
انتظار 02 > زمان اجرا- (زمان ورود- زمان خروج)۴2- ۰- ۷ <
صفحه 134:
زمان انتظار 04 7 زمان اجرا- (زمان ورود- زمان خروج)۱۳- ۰- 2۱
زمان انتظار 05 < زمان اجرا- (زمان ورود- زمان خروج)<۲- ۰- 2۳ ۱
1 172+ 4+9 +5
Se = $$ زمان اجر
7+ 3+12 +0+1 23
5 — 5
ميانكين زمان انتظار
صفحه 135:
PN 8 57
مثال سوم 5510 يا “ال5: اكر سه يردازش 81. 22 : 03 در زمان هاى ذكر شده در جدول زير وارد صف سُوندء ميانكين زما
جدول زيم ٠ ميانكين زمان
اجرا و انتظار را بدست آورید.
زمان ورود
صفحه 136:
فكته : مهم ترين مشكلى كه اين الكوريتم يعنى 1211 5دارد اين است كه بايد بتوانيم زمان اجرای
يردازش را ييش بينى كنيم كه معمولا با استفاده از يك تخمين صورت مى كيرد . و مشكل ديكر
اين الكوريتم اين است كه امكان كرسنكى يا قحطى زدكى فرآيند هاى طولانى وجود دارد .
تعريف كرسنكى يا قحطى زدگی : اكر بردازش به مدت طولانى نتوائد اجرا شود بردازش دجار
كرسنكى يا قحطى زدكى شده است.
صفحه 137:
زمانبند کوتاهترین زمان باقیمانده 5۴7)
زمان بند 911شبیه 5[۳است ولی از نوع غیر انحصاری میباشد. در آبرنامه ای که احتیاج به
کمترین زمان جهت تکمیل دارد ابتدا اجرا میشود در این روش مانند ۳ [5نیاز به تخمین زمان اجرای
پردازشها داریم همچنین احتمال بروز مشکل گرسنگی نیز وجود دارد. نکته ی مورد توجه در اين
الگوریتم این است که به خاطر پس گرفتنهای پیدرپی 012از پردازش ها این الگوریتم از الگوریتم
[ویر هزینه است .
منال ۶ ار سه پردازش 1 2م. 3مبيه ترتيب وارد صف شوند ميانكين زمان اجرا و انتظار را
بدست آورید. همانطور که در جدول زير دیده میشود در این زمانبند بايد زمان ورود را در نظر بگیریم
در سه الگوریتم قبلی زمان ورود همه را صفر در نظر می گرفتیم
پردازش
زمان اجرا
۳/3 (۳
P41
ast
صفحه 138:
ابتدا در زمان صفر فقط پردازش 1در سیستم وجود دارد و تا زمان آثانیه پردازشی وجود ندارد
بنابراین تا زمان ۲ثانیه ۳1 اجرا میشود.
در زمان ۲ثانیه پردازش 3 آوارد سیستم میشود چون پردازش 1 در زمان آثانیه به مدت
ن زمان اجرای 3کمتر
است و eolsP3 «CPU میشود.در زمان ۴ ثانیه 2وارد سیستم میشود وچون زمان باقیمانده
قثا آر كارش باقمانت و رمان اترای 3ب مت انانیه است بت
3در اين زمان کمتر از بقیه است خود 3اجرا میشود.
همانطور که گفتیم در اين الگوریتم فرض میکنیم یک زنگ وجود دارد که با وارد شدن یک
پردازش آن زنگ به صدا در می آید با به صدا در امدن زنگ باید بررسی کنیم که زمان باقیمانده
ل تا
صفحه 139:
در مثال بالا در زمان صفر فقط یک پردازش یعنی 1 در سیستم وجود دارد بنابراین ابتدا
اجرا میشود در ثائیه آزنگ به صدا هر میاید بعنی 3لاوارد سیستم میشود چون در زمان
ant ¥ پردازش 1 0به اندازه ۲ثانیه اجرا شده بنابریان زمان باقیمانده آن ۵ثانیه میباشد و
جون زمان اجرای 03 که برابر ۲میباشد از ۵ ثانیه کمتر است بنابراین لا0>از پردازش
1گرفته شده و به پردازش 03داده ميشود.
حال دوباره در زمان ثانیه ۴زنگ به صدا در مى آيد یعنی 02]وارد سیستم میشود چون در
این زمان پردازش 1به اندازه ۵ثانیه و پردازش 3اندازه اثانیه و پردازش ap2 اندازه
صفحه 140:
2۱ | 3 ۱ ۴3 | ۴2 | ۹1
۰ ۲ ۴ ۵ A ۱۳
مان انتظار ۳1 زمان اجرا- (زمان ورود- زمان خروج)< ۷- ۰- ودع
زمان انتظار 62 > زمان اجرا- (زمان ورود- زمان ۱
ما ار 63 < زمان اجرا- (زمان ورود- زمان خروج)<۳- ۵-۲ < ۰
6+1+0
2 - که میانگین زمان انتظار
صفحه 141:
متا دوم از 9157
pi | ۴2 | ۴2 | 4م | 2م 21 P3
۱ ۲ ۳ 8 ۳ ۷ ve
Say cle زمناجر- 1
SIV A=
نا 26 2 + 0+15 + و
4
میانگین زمان ان
زمان انتظار 02 = زمان اجرا- (زمان ورود- زمان خروج)۲2- ۱- ۵ < +
مان انتظار 83 > زمان اجرا- (زمان ور معد اول
8+4+9+5 26
زمان تفر 94 > مان جر من و
صفحه 142:
زمانیند بلاترین نسبت پاسخ : 1111107
این زمانبند نوعی زمانبند انحصاری است كه بعضى از مشكلات زكرا برطرف می سازد. در واقع برای حل
شکل گر نگی از رابطه زیر ا تفاده میکند. عدد بزرگتر نشان دهنده اولویت بیشتر است.
زمان اجراءزمان انتظار
< اولویت
زمان اجرا
در لین زمانبند بر اساس رابطه ذکر شده اگر پردازشی بیش از اندازه انتظار بکشد(زمان انتظار در صورت
است و اگر زیاد شود باعث میشود اولویت بلیا رود) باعث میشود اولویت ن بالا برود و بدین ترتیب مشکل
قحطیزدگی حل میشود پس کارهای کوتاهتراولویت بیشتری داشته و زودتر اجرا می شود . ولى از طرف
دیگر در صورت زمان انتظار را داریم و در صورت ایتکه پردازشی بیش از اندازه معتظر بعلند اوئویش بالا
صفحه 143:
oe زمان اجرا زمان انتظار اولزیت
Hos ۲ ۱ 2
Ps 1 1 15 كله
7 1 1 وود
Py ۰ ‘ مد قي
با توجه به اعداد بدست آمده برای اولویت ابتدا پردازش 1سپس 4 سپس 3و در نهایت 2 جرا
خواهند شد. همانطور که در جدول دیده میشود پردازش ۴4با اينکه زمان اجرایش بیشتر از بقیه است
ولی چون زمان انتظارش زیاد است اولوبتش بالا رفته و قبل از 22و 3اجرا ميشود.
صفحه 144:
زمانبند اولویت :
در بسیاری از سازمان ها اولویت کارها با هم فرق میکند در واقع برای هر پردازش در این زمانبند یک
اولویت نسبت می دهیم .اولویتها میتوانند توسط اپراتور به صورت خارجی برای سیستم تعریف شوند و یا
اینکه توسط سیستم عامل به صورت داخلی. اين زمانبند میتواند انحصاری و غیرانحصاری باشد ولی اغلب به
صورت انحصاری به پیادهسازی میشود این الگوریتم دارای مشکل گرسنگی میباشد .
پردازش
زمان اجرا
اولویت
صفحه 145:
با توجه به جدول اولویت ۳2 بیشتر است بنابراین زودتر اجرا میشود سپس 1 و در نهایت 23
2 Pl P3
۰ 1۵ Yo ۳۳
زمان انتظار ۳1 = ۱۵ 43 _ 1540425
5 میانگین زمان انتظار
زمان انتظار ۳2 < .
10+15+7
10.6 =“ میانگین زمان اجرا
زمان انتظار ۳3 < ۲۵ 3 يانكين زمان أجرا
صفحه 146:
زمانبند صفهای چند گانه:
] 57707 6 سدع انويع
] مبف پردازش های مجاوره ای
| صف پردازش هی ویایشی
سف تون
هتگامی که بتوا
گرد در رمادند سفهای جند که درایت جندین صف تشکیل میشود هر بردازش وارد یک صف میگرده
اولويت صفها با هم فرق میکند و هر صفی الگریتم زمانبندی مخصوص به خود را دارد. لين الكوريتم از نوع
فرآیندها رابه سادگی به دسنه های متفاوت طبقه بندی کرد از لین روش استفاده می
صفحه 147:
زمانبند صفهای چندگانه با فیدبک
در روش قبلی هنگامی که یک پردازش وارد صفی میباشد نمیتواند از ان صف خارج شده و وارد صف دیگری شود. ولی در
ایین زمانبند پردازشها میتوانند بين صفها جابجا شوند. در واقع وقتی پردازشی در صف با
اولییت پابینء مدت زیادی منتظر بافی بملند به صف با اولویت بیشتر فرستاده میشودلین الگوریتم از نوع غیراتحصاری
میباشد.
زمانبند شانسی
در لین الکوریتم سیستم عامل بد هر پردازش تعدادی عدد میدهد و تعداد اعداد داده شده به هر پردازش واسته به اولویت
یباشد یعنی هر چه اولویت پردازش بیشتر باشد اعداد بیشتری به آن داده ميشود و يس به طور اتفاقى يك عدد تولید
as 4 ارق كد لد عند ولد فده را در oe ترد لاطعرا در استیار go گرد
LPT wile;
در این زبانتد از ب كران بای ملده طولبترین کار برای اجرا انتعاب میفود این اگوریتم اغلب به
و از
صفحه 148:
مدیریت
صفحه 149:
سیستم های ذخیره سازی
از دهه ی ۱۹۶۰ تا ۱۹۸۰ را عصر انقلاب محاسباتی می نامند اما از دهه ی ۱۹۹۰ به بعد رابه دلیل پیشرفت در
تکنولوژی اطلاعات در مقابل قدرت محاسباتی» عصر اطلاعات نامیده اند. محبوبیت سرویس های اینترنت مانند
موتورهای جستجو و ۵1101010 ها اهمیت 1/00 را برای کامپیوترها افزاینش داده است.سرویس های اینترنت
Storages, های بزرگ وابسته اند.
فیلات اعتعاد زیرساو ماس رسانه های دحره سازی امت.در کام رتر حافظه ها قسمت های ela
Hee
صفحه 150:
(RAM) gstai حافظه دسترسی *
(ROM) ju) = Le حافظه ۴
۴ حافظه پنهان یا کش
* حافظه دسترسی تصادفی پوی(۵1۷٩ظ متصهطون)
* حافظه دسترسى (Static RAM) | sola
۰ فلش
۵ انا مجازی
۰
حافظه ویدیویی
بایوس (واسط سختافزار و نرمافزار)
صفحه 151:
قانون پارکینسون
همگام با پیشرفتهای سخت افزاری که حافظه را ارزان و حجم ان را زیاد کرده است. برنامه ها نیز بزرگتر
میشود و طبق قانون پارکینسون برنامه ها انقدر رشد میکنند که کل حافظه را پر میسازد.
Swapping asl. sss
در برخی سیستم ها که از لحاظ ظرفیت حافظه اصلی محدودیتهائی وجود دارد و از طرفی حجم برنامه
های اماده در حال اجرا بالاست. از مکانیزم تبادل یا ۷۷3001۲9 قبرای کنترل این مساله استفاده ميشود. در
این روش هر پردازش بطور کامل به حافظه اصلی اورده میشود در انجا برای مدتی اجراء میگردد و سپس
دوباره به دیسک برگردانده میشود. امروزه از این تکنیک به ندرت استفاده میشود و به جای آن از روشهای
مبادله کاملتری مثل حافظه مجازی استفاده ميشود. در سیستم نوع مبادله حافظه زمان بکارگیری لانابه
شرح زیر است:
(زمان تبادل * ۲ ) + زمان ]۳ / زمان CPU ن بکار گیری CPU
صفحه 152:
Base Register at ou
Mp eno als 8 (et Gly Sal sls ols ee tee درس سل
Limit Register s+ ou
طول فرايند در حافظه اصلی در زمان اجرا در ثبات حد ذخیره میشود.
جدول صفحه
اغلب کامپیوترهای امروزی جداول صفحه بزرگی با بیش از یک میلیون ورودی دارند و تکنیک ثباتها قابل
پیاده سازی نیست. در این سیستم ها جدول صفحه در حافظه اصلی نگهداری شده و یک ثبات
مبنای جدول صفحه بنام ( 8601561 856 ۲60۱6 ۳۵96) ۲8 به ان اشاره میکند.
صفحه 153:
ثبات مبنای جدول صفحه با9[56۲ع8 5856 PTBR (Page Table
برای تغییر دادن جدول صفحه هنگامی که لالز یک پرذازش به پردازش دیگر سوئیچ میکند. گافی است این ثبات
تغییر کند. تا به جدول صفحه جدید پردازش جدید اشاره کند بدین ترتیب زمان تعویض متن کاهش می یابد. مشکل اصلی
این روش آن است که برای دستیابی به یک خانه حافظه به دو دسترسی به حافظه نیاز خواهیم داشت و بنابراین دستیایی به
حافظه با ضریب cual میگرده برای رفع این مشکل مینوان از رجیسترهای انجمنی با ]ها استاده کرد
صفحه 154:
TLB (Translation Look - aside Buffers)
ثباتهای ویژه ای موسوم به ثباتهای انجمنی از نوع حافظه های با سرعت دسترسی بالا برای عملیات فوق )برای
دستیایی به یک خانه حافظه به در دسنرسي به حافظه نیاز عواهيم داشت و بتابراین دستیایی به سافظه با صریب
ae Se برلی رقم این مشتل میتوان از رجیسترهای انجمنی با ها استفاده کرد( وجود دارد. ثباتها
از دو قسمت تشکیل ش ده اند ستون اول کلید و ستون دوم داده همرمان با وروه هر دنه با عمامی کلی د ها
قایسه ميشود چناچه در سطری از جدول پیدا شد فیلد داده ای متناظر با آن خارج ميشود. از مزایای اين روش
سرعت در جستجو است زیرا عمل جستجو در تمام سطرها و بطور همزمان انجام میگیرد. تعداد ورودی های این
روش ببن ۸ ۲۰۳۸است ار انسایکه تکبیک فا اآدارای سخت افرار فوق الماده گرانی است این روش را هسواره
ترکیبی از 8]آو جدول صفحه استفاده میکنند. یعنی بخشی از ۲۵0۱6 896در 8 ]1 ذخيره ميشود.
صفحه 155:
سلسله مراتب حافظه
در یک سیستم کامپیوتری, رسانههای ذخیره سازی گوناگونی برای نگه داری اطلاعات وجود دارد
که اصطلاح عام . به همه آن ها حافظه اطلاق می شود.
Latency
2
5
8
5
06
صفحه 156:
دلایل بکارگیری انواع مختلف رسانههای ذخیره سازی
۱.حافظههای درون ماشینی هنوز دارای ظرفیت محدود هستند.
۲.لزومی ندارد همه اطلاعلتی که برای رفع نیازهای اطلاعاتی یک محیط عملیلتی ذخیره می شوند هميشه در
حافظههای درون ماشینی مقیم باشند. بلکه فقط آن اطلاعاتی که مورد نیاز برنامههای درحال اجرا هستند.
۳.رسانههای ذخیره سازی سریع, غالبا گران هستند.
معمولا برنامههه به حافظه بیشتری از آنچه که واقعا سیستم می تولند در محيط درون ماشینی تامین AS
احتیاج دارند.
۵.حجم اطلاعلتی که امروزه بشر انباشت می کند بسیار بالاء و پیوسته به طور تصاعدی در افزلیش است و
نمی توان با توجه به ظرفیت محدود و حافظههای درون ماشینی, این حجم فزاینده اطلاعات را در محیط
درون ماشینی ذخیره سازی کرد.
صفحه 157:
تعريف حافظه كش
نوعى حافظه كوتاه مدت است كه در يردازنده قرار داده شده
است. همان طور كه مى دانيد يك كامبيوتر داراى حافظه 140111
است و دسترسی به اطلاعات حافظه 101۷1 سریع تر از دسترسى
به هارد سیستم َن جام می شود چون ]1۵۷ پهنای بلند بیشتری
دارد و تاخیر بسیار کمتری دارد. کش پردازنده هم شبیه به مفهوم
1 است. ]۷[ برای نگه داری داده هایبی که به طور
معمول استفاده مى شود به كار مى رود بنابراين سیستم به
درخواست ها سريعتر باسخ مى دهد حافظه كش هم اطلاعاتى كه
21 لول رشق درن مهاده ف قر 0 داف دار تا
Latency
Capacity
صفحه 158:
مبانی عملیاتی کش
در عملیات13620
هنكام :1111 داده را از كش مى خوانيم و در داده را به كش آورده و از آن جا می خوانیم.
در عمليات 7171116
در صورت رخ دادن ]111 از مكانيزم هاى gm 9 AS 59 po cols WT Lwrite- through 52 خافظه
نوشته مى شود) يا write-through ۲0" ( داده فقط در حافظه نوشته می شود) استفاده می کنیم. در
تکنیک ۱۲16-18016 در صورت رخ دادن 3 فقط داده با استفاده از 0 011۳7 در کش نوشته می
شود. در صورت رخ دادن 13155 از < write- through & write-allocate استفاده مى
شود.
صفحه 159:
چگونه وقتی یک بلاک از حافظه 1.6۷761 -1.0۲۷ می آید آن را در کش قرار
و
دهیم؟
بر اساس gl policy زیر:
Fully- associative & JolS |.انجمنی
آگر خواستیم سطری از حافظه را در کش قرار دهیم. مى توان لَن را در اولين خلنه خللى از
كش كه بيدا کردیم قرار دهیم.مثلا بلاک شماره ۵ حافظه در هر خانه از 80106/) می
تواندقرار بككيرد. ايراد اين روش لَن است كه اكر سطركة از حافظه را بخواهيم در کش پیدا
كنيم, بايد كل كش را جستجو نماییم(بلوک می تواند در هر سطری از حافظه کش قرار
صفحه 160:
۲.نکاشت مستقیم با Direct map
مزیت اصلی روش 1118۳0 ۰1217660 به این صورت است که می توان چک کردن تگ را بصورت
همزمان با ارسال داده آن جام داد. در این روش از قسمتی از آدرس حافظه برای مشخص شدن خانه
0 استفاده می شود. به عنوان مثال حافظه را ۸ تا ۸تا در نظر می گیریم. اگر آدرس حافظه را به
صورت زیر در نظر بگیریم:
tag | index
«9 ۱۹
pants Indexes می کند در کجای حافظه داده را جستجو کنیم. مثلا می خواهیم بلاک شماره
۲ حافظه را در یک کش ۸ بلاکه قرار دهیم,بلاک ۱۲ در باقیمانده تقسیم ۸/۱۲ یعنی در خانه شماهره ۶
صفحه 161:
مثال:حافظه کش دارای 1۶ خط و ۱۱ بایت در هر بلوک آدرس ۱۲۰۰ به کدام بلوک
نگاشت می شود؟
۵ 2-22 آدرس بلوک. ۱- 75 64۳000110 عشماره بلوک
31 109 4 3 0
Tag Index Offset
6 bits 4 bits
صفحه 162:
501۳
هر 56 رابه صورت دو بلاک یا ۷۷۵17-۲در نظر می گیریم و یک سطر از حافظه در یک منطقه یا یک 517
از سطرهای کش قرار می گیرد مثلا در ۸6506011176-۲ 861 ۷۷۵۷ هر دو سطر از کش را یک 96
یا یک منطقه در نظر می گیریم(بلوک می تواند در هر مکان "حافظه کش قرار بگیرد).
Direct Mapped Set Associative Fully Associative
Blck# 01234567 مسو 6 1 2 3
- 1
Tag.
|
صفحه 163:
مثلا می خواهیم بلاک شماره ۱۲ حافظه را در یک کش ۸ بلاکه قرار دهیمبلاک ۱۲ در خارج
قسمت تقسیم ۸/۱۲ یعنی در 5611 است. قرار می گیرد.
هرچه 8500121۷17 بالاتر باشد<1006 کوچک تر و 800 بزرگ تر می شود. در
tag address_il 5 cu! ic ,.sx| fully-associative می باشد که در
ee
صفحه 164:
نحوه جایگذاری 10016 های جدید در کش
۳۵10۲ ۷۷۲1]6۵-0۵016: دادم لیکه 0 شده را در کشمینویسیملما در
77 نمونويسيم. فسقط زمانیکه ناگزیر به دورریختن»[100 6266
شویمدادم را در ۷6111017[ مینویسیم
Write-through Policy دادم لعكه آل[ شده را همزمانهمدر كثرو هم در
حافظه مئنويسيمو حافظه را آبديتعىكنيم در لينحا-لة002515]610) ©0361 به
a he
صفحه 165:
( با استفاده از :211 011677 ٠ بلاك هايى كه قبلا در آن عمل 101316 لن جام شده است را شناسايى كرده و
بلاك لن را آيديت مى كنيم؛ در نتيجه اين كارء ترافيك حافظه كاهش مى Write- S95 53 (ay
0 مهمهميثه از يك بافر استفاده مى شود يعنى بافر عمليات ۲/۲16 را انجام می دهد ولا به سراغ
دستور ديكرى مى رود. وقتی پروسسور درخواست ۷۲16 می کند. داده در کش و بافر نوشته می شود . سپس بافر
داده را در حافظه می نویسد آنگاه 001۲01167 1۷16100157 بافر را چک کرده و دیتا را از بافر برداشته در
3 نویسد. 136۳ ا بر اساس الگوریتم FO 7
حافظه می نویسد. buffer ۷۷۲116 بر اساس الگوریتم 0 PU Gas DRAM
حداکثر تا ۶ دستور را می توان در بافر نوشت؛ اگر 7
تعداد دستورات بیشتر از ۶ دستور بود بلید صبر باللعنا٩ کرد
تا بافر خالی شود. rite buffer
صفحه 166:
اگر هنگام عمل ۲/116 بلاک در کش یافت نشود و 11185 رخ دهد دو تا ۳01107 در پیش
رو داریم:
.3۲۲1]8۵-006: اول بلاک را در کش آورده سپس با استفاده از یکی از تکنیک های
eS awrite _2s | oi write-back t write-through
pose ABIL 52 5 woul Us ES» | Sou No write-allocate ۲
صفحه 167:
مدیر حافظه : بخشی از سیستم عامل که سلسله مراتب حافظه یعنی ۵۷و ۱۵10را مدیریت میکند و در
واقع برنامه ها در ابتدا در 1/۵۴۸/0آمی باشند و برای اجرا ابتدا باید به ۵0/آورده شوند که وظیفه ی انتقال
برنامه ها و جلوگیری از تداخل آنها در ۱۸۵/۲۲0 و را مدیر حافظه بر عهده دارد.
hard دا RAM 55 cpu
حافظه اصلی حافظه جانبی یا دیسک
صفحه 168:
وظايف مدير حافظه
١.جلوكيرى از تداخل برنامه ها در حافظه ى جانبى
۲جلوگیری از تداحل برنامه ها در حافظه اسلی
۳انتقال برنامه ها بین و ۲۱۸۵۹
تبدیل آدرسها : وقتى كه يك برنامه در 1۸۹۴۹20 قرار می گیرد دارای آدرسی میباشد حال وقتی این
برنامه به /(۵]منتقل میشود میتواند در هر جای (۵۷آقرار گیرد بنابراین آدرس آن نیز تغییر
میکند.
صفحه 169:
ور تا
۱آدرس فیریکی: آدرس مشاهده شده فوسط واعد حافظه را آدرس قریکی میگورند :
۲.آدرس منطقی: آدرس تولید شده توسط لا0را آدرس منطقی می گویند.
تهریل آدرس منطقی به آررس فیزیلی:
pe ae نو keis اق مر
به عمل تبريل آررس منطقی به آررس فیزیلی نلاشت (maping owl لوينر.
CPU
صفحه 170:
روشهای مختلفی که برنامه ها می توانند در ۵۱قرار گيرند:
تک برفامگی: ابتدایی ترین روش است که فقط یک برنامه در BRAM | 28,5 و اجرا میشود . اگر
حافظهی 2 کمتر از حافظهی یک برنامه باشد برنامه قابلیت بار شدن و اجرا را نخواهد داشت . بنابراین
برنامهها باید به گونهای نوشته شود که حجم آنها کمتر یا مساوی حجم ۳۹۷باشد . (در هر لحظه یک
برنامه در 2.uIRAM
برنامه هاى ROM
برنامه ها ىكارير
ole سیستع
۰ مگابایت
۰ مگابایت
قسمت آزاد حافظه که فقط یک
برنامه در آن بار میشود.
1 حافظه اصلی
صفحه 171:
به طور متال اگر فضلی قسمت آواد ۱۱۱۱مکابایت باشد و برنامه های Gos pth COS SURAT ah
برنامه را در حافظه بار کرد و لی اگر برنامه ای به اندازه ۱۱۱مگابایت داشته باشیم میتوان آن را در حافظه بار کرد و
جون فقط یک برنامه میتواند در حافظه بار شود ۱۱٩مگابایت حافظه به هدر میرود.
برنامه با اندازه ١٠٠مكابايت
Sore } :1
٩۰۰ مگابایت حافظه خالی میماند و به
هدر میرود:
۰مگابایت
5ب ۳
صفحه 172:
تک برنامکی با قابلیت overlay
در لین روش برنامه به بخشهای مختلفی تقسیم شده و تنها آن داده و دستورالعملهایی را در ۵7۷/*آقرار میدهیم که
مورد نیاز هستند و بقیهی بخشها در 1/۲۹]0اباقی میملند هنگامی که به بخشهای دیگری از آن برنامه نیاز داریم
قسمتی که موره نیار نیست از CERAM شده و قسمت مورد نیا از شلك الفط آورده میشود یک مزیت
لین روش لین است که پردازش میتولند بزرگتر از حافظه ی SURAM اما مشکلی که دارد لین است که خودکار
فیست چرا که این آکنیک توسط خود برتلمه تویس در برنامه پیاده ساری میشود . همچنین عیب درگر این است که
ورودی و خروجی قسمت های مختلف برنامه بین ۱۵۸۲0و لان)موجب اتلاف وقت میشود
صفحه 173:
در هر لحظه یک برنامه داخل /۵/است و فقط قسمتهای مورد نیاز در حافظه با میشوند البته اگر حافظه جا
داشته باشد میتوان کل قسمتها را به حافظه آورد.) این روش در سیستم عامل 2005]کاربرد داشت و در سیتسم
های امروزی کاربرد ندارد.
as طور مثال اگر برنامه ای به اندازه ۱۲۱۱مگابایت داشته باشیم و حافظه آزاد 2۷اب اندازه
۱ مگابلیت باشد میتوان برنامه رابه عقسمت ۲۱۱مگابایتی تقسیم کرد و ابتدا فقط ۵قسمت یعنی
۱ مگابایت آن را داخل حافظه بار کرد سپس در صورت نیاز به قسمت عام یکی از قسمت ها را از
لاا خارج کرده و قسمت ۶ام را داخل حافظه آورد.
صفحه 174:
قسمت آزاد حافظه که فقط ۵ قسمت که بدا
دارم ۰۰۰ ۱مگبیت است هر آن بر مشود
ولی قسمت ام در هارد ياقى ميمائد در
وود به قسمت ۶ باید یکی از ۵
خارج و قسمت عام را /8۸۸قسبت از
جای آن داضل حاقظه آود
اقسمت١ برنامه. ١٠ مكابايت
أقسمت 7 برنامه 00 7مكابايث
Eye ogy Se
قسمت ۴ برنامه. ۰ امگابلیت
قست ۵ برنامه۰ ۰ ۲مگایایت
۲ حافظه اصلى
Dara
ادر هارد باقى ميمائد
صفحه 175:
چند برنامکی یا بخش بندی ثابت حافظه 8۵۱ (بخش بندی ایستا)
در لین روش حافظه یا ]را در ایتدا تقسیم بندی میکنیم و اندازهی قسمت ها می تولند مساوی یا متفاوت باشد . نکتهی
مورد توجه این است که تقسیم حافظه در SRAM هنگام شروع کار سیستم به صورت دستی توسط اپراتور انجام میشود .
وقتی یک کار بخواهد به ۵۷/آورده شود در یک صف قرار می گیرد و در بخشی از فضای Cel oj] SRAM قرار
میگیرد.مشکلی که لین روش دارد لین است که اگر به تعداد ۳۱برنامه داشته باشیم و حافظه ۵ب ۱۱قسمت تقسیم شده
باشد فقط به تعداد ۱۱برنامه از ۳۱برنامه رن هم به شرط اینکه اندازه قسمت ها بزرگتر یا مساوی اندازه برنامه ها باشد)را
میتوان به حافظه اصلی آورد و اجرا نمود بنابراین ۱ ۲برنامه دیگر تا زمان اتمام ۱۱برنامه اول باید منتظر بمانند در واقع با اتمام
یک برنامه فضای آن در ۵/۷/آزاد شده و برنامه دیگر میتولند از aHARD ۵0۷]آورده شود. برای حل لین مشکل از روش
مبادله استفاده میکنیم.(در هرلحظه چند برنامه داخل ۵۷ات و هر برنامه باید به طور کامل در حافظه بار میشود).
صفحه 176:
IK
4K
8K
(b)
Sa ۰
Ga Gla تقسیم حافظه
يك صف ورورى
۰ مگایت
0
تقسيم حافظه يا اندازه هلى متفاوت
11
4K
8K
[-——>|
صف های وروری
نا
صفحه 177:
به طور مثال اگر پردازشهای ۴2,۳3,۳4,۴5,۳6,۳7,۳8,۴9 ,1 طبه ترت
شوند و حافظه مورد نیاز هر یک بر اساس جدول زیر باشد:
از 1 آوارد صف
چون 1به اندازه ۵۱۱مگابلیت میخواهد هلی اندازه بزرگترین بخش ۴۱۱مگابلیت است بنابراین
1 را نمیتوان در حافظه بار کرد و نمیتولند اصلا اجرا شود چون اندازه آن بزرگتر از قسمت های
حافظه است و در هیچ کدام از قسمتها نمیتواند بار شود. پردازش بعدی در صف پردازش
2"میباشد و به اندازه ۲۱۱مگابایت حافظه نیاز دارد کر ور حافظه که
صفحه 178:
بتابرلین در قسمت سوم سافظه که ۲۱۱مکابلیت است قرار میگیرد. پردازش EPS pan ۵۱مگابایت حافظه نبا
دارد بابراین در قسمت حوم حافطه که کوچکترین مکان مناسب برای 3 ااست قرار میگیرد و نکته مورد توجه لین است
که ۵۱مگابلیت خلی میماند و نوعی حافظه هرز است. در تقسیم بندی حافظه با اندازههای متفاوت حافظه به صورت زیر
خواهد بود.
پردازش بعدی 4با اندازه ۱۵۱میباشد که در قسمت ۴ام حافظه که به اندازه ۳۱۱مگابلیت است قرار میگیرد و
۱ مگابایت قسمت ۴خللی میملند و به هدر میرود. پردازش بعدی 5است که با توجه به اینکه ۵۱۱مگابایت
حافظه نیاز دارد نمی توان لّن را در حافظه بار کرد.پردازش بعدی 6است که با توجه به اينکه به اندازه
۱مگابایت حافظه نیاز دارد در قسمت اول حافظه قرار میگیرد.
صفحه 179:
اول اینکه برنامه نویسان در ابتدا بلید به اندازه های قسمتهای حافظه توچه کنند و سپس برنامه بنویسند در وقع اندازه برنامهها
بلید کوچکتر یا مساوی اندازه قسمتهای حافظه باشد و در غیراینصورت برنامهها نميتوانند اجرا شوند. دوم اينكه با اينكه بردازش
8طبه اندازه ۷۱مگابلیت حافظه نیاز دارد و در /2۵دو قسمت ۱۱۱ مگابایتی و ۱۵۱مگابایتی داریم نمیتوان 88را داخل
حافظه بار کرد همچنین در مورد پردازش 9آنیز چنین است. بنابرلین پردازش های ۳9, 1,۳5,۳6,۳7,۳8"بلید منتظر
بمانند تا حافظه مورد نیاز آنها خللی شود. از این روش به دلیل اتلاف زیاد Ble
شود
به انزه ۴۰۰ مگابیت ۳6
~ 77.7 ۷۱۳۳ 1
صفحه 180:
مبادله ساده :در روش قبلی وقتی یک برنامه وارد یک قسمت ميشود تا زمانی که تمام نشود در آن قسمت باقی
میماندبنابراین وقتی برنامهها وارد قسمتهای آزاد ]۷[ آمیشوند تا زمانی که اجرای آنها تمام نشود نمیتوانند از
1 خارج شوند بنابراین برنامههای دیگر دارای مشکل گرسنگی میباشند . در روش مبادله هر برنامه به طور کامل به
درون یک قسمت حافظهی اصلی آورده ميشود ۰ و در آنجا مدتی اجرا میشود و سپس دوباره به دیسک منتقل میشود و
برنامهی دیگری جای
آن را مى كيرد .
عیبی که این روش درد این است که گنه است را دیگری لن این است که درصد + کرگری ۱0
کاهش می دهد . (در هر لحظه چند برنامه داخل ]3/4[۷است و هر برنامه به طور کامل در حاقظه بار میشود)
صفحه 181:
چند برنامگی به صورت تخصیص همجوار (بخشبندی پویا
در این روش حافظه از قبل بخش بندی نمیشود بلکه بر اساس زمان job oe lal
برد از
ورود پردازشها به اندازه ی حافظه مورد نیاز به آنها حافظهی 3
A 4k ۱
"تخصیص داده میشود در اين روش در هر زمان لیستی از
۲ 2
اندازهی بلوکهای آزاد و یک صف ورودی داریم در این روش ee ok
پردازشها به ترتيب در صف ورودى قرار ميكيرند و تا هنكامى كه 1 Bb 6k
حافظهی مورد نیاز آنها آزاد نباشد پردازشها باید منتظر بمانند . 3 ig 6k
به طور مثال فرض کنید ۸۵پردازش زیر را که به ترتیب از 1 آوارد 3 ۳
سیستم شده اند را داشته باشیم. و 8/[۷1آدر ابتدا به صورت زیر
wok
صفحه 182:
زمان اجرا ] حافظه موردنیاز 21
۰ مگابایت بر | بزارشیا
۳ 0سگابایت Pi
۵ 0 مگابایت Ps
Ye 0 مكابايت 7
۰مگابایت
1 0 مكابايت Py
Yo 0مگابایت Ps
RAM
صفحه 183:
ابتدا 1 وارد حافظه شده و به اندازه ۶۱۱مگابایت را اشغال میکند سپس 2آچون حافظه مورد نیاز را ندارد بايد
منتظر بماند پردازش بعدی 3است و چون ۴۱۱مگابایت خالی داریم میتواند وارد حافظه شود .اما پردازش های
5 ,4 نیز نمیتوانند در حافظه بار شوند.
صفحه 184:
پردازش 31 بعد از ۱۰ ثانیه خارج مشود و۶۰۰ مگابایت حافظه آزاد میشود از بین پردازش های۳2,۳4,۳5 بترتیب صف چون
2 به میزان ۱۰۰۰ مگابایت نیاز دارد وارد حافظه نميشود ولی یکی از پردازش های 34 و 5 میتوانند ورد حافظه شوند و
چون 34 زودتر وارد صف شده وارد حافظه میشود Gul pls خواهیم داشت.و چون برای پردازش های 72,۳5 حافظه نداریم بايد
منتظر باشند تا حافظه خالی شود
صفحه 185:
روشهای تخصیص حافظه :
First fit -) در این روش مدیر حافظه با دریافت یک تقاضای حافظه اولین بخش آزاد حافظه را که به اندازهی اعلام شده
گنجایش داده باشد تخصیص میدهد شروع جستجو برای یافتن فضای آزاد مناسب از ابتدای لیست یا حافظه صورت می
گیرد بدین ترتیب تراکم فضای اشفال شده در اول حافظه بیشتر خواهد بود . مثال:فرض کنید حافظه 1۸1 به صورت
۳۳۳
زیر باشد.
صفحه 186:
اگر پردازش 1 درخواست حافظه ای به اندازه ۴۵۰ مگابایت بکند از ابتدای حافظه به اندازه ۴۵۰ مگابایت به آن تخصیص می
ص
يابد.و اكر يردازش 272 تقاضاى 5٠٠ مكابايت کند در بخش ۴۰۰ مكابايتى بار ميشود.
1 مگابایت
۵ مگابایت آزاد
۰ مگابایت آزاد
2 با اندازه ۴۰۰ مگابایت
۱مگابایت آزاد
صفحه 187:
gel: NEXT FIT ۲ روش مانند روش قبلی است با ان تفاوت که جستجو در حافظه اصلی از مکانی آغاز میشود که آخرین بار
تخصیص از آن محل صورت گرفته است بدین ترتیب یکنواختی توزیع برنامه ها در سطح حافظه نسبت به روش قبلی بیشتر
خواهد بود.برای مثال در مثال قبلی اگر پردازش 96 به اندازه ۱۰۰ مگابایت حافظه در خواست کند در روش ۳1۳ ۳1857
یص به صورت زیر خواهد بود. چرا که جستجو برای مکان آزاد از ابتدای لیست خواهد بود.
1 مگابایت
۵۰ مگابایت آزاد
كع
با اندازه ٠٠١ مكابايت 66
2 با اندازه ۴۰۰ مگابایت
758 ee FR ORR SS
صفحه 188:
اما اگر از روش NEXT FIT استفاده کنیم حافظه بعد از تخصیص به صورت زیر خواهد بود.چرا که جستجو برای یافتن حافظه
مناسب و آزاد از مکان تخصیص قبلی صورت خواهد گرفت در شکل زیر تخصیص قبلی با فلش نشان داده شده بنابراین اولین مکان
مناسب بعد از تخصیص قبلی ۱۰۰ مگابایت آخر حافظه میباشد.
1 مگابایت
۰ مگابایت آزاد
صفحه 189:
۳ 19175۲ : در اين روش کل لیست فضاهای آزاد جستجو شده و کوچکترین حفره که پردازش می تواند در آن جای
گیرد به پردازش تخصیص داده میشود + و مزایای اين روش این است فضاهای بزرگتر برای تقاضای بیشتر حافظه میشود اما بدلیل
اینکه تمام لیست بلوکهای آزاد برای یافتن کوچکترین فضای مناسب باید بررسی شود این تکنیک زمان بر است .
۴ 9۲( ۷۷: در اين روش کل لیست فضاهای آزاد جستجو شده و بزرگترین حفرهی موجود به پردازش داده شود
در روش فبلی به اين دلیل که حفره های کوچک بلا استفاده به وجود میآمد حافظه به هدر میرفت ولی در اين روش مشکل
روش قبلی وجود ندارد. ایراد این تکنیک آن است که امکان دارد تقاضاهایی که ناحیه بزرگی میخواهند نتوانند برآورده شود چرا که
بلاک های بزرگ زودتر تخصیص يافته و کوچک میشوند . برای مثال در صورتی که پردازش 36 حافظه ۲۰۰ مگابایتی بخواهد و از
BEST FIT استفاده کنیم در قسمت ۸ (کوچکترین قسمت مناسب)بار میشود ولی اگر از روش 1717 10187 استفاده کنیم
در قسمت 3 (بزرگترین قسمت )بار میشود.
صفحه 190:
۳۳۳ rere
۰ مگابایت آزاد
اشفال شده
۰ مگابایت آزاد
صفحه 191:
Quick fits : در اين روش برای هر دسته از پردازشهایی با اندازه های متداول یک لیست جداگانه تهیه مى شود مثلا اين
الگوریتم دارای جدولی با 1 خانه است که خانهی اول اشاره گری به ابتدای لیستی شامل حفره های 4 بایتی است و خانه ی دوم
اشارهگری به ابتدای لیستی شامل حفره های 81 بایتی است و ...۰ با این الگوریتم پیدا کردن حفرهای با اندازهی مناسب بسیار سریع
است ولی عیب آن این است که اگر پردازشی خاتمه پیدا کند باید فضای آزاد شده آن به لیست مناسب اضافه شود که این کار زمان
بر است .
۶ رفاقتی ۷005 : در این روش همهی بخشهای حافظه قطعاتی که توان ۲ هستند تقسیم میشوند و برای هر گروه یک لیست
جداگانه در نظر گرفته میشود بدین ترتیب جهت تخصیص یک بلاک تنها باید بلاک مورد نظر را از لسیت مناسب خارج کرد. پس از
تخصیص اگر فضای باقی مانده آن بلاک توانی از ۲ باشد در لیست مربوطه قرار گیربنابراین اندازه حفره ها میتوانند ۲۴ ۸ ۱۶
۲ ۶۴ ۰۱۲۸۰۲۵۶ ۱۰۲۴۰۵۱۲ باشد.
صفحه 192:
روش۴۲ 00161
صفحه 193:
وش رفاقتى
مثال. با قسمت هائى از حافظه به انرازه هائی 1001 , :5001, 2001 ۰ 3001 , 600 هر يك از روش هاى اولين جاى مناسبء بهترین بای مناسب و برترین
بای متاسب بررازه هائى با انرازه /212 , 417, /112, 4264 را پلونه در مافقه قرار م رهنر وكرام روش از حافظه به طور بهينه استفاره ه ىكتر. ترقيب ورود برذازه
ها را يك بار از راست به جب و يك بار از هب به راست يلير
ليست ففای آراو ترتیب پرراژه ها از چپ به راست
الف. اولین مناسب: در عالت از cul,
ولین) مناسب: در عالت از جب به را ليست ففای old ترتیب پررازه ها از راست به چپ
پررازه 426 پایر منتظر بمانر
ليست فقلى آزاد ترثيب يروازه ها از جب به راست
ب. بهترین متاسب پزرازه ها از راست به چپ
ترتیب پرراژه ها از هپ به راست
صفحه 194:
بلوک خالی به اندازه ۱۰۲۴ مگابایت 77
مروت ۳۱۳100 512 256 8 ۶1-۱۰۰
خواست ۳2-240 سس سچجد
ae 512 8 | ۲1-128
صفحه 195:
مدیریت فضاهای آزاد: مدیر حافظه در هر لحظه باید بداند که کدام قسمت حافظه آزاد و کدام قسمت استفاده شده است
بدین منظور می توان از دو روش نگاشت بیتی و ليست پیوندی استفاده کرد .
روش نگاشتی بیتی: در اين روش حافظه به چندین واحد تقسیم می شود اندازهی اين واحدها میتواند به کوچکی چندین
کلمه یا به بزرگی چندین کیلوبایت باشد به طور مثال 18۷1 ۲۰۰ کیلوبایتی را می توان به ۱۰۰ واحد ۲ مگابایتی تقسیم کرد و
متناظر با هر واحد یک بیت در جدول نگاشت در نظر گرفت برای این مثال جدول شامل ۱۰۰ بیت است اگرواحدی استفاده شده
باشد بیت متناظر با آن یک و اگر آزاد باشد صفر است در حالی که بخواهيم یک پردازش را به صورت پیوسته در حافظه بار کنیم
باید به اندزهی حافظه مورد نیاز پردازش بیت های متوالی صفر در جدول پیدا کنیم.
از مور ار بردارس + ای متوالى ضعر در جدول. +
صفحه 196:
0 آ_ 08 اق
Pi
Pi
Pi
PL
3k
2k
4k
5k
Ik
Ik
صفحه 197:
روش لیست پیوندی: در اين روش یک لیست پیوندی از قطعههای آزاد و تخصیص یافته حافظه تشکیل میدهیم به عبارت
دیگر هر گره در این لیست نشان دهندهی فضای آزاد یا تخصیص يافته حافظه است اگر حرف اول آن 13 باشد یعنی فضا پر است
ولی اگر 9 باشد یعنی فضا خالی است و برای یافتن فضای آزاد از ابتدای لیست شروع کرده و گره هایی که حرف دارند را بررسی
می کنیم .
8 | م
Salil ety iP به كر يعرى جسم |اترازه أممل شروع حافظه
PIH
صفحه 198:
برخی از مشکلات مدیریت حافظه:
الف) پارگی (تکه تکه شدن) خارجی و پارگی داخلی:
پارگی خارجی به این معناست که مجموع فضاهای آزاد مقدار زیادی است و به اندازه یک فرآیند هست ولی از آن جا که
حفره
ها پراکنده هستند و همجوار هم نیستند نمی توان پردازش را در حافظه بار کرد. این مشکل بیشتر در روش بخش بندی
ایستا
یستا و
روش ت۳1 تا175آرخ می دهد. : مثال در پارگی خارجی اگر مجموع حفره ی آزاد ۲۵۱مگابایت باشد ولی حفره ها
پراکنده باشند
یک پردازش با حافظه ی مورد نیاز ۲۵۱مگابایت را نمی توان در این حفره ها جای داد بنابراین این حفره های آزاد حافظه
بلااستفاده هستند همانطور که در شکل زیر دیده میشود مجموع حافظه های آزاد ۲۵۱مگابایت است ولی پردازش 1با
حافظه
مورد نیاز ۲۵۱را نمیتوان در حافظه بار کرد چون حفره ها پراکنده هستند و باید برنامه به صورت پیوسته در فضای پشت
سرهم
اا
ادغام شده و
صفحه 199:
حفرهی یک پارچهی بزرگی را ایجاد می کنند البته فشردهسازی حافظه عملی زمان بر بوده و در صورتی امکان
پذیراست که بیوند. آدرس حافظه. در زمان اجرا باشد.
مجموع حفره های آزاد ۲۵۰ است ولی نمیتوان
پردازشی با حافظه مورد نیاز ۲۵۰ را در حافظه بار
کرد
۰۰ مگابایت آزاد
۰ مگابایت آزاد
۰ مكابايت آزاد
صفحه 200:
مشکل پارگی داخلی با یک مثال :
فرض کنید حفره ای با اندازه ی ۴عبایت داشته باشیم و پردازش 1 به ۲عبایت حافظه نیاز داشته باشد در اثر
تخصیص حفره ای به اندازه ی ۲بایت باقی می ماند که سر بار حاصل از تعقیب این حفره یعنی حفره ۲بایتی قابل
توجه تر از این سفره است لذا مفطتی است که از این حفره کوچک ۲بایتی صرف نظر کرد و آن را جوو فضای
پردازش 1 در نظر گرفت.
ب) مشکل استفاده مشترک از کد او دادهندر یک سیستم لازم است تعدادی از برنامه ها از حافظه به صورت
اشراك GS برای ys Se J که تعدادی کریر از یک ee Ss ole)
استفاده از یک کپی کامپایلر توسط تمام کاربران دارای فولید زیادی هم از جهت حافظه و هم از نظر زمانهای مبادله
است ۰ زیرا دیگر لازم نیست که در هر بار یک کپی از کامپایلر به همراه هر پردازش به داخل یا خارج حافظه مبادله
a? ران انك بون ار امه اجه صورت اشتراکی اد کرد این برنامه باه دو فرط دنه باشد : برنامه سا رده
هیچ وجه خوه اصلام تراشنه و دیگر اینکه دادههای برنامه جدا از خود برنامه که داشته شوند.
صفحه 201:
روشهای ذکر شده برای قرار گرفتن برنامه در ( ]تک برنامکی . تک برنامگی با Sali aie OVERLAY. 9
مشکلاتی ( پارگی خارجی و داخلی . پراکندکی استاتیک و دینامیک » مشکل استفاده مشترک از کد و داده )را داشتند.
روشهایی که مشکلات بیان شده را برطرف میسازند:
قطعه بندی :در این روش برنامه (نه حافظه )]۷[آبه چند قطعهی منطقی تقسیم ميشود و این قطعات میتوانند در هر
کجای حافظه به صورت غیر همجوار قرار گیرند (ولی در روشهای قبل باید کل برنامه به صورت همجوار در فضای پشت
سرهم درحافظه قرار می گرفت) بنابراین در قطعه بندی برنامه را به قطعه هایی تقسیم میکنیم و هر قطعه در هر فضای آزاد
حافظه که جا شود قرار میگیرد و مانند روشهای قبلی نیاز نیست برنامه به صورت همجوار در حافظه قرار گیرد . نکته ی
مورد توجه این است که در قطعه بندی همه قطعات برنامه باید در حافظه ]۵[۷آبار شود و گرنه برنامه اجرا نخواهد شد .
صفحه 202:
تفاوت قطعه بندی با روش های قبلی: نیاز نیست پردازش به صورت همجوار در ]۸1 قرار گیرد.
شباهت قطعه بندی با روش های قبلی : باید کل برنامه در ]30۷ بار شود وگرنه اجرا نمیشود.
صفحه 203:
صفحه 204:
در قطعه بندی برای هر پردازش یک جدول قطعه داریم که با استفاده از آن تبدیل آدرس منطقی به
فیزیکی انجام میشود.جدول زیر جدول قطعه مربوط به پردازش 1 "میباشد.
آدرس شروع قطعه در حافظه اصلى | طول قطعه | شماره قطعه
Vere ۱۴۰۰ ۱
Fee ۳۶۰ 1
fee ۴۳-۰ ۳
هه ۲۲۰ Wee ۴
Vere ۳۷۳.۰ ۵
صفحه 205:
حال برای دسترسی به خط ۸۰۰ قطعه ۴ باید به این صورت عمل میکنیم . چون قطعه ۴ از آدرس ۳۲۰۰ حافظه ذخیره شده
است بنایراین خط ۸۰۰ قطعه ۴ در آدرس ۴۰۰۰ حافظه است ۴۰۰۰ - ۳۲۰۰۸۸۰۰
حال اگر بخواهد به آدرس ۵۰۰ قطعه ۲ دسترسی پیدا کند خطا رخ میدهد چون قطعه ۳ کلا ۴۰۰ خط(طول قطعه) داریم.
آدرس شروع قطعه در حافظه اصلى | طول قطعه | شماره قطعه
1۴ 1 ۱
Tee ۴ ۲
Free ۴ ۲
a 1 1
صفحه 206:
ویژگیهای قطعه بندی:
۱)در قطعه Gay اندازه قطعات برنامه میتواند متفاوت باشد .
۲)در سیستم قطعهبندی یک رجیستر مبنای جدول قطعه به نام +1181 5به ابتداى جدول قطعه
اشاره می کند در واقع 01011 وقتی بخواهد به یک برنامه سوئیج کند و آن را پردازش کند
نیز باید به جدول قطعه ی all برنامه اشاره کند .
۳)در جدول قطعه علاوه بر ستونهای(طول قطعه و آدرس شروع قطعه ) یک سری بیتهای کنترلی
و حفاظتی نیز وجود دارد
برای مثال برای هر قطعه میتوان مشخص کرد که آن قطعه خواندنی است یا نوشتنی و در صورتی
که قطعهای خواندنی باشد دیگر نمی توان چیزی روی آن نوشت (مثلا ویروسها دیگر
صفحه 207:
.در قطعه بندی امکان به اشتراک گذاشتن بعضی ار 3 حر دارد مثال اكر دو برنامه داشته باشيم که هر دو به
۴در قطعه بندی امکان به اشتراک گذاشتن بعضی از وجوه دارد مثال اكر هو نامه داشته باشیم که هر دم
قطعه ی نیاز داشته باشند نیاز نیست برای هر برنامه قطعهی 6را جداگانه در حافظه ]0/۵1۷ آداشته باشیم و میتوانیم
برای هردو برنامه یک قطعه )در ]۵[۷آوارد کنیم .
۳
i}
قطعه ۴
|
صفحه 208:
۵)در قطعه بندی نیز مانند روشهای قبلی پارگی خارجی داریم یعنی ممکن است فضای آزاد داشته باشیم
ولی هیچ قطعه ای در آن جا نشود.
یی قوان با استفاده از بتهای حفاطتی از بعصی از قطعات در برایر ل نم ود
صفحه بندی :در این روش حافظه ی ]8/8[۷به بلوکهایی با اندازه های یکسان و ثابت به نام قاب تقسیم بندی می
شود و برنامه نیز به بلوکهلیی با اندازهی یکسان با قابهابه نام صفحه ها تقسیم بندی می گردد ۰ در لین روش باید
همه ی eee امد ید حافطهی اسلي آورده شید و داحل قاهای حللی که لروما حور دس قزر کرند و
نکته ی مورد توجه لین است که دیسک نیز به بلوکهلیی با اندازهی ثلبت همانند قابهای حافظهی اصلی تقسیم می
شود . (در روش قطعه بندی فقط برنامه به بخشهای مختلفی تقسیم می شد اما در این روش هم برنامه و هم
حافطه اسلی سیم می شون در ای تکنیک iene Jue
صفحه 209:
RAM
جدول صفحه
شماره قاب حافظه كه صقحه در آن قرار دارد
Pl برفازش
صفحه 210:
ویژگی های صفحه بندی:
۱- پارگی خارجی نداریم ولی پارگی داخلی داریم برای مثال اگر اندازه برنامه ۳۴ بایت و اندازه ی صفحه ها ۶ بایتی باشد بايد
۶ صفحه به آن تخصیص دهیم که صفحه آخر ۲ بایتش خالی میماند.
۲- اگر برای کم کردن میزان پارگی داخلی اندازه صفحه را کوچک در نظر گیریم آنگاه تعداد صفحات زیادتر شده و اندازه
جدول صفحه و زمان تبدیل آدرس افزایش مییابد.
۳- اگر جدول صفحه کوچک باشد میتواند داخل ثباتهای 011 قرار گیرد. به ثباتهایی که جدول صفحه در آن قرار
میگیرد ۳۸۴ گفته میشود . البته امروز جدول صفحه بسیار بزرگ است و نمی توان آن را داخل ثبات 0۳۷ قرار داد و
بهتر است در 18411 قرار كيرد و يك ثبات مبنای جدول صفحه به نام PTBR به آن اشاره کند.
صفحه 211:
؟-. در جدول صفحه نيز از بيتهاى كنترلى و حفاظتى استفاده مى شود :
ه-. در صفحه:بندى نيز امكان اشتراك كذاشتن صفحدهايى بين برنامةها وجود ذازة ولى تسبت به قطعفيندى ظعيققر اسك
ع-. قطعهبندی و صفحهبندی که ذکر شدند هر یک مشکلات و مزایایی دارند برای همین از ترکیبی از آنها استفاده می شود.
در قطعهبندی و صفحهبندی حتما باید کل برنامه به حافظه آورده شود بنابراین اگر اندازهی برنامهی از اندازه ی pS) RAM
باشد برنامه نمی تواند اجرا شود برای حل این مشکل در ادامه صفحهبندی و قطعهبندی مجازی را بیان می کنیم .
رتم نمی واد كرا سود بر ۵ ين 23 24 سس ی را بیان می
صفحه 212:
روش صفحه بندی نیازی Demand Paging)
در این روش ترکیبی از تکنیکهای صفحه بندی و مبادله استفاده مشود در روش مبادل» تمامی ظرفیی فرایند بین حافظه
جانبی و اصلی نقل و انتقال میشود. لبیکن در روش صفحه بندی براساس نیاز تنها صفحاتی از فرایند که صرفا به انها
نیاز باشد به حافظه منتقل میشود.
نقص صفحه فقدان صفحه ) (الا۴۵ ۴۵96
چناچه فرایند صفحه ای را بخواهد )به صفحه ای مراجعه کند که در حافظه اصلی موجود نباشد نقص
صفحه یا ]۳۵۱1 cul ols ¢,Page
ناهنجاری بلیدی
در برخی حالات مکانیزم 1۳00 حتی با وجود قاب ازاد بیشتر و از انجائیکه این امکان وجود دارد که
صفحه a شده ae از se باشد که مرکز مراجعات زیادی است الگوریتم مناسبی نیست. در ضمن با افزایش
Beladys anomal : 5
صفحه 213:
الگوریتم سالخوردگی ۵9109
با شبیه سازی الگوریتم لا*افعال ميشود. برای هر صفحه شمارنده ای را در یک جدول نگهداری ميکند.
در مفا زماني معن وقنه ای به اسر بت ال کترل عملات به .سم عامل ایساد مشود |
شمارنده سک رت به راست شفت داده شود تست را
يرود و بيت oe Lees
موسوم به یا 6]6۲6۳60 ]یا بیت مراجعه پر ميشود. بعنوان مثال اگر محتوای شمارنده يك صفحه
برابر ۰۰۰۱۱۰۱۱۱باشد و بيت *آنیز اباشد با گنر از وقفه تایمر محتوای شمارنده برابر است با
۱ با بکارگیری این ثباتها که معمولا ۸بیتی هستند وضعیت صفحات را از لحاظ تاربخچه
عملکرد روشن مینماید.
در تنیجه صفحه ای که محنوی ثبات آن پائین ترین مقدار را دارد صفحه ای با شرایط لبود و از سافله خارج
صفحه 214:
حافظه مجازی چیست؟
هر رایانهای دو نوع حافظه دارد: یک هارددیسک یا درایو 50 که برای ذخیره فایلهای سیستمعامل. عکسهاء
موسیقی و اسناد استفاده میشود و نوع دیگر حافظه 2/۵۷ نام دارد که برای ذخیره دادههای خاص مرتبط با برنامههای
در حال اجرا مورد استفاده قرار میگیرد. هارددیسک برای ذخیرهسازی موارد بلندمدت مناسب است در حالی که RAM
بسیار سریعتر است و دادههای آن نیز فزار است. در واقع رم به عنوان یک ناحیه کاری برای برنامههای در حال اجرا و
فایلها باز استفاده میشود.
حاففه مجازی در لین میان مفهومی است که پلی بین لین در نوم حافنله برقرار میسارد و سار مفید است. آکر شما
از همه ظرقیت رم موجود خود استفاده کرده باشیده سیستم شروع به استفاده از حافظه مجازی میکند تا لین حافظه
را گسترش دهد. حافظه مجازی به نام فایل سواپ 5۷30 نیز نامیده میشود. سیستمعامل این کار را از طریق
استفاده از بخشی از هارددیسک به جای رم انجام میدهد. بدین ترتیب سیستم میتواند برنامههای بیشتری را
بربت گنف که در غیر لین صورت با مشکل مواجه ميشده اما حافطه هاردهیسک بسرار کفتتر از رم است و بتابراین
مشکلهای عملکردی ایجاد میکند.
زملنی که حافطه رایلنه اشعال ميشود. فایل سواپ وارد میذان میشود. برخی از دادههای ذخیره شده درون رم به
کابل سواب انتقال میبانند تا فضای اضافی برای کار کردهابی که به حافظه با سرعت بالا نیاز دارند باز شود.
صفحه 215:
حافظه مجازی
تکنیکی است که اجازه می دهد بدون این که کل برنامه در حافظه اصلی قرار گیرد اجرا شود.
مزیت مهم اين روش این است که اجازه می دهد برنامهها بزرگتر از حافظهی اصلی باشد. در واقع در تکنیک صفحه بندی
مجازی و قطعه بندی مجازی کل برنامه به حافظه آورده نمی شود و فقط قسمت های از برنامه( قطعه ها یا صفحه هایی) که مورد
نیاز هستند به حافظهی اصلی آورده می شوند .
در حین اجرا چنانچه قسمنی از برنامه نیاز باشد که در حافظه اصلی موجود نباشد باید ابتدا از
حافظه مجازی به حافظه اصلی اورده شود. حافظه مجازی معمولا با تکنیک صفحه بندی نیازی(
(۲۵919 6۲۱۵۲00 2]پیاده سازی میشود
صفحه 216:
مزیتهای حافظه مجازی
۱- چون هر برنامه فضای کمتری از حافظهی اصلی را اشغال میکند( به دلیل اینکه کل برنامه به حافظهی اصلی آورده
نمیشود و بخشهایی از برنامه ها در حافظه مجازی روی هارد قرار می گیرند) برنامههای بیشتری همزمان میتوانند در
حافظهی اصلی قرار گیرند و بنابراین کارایی قا0 بهتر میشود .
۲- اندازه ی برنامهها می تواند بزرگتر از حافظه اصلی باشد چون لزومی ندارد کل برنامه در حافظه قرار گیرد .
۳- عملیات (ورودی و خروجی) کمتری جهت بارگذاری و یا مبادله هر برنامه لازم است چون مثلا اگر حجم برنامه ۵۰۰
مگابایت باشد و فقط ۲۰۰ مگابایت آن را داخل حافظهی اصلی بياوریم به جای ۵۰۰ مگابایت ورودی و خروجی به میزان
۰ مگابایت ورودی و خروجی خواهیم داشت .
صفحه 217:
انواع حافظه مجازی
* :0 كش باان
©2820 قرار مى كيرند. ۲
is Segment: * با اندازه متغیر یا100[65ظ ۷۵۲18016-6 یک آدرس واحد را نمی توان به
566 اختصاص داد چون اندازه آن ثابت نیست.
o3Offset; page number «s fixed-Size block. s,L -t
paging
ا متسه ] oT
cache
Data
صفحه 218:
نکته : حافظهی مجازی معمولا با تکنیک صفحهبندی نیازی" پیادهسازی میشود هر چند با تکنیک قطعهبندی نیازی" نیز
میتوان آن را پیادهسازی کرد ولی چون پیچیدهتر است کمتر استفاده میشود .
صفحه بندی نیازی : در این روش. در ابتدای کار, تعدادی از صفحههایی که مورد نیاز هستند به حافظهی اصلی آورده میشوند و
بقیه در حافظهی سخت یا 1870 باقی میمانند و در صورت نیاز به حافظه اصلی آورده می شوند .
مثال : همانطور که در شکل زیر دیده میشود در ابتدا فقط صفحه های "۸,6,1 در حافظهی اصلی بار میشوند. زمانی که از
حافظه مجازی استفاده میشود به جدول صفحه یک ستون So اضافه شده میشود تا مشخص کند کدام صفحات در حافظه اصلی
* Demand paging
* Demand Segmentation
صفحه 219:
مثال : همانطور كه در شكل زير ديده مىشود در ابتدا فقط صفحه هاى ,8,0 در حافظدى اصلى بار مىشوند. زمانى كه از
حافظه مجازى استفاده مىشود به جدول صفحه يك ستون ديكر اضافه شده ميشود تا مشخص كند كدام صفحات در حافظه |
ازی ۳9 5 پیب مسون 2 میسو متحي نذا ار
هستند و کدام در حافظه اصلی نیستند اگر صفحهای در حافظه اصلی باشد (معتبر یا همان ۷۵18) در ستون مربوطه قرار
میگیرد و اگر نباشد ] (نامعتبر یا 10570110)در ستور, مب بوطه قرار می ,گیر د.
RAM
بح یه
ae
صفحات برنمه
| اه ام اه ه زد
اس
==>
صفحه 220:
RAM جدول صفحه صفحات برنامه
معتبر یا نامعتبر ] شماره قانب
>| “
1 9
۱ ۴ v
D x x
A
7 ك۳۱ Vv
» F ۴ 1
Cc
۵ 1
۶ 4 v
صفحه 221:
حال وقتی لام) نیاز به یک صفحه پیدا میکند در ابتدا به جدول صفحه مراجعه میکند و با استفاده از ستون دوم بررسی میکند
که آیا آن صفحه در حافظه اصلی است یا خیر. اگر در حافظه اصلی بود(بیت آن ۷ باشد) شماره قابی که صفحه روی آن قرار
گرفته را پیدا نموده و لاه به آن قاب مراجعه میکند ولی اگر بیت آن 1 بود یعنی صفحه در حافظه اصلی نیست و اصطلاحا
خطای نقص صفحه رخ میدهد حال باید ابتدا یک قاب آزاد در حافظه اصلی (/۵/۷/)پیدا نموده و به حافظه جانبی (HARD)
مراجعه کند و صفحه مورد نیازش را داخل قاب آزاد بار کند.
صفحه 222:
نکته: اگر در حافظه اصلی قاب آزاد نداشته باشیم و همه قاب ها پر باشند و بخواهيم یک صفحه داخل حافظه اصلی
اور اد کی فا هاراازد نم ی eS رل رو رده و مش سورد تسار ee lif ees os arcs
بیاوریم اين مفهوم جایگزینیصفحه نامیده ميشود و الگوریتم های مختلفی برای آن وجود دارد تا تصمیم بگیرد کدام
صفحه 223:
الگوریتمهای جایگزینی صفحه:
۱ ساده ترین روش است و صفحهای برای خروج انتخاب میشود که قبل از همه به حافظه آمده باشد.
۲بهینه: صفحه ای را جایگزین میکند که برای بیشترین دوره زمانی در آینده مورد استفاده قرار نخواهد گرفت.
۳ لا؟۱۱۳ (الگوریتم اخیرا استفاده نشده): در این الگوریتم. صفحانی که در آخرین وقفه ساعت لا0۳. اخیرا مورد استفاده قرار
نگرفته اند از رم خارج شده و به هارد می روند.
۴ الا (لگوریتم اغیرا کمتر استفاده شدهه در این الگوریتم: صفعحانی که در یک بازه زمانی مشخصی؛ گمتر مورد استفاده قرار
كرفته اند از رم خارج مى شوند. 7
صفحه 224:
تخصیص سراسری و محلی: وقتی که نیاز به آزاد كرد يك قاب برای صفحهای از برنامه داشته باشیم به دو طریق میتوان قاب
های ۴۵/۷ را آزاد نمود.
محلی: وقتی نیازبه آزادکردن قاب داريم فقط قاب های مربوط به خود برنامه را آزاد می کنیم.
سراسرى : در اين حالت براى آزاد كردن يك قاب براى يك صفحدى برنامه مى توانيم_قابهاى برنامههاى ديكر را نيز آزاد كنيم .
صفحه 225:
کوبیدکی :
هرگاه که اکثر زمان 607011صرف صفحهبندی شود میگوییم مشکل کوبیدگی داریم . در واقع 0011به جای
صرف نمودن زمان ly اجرای برنامهها زمان خود را صرف صفحهبندى ميكند. لين مشكل زملنى بيش ميآيد
كه تعداد برنامه ها در حافظهى اصلى بیش از اندازه باشد و بنابرلین تعداد محدودی از صفحه های هر برنامه
داخل ]۷[/آبوده و دائم نقص صفحه رخ دهد که در اینصورت کارایی []۳)بسیار کاهش می یابد . /تعداد
برنامه هلیی است که کارلیی پردازنده حداکثر است. در حللت از یکسو تعداد برنامه هاخه آنقدر کم است که
بیشتر اوقات. لان)بیکار بماند و نه آنقدر برنامهها زیاد هستند که مشکل کوبیدگی پیش بیاید.
صفحه 226:
بهره وری 40۳۲
تعداد برنامه ها
صفحه 227:
مفهوم بن بست: اگر هر پردازشی متعلق به یک مجموعه به انتظار حادثهای باشد که تنها توسط پردازش
دیگری در آن مجموعه میتواند رخ دهد . حالت بن بست پدید میآًید . در واقع حالتی که چند فرآیند منتظر
حادثهای هستند که هیچ وقت اتفاق نمیافتد و کاری در سیستم پیش نخواهد رفت. به عبارت دیگر بنبست به
حالتی گفته میشود دو یا چند کار پردازشی منتظر پایان کار یکدیگر هستند در حالی کارشان به پایان نرسد. به
طور مثال : اگر پرازش ۰ 01|چاپگر را در اختیار گرفته CD ROM. 551 Ju «1, CD ROM .p2 , att
1 02همزمان چاپگر را تقاضا کند آنگاه بن بست رخ میدهد.
۹
PL 7
FF — 8 aw) FES CR
صفحه 228:
#در هر سیستم تعدادی منبع فیزیکی و منطقی وجود دارد منابع فیزیکی مانند : چاپگر و منابع منطقی مانند :
فابل ها اگرسیستم دارای ۲جایگر باشه میگويم تيع ل ا بكر دارلی ۲ موه است دیهی است که نداد ايع
درخواستی نباید از مجموع کل منابع موجود بیشتر باشد مثال : پردازش نمی تواند تقاضای "چاپگر کند در حالی که
فقط ۲چاپگر در سیستم وجود دارد . سیستم عامل برای جلوگیری از تداخل در عملیات و به کارگیری منابع باید آن
ها را مدیریت کند و برای مدیریت هر نوع منبع به ۴ عمل نیاز دارد :
۱.در هر لحظه باید وضعیت منابع یعنی آزاد یا در حال استفاده بودن آن ها توسط تکنیکهایی مشخص
باشد .
wbY. منابع به درستی توسط سیستمعامل زمانبندی شود یعنی سیستمعامل باید بدانند در چه زمانی چه
منبعی را به کدام پردازش داده است .
۲ تخصیص واقعی منبع به پردازش در زمان معین
۴باز پسگیری منبع از پردازش, یعنی گرفتن منبع از پردازش
صفحه 229:
برای رخ دادن بن بست هر چهار شرط زیر باید برقرار باشد :
۱.انحصار متقابل : یعنی حداقل یک منبع باید غیر قابل اشتراک باشد به عبارتی دیگر فقط یک پردازش در هر زمان
بتواند ازآن منبع به صورت انحصاری استفاه کند.
۲.گرفتن و منتظر ماند
منابع اضافی تر باشد در واقع همهی منابع مورد نیاز یک پردازش را یک مرتبه و در ابتدا به آن ندهیم .
ید پردازشی وجود داشته باشد که حداقل یک منبع را گرفته و در حال انتظار برای گسب
۴.گرفتن و پس ندادن(انحصاری بودن) : منبع را نمیتوان به اجبار از پردازش گرفت و پردازش داوطلبانه پس از اتمام
کارش منبع را آزاد میکند .
۴انتظار چرخشی : باید مجموعه ای از پردازش ها 1,2,3 0[وجو د داشته باشد به طوری که 01منتظر منبعی از
2 2منتظر منبعی از 3و .......و 010[منتظر منبعی از 1([باشد.
صفحه 230:
شرایط چهار گانه کافمن برای بن بست
شرط اول : اتحصار متقابل : (Mutual Exclusion)
براساس اين شرط؛ هر منبع در آن واحد میتواند حداکثر در اختیار یک فرایند باشد و استفاده اشتراکی از
منابع مقدور نیست.
شرط دوم : شرط نگهداری , (Hold & Wait) : Wass!
براساس این شرط یک فرایند در حالی که منابعی را در اختیار دارد میتواند برای منابع جدید درخوا
داده و در صورت ازاد نبودن انها منتظر بماند.
شرط سوم : منابع بدون تخلیه پیش (Non - Preemtable Resource): pl&ie
پراساس این شرط منابع در اختیار هر فرانید باید پس از اتمام کارش و بطور داوطلبانه توسط فرایند ازاد
شوند و نمیتوان منبعی را به زور از فرایند باز پس گرفت.
شرط چهارم : انتظار چرخشی : (۷۷۵ Circular
بايد زنجيره اى از فرايند ها وجود داشته باشد. که هر یک منتظر ازاد شدن منبعی از فرایند دیگری از همین
= باشد.
صفحه 231:
گراف تخصیص منبع:
برای توصیف بنبست میتوان از گراف. تخصیص منبع استفاده کرد در این گراف پردازشها به صورت دایره و منابع به شکل
مستطیل هستند تعداد نمونههای یک منبع را به صورت نقطه درون مستطیلها نشان میدهیم هنگامی که پردازش أ نمونه ای از
منبع نوع [5] را درخواست می کند یک کمان جهت دار [*] چ- 0 از پردازش 0 به محیط مستطیل منبع ]٩[ رسم میشود
و هنگامی که نمونهای از منبع ۳ به پردازش آ تخصیص می یابد یک کمان جهت دار آ ج- [۳ از نقطهای درون
مستطيل [؟! به محيط دايره أم رسم میشود.
صفحه 232:
در گراف دور تداریم (هیچ پردازشی در بن بست نیست.)مثال ۱
اكر 1 از هر منبع یک ثمونه داریم. (حتما ین بست داریم) مثال۲
ر گراف دور داریم 1 إيا بن بست داريم مثال7
از
از هر منبع يك نمونه نداريم
یا ین بست نداریم مثال۳
اگر در گراف دور نداشتیم حتما می گوییم بن بستی وجود ندارد و اگر دور داشتیم و از هر منبع هم یک
. در غیر این صورت سراغ بررسی می رویم.
صفحه 233:
مثال۱: دور نداریم لذا حتما بن بست وجود نخواهد داشت لذا سراغ بررسی نمی رویم:
84 و انمونه 81 ۲نمونه <82 انمونه 83 ۲نمونه R={R1,R2,R3,R4} P =(P1,P2,P3}
P1— 1 P2—» R3 81-۳72 22 82-1 R3 —> P3
صفحه 234:
مثال ۲: بن بست داریم.
° 82
صفحه 235:
مثال ۲: بن بست داریم.
R3
R1
R2
صفحه 236:
مثال۴: بن بست نداریم با اينکه دور وجود داشت.
51 = @
صفحه 237:
١ پیشگیری از بن بست
با استفاده از گراف تخصیص منبع
۲ اجتناب از بن بست
با استفاده از الگوریتم بانکدار
نحوه اداره بن بست ۲ تشخیص ین بست
۴. صرف نظر کردن از بن بست(الگوریتم شترمرغ)
صفحه 238:
1 _ پیشگیری از بن بست: منظور این است که روشی بکار ببریم تا یکی از چهار شرط لازم برای وقوع بن بست يديد نيايد
مثلا (از منابع به صورت اشتراکی استفاده کنیم - همه منابع مورد نیاز پردازش را در همان ابتدا به آن بدهیم-
منابع را فرایندها پس گرفته و به فرآیندهای دیگر بدهیم- کاری کنیم که انتظار چرخشی بوجود نیاید)
۲ اجتناب از بن بست: در اين روش کاری میکنیم که بن بست بوجود نیاید در واقع کاری میکنیم که سیستم همواره در
حالت امن باشد. اگر سیستم بتواند منابع مورد درخواست پردازش ها را به ترتیبی تخصیص دهد که از بروز بن بست
یستم در حالت امن است پس اگر سیستم در حالت امن باشد هیچگاه بن بست رخ نمی-
جلوگیری شود میگوییم آ,
دهد. دو روش وجود دارد که باعث میشود سیستم همواره در حالت امن باقی بماند و بنابراین بن بست رخ ندهد(در هر دو
روش هر كاه پردازشی تقاضای منبع میکند باید بررسی شود که آیا سیستم از حالت امن خارج خواهد شد يا نه)
صفحه 239:
الف: روش گراف تخصیص منبع: از این روش زمانی استفاده میکنیم که از هر نوع منبع فقط یک نمونه وجود داشته باشدو
به اين صورت عمل ميكند. یک گراف ایجاد میشود که شامل کمان تخصیص و کمان ادعا میباشد. کمان تخصیص مربوط
به حالتی است که منبع ۹ به پردازش | تخصیص داده شود ( أم چ- [۳) کمان ادعا که به صورت
PI — — » Rj رسم میشود نشان دهنده این است که پردازش 1 ممکن است در آینده منیع ]را درخواست
کند. حال وقتی که پردازشی یک منبع را درخواست كرد بايد کمان ادعا را به کمان تخصیص تبدیل کنیم اگر در گراف
دور بوجود آمد یعنی سیستم با این تخصیص به حالت نا امن میرود و احتمال بنیست وجود دارد بتابراین منبع را به
پردازش نمیدهیم. مثال: فرض کنید منابع 1,۳۹2,۳۹3 را داریم که هر یک دارای یک نوع میباشند و ۳ پردازش
3 را داریم و حالت اولیه تخصیصها به صورت گراف ز:
صفحه 240:
صفحه 241:
حال اگر 3 منبع ۴۹3 را درخواست كرد بايد بررسی کنیم که آگر 83] را به 3 بدهيم آيا سیستم حالت ناامن پیدا خواهد کرد
یا نه (در گراف حلقه بوجود می آید یا نه) اگر در گراف حلقه بوجود آمد سیستم ناامن است و احتمال بن بست وجود دارد و نباید
3رابه ۳3 بدهیم با توجه به شكل بالا دیده میشود که اگر 83] را به ۳3 بدهیم در گراف حلقه بوجود میآید بنابراین این
تخصیص را انجام نمیدهیم.
pulls ger of RI abate PZ gl vs كراف ايجاد نمىشود احتمال بن بست وجود ندارد و مىتوانيم اين تخصيص را انجام
دهیم.
صفحه 242:
ب: الگوریتم بانکدار: فرض میکنیم لا تعداد پردازش ها باشد و ۷ تعداد انواع منابع
یک ماتریس !۷ " لا نشان دهنده تعداد منابع تخصیص يافته به هر پردازش در حال حاضر (ALLOCATION) th (ce
یک ماتریس ۷ * لا! نشان دهنده حداكثر نياز هر يردازش به منابع مى (MAX pak
یک بردار به طول ۷ نشان دهنده تعداد هر منبع میباشد.
با توجه به اطلاعات بالا میتوان ماتریس !۱۷ " | که نشان دهنده نیاز پردازش ها به منابع میباشد را بدست آورد.(1۲ععل)
NEDD=MAX — ALLOCATION
صفحه 243:
همچنین بردار ۸۷/۸۵۱۱۸۵8۶ که نشان دهنده منابع آزاد در حال حاضر میباشد را بدست آورد.
در ادامه اين روش را با بیان مثالی توضیح میدهیم. ۷23 N=5
پردازش ها:
Coe
P1,P2,P3,P4,P5
منع 8
8
52
PS
Pa
PS
C(7) il»
منبع 6
> |مه |م ]هم |هم
8)5(
Ass | [Bas
۵
۲
A(10 )
۷
۳
9
8
52
53
Pa
PS
صفحه 244:
MAX ALLOCATION
AVAILABLE,|s,, (A=3, B=3 ,C=2) 9 ۷ ۴
ذا ۱ ۲ ۲
5 ۶
8 0 ۱
5 ع ۳ ۱
NEED
صفحه 245:
بتابراين دراد بردار )3,3,2( AVAILABLE=
روش کار این الگوریتم به این صورت است که در ماتریس ۴0| دنبال سطری میگردیم که کوچکتر یا مساوی بردار
۸۷۵۱۸8۴ باشد.در ماتریس 820 سطر دوم یعنی سطر مربوط به پردازش۳2 کوچکتر از بردار ۴ ۸/۵8۵1
است یعنی منابع مورد نیازش در سیستم موجود است بنابراین منابع مورد نیاز پردازش 2 را به آن میدهیم و پردازش ۳2 کار
خود را انجام داده و خاتمه می یابد بنابریان منابعش را آزاد میکند.
بردار an AVAILABLE=(2,1,0) از تخصیص منابع به يردازض 82
بردار (12<)5,3,2 ۸۷۵۸8 بعد از اتمامپردازش 2 و آزاد سازی منابع توسط آن
صفحه 246:
حال ماتریس ۱80 به صورت زیر است و بردار(5,3,2) < ۸۱/۸۱۱۸۵۵۱۶
51 ۷
82
oO
53
۴
Pa
PS
صفحه 247:
بايد در ماتريس 101120 دنبال سطری باشیم که کوچکتر مساوی ash AVAILABLE Joy سطر مربوط به ۳4 و ۴5
کوچکتر از بردار ۸۱۷/۸۵۱۱5 میباشند که یکی را انتخاب میکنیم بر فرض 4 را انتخاب میکنیم.بنابراین منابع مورد نیاز
4 را به آن میدهیم و PA oslo کار خود را انجام داده وخانمه می یابد و منابعش را آزاد میکند.
بردار j| ay AVAILABLE=(5,2,1) تخصیص منابع به پردازش ۳4
بردار (51-2<)7,4,3 ۸۷۸۵۱۵ بعد از اتمام پردازش 4 و آزاد سازی منابع توسط آن
صفحه 248:
حال ماتریس ۳0لا به صورت زیر است و بردار(7,4,3) > اقهاا۸/۵
my ۷ ۴ ۳
3 نی وس[ ee
2
3
2
۲
= ۴ ۳ ۱
باید در ماتریس۱۱۳]0 دنبال سطری باشیم که کوچکتر مساوی بردار ۳ ۸۷/۸1/۸831 باشد سطر مربوط به 81 و 83 و85
کوچکتر از بردار EI) Sa athe AVAILABLE میکنیم بر فرض 5 را انتخاب میکنیم,ینابراین منابع مورد نیاز
5 را به آن میدهیم و پردازش 5 کار خود را انجام داده وخاتمه می یابد و متابعش را آزاد ميکند.
صفحه 249:
حال ماتریس ۱8۳0 به صورت زیر است و بردار(7,4,5) < ۸۱/۸۵۱۱۸۳۵۱
Pt
ا ع كاي كك اي
83
Pa
مح ۳ ۳ ۴ .
صفحه 250:
بايد در ماتریس2200ل! دنبال سطری باشیم که کوچکتر مساوی بردار 1۴ ۸/۸۵۱۵ باشد سطر مربوط به ۳1 و 83
کوچکتر از بردار ۸۷۸۸۱۵51-۴ میباشند که یکی را انتخاب میکنيم بر فرض ۳3 را انتخاب میکنیمبنابراین منابع مورد نیاز
3 را به آن میدهیم و پردازش3 کار خود را انجام داده وخاتمه می يابد و منابعش را آزاد ميكتد.
۳3 تخصیص منابع به پردازش jl ay AVAILABLE=(1,4,5) jbo»
بردار (10,4,7)-81-5 !۸۷۵ بعد از اتمامپردازش 3 و آزاد سازی منابع توسط آن
صفحه 251:
حال ماتریس 20| به صورت زیر است و بردار(10,4,7) < ۸۷۸۵۱۸8۱
Fi
و در نهایت پردازش 1 منابعش را گرفته و کار خود را انجام میدهد و منابع را آزاد میکند .
ت بردار(2)10,5,7 ۵۸۵۱۸۳1 خواهد بود با توجه به اینکه پردازش ها توانستند بدون بروز مشکل کار خود را انجام
ین خلت امتی تیم و احتمال بن بست وجود تذارند
صفحه 252:
۶ حال اگر پردازش 5 از منبع ۳۸ نمونه از منبع 9 ۳ نمونه و از منبع 62 «نمونه درخواست کند آیا باید این منابع را به
5 بدهیم یا خیر؟ در واقع فرض میکنیم که اين منابع را به پردازش5 بدهیم بنابراین باید ماتریسهای
ALLOCATION , ۱۱820 و بردار ۸۷۵۱۵81۴ را مجدد اصلاح نمود و تمام مراحل بالا را تکرار کرد اگر
سیستم بدون مشکل به کار خود ادامه دهد بنابراین احتمال بروز بن بست وجود ندارد و میتوان منابع را به پردازش PS
ذا ودر قير ]يخ ضورت عتایخ را به آن ننیدهیو
ماتريس /81-10087101 بعد از تخصيص منابع به ۳5 ماتریس ۱2850 بعد از تخصیص منابع به ۳5
صفحه 253:
۱ " ۱
۲ 9 ۲ ©
۳ ۲ ely ۰ ۲
۲ ۱ ۱ re ۲ ۱ ۱
۱ ۱ ad 0 ۳ ۲
بردار (0,0,2) اهلك اام لالم
حال ماتند متال بالا باید دنبال سطری در 00عع]ل! باشیم كه کوچکتر مساوی ۸۷۸۱۸1 باشد چون چنین سطرى در
ماتریس"]۱۷۳ وجود ندارد بتابراین اگر منایع مورد نیاز پردازش 5 را یه آن بدهیم به حالت ناامن میرویم و احتمال بن یست
Pr
Pz
7
55
صفحه 254:
۳.تشخیص بن بست:
این حللت مربوط به زملنی است که از روش های پیشگیری از بن بست و اجتناب از بن بست استفاده نمی شود بنابراین
احتمال بروز ین بست وجود دارد. در روش تشخیص بن بست ابتدا توسط الگوریتم هلیی با نام الگوریتم تشخیص بن بست
وضعیت سیستم بررسی میشود که بدلند آیابن بست رخ داده یا خیر . اگربن بست رخ داده بود توسط روش هلیی سیستم
را از حالت بن بست خارج میکند.
طبق فواصل زمانی معين
زمان فراخوانی الگوریتمهای تشخیص بنبست
هر بار که درخواستی برای کسب منیعی سریما قبل انجام نباشد.
صفحه 255:
اگر بعد از فراخوانی الکوریتم تشخیص بن بست متوجه شود که بن بست رخ داده باید
سیستم را از حالت بن بست خارج کند که ۲ روش برای آن وجود دارد:
الف)خانمه دادن پردازش ها:در این روش بامی توان کل پردازش های درگیر در بن بست
را خاتمه داد پا فقط یکی از آنها را خاتمه داد.
ب)پس گرفتن منابع: در این روش منابعی را از یک پردازش پس گرفته و در اختیار
پردازش دیگر قرار میدهیم.
صفحه 256:
صرف نظر كردن از بن بست (الكوريتم شتر مرغ)
ee eo ee سوسس ادال دن مشائله با يون بست التكام يريك وري
صورتی که بن بست اتفاق افتاد سیستم به صورت دستی دام رد
در اکثر سیستم عاملهای امروزی مثل یونیکس و لینوکس | زهمین روش چهارم استفاده می شود
چراکه در این سیستم le بر خلاف سیستمعاملهای قدیمیء بن بست به ندرت رخ می دهد لذا
مقرون به صرفه است که به جای روشهای پر هزینه برای پردازنده و حافظه جهت پیشگیری و
اجتناب و تشخیص بن بست. از همین روش ریست استفاده کنیم