تعداد اسلایدهای پاورپوینت: 256 اسلاید

فاطمه

صفحه 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‏ بر خلاف سیستمعاملهای قدیمیء بن بست به ندرت رخ می دهد لذا مقرون به صرفه است که به جای روشهای پر هزینه برای پردازنده و حافظه جهت پیشگیری و اجتناب و تشخیص بن بست. از همین روش ریست استفاده کنیم

به نام خدا فاطمه صالح احمدی سیستم عامل پاییز99 تعریف کامپیوتر کامپيوتر وسيله اي الکترونيکي است که مي تواند اطالعاتي را بگيرد، ش هايي روي آن آن جام دهد ،نتايجي توليد کند ،و اين نتايج را پرداز ­ براي استفاده در آينده ،نگهداري کند. اجزاء کامپیوتر سخت افزار :کار پردازش اطالعات را از طریق اجرای دستورالعمل ها ،ذخیره داده ها ،جابه جایی داده ها بین دستگاه های I/Oو ارسال و دریافت اطالعات از مکان های شبکه ای دوردست انجام می دهد. نرم افزار :شامل نرم افزارهای سیستمی ،کاربردی و زبان های برنامه نویسی. شبکه :مسوول ارسال و دریافت اطالعات در شبکه های محلی و وایرلس داده یا : Dataنمایش اطالعات با فرمتی خاص در محل ذخیره اطالعات sandboxیک نیمه هادی است و کار کنترل دسترسی به داده ها و جلوگ یری از ه ک ش دن را برعه ده دارد و محی ط داخلی کامپیوتر را از محیط خارجی آن جدا می سازد. معماری کامپیوتر ه طراحی و شناخت اجزای کامپیوتر می پردازد. طبقه بندی معماری‌های کامپیوتر معماری کامپیوتر هاروارد معم اری ه اروارد ی ک معماری کامپیوتر ب ا جداس ازی ف یزیکی مح ل ذخیره‌سازی و مسیر سیگنال‌ها برای دستورالعمل ها و داده‌ها است .ر ب رخی سیس تم ه ا دس تورالعمل ه ا می توان د در حافظه فقط خواندنی ذخ یره ش ود درح الی ک ه حافظ ه داده ب ه ط ور کلی نیازمن د حافظ ه خوان دن و نوش تن اس ت .در ب رخی سیس تم ه ا ،حافظ ه دس تورالعمل از حافظ ه داده بیش تر اس ت؛ بن ابراین آدرس‌ه ای دس تورالعمل ه ا ع رض بیشتری نسبت به آدرس‌های داده دارند. این معم اری اولین ط راحی م درن کامپیوتره ا براس اس مفه وم برنام ه ذخ یره ش ده اس ت ک ه ب ر اس اس برنام ه ذخ یره ش ده ی ا deviceه ایی ک ه دارای حافظ ه اس ت ک ار می کن د ب ه گ ونه‌ای ک ه دس تورهای برن امه‌ریزی ش ده مانن د داده‌ه ا را در ح الت خواندنی-نوشتنی در حافظه دسترسی تصادفی ( )RAMنگ ه داری می کن د و ی ک سیس تم دیجیت ال معماری هاروارد معماری نیومن معماری نیومن طرحی از یک رایانه ارقامی است که از یک واحد پردازش مرکزی و ی ک حافظ ه مج زا مس تقل ب رای نگ ه داری از اطالع ات و دس تورالعمل ه ا اس تفاده می کن د .این ط راحی ب ه خ اطر جان فون نویمان (دانش مند عل وم رایان ه ای) ن ام گ ذاری شده‌اس ت .از این قبی ل رایانه‌ه ا ،ک ار ی ک ماشین تورینگ را انج ام می دهند و یک معماری ترتیبی دارند. از دیدگاه نیومن ،کامپیوتر یک سیستم محاسباتی دیجیتال خودکار با سرعت خیلی باال و دارای کنترل منطقی است. از معم اری این م دل اس تنتاج می شود چون گذرگاه‌ها بین واحدها ب ه اش تراک گذاش ته ش ده‌اند بن ابراین در ه ر لحظ ه فق ط یکی از حالت‌ه ای آوردن دس تورها ی ا انج ام عملی ات روی داده‌ه ا ص ورت می گیرد که به آن گلوگاه فون نیومن می گویند. طبقه‌بندی فلین()Flyn طبقه‌بندی فلین یک طبقه‌بندی برای معماری‌های کامپیوتر است .در کل کامپیوترهای دیجیتال بر اساس تعدد دستورالعمل ها و جریآن های داده در ۴دس ته طبقه‌بن دی ش ده‌اند .مایک ل فل وین این ش مارا جهت طبقه‌بندی و سازمان‌دهی کامپیوترها در سال ۱۹۶۶میالدی ارائه کرد. عنصر اساسی فرایند محاسبات اجرای دنباله‌ای از دستورالعمل های مربوط به مجموعه‌ای از داده‌ها است.این چهار طبقه بر مبنای تعداد دس تورهای هم‌زم ان و رش ته داده‌ه ای قاب ل دسترس ی در معم اری تعریف شد: كامپيوتر از چهار واحد اصلي تشكيل شده است : -‌1واحد ورودي ()Input Unit = IU -2واحد خروجي ()Output Unit = OU -3واحد حافظه ( )Memory Unit = MU -4واحد پردازش مركزي ( = ‍Central Processing Unitپردازنده‍) تعريف سخت‌افزار کامپيوتر در مرحل ه اول ي ك ماش ين الك ترونيكي و الكترومك انيكي اس ت؛ يعني از يك سري قطعات الكترونيكي و الكترومكانيكي ساخته شده است. اين قطعات فيزيكي قابل لمس و مشاهده هستند ،كه به آن ها سخت‌افزار گفته می شود. به تجه يزات ف يزيكي ك امپيوتر اعم از قس مت‌هاي الك ترونيكي و الكترومك انيكي ك ه قاب ل لمس باش ند ،س خت‌افزار گفت ه می ش ود؛ مث ل صفحه‌كليد ،مانيتور ،چاپگر ،اسكنر ،ماوس ،خازن‌ها ،مقاومت‌ها ،مدارات داخلي ،كابل‌هاي برق و .،... سخت‌افزار به تنهايي قادر به انجام هيچ كاري نيست و به كارگيري آن نياز به دستورالعمل ها و برنامه‌هايي دارد كه به آن نرم‌افزار گفته می شود .سخت‌افزار در واقع مجري اجراي دستورالعمل ها و برنامه‌هايي اجزاي تشكيل دهنده سخت افزار ي وروردي ( )Input Devicesيا واحد ورودي -‌ 1دستگاه‌ها ‌ ()Input Unit اين دس تگاه‌ها وظيف ه ورود داده‌ه ا ب ه ك امپيوتر را ب ر عه ده دارن د .در ه اصلي (Main واقع داده‌ها از طريق واحد ورودي وارد حافظ ‌ )Memoryمي‌ش وند .اين داده‌ه ا ممكن اس ت ب راي پ ردازش ب ه واح د پ ردازش مرك زي (پردازن ده) فرس تاده ش وند و ي ا ب راي پ ردازش ه اي آتي در حافظه جانبي ذخيره‌گردند. -‌ 2دستگاه‌هاي خروجي ( )Output Devicesيا واحد خروجي ()Output Unit وظيفه اعالم اطالعات (داده‌هاي پردازش شده) را به بيرون از كامپيوتر بر عه ده دارن د .اين اطالع ات ب ه ش كل‌هاي گون اگون اعالم مي‌ش وند؛ مثال ب ه ش كل تص ويري (ب ه وس يله ص فحه نم ايش ،چ اپگر) ،ب ه ش كل ص وتي (ب ه وسيله بلندگو) ،به شكل عملي ( حركت ربات) و .،.... -3واحد پردازش مركزي -4حافظه‌ ((Memory or Storage دستگاه‌هاي ورودي و خروجي همان طور که گفته شد برخي از دستگاه‌ها و قطعات سخت‌افزاري رايانه می توانن د عالوه ب ر داش تن خاص يت ورود اطالع ات ب ه رايان ه ،خاص يت خروجي نيز داشته باشند .به عنوان مثال از يک حافظه فلش می توان هم ب ه عن وان ورودي و هم ب ه عن وان خ روجي اس تفاده ک رد .س ي‌دي‌ها و دي‌وي‌دي‌ه ا ن يز داراي چ نين خاص يتي هس تند .ک اربر می توان د اطالع ات ذخيره‌س ازي ش ده روي ي ک دي‌وي‌دي را ب ه عن وان اطالع ات ورودي در رايانه ثبت و استفاده کنند و از طرف ديگر می تواند اطالعات مورد نظر خود را با استفاده از رايتر روي لوح فشرده ذخيره کند .بنابراين س ي‌دي‌ها و دي‌وي‌دي‌ها نيز به عنوان دستگاه‌هاي ورودي-خروجي به شمار مي‌آيند. دس تگاه ه ای ورودی /خ روجی مس وول برق راری ارتب اط بین ی ک سیس تم اطالع اتی و دنی ای ب یرون اس ت .این دس تگاه ه ا دارای رجیس ترهایی ب رای دری افت داده ه ا ی ب زرگ وک و چ ک و دس تورالعمل ه ا از س مت پردازن ده می باشند .برای مبادله داده های بزرگ مانند ه ارد درای و ،ب ه منظ ور ص رفه ج ویی در زمان پردازنده ،از نوعی واسط مخصوص با نام DMAاستفاده می شود. DMAب ه معن ای دس تيابي مس تقيم ب ه حافظ ه می باش د .گ اهی مطل وب اس ت داده ها بین I/Oو حافظه مستقیما مبادله ش وند ت ا از ب ار پردازن ده کاس ته ش ود و پردازنده بتواند برای انجام کارهای دیگر آزاد باشد .این فرایند دسترسی مستقیم به حافظه بدون دخالت پردازنده راDMA می گویند DMA .امکان دستیابی دستگاه های جانبی مانند یک دیسک به حافظه را ب دون عب ور از پردازن ده ف راهم آورده و س رعت تب ادل اطالع ات را اف زایش می ده د .در انتق ال اطالع ات از واحد IO معم وال اطالع ات توس ط س يگنال ه اي كن ترل ب ه داخ ل پردازن ده منتق ل ش ده و ثبات ها یا رجیستر ها پردازن ده ک امپیوتر ب رای اینک ه بتوان د پ ردازش ه ای خ ود را روی دستورالعمل ها انجام دهد بایستی در یک مکانی آن کار ها را انجام دهد و آن مکان ها جایی نیست جز رجیستر یا ثبات های حافظه پردازنده . سیس تم رجیس تر ه ا ی ا ثب ات ه ای حافظ ه پردازن ده ی ک ک امپیوتر ب رای ذخ یره و انتق ال داده ه ا و دس تورالعمل ه ا ب ا س رعت بس یار ب اال م ورد استفاده قرار می گیرد .همان طور که میدانید پردازنده کامیپوتر قطع به یقین یکی از مهم ت رین و پیچی ده ت رین اج زاء ی ک ک امپیوتر محس وب می شود و طبیعتا یک سخت افزار تک منظوره و یک بعدی نیست و وظایف متع ددی ب ر عه ده دارد .از این رو رجیس تر در پردازن ده دارای ان واع مختلفی اس ت ک ه ه ر ک دام ب ه نوب ه خ ود در امرکن ترل و پ ردازش ک ردن دستورالعمل ها برای پردازنده بسیار مهم و اجتناب ناپذیر است. ( )Processor Registersثباتهاي پردازنده هر پردازنده شامل مجموعهاي از ثباتها ميباشد .ثبات ،حافظهاي سريعتر و كوچكتر از حافظه اصلي است .ثباتهاي پردازنده از نظر وظايفي كه برعهده دارند به دو دسته كلي تقسيم ميشوند: ثباتهاي قابل رويت براي كاربر :برنامه نويسان زبان ماشين يا زبان اسمبلي ميتوانند با استفاده مناسب از اين ثباتها ،مراجعه به حافظه اصلي را به حداقل برسانند .ثباتهاي داده و ثباتهاي آدرس دو نمونه از اين دستهاند كه عمومًا در دسترس تمام برنامه هاي كاربردي و سيستمي ميباشند: ثباتهاي داده :برنامه نويس ميتواند اين ثباتها را به برخي توابع نسبت دهد. در برخي موارد ،اين ثباتها همه منظوره هستند و با هر دستورالعمل ماشين كه روي دادهها كار كند ،قابل استفاده هستند. ثباتهاي آدرس :اين ثباتها حاوي آدرس دستورالعمل و دادهها در حافظه اصلي ميباشند. ثباتهاي وضعيت و كنترل :پردازنده از اين ثباتها براي كنترل عمليات خود استفاده ميكنند .همچنين رويه هاي ممتاز سيستم عامل از اين ثباتها براي كنترل اجراي برنامه ها استفاده مي كنند. اين ثباتهاي غير قابل رويت براي كاربر به دستههاي زير تقسيم ميگردند. ( )MAR – Memory Address Resisterـ ثبات آدرس حافظه ( )MBR – Memory Buffer Registerـ ثبات بافر حافظه ( )I / OAR – I/O Address Registerـ ثبات آدرس ورودي /خروجي ( )I/OBR – I/O Buffer Registerـ ثبات بافر ورودي /خروجي ـ ثبات شمارنده برنامه ) PC – Program Counter(:حاوي آدرس دستورالعملي است كه بايد واكشي شود. ـ ثبات دستورالعمل ) IR – Instruction Register(:حاوي آخرين دستورالعملهايي است كه واكشي شده است. ـ ثبات كلمه وضعيت برنامه ) PSW – Program Status Word(:حاوي اطالعات وضعيت برنامه ميباشد. تفكيك آشكاري بين ثباتهاي اين دو دسته وجود ندارد .براي مثال ،در بعضي پردازندهها ،ثبات شمارنده برنامه ) (PCبراي كاربر قابل رويت است ولي در بسياري از پردازندههاي ديگر اين طور نيست. حافظ ه ه ای رجیس تر پردازن ده از س ریع ت رین حافظ ه ه ای ی ک ک امپیوتر ب ه ش مار می رود (ح تی س ریع ت ر از حافظ ه کش L1پردازن ده) ،زی را پردازن ده ب رای انج ام پ ردازش ه ای خ ود ب ر روی ا تورالعمل ه دس دس تورالعمل ه ا را در حافظه رجیستر ذخیره می کن د و س پس روی آن ه ا پردازش را انجام می دهد. وظایف رجیسترها واکشی Fetchکردن دستورالعمل ها توسط رجیستر ها از حافظه RAM سیستم به منظور انجام پردازش روی دستورالعمل ها. Decodeیا کدگشائی دستورالعمل ها عملی ات Decodingدس تورالعمل ه ا ب دین منظ ور اس ت ک ه دس تورالعمل ه ا ب ه Commandه ا ی ا دس تورات ترجم ه ش وند ت ا توس ط واح د ALUقاب ل اج را باش ند واح دی ک ه ب ر عملی ات Decodingدستورالعمل ها نظارت دارد واحد CUیا همان واحد کنترل در پردازنده می باشد. Executeیا اجرای دستورات هم ان ط ور ک ه گف تیم دس تورات ب ه وس یله واح د ALUپردازن ده انج ام می ش ود .بع د از اج را نم ودن دس تورات توس ط واح د منطقی ALUنتیج ه در حافظ ه RAMسیس تم ذخ یره می ش ود ت ا بت وانیم از نتیج ه دس تورات استفاده کنیم. انواع رجیستر در پردازنده ‏MARاین رجیستر همان طور که از نام آن پیدا است ،آدرس های حافظه از داده ه ا و دس تورالعمل ه ا را در خ ود نگ ه می دارد .این رجیس تر ب رای دسترسی به داده ها و دستورالعمل ها از حافظه RAMدر طی اجرا شدن دس تورالعمل ه ا م ورد اس تفاده ق رار می گ یرد .ف رض کنی د پردازن ده می خواهد برخی از داده ها را در حافظه RAMذخیره کند و یا بر عکس ،می خواه د داده ه ایی را از حافظه RAMفراخ وانی کن د پردازن ده در این گون ه مواق ع می آی د و آدرس ه ای داده ه ایی ک ه در حافظ ه RAMبایس تی ق رار بگیرد را در رجیستر MARبه صورت موقت ذخیره می کند .زیرا اگر این گونه نبود پردازنده نمیدانست که دستورالعمل ها در کدام مکان از حافظه RAMبایستی ذخیره شوند. ‏Memory Address Register PC رجیستر ،PCرجیستری است که به آن Instruction Pointerیا IPنیز می گویند .به این رجیستر Instruction Addressرجیستر نیز گفته می شود. این رجیستر مسیر آدرس حافظه دستورالعملی که بعد از تمام شدن ‏Program Counter پردازش دس تورالعمل فعلی بایس تی م ورد پ ردازش ق رار بگ یرد را در خود ذخیره می کند. به عبارت دیگر این رجیستر تا زمانی که پردازش روی دستورالعمل فعلی به اتمام نرسیده است آدرس حافظه دستورالعمل بعدی را در خود نگه می دارد. رجیستر AC این رجیس تر ب رای ذخ یره س ازی نت ایج دس توراتی ک ه توس ط واح د ALUپردازن ده سیس تم انج ام ش ده اس ت م ورد اس تفاده ق رار می گیرد .هنگامی که پردازنده دستورات را مورد پردازش قرار داد و تمام شد نتیجه دستورات در رجیستر ACبه صورت موقت ذخیره می گردد. به Accumulatorرجیستر در اصطالح فنی AXنیز می گویند. ‏Accumulator رجیستر MDR این رجیس تر یکی از مهم ت رین رجیس تر ه ای پردازن ده اس ت رجیس تر MDRرجیستر واحد CUاز پردازنده می باشد و شامل اطالعاتی است که باید در حافظه RAMسیستم یا سایر حافظه ها ذخیره شود، همچ نین این رجیس تر می توان د ش امل داده ه ایی باش د ک ه ب ا عملی ات Fetchی ا واکش ی داده ه ا از ی ک دس تگاه ذخ یره س ازی بدس ت آم ده باشد .رجیستر MDRهمانندبافر عمل می کند و شامل کپی اطالعاتی اس ت ک ه از حافظ ه RAMطی عملی ات Fetchب ه این رجیس تر منتق ل شده است تا توسط پردازنده مورد پردازش قرار گیرد. ‏Memory Data Register MDRش امل اطالع اتی اس ت ک ه هن وز توس ط دیک در ه ای پردازن ده Decodeنشده اند .رجیستر MDRشامل اطالعاتی مانند آدرس هایی از حافظ ه اس ت ک ه در حافظ ه RAMنوش ته ی ا خوان ده ش ده ان د .ب ه عن وان مث ال برای واکش ی داده ه ایی از سلول ( 123به ب اینری ) ما مق دار ( 123ب ه ب اینری) را در رجیس تر MARب ارگزاری می ک نیم و دهیم. یکانجام Fetchرا طرفه است به این معنی که داده ها از می دو رجیستر عملیات MDR رجیستر حافظ ه Fetchی ا واکش ی می ش وند و در رجیس تر MDRذخ یره می شود ،که در حقیقت در یک جهت در این رجیستر نوشته شده است. زمانی که دستورالعملی می خواهد نوشته شود بایستی داده ها در رجیستر MDRنوشته شوند و سپس در حافظه RAMذخیره شوند. رجیستر Index این رجیستر در پردازنده اعداد یا مقادیری را در خود نگه داری می کند ک ه می توان د از بخش ی از آدرس ی ک دس تورالعمل کم ی ا ب ه آن اض افه ش ود ت ا ب ه ی ک آدرس م وثر و کارام د تب دیل ش ود .ب ه Indexرجیس تر اغلب Baseرجیس تر ن یز گفت ه می ش ود .Indexرجیس تر در پردازن ده ک امپیوتر رجیس تری اس ت ک ه ب رای تغی یر دادن آدرس ه ای عملون د در طول اجرای یک برنامه مورد استفاده قرار می گیرد. به Indexرجیستر در اصالح فنی BXنیز می گویند. رجیستریا MBR این رجیستر محتویات داده یا دستورالعمل هایی که از حافظه خوانده یا روی آن نوشته می شوند را در خود نگه داری می کند .به عبارت دیگر این رجیس تر ب رای ذخ یره س ازی داده ه ا ی ا دس تورالعمل ه ایی ک ه از حافظ ه فراخ وانی ش ده ی ا روی آن ب ارگزاری می ش وند م ورد اس تفاده ق رار می گ یرد .رجیس تر MBRهم ان رجیس تر MDRاس ت و تف اوتی ب ا د. هم ندارن ‏IR ثبات دستورالعمل که برای ذخیره دستورالعمل فعلی که در حال اجراست به کار می رود. ‏PSW یک یا چند ثبات که حاوی اطالعات وضعیت می باشد. Dataرجیستر این رجیس تر ب رای ذخ یره س ازی موق تی داده ه ایی ک ه از دس تگاه ه ای ذخ یره س ازی خوان ده ی ا نوش ته می ش وند م ورد اس تفاده ق رار می گ یرد .ب ه Data اصطالح فنی DXنیز می گویند. ‏Shiftدر رجیستر رجیستر زنج یره‌ای از فلیپ‌فالپ‌ها اس ت ک ه ی ک پالس ساعت مش ترک دارن د و خ روجی ه ر فلیپ‌فالپ ،ب ه ورودی فلیپ‌فالپ بع دی در زنج یره متص ل شده‌اس ت؛ در نتیج ه م داری حاص ل می‌ش ود ک ه می‌توان د در ه ر پ الس ساعت ،آرایه بیتی که در آن ذخیره شده را یک واحد به سمت چپ یا راست شیفت (انتقال) دهد .در عمل شیفت ،بیتی که در ورودی قرار دارد ب ه داخ ل آرای ه آورده می‌ش ود (شیفت ب ه داخ ل) و آخ رین بیت از آرای ه خ ارج می‌ش ود و از بین می‌رود (ش یفت ب ه ب یرون) .ش یفت رجیس ترها می‌توانن د ب ه ص ورت سریال (پش ت س ر هم) ی ا موازی (همزمان) باشند .در حالت سری ،بیت‌ها به صورت پشت سر هم و به ت رتیب وارد ش یفت رجیس تر می‌ش وند و در ح الت م وازی ،داده‌ه ا ب ه دالیل ایجاد سیستم عامل یک سیس تم ک امپیوتری پیش رفته از ی ک ی ا چن د پردازن ده ،مق داری حافظ ه اص لی ،دیس ک ه ا ،چ اپگر ه ا ،ص فحه کلی د ،ص فحه نم ایش ، واس ط ه ای ش بکه ای و دیگ ر دس تگاه ه ای ورودی و خ روجی تش کیل ش ده اس ت .این اج زا در کن ار یک دیگر ی ک سیس تم پیچی ده را ب ه وج ود آورده اند .نوشتن برنامه هایی که تمامی این عناصر را مدیریت کرده و از آن ه ا ب ه ط ور ص حیح بهین ه و کارآم د اس تفاده نمای د ،ک ار بس یار مشکلی است . اگر هر برنامه نویس مجبور باشد با مفاهیمی نظیر نحوه کار دستگاه های ورودی خروجی گوناگون آشنا باشد ،بسیاری از برنامه ها هرگز نوشته نخواهد شد .به همین دلیل ،از سال ها قبل به وضوح مشخص بود که باید روش هایی یافت که برنامه نویسان را از پیچیدگی های سخت افزار دور نگه دارد .تالش های گسترده ،منجر به ایجاد یک الیه تعریف سیستم عامل کلم ه OSمخف ف عب ارت Operating Systemب ه معن ای "سیس تم عامل" ،یکی از مهمترین نرم افزارهای سیستمی است. اولین برنام ه ای ک ه پس از ب وت ش دن ،در حافظ ه بارگ ذاری می شود. سیس تم عام ل ،مجموع ه ای از دس تورالعمل ه ا ،برنام ه ه ا و ن رم افزارهای مرتبط به هم است که رابط بین انسان و کامپیوتر بوده، می تواند سخت افزار را شناسایی ،کنترل و هدایت کند. سيستم عامل به عنوان مدير منابع )(Resource Manager با يك ديد پايين به باال ) Bottom – up(،ميبينيم كه سيستم عامل تمام اجزاي يك سيستم را مديريت ميكند .يك كامپيوترمجموعهاي از منابع مختلف براي ذخيرهسازي ،پردازش و انتقال داده ها ،مانند پردازنده ها ،حافظهها ،ديسكها ،چاپگرها و ...ميباشد. وقتي يك كامپيوتر يا شبكه داراي چندين كاربر است ،مديريت و حفاظت از حافظه امري ضروري ميباشد ،همچنين كاربران نيازدارند سختافزار و حتي دادهها را نيز بين يكديگر به اشتراك بگذارند .اين عمليات برعهده سيستم عامل ميباشد. به عبارت ديگر ،در مواقعي كه منابع موجود در سيستم محدود و درخواستها نامحدود باشند ،براي اينكه در ارايه منابع بهدرخواستها مشكلي پيش نيايد ،به مديريت نياز ميباشد كه اين كار توسط سيستم عامل انجام ميشود. سيستم عامل به عنوان ماشين گسترده یا ‏Machine ‏Extended هر عمل خواندن يا نوشتن روي ديسك نياز به پارامترهايي نظير آدرس بلوك موردنظر روي ديس ك ،تع داد س كتورهاي ه ر ش يار ،ن وع ذخيرهس ازي بكاررفت ه و م يزان دادهه ا دارد .در نظر گرفتن تمام اين پارامترها توسط انسان بسيار سخت و زمانگير است. سيس تم عامل ،اين عملي ات را از ديد ك اربر پنهان ميس ازد و ك اربر هنگاميكه فرمان خواندن يا نوش تن را ميدهد ،ديگر از جزئيات كار آگاهي ندارد و فقط منتظر انجام عمليات كپي ميماند ،بنابراين سيستم عامل ،يك ماشين گسترده يا ماشين مجازي را در اختيار كاربر قرار ميدهد تا كاربر بتواند به راحتي كار خود را به اتمام برساند . تاریخچه سیستم عامل نسل اول )سالهاي 1955-1945(:المپهاي خالء و تختههاي سيستم بندي در ماشينهاي اين نسل از تقويتكنندههاي مكانيكي بسيار كند استفاده شد ،بعدها اين تقويت كنندهها جاي خود را به المپهاي خالء دادند .اين ماشينهاي بسيار حجيم كل فضاي اتاق را با دهها هزار المپ خالء پر ميكردند .در اين ماشينها ،زبانهاي برنامه نويسي و سيستم عامل وجود نداشت. نسل دوم )سالهاي 1965ـ 1955(:ترانزيستورها و سيستمهاي دستهاي كامپيوترهاي بزرگ موجود در نسل دوم ،اغلب براي محاسبات مهندسي و علمي نظير حل معادالت ديفرانسيل جزئي بكار مي رفتند كه معموًال در علوم مهندسي و فيزيك كاربرد دارند .اين كامپيوترها اكثرًا به زبان فورترن و اسمبلي برنامهنويسي شده بودند .نمونه اي از سيستم عاملهاي بكار رفته در اين كامپيوترها FMS 1و IBSYS نسل سوم )1980ـ 1965(:مدارات مجتمع و چندبرنامگي ماشين IBM 360اولين كامپيوتري بود كه در آن از مدارات مجتمع ) (ICاستفاده ميشد ،و از نظر هزينه و كارايي نسبت به كامپيوترهاي نسل دوم كه از ترانزيستور استفاده ميكردند ،عملكرد بهتري داشت .يكي از مزاياي كامپيوترهاي نسل سوم نسبت به كامپيوترهاي نسلهاي قبليتر، امكان چند برنامگي ) (Multi Programmingبود .هر برنامه يا به پردازش و ‏cpuو يا به عمليات ‏I/Oنياز دارد ،كه در حالت دوم cpuدر اختيار برنامه ديگري قرار ميگيرد. ميتوان تعداد برنامههاي موجود در حافظه را طوري در نظر گرفت كه از ‏cpuبيشترين استفاده را داشته باشيم و كارايي آن حداكثر باشد. يكي ديگر از مزاياي سيستمهاي نسل سوم ،قابليت اشتراك زماني ) (Time ‏sharingميباشد .در سيستم اشتراك زماني ،زمان cpuبه طور مساوي بين برنامهها تقسيم ميشود و تمام برنامههاي موجود در سيستم به يك ميزان از زمان cpuاستفاده ميكنند .وقتي اين زمان به پايان برسدcpu ،به برنامه ديگري داده ميشود .چون اين زمان بسيار كوچك است كاربر احساس ميكند برنامه ها به طور همزمان اجرا ميشوند .شكل زير سيستم اشتراك زماني را با چهار برنامه C ، B ، Aو Dنشان ميدهد. نسل چهارم ) 1980تاكنون( :كامپيوترهاي شخصي ب ا توس عه م دارات مجتم ع ب ا ان دازه ب زرگ ،نس ل كامپيوتره اي شخص ي مبت ني ب ر ريزپردازن دهها آغ از ش د .سيس تم عامله ايي نظ ير MSDos-و CP /Mو Apple Dosهمگي سيستمهاي مبتني بر خط فرمان 1بودند .كاربران دستورات را توسط صفحه كليد تايپ ميكردن د .س پس واس طهاي گ رافيكي ش امل پنجرهه ا ،آيكونه ا و منوه ا ايج اد ش دند ك ه ق ابليت ك ار ب ا م اوس را ن يز داش تند .در س الهاي بعدcpu ،هاي 32بيتي و همچنين 64بيتي نيز ساخته شدند .شركت appleدر سال 2001با گذاشتن واسط گرافيكي جديد Macintashروي Unix،يك تغيير اساسي در سيستم عامل ايج اد نم ود .پس از آن ش ركت مايكروس افت ،وين دوز را اراي ه ك رد. ويندوز اوليه فقط يك محيط گرافيكي روي سيستم عامل 16بيتي MS-Dosبود .ديگر مدعي دنياي كامپيوترهاي شخصي سيستم عامل Unixاست كه قويترين سيستم روي كامپيوترهاي Workstationو همچنين Serverشبكه ميباشد .كامپيوترهاي شخصي توانايي اج راي سيس تم عامله اي ش بكه و سيس تم عامله اي توزي ع ش ده را دارن د . سیستم هاي پیوسته یا یکنواخت Monolethic سیستم عاملهاي اولیه مانند DOSاز لحاظ کارائی بسیار محدود بودند ساختاري یکدست و ساده داشـتند .در این ساختار سیستم عامل بصورت مجموعه اي از توابع و روالها در نظر گرفته میشود که هر تابع داراي ورودي ها و خروجی هاي مشخص است و این توابع در هنگام نیاز یکدیگر را فراخوانی میکنند .از لحاظ امنیتی کنترل بر نقل و انتقال داده ندارد) Batch. ‏System اي ( هايبهدسته سیستم وجود اطالعات دسترسی ها و در کامپیوترهاي نسل دوم سیستم هاي دسته اي ابداع شد .این سیستم ها تشکیل شده بود از دستگاه کارت خوان ،پردازنده ،رم ،و پرینتر .برنامه ها کارها بصورت دسته اي از کارتهاي سوراخ شده به دستگاه کـارت خوان داده میشد .با شروع کار سیستم یک کار بطور کامل خوانده شده اطالعات انهـا وارد حافظـه اصـلی شده پردازش صورت گرفته و خروجی به چاپگر فرستاده میشد .سپس همین عمل براي کارت هاي بعدي ( )Real Time Systemسيستمهاي بالدرنگ اين سيستمها بايد در بازه زماني معين ،سرويسدهي الزم را داشته باشند و اگر عمليات در زمان معين انجام نشود ،ممكن است خسارتهاي غيرقابل جبراني به همراه داشته باشد. وظایف سیستم عامل سیستم عامل استفاده از کامپیوتر را ساده می‌سازد .این بدان معناست که مثال کاربر یا برنامه نویس بدون درگیر شدن با مسائل سخت افزاری دیسک ها به راحتی فایلی را بر روی دیسک ذخیره و حذف کند. این کار در واقع با به کاربردن دستورات ساده‌ای که فراخوان های پذیرد. انجام سیسـی ـود صدا م وجـ) را ‏System سیستمی( اربر و ی ا برنام ه ن ویس ـل ک ‌زنندعامـ ـتم ‏Callsـدم ـورت عـ در صـ می‌بایس ت آش نایی ک املی ب ا س خت افزاره ای مختل ف ک امپیوتر (مث ل م انیتور ،فالپی ،کی برد و غ یره) داش ته باش د و روتین‌ه ایی ب رای خوان دن و ی ا نوشتن آنها به زبانهای سطح پائین بنویسد .از این جنبه به سیستم عامل با عنوان ماشین توسعه یافته ( )Extended machineیا ماشین مجازی (Virtual سیس تم عام ل مـدیریت منـابع( )Resource Managementمی‌باش د ،یع نی سیستم عامل باعث استفاده بهینه و سودمند (اقتصادی) از منابع سیستم می‌گ ردد .منظ ور از من ابع پردازن ده‌ها ،حافظه‌ه ا ،دیس ک ه ا م وس ه ا، چاپگرها ،فایلها ،پورت ها و غیره هستند .یک سیستم کامپیوتری منابع نرم اف زاری و س خت اف زاری بس یار دارد ک ه ممکن اس ت در حین اج را برنام ه الزم باشند ،سیستم عامل همانند مدیر منابع عمل کرده و آنها را بر حسب نیاز به برنامه‌های مشخصی تخصیص می‌دهد. اجزای سیستم عامل سیس تم عام ل از دوبخش هســته ی ا kernelو پوس ته ی ا ‏Shellتش کیل می ش ود.کلیه وظ ایف م دیریتی سیس تم عام ل را هس ته برعه ده دارد و واس ط بین پوس ته و س خت اف زار کامپیوتر می باشد. پوسـته واسط بین کاربر با هسته اس ت و فرم ان ه ای ک اربر را گرفته در صورت صحیح بودن آنها یکی از توابع درون هسته را برای انج ام آن درخواس ت فراخ وانی ( )Shellپوسته پوسته در واقع يك مفسر فرمان است كه دستورات صادره را تفسير ميكند و در اكثر سيستم عاملها بكار ميرود ولي جزئي از آن نيست. چگونگي اجراي فراخواني هاي سيستم به پوسته وابسته است. همچنين پوسته ،واسط بين كاربر و سيستم عامل ميباشد ،مگر اينكه كاربر يك واسط كاربر گرافيكي را بكار ببرد .برخي از پوستههاي موجود عبارتند ازzsh ،ksh ،csh :و bash.وقتي يك كاربر وارد سيستم ميشود ،يك پوسته راهاندازي ميگردد .پوسته ترمينالي به عنوان ورودي خدمات و مولفه های سیستم عامل .1مدیریت پردازش در سیستم عامل یک برنامه حاوی دستورالعملهایی است که توسط CPUاجراء می‌شوند و حاوی داده‌هایی است که هنگام اجرای دستورات از آنها استفاده می‌شود. برنامه در واقع یک موجودیت passiveاست مانند محتوای یک فایل بر روی دیسک .ولی پردازش در سیستم عامل یک برنامه در حال اجراء می‌باشد که موجودیتی activeدارد .یک برنامه کاربر که در سیستم اشتراک زمانی در حال اجرا است )یک پروس (فرایند می‌باشد ،به همین ترتیب یک وظیفه سیستم مثل اسپولینگ خروجی به چاپگر نیز یک پروسس است .یک فرایند منابع مشخصی را نیاز دارد مثل ،CPU حافظه ،وسایل I/Oو فایلها .پردازش در سیستم عامل واحد کار در سیستم است . وظایف سیستم عامل در رابطه با مدیریت پردازش : ایج اد و ح ذف پ ردازش در سیس تم عام ل ه ای ک اربر و سیس تم – زمانبن دی پردازش ها واینک ه در ه ر زم ان ک دام پ ردازش در سیس تم عام ل CPUرا در اختی ار داش ته باش د – م دیریت همزم انی پردازش ها و ارتب اط بین آنه ا و جلوگیری از بن بست ( )deadlockبن بست حالتی است که پردازشها در یک حلق ه بس ته منتظ ر تم ام ش دن وظ ایف هم دیگر هس تندو بن ابراین هیچی ک نمی‌توانند اجراء گردند و سیستم قفل می‌شود. .2مدیریت حافظه و فضای ذخیره سازی هر پ ردازه ب ه منظ ور اج راء می بایس ت دارای حافظ ه م ورد نی از و اختصاص ی خود باشد. از ان واع متف اوتی حافظ ه در سیس تم اس تفاده ت ا ه ر پ ردازه ق ادر ب ه اج راء ب ا ب االترین س طح ک ارآئی باشد.سیس تم عام ل در ابت دا می بایس ت مح دوده‌های حافظه مورد نیاز هر نوع نرم افزار و برنامه‌های خاص را فراهم نمایند .مثال" ف رض کنی د سیس تمی دارای ی ک مگاب ایت حافظ ه اص لی باش د .سیس تم عام ل کامپیوتر فرضی ،نیازمند 300کیلو بایت حافظه است .سیستم عامل در بخش انته ائی حافظ ه مس تقر و بهم راه خ ود درایوره ای م ورد نی از ی ه منظ ور کن ترل حافظه مجازی با توجه به اینکه فضای ذخیره سازی حافظه‌ها ی جانبی نظیر دیسک ها بم راتب ارزانتر نسبت به حافظه اصلی است ،می توان با اس تفاده از مکانیزمه ائی اطالع ات موج ود در حافظ ه اص لی را خ ارج و آنه ا را موقت ا" ب ر روی ه ارد دیس ک ذخ یره نم ود .ب دین ت رتیب فض ای حافظ ه اص لی آزاد و در زمانیک ه ب ه اطالع ات ذخ یره ش ده ب ر روی ه ارد دیس ک نیاز باشد ،مجددا" آنها را در حافظه مستقر کرد .روش فوق " مدیریت حافظه مجازی " نامیده می‌شود مدیریت فایل در سیستم عامل3. جهت اس تفاده س اده از اطالع ات ک امپیوتر،سیس تم عام ل دی د منطقی یکس انی از اطالع ات ذخ یره ش ده روی ان واع وس ایل ذخیره سازی مثل هارد دیسک ،فالپی،نوار یا دیسکهای نوری پدید می‌آورد .سیس تم عام ل خ واص ف یزیکی وس ایل را از دی د ک اربر مخفی کرده و یک واحد ذخیره منطقی به نام فایل ارائه می‌کند. سیستم عامل دررابطه با فایل وظایف زیر را انجام می‌دهد : ‏ ‏ ‏ ‏ ‏ ایجاد وحذف فایلها ایجادو حذف دایرکتوریها انجام عملیات کپی انتقال و تغییرات بر روی فایها و دایرکتوریها ذخیره سازی ومدیریت قرار گیری فایلها بر روی رسانه‌ها .4مدیریت ورودی -خروجی هر دس تگاه ورودی ی ا خ روجی ب رای ک ار ک ردن ب ه مجم وع دس تورالعملهایا عالمته ای کن ترلی خ اص خ ود نی از دارد .سیستم ب ه این جزئی ات پرداخت ه و برنام ه ن ویس ی ا ک اربر را از دانس تن و پ رداختن ب ه این ارتباط ات س طح پ ایین بی نی از می‌س ازد .م دیریت بافره ا ،اس پولینگ ،اج رای درایوره ای وس ایل مختل ف ،جلوگ یری از ت داخل وس ایل I/Oو ادارد بن بس تها در تخصیص وسایل I/Oبه پردازشها از وظایف سیستم عامل است . تشخیص خطا5. خطاه ا می‌توان د در CPUو حافظ ه (مث ل خ راب ش دن بی تی از حافظه)،در وسایل(I/Oمثل نویزی که بر روی کابل پرینتر افتاده یا مثًال چاپگر کاغذ نداشته باشد )یا در برنامه کاربر(مثل خطای سرریزی یا دسترسی به پورتها یا حافظه‌های غیر مجاز) رخ دهد. سیس تم عام ل بای د ب رای ه ر ن وع خط ا عم ل مناس بی را انج ام دهد . .6حسابرسی سیستم عامل می‌تواند سیستم حسابرسی داشته باشد تا مشخص گردد ه ر ک اربر از ک دام منب ع ب ه چ ه م دت زم انی اس تفاده ک رده اس ت .این اطالع ات می‌توان د جهت ص دور صورتحس اب و ی ا جم ع آوری آماره ای ک اربران م ورد اس تفاده ق رار گیرد.سیس تم عام ل می‌توان د ب رای ایج اد مکانیزمه ای مح افظتی ب رای ه ر ک اربر تقاض ای رم ز ورود( )passwordرا بکند و بدین ترتیب متناسب با هر کلمه رمز ،امکانات معینی از سیستم را در اختیار آن کار بر قرار دهد. .7مفسر فرمان یکی از مهم ترین برنامه‌ه ای سیس تم عام ل مفس ر فرم ان اس ت ک ه در واق ع واس ط بین ک اربردو سیس تم عام ل می‌باش د .بعضی از سیس تم عامله ا مفس ر فرم ان را در هس ته خ ود ( )kernelق رار داده‌ان د و بعض ی دیگر مثل DOSو UNIXمفسر فرمان را (که پوسته یا Shellنیز معروف است )مانند یک برنامه خاص که در اولین برقراری ارتباط اجراء می‌شود در نظر می‌گیرند.مفسر فرمان دستورات کاربر را گرفته و آنهارا اجراء می‌کند .در پوسته DOSو UNIXفرمانها از طریق صفحه کلید وارد شده و روی صفحه نمایش رایانه به صورت متنی نشان داده می‌شود ولی در سیس تم عام ل وین دوز ی ا مکینت اش پوس ته ب ه ص ورت محیطی گ رافیکی و مبتنی بر پنجره‌هاست که با زدن کلید موس به راحتی می‌توان دستورات را وارد کرد. .8فراخوانی سیستمی فراخوان های سیستمی رابط ما بین سیستم عامل و برنامه‌های کاربردی می‌باشند .در زبان سطح باالی Cو پاسکال مستقیمًا می‌توان این فراخوان‌های سیستمی را به کار برد. فراخوانهای سیستمی عبارتند از: مدیریت پردازشها :مانند ایجاد و اتمام پردازش ،بارگذاری و اجرای پردازش در سیستم عامل ،تخصیص و آزاد کردن حافظه و غیره. مدیریت فایلها و فهرستها :ایجاد و حذف فایل ،باز وبسته کردن فایل ،خواندن و نوشتن ،تغییر صفات فایل و غیره مدیریت وسایل :درخواست و رهاسازی وسیله،خواندن و نوشتن در وسیله وغیره بدست آوردن اطالعات :خواندن و تنظیم تاریخ و زمان، خالصه وظایف اصلی سیستم عامل * استفاده بهینه از منابع و جلوگیری از به هدر رفتن آن ها * تخصیص و آزاد سازی منابع * اداره صف ها و زمان بندی استفاده از منابع * حساب داری ( ) Accountingمیزان استفاده از منابع * ایجاد امنیت ( ) security * ایجاد ،حذف و اداره فرایند ها * ایجاد مکانیسم های ارتباط بین فرایند ها و همگام سازی آن ها * مدیریت فایل ها و پوشه ها * مدیریت حافظه های اصلی و جانبی * برقراری امکان دسترسی چندتایی ( ) Multiaccessو اجرای هم روند ( ) Concurrentفرایند ها * به اشتراک گذاری منابع ( ) Resource Sharing * تعیین راهکار هایی برای اداره بن بست ( ) deadlockها * جلوگیری از شرایط رقابتی ( ) Race Conditionو تداخل یا در هم قفل شدن ( ) Interlockفرایند ها * جلوگیری از گرسنگی ( ) Starvation ساختار مشتري خدمتگزار Client / Server در این ساختار سیستم عامل از دو بخش Clientو Serverتشکیل شده است: بخش Server :این بخش وظیفه انجام عملیات ضروري و اولیه را دارد که فقط انجام انها باید بـه عهـده سیستم عامل باشد .مانند :مدیریت پردازش ،مدیریت I/O،مدیریت حافظه اصلی ،ارتباط بین پردازشها بخش : ‏Clientسایر اعمال ثانویه در بخش Clientقرار گرفته که بر روي سرور انتظار فعال Busy Waiting نصب شده و با سرویس گرفتن از سرور کار خود را انجام میدهد. در یک سیستم I / Oبدون وقفه مثال براي انتقال داده ها به چاپگر بعد از هر عمل نوشتن در پورت چاپگر باید تا پاسخگوئی چاپگر که کاراکتر را چاپ کرده و اماده دریافت کاراکتر بعدي است صبر کنـد و بیکـار بماند .این زمانهاي انتظار نسبتا طوالنی وقت CPUرا به هدر میدهد به این روش انتظار فعال میگویند. عملیات تعویض متن Context Switch هنگامیکه وقفه در سیستم عامل رخ میدهد .ابتدا سیستم عامل وضعیت کامل برنامه در حال اجـرا را حفـظ میکند سپس سیستم عامل وقفه را بررسی میکند و کنترل را به یک روال وقفه گیر مناسب تحویـل میدهـد پس از انکه سیستم عامل کنترل را به یک روال وقفه گیر بخصوص رد میکند وضعیت پردازش جـاري در محلی حفظ میشود .پس از موارد فوق به یک پردازش دیگر مراجعه میشود به این جریان کاري در سیستمعامل تعویض متن Context Switchگفته میشود .براي عمل تعویض مـتن رکـن اصـلی ثبـات ‏PSW میباش د. پردازش/پردازه/فرآیند به یک برنامه در حال اجرا یک پردازش میگویند .به برنامه اي که از حافظه جانبی به حافظه اصلی امـده و اجرایش اغاز شده است .اگر چه ممکن است در حال حاضر در پردازنده نباشد. .1پردازشهاي مربوط به کاربر .2پردازشهاي مربوط به سیستم اگر nفرایند در سیستم داشته باشیم 1فعال بوده در CPUو n-1غیـر فعـال در ‏CPUدر انتظـار اتمـام پردازنده هستند. انفجار ورودي /خروجی ((I/O Burst مقدار زمانی است که پردازش صرف انجام عملیات ورودي /خروجی در پردازنده کند. انفجار پردازنده ((CPU Burst دار زمانی است که پردازش صرف انجام عملیات پردازشی در پردازنده میکند. پردازش با تنگناي ورودي /خروجی I/O Limit / I/O Bound پردازشی که عمده زمانش را صرف انجام عملیات ورودي /خروجـی در پردازنـده کنـد پـردازش I / O ‏CPUیا کوتاه گفته میشود. کوچک پردازشهاي پردازشها، تنگنايبه این میگویند. ‏Bound ‏Limit / CPU Bound پردازنده پردازش با پردازشی که عمده زمانش را صرف انجام عملیات پردازشی در پردازنـده کنـد را پـردازش CPU Limit گوئیم .به این پردازشها ،پردازش بزرگ یا طوالنی گفته میشود. زمانبند کار Job Scheduler روتینی است که بر اساس الگـوریتمی خـاص یکـی از کارهـاي موجـود در جـدول ISPTرا انتخاب کرده و جهت اجرا شدن ان را به حافظه میاورد .یک Jobهنگامی تبدیل بـه پـردازش میـشود کـه تمامی منابع مورد نیاز از جمله حافظه را در اختیار داشـته باشـد .نحـوه تقـسیم بنـدي زمـان CPUبـین پردازشها بر عهده واحد زمانبندي میباشد .به تعریف دقیقتر به مدیریت پردازش طـی چـرخش در گـراف فرایند را زمانبندي میگویند .زمانبندي یعنی اینکه سیس تم عام ل تص میم بگ یرد در ک دام زم ان چـه پردازشـی جهت اج را حالت Hold :کارهائی برنامه هائی در این حالت قرار دارند که به تازگی درخواسـت بـراي اجـراي انهـا صادر شده است .در این حالت برنامه ها در حافظه جانبی قرار دارد .صفی از کارها بنام صف کار یـا انبـار کار ‏Job Queueدر این حالت وجود دارد .به این حالت انبار کار هم گفته میشود. اماده Ready :در این حالت پردازشهائی وجود دارد که در حافظه اصلی بوده ،همه منابع خود را در اختیار داشته ،منتظر ورود به پردازنده هستند .محل پردازشهاي این حالت حافظه اصلی است .در این حالت صفی از پردازشها بنام صف اماده Ready Queueوجود دارد. مسدود Wait / Block :پردازشهائی که در این حالت قرار دارند منتظر شروع عمل I / Oهـستند و در حین انجام عمل I / Oدر انتظار بدست اجرا Running :یک پردازش در این حالت در پردازنده در حال اجرا میباشد .محل پردازشهاي این حالت حافظه اصلی است .پردازش موجود در این حالت همه منابع خود را دارد. مسدود معلق Suspend Wait / Block :هنگامیکه سیستم عامل با کمبـود حافظـه اصـلی ربـرو شـود تعدادي از فرایندهاي مسدود را بصورت موقت از حافظه اصلی به حافظه جانبی منتقل میکند .هـدف ایـن عمل ازاد سازي حافظه اصلی است .محل پردازشهاي این حالت حافظه جانبی است. صفی از پردازشها بنام اماده معلق Suspend Ready :زمانی که سیستم عامل با کمبود حافظه اصـلی روبـرو شـود تعـدادي از فرایندهاي اماده را بصورت موقت از حافظه اصلی به حافظه جانبی منتقل میکند .هدف این عمل ازاد سازي حافظه اصلی است .محل پردازشهاي این حالت حافظه جانبی است .در این حالت صفی از پردازشـها بنـام Suspend Readyوجوددارد. خاتمه Terminate :خاتمه فرایند در این مرحله انجام میگیرد. تفاوت سیستم انحصاري با سیستم غیر انحصاري در سیستم انحصاري فقط زمانی CPUاز پردازش در حال اجرا گرفته میشود که جهت عملیات I / Oیا اتمام پردازش فرزند یا رخداد دیگري بلوکه شود بنابراین مفهوم و پیاده سازي الگـوریتم انحـصاري سـاده است .در زمانبندي غیر انحصاري پس از تمام شدن برش زمانی معین ‏CPUاز پردازش گرفته میـشود در سیستم غیر انحصاري برنامه ها نسبت به سیستم انحصاري موازي تر نرم تر اجراء میشود .به عبارت دیگـر در روش غیر انحصاري سعی میشود زمان پاسخ بهتري براي کاربران فراهم شود .ولی این روش نسبت بـه تکنیک انحصاري هزینه هاي اضافی همراه خواهد داشت .به عنوان مثال ویندوز 3,1بصورت اعزام ()Dispatch به انتقال یک فرایند از Runبه Readyاصطالحا Dispatchمیگویند. حالت بیدار شدن ()Wake Up به انتقال فرایند از Waitبه Readyرا بیدار شدن گویند. زمان انتظار ()Waiting Time به مجموع زمانهائی که یک فرایند در صف Readyبه سر میبرد زمان انتظار ان فرایند گفته میشود. زمان پاسخ () Response Time به فاصله زمانی میان ورود یک فرایند تا تولید اولین خروجی زمان پاسخ گفته میشود ایـن پـارامتر زمـانی مشکل قحطی زدگی مشکل قحطی زدگی یا گرسنگی Starvationبه این صورت که ممکن است اجراي یک یا چنـد فراینـد متناوبا به تعویق بیفتد و این روند میتواند تا بی نهایت ادامه یابد .یعنی ممکن است هیچگاه نوبت به اجراي این فرایند ها نرسد. وقفه در سیستم عامل وقفه‌ه ا ج زء مهمی از معم اری ک امپیوتر هس تندو نح وه عملک رد آنها از ماشینی به ماشین دیگر ممکن است متفاوت باشد .وقفه راهک اری را ف راهم می‌س ازد ت ا اج رای دس تورالعملهای ج اری پردازن ده موقت ًا متوق ف ش ده و دس تورات س رویس دهی دیگ ری داده ه وقف ه برنام ه ب اره دوب ترل کن آن از پس س و ردد گ راء اج وقفه‌های داخلی ( )trapکه بر اثر اجرای دستورات خود برنامه به ردد. از گ ده ب ش صورت داخلی در CPUرخ می‌هند. وقفه‌های خارجی که از دستگاههای خارجی مثل دستگاههای ورودی یاخروجی ،DMA،تایمرها ،صفحه کلید و خطاهای سخت افزاری ناشی می‌شوند. وقفه‌های نرم افزاری(یاهمان )SVCکه بر اثر فراخوانی توابع سیستمی توسط برنامه رخ می‌دهند. انواع وقفه‌ها وقفه‌ه ای برنام ه ی ا) )program checkک ه ب ه دلی ل اج رای بعض ی دس تورات رخ می‌دهن د .مثًال س رریز ش دن محاس باتی تقس یم ب ر ص فر، اج راء دس تورالعمل غ یر مج از ،رج وع ب ه آدرس خ رج از مح دوده مج از کاربر .به این وقفه‌ها اغلب Trapیا تله گفته می‌شود. وقفه‌های زمان سنج( )Timerاین وقفه به سیستم عامل امکان می‌دهد بعضی اعمال را به صورت مرتب در یک پریود زمانی خاص انجام دهد (مثل تنظیم ساعت ،چک کردن سخت افزار و... وقفه‌های I/Oاین وقفه‌ها به وسیله کنترل کننده‌های دستگاه I/O تولید می‌شوند تا کامل شدن طبیعی یک عمل یا بروز خطا در انجام عمل را نشان دهند. وقفه‌های نقص سخت افزار یا وقفه‌های )Machine-checkمثل وقفه‌ای که بر اثر خطای بیت توازن ( )parityحافظه رخ می‌دهد یا )Super Visorکه در واقع یک تقاضا از طرف برنامه وقفه ( ‏Callبرق نقص وقفه کاربر جهت دریافت سرویس ویژه‌ای از سیستم عالم است . وقفه Restartکه با فشار دادن دکمه Resetایجاد می‌شود . مکانیزم وقفه Buffer Overflow بافر محلی از حافظ ه ب رای نگ ه داری م وقت اطالعات یک نرم افزار با ظرفیت از پیش تعیین ش ده اس ت .ظ رفیت بافره ای ب ا ان دازه ث ابت ،از قب ل و در زم ان کامپای ل تع یین ش ده اس ت و در ص ورتی ک ه اطالع اتی بیش تری در آن ه ا نوش ته ش ود ،س رریز خواهن د ش د و این‌گون ه باگ‌ه ا را بوج ود خواهن د آورد .اگ ر این ب افر در پش ته برنام ه ق رار داش ته باش د ،ممکن اس ت ب اعث بوج ود آم دن حمالت س رریز ب افر پش ته ش ود .نتیج ه این عمل خراب شدن و آسیب دیدن اطالعات مجاور آن ب افر در پش ته اس ت و در ص ورتی ک ه این س رریز ب ه ط ور ناخواس ته و ب ر اس اس ی ک اش تباه Buffer Underflow پش ته خ الی اس ت و می خ واهیم عم ل POPانج ام دهیم ،زیر ریز بافر رخ می دهد push.عملوند خود را ب ه پش ته اض افه می کن د و دس تور popمق داری را از پش ته ح ذف می کن د و در عملون د خ ود ق رار می ده د. داده ای ک ه برداش ته می ش ود هميش ه آخ رين داده ای است که اضافه شده است یا حالتی است که در آن س رعت انتق ال داده ه ا ب ه ب افر ی ا ی ا پردازن ده از س رعت خوان دن داده ه ا از ب افر ی ا پردازن ده کم تر اس ت .در این ص ورت ای د برنام ه ی ا Deviceک ه از بافر ،داده ها را می خواند ناگزیر پردازش خود را Exceptionsیا استثناها وضعیت های استثنایی مانند تقسیم بر ص فر ک ه پردازن ده بای د ب ه آن پاس خ ده د .هنگ ام ب روز اس تثناء ،پردازن ده آدرس دس تورجاري را در ثب ات وقف ه ذخ يره نم وده و كن ترل را ب ه بخش ي خاص از سيستم عامل با نام EPC مي س پارد .سيس تم عام ل،در اين مواق ع واكنش ي از پيش تع یین نش ده انج ام خواه دداد .س پس ي ا اج راي برنامه را خاتمه مي دهد و يا ادامه ي برنام ه را معم اری ک امپيوتر اج را مي كند .سيستم عامل افزون بر دستوري ك ه م وجب رخ داد اس تثنا ش ده اس ت، پشته یا Stack یکی از انواع ساختمان داده برای نگه داریdata می باش د ک ه در ط راح و پی اده س ازی سیس تم های سخت افزاری و نرم افزاری کاربرد داردو المان ها را بر اساس الگوریتم یا الویت خروج با عناصر تازه وارد FILOکار می کند(FIRST-IN- .)LAST-OUTاز ی ک ط رف مح دود اس ت دسترس ی از س مت ب االی پش ته اس ت ک ه براس اس PUSHی ا POPتط بیق می یاب د و از عم ل PUSHب رای اض افه ک ردن ی ک آیتم و از POPبرای حذف یک آیتم استفاده می کند.پشته یکی از س ه بخش تخص یص یافت ه ب ه برنام ه در حال اجرا در حافظه RAMاست. دستورالعمل های stackیا پشته پشته یا stackناحیه ای از حافظه اصلی است که به صورتLIFOیا LAST-IN- FIRST-OUTسازماندهی شده است یعنی آخرین داده وارد شده اولین داده ای است که خارج می شود. ‏PUSH قرار دادن داده در پش ته و رزرو ک ردن فض ای پشته برای متغیرهای موقت PUSH.عملوند خود را به پشته اضافه می کند. مثال :دستور زیر یک کلمه را در پشته قرار می دهد. ‏MOVE AX,12 ‏PUSH AX ‏PUSHA قرار دادن همه رجیسترها به طور همزمان در پشته ‏POP خروج داده ها از stack.POPمقداری را از پشته حذف می کند و در عملوند خود قرار می دهد. ‏POPA خروج داده ها به صورت کلمات 8تایی از پشته ‏Segment به هر قطعه 64کیلو بایتی از حافظه اصلی که دارای آدرس شروع معینی باشد یک segmentمی گویند .هر سگمنت با آدرس شروع آن مشخص می شود.آدرس هر بایت از حافظ ه اص لی ب ا دوع دد قاب ل بی ان اس ت :ی ک ع دد ب رای ذخ یره ک ردن آدرس ش روع سگمنت و عدد دیگر برای ذخیره کردن فاصله بایت مورد نظر از ابتدای سگمنت .عدد اول س گمنت و ب ه ع دد دوم آفس ت آدرس ی ا جابج ایی نامی ده می‌ش ود ،ک ه این آفس ت دستورCall آدرس دس تورالعمل بع دی را در پش ته ذخ یره می کن د .پردازن ده وق تی ب ا دس تور callمواج ه می ش ود ،ب ه آدرس ش روع procedureمراجع ه ک رده و دستورات موجود در آن زیر برنامه را اجرا می کند. دستورReturn حلقهبا returnمواجه شده به قسمت callبرگشته و دستور بعد پردازنده وقتی دستورات کند. دس callرا از رطی JUMPهس تند ک ه از مق دار رجیس تر ECXب ه عن وان می ش اجراه ای تورالعمل شمارنده تعداد دفعات اجرای یک حلقه استفاده می کند.همه دستورات LOOPبا یک بار اجرا در رجیستر ECXاز تعداد آن ها کم می شود و زمانی که به صفر می رسد LOOPخاتمه می یابد .از حلقه LOOPزمانی که بدنه دستور بزرگ نباشد استفاده می شود. Zflagیا Zero Flag اگر در عمل جع یا تفریق تمامی بیت های نتیجه صفر شوند ZF،برابر 1است در غیر این صورت برابر صفر است. انواع سیستم عامل سیستم عامل تک پردازنده این نوع سیستم عامل ها ،سیستم عامل های نسل چهارم ( نسل فعلی ) هستند که بر روی یک پردازنده اجرا می شوند . سیستم عامل شبکه ای این نوع سیستم عامل ها ،از کنترل کننده های واسط شبکه و نرم افزار های سطح پایین به عنوان گرداننده استفاده می کنند و برنامه هایی برای ورود به سیستم های راه دور و دسترسی به فایل از راه دور در آن ها به کار گرفته می شود . سیستم عامل توزیع شده این سیستم عامل ها خود را مانند سیستم عامل های تک پردازنده به کاربر مع رفی می کنن د ،ام ا در عم ل از چن دین پردازن ده اج را می ش وند .این ن وع سیستم عامل در یک محیط شبکه ای اجرا می شود در این نوع سیستم یک برنام ه پس از اج را در کامپوتره ای مختل ف ج واب نه ایی ب ه سیس تم اص لی کاربر بر می گردد سرعت پردازش در این نوع سیستم بسیار باالاست. سیستم عامل بال درنگ سیستم های عامل بالدرنگ برای کنترل ماشین آالت صنعتی ،تجهیزات علمی و سیس تم ه ای ص نعتی اس تفاده می‌گ ردد .ی ک سیس تم عام ل بالدرن گ دارای امکان ات مح دود در رابط ه ب ا بخش راب ط ک اربر و برنامه‌ه ای ک اربردی مختص ک اربران هس تند .یکی از بخش‌ه ای مهم این ن وع سیس تم ه ای عام ل م دیریت من ابع موج ود ک امپیوتری بگ ونه‌ای اس ت ک ه ی ک عملی ات خ اص در زم انی ک ه Multiprocessorها یا چند پردازندگی ت ا چن د س ال گذش ته ت گ پردازن دگی رایج ب وده و هم ه چ یز ب ر روی ی ک تراش ه ذخ یره ی ش ده اس ت ،ام ا در س ال ه ای اخ یر ،پردازن ده ه ایی ب ا س رعت ب اال و ح اوی چن د تراش ه ب ر روی ک ار آم ده اس ت.در ابت دا چن د پردازن دگی ب ر روی ی ک مادربورد اتفاق می افتاد اما در معماری جدید چند مادربورد باهم حافظه شبکه های میان ارتباطی و storageرا به اشتراک می گذارند. ب ه بک ارگیری دو ی ا چن د واحد پردازشگر مرکزی در ی ک سیس تم رایان ه ای می گوین د .این واژه ب ه توان ایی ی ک سیس تم در بک ارگیری چن د پردازن ده و تقس یم وظ ایف بین آن ه ا ن یز اطالق می ش ود .بس ته ب ه اینک ه واح دهای پردازش گر مرکزی چگونه تعریف می شود (چند هسته روی یک قاب ،چند چیپ درون یک بسته ،چند بسته در یک سیستم و غیره) ،تعریف واژه چندپردازی نیز می تواند تغییر کند. در چن د پردازندگی ،کامپیوتر برای نگ ه داری داده از چن د پردازن ده استفاده کرده و داده ها به قطعاتی با نام segmentشکسته شده و به هر پردازنده یک taskتخص یص داده می ش ود.در م دل ه ای اولی ه چن د پردازن دگی ،ی ک پردازنده به عنوان پردازنده والد و بقیه پردازنده ها به عنوان پردازنده فرزند بودند .والد کارها را می شکست و بین فرزندان تقسیم می کرد و نتایج از سمت فرزندان برای والد ارسال می شد .تقسیم کارها بین پردازنده ها به شیوه های مختلف صورت می گرفت. سیستم های دارای پردازنده‌های چند هسته‌ای پردازنده‌های اولیه تنها یک هسته داشتند .این بدین معنی است که ه ر پردازن ده تنه ا ی ک واح د پ ردازش مرک زی داش ت .ب رای اف زایش ب ازده و ق درت پردازن ده ،تولیدکنن دگان اندیشه اف زایش هس ته‌ها در پردازن ده را در س ر پروراندن د .در همین راس تا پردازن ده‌های دو هسته‌ای تولید شدند که در واقع دو واحد پردازش مرکزی داشتند و سیستم‌عامل‌ها نیز آن ها را دو پردازنده مستقل می‌دیدند و ‌taskها را بصورت موازی به آن ها ارسال می‌کردند. در این ح الت دو هس ته‌ی ف یزیکی وج ود دارد ک ه همچ ون دو پردازن ده مس تقل عم ل می‌کنن د ب ا این تف اوت ک ه ه ر دو پردازن ده در دل ی ک تراشه ق رار دارن د .نزدیک شدن هسته‌ها به یک دیگر ارتب اط بین آن ه ا را س ریع ت ر ک رده و دسترس ی آن ه ا ب ه الم آن ه ای دیگ ر پردازن ده مانن د حافظه‌ه ای کش و غ یره را تس ریع معماری چندهسته ای مزایای این سیستم ها زیاد شدن توان عملیاتی منظور از throughputتعداد کارهایی است که در یک واحد زمانی تم ام می ش وند .ب دیهی اس ت ه ر چق در تع داد پردازن ده‌ها بیش تر باش د تع داد کاره ای تم ام ش ده در ی ک پری ود زم انی ن یز بیش تر خواه د ب ود .البت ه این نس بت خطی نیس ت ،مثال اگ ر تعداد پردازنده‌ها nباشد سرعت اجراء برنامه‌ها nبرابر نمی شود چرا که بخشی از وقت پردازنده‌ها جهت مسائل کنترلی و امنیتی وسوئیچ کردن ها به هدر می‌رود. صرفه جویی در هزینه‌ها ،از آنجا که پردازنده‌ها منابع تغذیه ،دیسک ها حافظه‌ها و ادوات جانبی را به صورت مشترک استفاده می‌کنند در هزینه‌های سخت افزاری صرفه‌جویی می شود. تحم ل پ ذیری در براب ر خطاسیس تم ه ای م التی پروسس ور ق ابلیت اعتم اد را اف زایش می دهند چرا که خرابی یک پردازنده سبب توقف سیستم نمی شود بلکه تنها سبب کند شدن آن خواهدشد .استمرار عمل با وجود خرابی نیازمند مکانیزمی است که اجازه دهد خرابی جس توجو ش ده ،تش خیص داده ش ده و در ص ورت امک ان اص الح ش ود (ی ا کن ار گذاش ته ش ود) .این توان ایی ب ه ادام ه س رویس متناس ب ب ا س طح بق ای س خت اف زار،ت نزل مطب وع نامیده می شود. سیستمهای اشتراک زمانی همانطور که گفته شد در چندبرنامگی اجرای برنامه تا عملیات ورودی /خروجی ادامه پیدا میکرد و اگر یک برنامه به مدت طوالنی نیاز به ورودی و خروجی نداشته باشد ،همه زمان « » cpuرا به خود اختصاص می دهد .برای حل این مشکل سیستمهای اشتراک زمانی معرفی شد که به جای اجرای برنامه تا عملیات ورودی /خروجی اجرای برنامه تا برش زمانی ادامه پیدا میکند .در واقع در اشتراک زمانی ،زمان را به برش های زمانی مثال 2ثانیه تقسیم کرده و هر برنامه فقط به مدت یک برش زمانی اجرا میشود و عدالت در سیستمهای اشتراک زمانی اجرا میشود چند برنامگی یک اشکال مهم سیستم عاملهای دستهای این بود که در هر زمان فقط یک کار میتوانست توسط « » cpuاجرا شود و اگر عملیات ورودی/خروجی یک کار طول میکشید cpuمعطل میشد تا عمل ورودی /خروجی آن کار تمام شود و سپس ادامه آن کار را پردازش مینمود که در برنامههای با تنگنای محاسباتی ورودی/خروجی این اتالف بیشتر بود ،برای حل این مشکل چند برنامگی ابداع شد که در آن حافظه به چند قسمت تقسیم میشود و در هر قسمت یک برنامه اجرا میشود ،در چندبرنامگی اجرای برنامه تا عملیات ورودی /خروجی ادامه پیدا کرده و از ‏Online Spoolingاستفاده می شود .در Online Spoolingبه جای اینکه دادهها به صورت مستقیم در حافظه بار شوند به صورت کاراکتر به کاراکتر در بافری در حافظه ورودی قرار میگیرند و سپس به صورت بلوکی روی تکنیک Spooling بکارگیري حافظه جانبی ذخیره ساز پشتیبان بعنوان واسـطه اي میـان ابـزار ورودي/ خروجـی و پردازنـده کامپیوتر را Spoolingمیگویند .در مکانیزم Spoolingجهت زمانبندي کارها بخشی موسوم به هماهنگ کننده ((Cordinatorطراحی شده است که جهت زمانبندي برنامه ها و پردازشها و ایجاد نرمـال محیطی ‏Offlineدر این تکنیک ابتدا اطالعات به یک نوار منتقل شده ‏Spooling -1 : روي خروجی بکار میرود . .و داراي دو نوع است: ورودي و پردازشعملیات جهت اطالعات از نوار بوده و نتیجه پردازش نیز بر روي نوار ذخیره میشود .و از نوار به چاپگر میشود. فرستاده ‏Onlineدر این تکنیک ابتدا اطالعات به یک دیسک منتقل شـده ‏Spooling -2: پـردازش اطالعـات از روي دیسک بوده و نتیجه پردازش نیز بر روي دیسک ذخیره میشود و از نوار به چاپگر فرستاده میشود. بافرینگ و اسپولینگ بافر کردن ( ،)Bufferingامکان همپوشانی ( همزمانی ) عمل I/Oیک کار را با عملیات پردازش همان کار بوجود می آورد.در حالیکه spoolingامکان همزمانی پردازش ورودی – خروجی چندین کار رابا یکدیگر فراهم می کند. محاسباتی کار Spoolingکار را عمل I\Oیک بافر عمل دارد ولی الزامابا بافر اسپولینگهر -2 ‌اندازد) overlap(.در سیستم اسپولینگ دیگر روی هم ‏Spoolingمیندارد. در حالیکه ورودی یک کار از دستگاه ورودی خوانده می‌شود ،کار دیگری در حال چاپ شدن است ،در همین بین حتی کار دیگری می‌تواند در حال پردازش و اجراء باشد. سیستم های چند نخی یاHyperthreading نخ یا Thread به طور ساده نخ مسیری است که پروسه یا برنامه در طول اجرایش طی می کند .سیستم عامل های امروزی فضای چند نخی به وجود آورده اند. ساختار نخ تک نخی رویکرد سنتی یک نخ اجرا در هر فرآیند ،مانند DOS-MSاز فرآیند تک کاربره و از یک نخ حمایت می کند. فرآیند تک نخی شامل بلوک کنترل ،فضای آدرس فرآیند ،پشته کاربرهسته برای مدیریت و… ،است چند نخی یا Multithreading تکنیک چند نخی برای سازگار نمودن سیستم عامل ها با چند پردازندگی معرفی شد تا سرعت جریان داده به هر پردازنده را بهبود بخشد و محاسبات پردازنده به طور موازی انجام شود. ام روزه برنام ه ه ا ب رای اج رای چن دین ک ار و فع الیت ب ه ط ور هم زم ان س رعت بیشتری را می طلبند ،موضوعی که امروزه تولید برنامه های نرم افزاری را غیر ممکن س اخته اس ت .روش ق دیمی در ب ازی نوب تی س نتی مانن د tic-tac-toeی ا شطرنج جواب می دهد ،در حالی که شیوه سنتی در برنامه های چند کاره جدید ساختار تک نخی وچند نخی اجزای برنامه در برنامه های بزرگ هر قسمت از برنامه با وظيفه مشخص را در واحدیا بخش خاصی از برنامه قرار می دهند و هر موقع (حتی به صورت تکراری) نياز بود از آن استفاده می شود هر برنامه متشکل از برنامه اصلی و برنامه های فرعی: ‏Subprogram, Subroutine, Internal, External,Module جزئيات داخلی هر يک از برنامه های فرعی از ديگر برنامه های فرعی و خود برنامه اصلی مجزا بوده و لذا به راحتی می توان آن ها را در هر برنامه ديگر به راحتی مورد استفاده قرار داد.برنامه اصلی و هريک از برنامه های فرعی می توانند ازطريق واسط ( )Interfaceبا يک برنامه فرعی ارتباط بر قرار کندولی ارتباط بين برنامه اصلی و فرعی يک طرفه انواع برنامه های فرعی توابع آماده ()Supplied Functions در کتابخانه فرترن موجود بوده و برنامه نويس بدون اجازه دخل و تصرف فقط می تواند آن ها را در برنامه خود زير روال ها ()Procedure آن ها را برنامه نويس خود نوشته و می تواند در هر برنامه ای از آن ها استفاده نموده و يا آن ها را تغيير و يا اصالح نمايد .شامل: ( Functions توابع) ‏Subroutines  انواع زیر برنامه داخلی یا Intrasegment زیربرنامه در همان سگمنتی که تعریف شده اند قابل فراخوانی هستند و در تعریف آن ها از صفت nearاستفاده می شود. زیربرنامه های خارجی یا Intersegment روال هایی هستند که در سگمنت دیگری قرار دارند و از سایر سگمنت ه ا فراخ وانی می ش وند و در تعری ف آن ه ا از ص فت farاس تفاده می ش ود.زیر برنام ه ه ای خ ارجی در فای ل جداگان ه ای ق رار دارن د و هنگ ام لینک کردن باید به برنامه پیوند داده شود.بعد از لینک نتیجه کار مانند زیربرنامه داخلی است. Near call زیربرنامه داخلی در همان سگمنتی تعریف شده که فراخوانی می شود. ‏Far call زیربرنام ه خ ارجی در فای ل جداگان ه نگ ه داری می ش ود و هنگ ام فراخ وانی ب ه پرنامه پیوند داده شود. در برخورد با ،callپردازنده به آدرس شروع زیر برنامه رفته و دستورات آن را اجرا می کند .در برخورد با ،RETURNپردازنده به برنامه CALLبرگشته و دستور بعد ازCALL را اجرا می کند. ‏Stack Protection اعمال محدودیت هاpolicy ،ها و قوانین بر روی حافظه ای که پشته در آن قرار دارد.مثال قرار دادن execute protectionیا flagبررروی قسمت سخت افزار که با 0و1 شدن امکان دسترسی به پشته داده می شود یا داده نمی شود. ‏execute :1 ‏not execute :0 کرنل یا هسته اولین برنامه ای است که در حافظه بارگذاری می شود .پل بین سخت افزار و برنامه های نرم افزار کاربردی است .هسته مرکزی سیستم عامل و کنترل کننده کارهای سیستم است.وظیفه دیگر کرنل ،مدیریت منابع کامپیوتر(پردازندهI/O،SYSTEM، ‏CALLو )،...و فراهم ساختن امکان اجرا و استفاده از منابع به دیگر برنامه ها است. تشخیص اتمام انتقال دادهها توسط دستگاه های ورودی و خروجی ) )I/O )Pollingسرکشی) :در این روش هر دستگاه دارای ثبات کنترلی است که « » cpuیا پردازنده ،با بررسی آن متوجه میشود که آیا عملیات انتقال آن دستگاه تمام شده است یا نه ؟ مثال :در بین درس استاد چند دقیقه یک بار از دانشجو می پرسد که آیا سؤال دارید یا خیر ؟ Interrupt:در این تکنیک هر دستگاه دارای سیگنال کنترلی مخصوصی است ،که به نحوی با « » cpuارتباط دارد هرگاه انتقال اطالعات و دادهها توسط آن دستگاه تمام شود ،سیگنالی را به نام وقفه به سمت « » cpuمی فرستند تا آن را از این موضوع مطلع کند .این حالت بهتر از pollingاست زیرا از اتالف وقت « » cpuجلوگیری میکند . برنامه ها به دو دسته تقسیم می شوند : .1برنامه های با تنگنای I/Oیا ورودی و خروجی :بیشتر زمان کامپیوتر ها صرف ورود و خروج اطالعات میشود. .2برنامه های با تنگنای محاسباتی cpu:بیشتر زمان کامپیوتر صرف محاسبات ‏cpuمیشود ،مانند محاسبات علمی سنگین. بلوک کنترل پردازش ):Process control block(PCB پردازش یا فرآیند در واقع یک برنامه است که عالوه بر کد برنامه شامل مقدار شمارنده برنامه ،ریجسترهای پردازشگر register cpuپشته و بخش داده ها است .وقتی برنامه از دیسک به حافظه اصلی آورده می شود ،در واقع تبدیل به یک فرآیند یا پردازش می شود. هر پ ردازش در سیستم عامل توسط یک س اختمان داده به نام بلوک کنترل پردازش نشان داده میشود. ‏PCBش امل اطالع ات زی ادی در م ورد ی ک پ رازش اس ت مانن د حالته ای ج اری پ ردازش، ش ماره شناس ایی پ ردازش ،ش مارنده برنام ه اطالع ات وض عیت ورودی و خ روجی، اطالعات زمان بندیcpu ،و غیره . . .وقتی سیستم عامل cpuرا به پردازش جدیدی میده د ، ب ا اس تفاده ‏PCBتم ام اطالع اتی ک ه جهت حالت های اصلی پردازش .1اجرایی :توسط CPUدر حال اجرا میباشد. .2آماده :روی حافظه اصلی « » Ramقرار دارد و آماده اجراست . 3.معلق و مسدود :برنامه هایی هستند که برروی دیسک قرار دارند و منتظر ورودی و خروجی هستند . .4آماده و معلق :برنامه هایی هستند که بر روی دیسک قرار دارند و در صورت انتقال به حافظه اصلی آماده اجرا هستند . .5مسدود :برنامه هایی هستند که برروی حافظه اصلی قرار دارند و منتظر ورودی و خروجی هستند پنج حالت ممکن برای فرآیند : اجرا :فرآیندی هم اکنون در حالت اجرا است. آماده :با گرفتن فرصت به اجرا در می آید. مسدود :با تمام شدن وقت و یا بروز حادثه اتفاق می افتد. جدید :فرآیندی که هم اکنون ایجاد شده است. خروج :به عّلت دستور توقف یا به دلیلی قطع شده است. انواع صف .1انبار کار یا صف کار یا joblistیا jobpoolیا ispt :جدولی که کارهای موجود در دیسک در آن قرار دارند بنابراین تعدادی کار وجود دارد که به صورت غیر فعال بر روی دیسک و در انبار کار قرار دارند و هنوز تبدیل به پردازش نشدهاند ،حال باید این کارها بر اساس اولویت و معیارهایی ،برای اجرا به حافظه اصلی آورده شوند این عمل توسط زمانبند کار(زمانبند بلند مدت) انجام می گیرد. .2صف آماده :برنامه هایی که بر روی حافظه اصلی قرار دارند این برنامه ها توسط زمان بند کوتاه مدت برای اجرا توسط cpuانتخاب شوند. انواع زمانبند .1زمانبند کار یا زمانبند بلندمدت :روتینی است که بر اساس الگوریتمی خاص یکی از کارهای موجود در انبار کار یا صف کاررا انتخاب کرده و جهت اجرا شدن آن را به حافظه می آورد ،هنگامی که کارها در انبار کار بر روی دیسک منتظر اجرا شدن هستند اصطالحًا « » holdو هنگامی که توسط زمانبند کار جهت اجرا شدن به حافظه اصلی منتقل می شوند ،اصطالحًا به حالت آماده میروند . زمانبند میان مدت :هنگامی که پردازشها در حافظه اصلی بوده و منتظر ورودی و خروجی هستند ،امکان دارد تعداد آنها آنقدر زیاد باشد که هم ظرفیت حافظه اصلی را اشغال نمایند و هم زمان " " cpuبه هدر رود بنابراین میتوان تعدادی از این پردازشها را به دیسک منتقل ساخت و تعدادی دیگر از برنامهها را که آماده هستند از دیسک به حافظه اصلی منتقل کرد. هنگامی که پردازش هایی که منتظر ورودی و خروجی هستند را به دیسک منتقل میکنیم در واقع به حالت "معلق و مسدود" میروند حال اگر ورودی و خروجی مربوط ب ه ی ک پ ردازش ک ه ب ه روی دیس ک ق رار دارد تم ام ش ود پردازش به حالت "آماده و معلق" میرود .زمانبند میان مدت عمل انتخاب کارهایی .3زمانبنـد کوتـاه مـدت :این زمانبند پردازشهای موجود در صف آماده را برای اجرا شدن توسط " " cpuانتخاب میکند بنابراین زمانبند کوتاه مدت عمل انتخاب پردازشهایی که بر روی حافظه اصلی هستند را برعهده دارد . این زمانبند نیز از الگوریتمهای خاصی استفاده میکند این الگوریتمها را در ادام ه بی ان میک نیم .ب رای انتخ اب الگ وریتم مناس ب بای د از یکس ری معیار استفاده نمود . معیار های انتخاب الگوریتم مناسب زمانبند کوتاه مدت ( :معیار هایی که براساس انها الگوریتم های زمان بندی کوتاه مدت را میتوان انتخاب کرد). عدالت :یعنی سهم پردازنده از cpuبه طور منصفانه باشد. زمان پاسخ :معیار دوم که زمان پاسخ میباشد بدین معناست که الگوریتم انتخابی باید به گونهای باشد که زمان پاسخ یک پردازش را کاهش دهد .زمان پاسخ زمان مابین شروع یک پردازش و اولین پاسخ پردازش است بنابراین زمان پاسخ مدت زمانی است از صدور یک تقاضا تا تولید اولین پاسخ آن طول میکشد. ‏زمان بازگشت و برگشت :فاصله زمانی از زمان تحویل کار تا تکمیل کار را زمان برگشت مینامیم. ‏توان عملیاتی :به تعداد پردازش های که در واحد زمان تکمیل میشود توان عملیاتی گفته میشود بنابراین بهتر است از الگوریتمی استفاده کنیم که توان عملیاتی افزایش یابد. دسته بندی الگوریتمهای زمانبند کوتاه مدت ‏انحصاری :دراین الگوریتمها تا زمانی که پردازش خاتمه نیابد و یا تا زمانی که پردازش نیاز به عمل ورودی و خروجی نداشته باشد نمیتوان cpuرا از پردازش در حال اجرا گرفت و به پردازش دیگر اختصاص داد . غیر انحصاری :در این الگوریتمها با اتمام برش زمانی و یا تغییر شرایط سیستم ،زمانبند میتواند cpuرا از پردازش گرفته و به پردازش دیگری دهد. الگوریتم های زمانبندی سیستم عامل زمان‌بندی «اجرا به ترتیب ورود» (( )First-Come, First-Servedیا به اختصار ()FCFS زمان‌بندی «کوتاه‌ترین کار بعدی» (( )Shortest-Job-Nextیا به اختصار ()SJN زمان‌بندی اولویت ()Priority زمان‌بندی کوتاه‌ترین زمان باقیمانده ((Shortest Remaining )Time مثال دوم FIFO:اگر سه پردازش p3 ، p2 ،p1در زمان های ذکر شده در جدول زیر وارد صف شوند ،میانگین زمان اجرا و انتظار را بدست آورید. زمانبند نوبت گردشی یا RR این الگ وریتم شبیه الگوریتم FIFOمی باش د .از این جهت که از ابتدای ص ف آم اده پ ردازش ه ا ب رای اج را انتخ اب میش وند ام ا تف اوتی ک ه ب ا ‏FIFOدارد این است که در FIFOپردازشها تا اجرای کامل یا نیاز به عمل ورودی /خروجی CPU ،را رها نمیکنند اما در این الگوریتم هر پردازش به میزان زمانی مشخصی میتواند بر روی CPUاجرا شود ،بنابراین در این الگ وریتم ی ک واح د زم انی ی ا ب رش زم انی تعری ف میش ود ک ه ه ر پردازش به اندازهی آن برش زمانی میتواند توسط CPUاجرا شود این مثال اول RR:اگر سه پردازش p3 ، p2 ،p1به ترتیب وارد صف شوند میانگین زمان اجرا و انتظار را بدست آورید. برش زمانی را 2ثانیه در نظر بگیرید؟و زمان ورود همه را صفر در نظر بگیرید زمانبند اولین کوتاهترین کار SPNیا SJF الگوریتمی انحصاری است و cpuبه پردازشی داده می شود که کوچک ترین زمان اجرا را دارد اگر دو پردازش زمان اجرای یکسان داشته باشند پردازشی که زودتر وارد سیستم شده است یعنی در ابتدای صف است اجرا میشود. مثال اول SPNیا SJF:اگر سه پردازش p3 ، p2 ،p1به ترتیب وارد صف شوند میانگین زمان اجرا و انتظار را بدست آورید .زمان ورود همه را صفر در نظر بگیرید .در این P2و P3هر دو دارای زمان اجرای 3هستند و نکته :مهم ترین مشکلی که این الگوریتم یعنی SPNدارد این است که باید بتوانیم زمان اجرای پردازش را پیش بینی کنیم که معموال با استفاده از یک تخمین صورت می گیرد .و مشکل دیگر این الکوریتم این است که امکان گرسنگی یا قحطی زدگی فرآیند های طوالنی وجود دارد . تعریف گرسنگی یا قحطی زدگی :اگر پردازش به مدت طوالنی نتواند اجرا شود پردازش دچار گرسنگی یا قحطی زدگی شده است. زمانبند کوتاهترین زمان باقیمانده )SRT زمان بند SRTشبیه SJFاست ولی از نوع غیر انحصاری میباشد .در ‏SRTبرنامه ای که احتیاج به کمترین زمان جهت تکمیل دارد ابتدا اجرا میشود در این روش مانند SJFنیاز به تخمین زمان اجرای پردازشها داریم همچنین احتمال بروز مشکل گرسنگی نیز وجود دارد .نکته ی مورد توجه در این الگوریتم این است که به خاطر پس گرفتنهای پیدرپی cpuاز پردازش ها این الگوریتم از الگوریتم SJFپر هزینه است . مثال SRT:اگر سه پردازش p3 ، p2 ،p1به ترتیب وارد صف شوند میانگین زمان اجرا و انتظار را بدست آورید .همانطور که در جدول زیر دیده میشود در این زمانبند باید زمان ورود را در نظر بگیریم در سه الگوریتم قبلی زمان ورود همه را صفر در نظر می گرفتیم ابتدا در زمان صفر فقط پردازش P1در سیستم وجود دارد و تا زمان 2ثانیه پردازشی وجود ندارد بنابراین تا زمان 2ثانیه P1اجرا میشود. در زمان 2ثانیه پردازش P3وارد سیستم میشود چون پردازش P1در زمان 2ثانیه به مدت 5ثانیه از کارش باقیمانده و زمان اجرای P3به مدت 3ثانیه است بنابراین زمان اجرای P3کمتر است و CPUبه P3داده میشود.در زمان 4ثانیه p2وارد سیستم میشود وچون زمان باقیمانده ‏p3در این زمان کمتر از بقیه است خود p3اجرا میشود. همانطور که گفتیم در این الگوریتم فرض میکنیم یک زنگ وجود دارد که با وارد شدن یک پردازش آن زنگ به صدا در می آید با به صدا در امدن در مثال باال در زمان صفر فقط یک پردازش یعنی p1در سیستم وجود دارد بنابراین ابتدا اجرا میشود در ثانیه 2زنگ به صدا در میآید یع نی p3وارد سیستم میش ود چ ون در زم ان ثانیه 2پ ردازش p1به اندازه 2ثانیه اجرا شده بنابریان زمان باقیمانده آن 5ثانیه میباشد و چون زمان اجرای p3که برابر 3میباشد از 5ثانیه کمتر است بنابراین ‏cpuاز پردازش p1گرفته شده و به پردازش p3داده میشود. حال دوباره در زمان ثانیه 4زنگ به صدا در می آید یعنی p2وارد سیستم میشود چون در این زمان پردازش p1به اندازه 5ثانیه و پردازش p3اندازه 1ثانیه و پردازش p2به اندازه 3ثانیه زمان اجرا زمانبند باالترین نسبت پاسخ HRRN : این زمانبند نوعی زمانبند انحصاری است که بعضی از مشکالت SJFرا برطرف می سازد .در واقع برای حل مشکل گرسنگی از رابطه زیر استفاده میکند .عدد بزرگتر نشان دهنده اولویت بیشتر است. در این زمانبند بر اساس رابطه ذکر شده اگر پردازشی بیش از اندازه انتظار بکشد(زمان انتظار در صورت است و اگر زیاد شود باعث میشود اولویت بایا رود) باعث میشود اولویت آن باال برود و بدین ترتیب مشکل قحطیزدگی حل میشود پس کارهای کوتاهتر اولویت بیشتری داشته و زودتر اجرا می شود . ولی از ط رف دیگ ر در ص ورت زم ان انتظ ار را داریم و در ص ورت اینک ه با توجه به اعداد بدست آمده برای اولویت ابتدا پردازش P1سپس P4سپس ‏P3و در نهایت P2اجرا خواهند شد .همانطور که در جدول دیده میشود پردازش ‏P4با اینکه زمان اجرایش بیشتر از بقیه است ولی چون زمان انتظارش زیاد است اولویتش باال رفته و قبل از P2و P3اجرا میشود. زمانبند اولویت : در بسیاری از سازمان ها اولویت کارها با هم فرق میکند در واقع برای هر پردازش در این زمانبند یک اولویت نسبت می دهیم .اولویتها میتوانند توسط اپراتور به صورت خارجی برای سیستم تعریف شوند و یا اینکه توسط سیستم عامل به صورت داخلی .این زمانبند میتواند انحصاری و غیرانحصاری باشد ولی اغلب به صورت انحصاری به پیادهسازی میشود این الگوریتم دارای مشکل گرسنگی میباشد . هنگامی که بتوان فرآیندها را به سادگی به دسته های متفاوت طبقه بندی کرد از این روش استفاده می گردد .در زمانبند صفهای چندگانه در ابتدا چندین صف تشکیل میشود هر پردازش وارد یک صف میگردد .اولویت صفها با هم فرق میکند و هر صفی الگریتم زمانبندی مخصوص به خود را دارد .این الگوریتم از زمانبند صفهای چندگانه با فیدبک در روش قبلی هنگامی که یک پردازش وارد صفی میباشد نمیتواند از ان صف خارج شده و وارد صف دیگری شود .ولی در این زمانبند پردازشها میتوانند بین صفها جابجا شوند .در واق ع وق پردازش تی ی ص در ف ب ا اولویت پایین ،مدت زیادی منتظر باقی بماند به صف با اولویت بیشتر فرستاده میشود.این الگوریتم از نوع غیرانحصاری میباشد. زمانبند شانسی در این الگوریتم سیستم عامل به هر پردازش تعدادی عدد میدهد و تعداد اعداد داده شده به هر پردازش وابسته به اولویت میباشد یعنی هر چه اولویت پردازش بیشتر باشد اعداد بیشتری به آن داده میشود و پس به طور اتفاقی یک عدد تولید شده و پردازشی که آن ع دد تولی د ش ده را در اختی ار دارد ‏cpuرا در اختی ار می گ یرد. زمانبند LPT در این زمانبند از بین کارهای باقی مانده طوالنیترین کار برای اجرا انتخاب میشود این مدیریت حافظه سیستم های ذخیره سازی از ده ه ی 1960ت ا 1980را عص ر انقالب محاس باتی می نامن د ام ا از ده ه ی 1990 به بعد را به دلیل پیشرفت در تکنولوژی اطالعات در مقابل قدرت محاسباتی ،عصر اطالع ات نامی ده ان د .محب وبیت س رویس ه ای این ترنت مانن د موتوره ای جس تجو و ‏Auctionه ا اهمیت I/Oرا ب رای کامپیوتره ا اف زایش داده است.س رویس ه ای این ترنت به Storageهای بزرگ وابسته اند. قابلیت اعتماد ،زیربنا و اساس رسانه های ذخیره سازی است.در کامپیوتر حافظه ها به قسمت های مختلفی تقسیم می شوند. حافظه دسترسی تصادفی()RAM حافظه فقط خواندنی()ROM حافظه پنهان یا کش حافظه دسترسی تصادفی پویا(Dynamic )RAM حافظه دسترسی تصادفی ایستا (Static )RAM ِ فَلش حافظه مجازی حافظه ویدیویی بایوس (واسط سخت‌افزار و نرم‌افزار) قانون پارکینسون همگام با پیشرفتهاي سخت افزاري که حافظه را ارزان و حجم ان را زیاد کرده است .برنامه ها نیز بزرگتـر میشود و طبق قانون پارکینسون برنامه ها انقدر رشد میکنند که کل حافظه را پر میسازد. تکنیک مبادله Swapping در برخی سیستم ها که از لحاظ ظرفیت حافظه اصلی محدودیتهائی وجود دارد و از طرفـی حجـم برنامـه هاي اماده در حال اجرا باالست .از مکانیزم تبادل یا Swappingبراي کنترل این مساله استفاده میشود .در این روش هر پردازش بطور کامل به حافظه اصلی اورده میشود در انجا براي مدتی اجراء میگردد و سـپس دوباره به دیسک برگردانده میشود .امروزه از این تکنیک به ندرت استفاده میشود و به جاي ان از روشهاي مبادله کاملتري مثل حافظه مجازي استفاده میشود .در سیستم نوع مبادله حافظه زمان بکـارگیري CPUبـه ثبات پایه Base Register ادرس محل شروع ذخیره سازي یک فرایند در حافظه اصلی در زمان اجرا در ثبات پایه ذخیره میشود. ثبات حد Limit Register طول فرایند در حافظه اصلی در زمان اجرا در ثبات حد ذخیره میشود. جدول صفحه اغلب کامپیوترهاي امروزي جداول صفحه بزرگی با بیش از یک میلیون ورودي دارند و تکنیک ثباتها قابل پیاده سازي نیست .در این سیستم ها جدول صفحه در حافظه اصلی نگهـداري شـده و یـک ثبـات مبنـاي جدول صفحه بنام ( PTBR (Page Table ‏Base Registerبه ان اشاره میکند. ثبات مبناي جدول صفحه یاPTBR (Page Table Base Register براي تغییر دادن جدول صفحه هنگامی که CPUاز یک پردازش به پردازش دیگر سـوئیچ میکنـد .کـافی است این ثبات تغییر کند .تا به جدول صفحه جدید پردازش جدید اشاره کند بدین ترتیب زمان تعـویض متن کاهش می یابد .مشکل اصلی این روش ان است که براي دستیابی به یک خانه حافظه به دو دسترسی به حافظه نیاز خواهیم داشت و بنابراین دستیابی به حافظه با ضریب 2اهسته میگردد .براي رفع این مشکل میتوان از رجیسترهاي انجمنی یا ‏TLBها استفاده کرد. )TLB (Translation Look – aside Buffers ثباتهاي ویژه اي موسوم به ثباتهاي انجمنی از نوع حافظه هاي با سرعت دسترسی باال براي عملیـات فـوق )براي دستیابی به یک خانه حافظه به دو دسترسی به حافظه نیاز خواهیم داشت و بنابراین دستیابی به حافظه با ضریب 2اهسته میگردد .بـراي رفع این مشکل میتوان از رجیسترهاي انجمنی یا TLBها استفاده کرد( .وجود دارد .ثباتها از دو قسمت تـشکیل شـده انـد ،ستون اول کلید و ستون دوم داده .همزمان با ورود هر داده با تمامی کلیـد هـا مقایـسه میـشود چناچـه در سطري از جدول پیدا شد فیلد داده اي متناظر با ان خارج میشود .از مزایاي این روش سرعت در جستجو است زیرا عمل جستجو در تمام سطرها و بطور همزمان انجام میگیرد .تعداد ورودي هاي این روش بین 8تا 2048است .از انجائیکه تکنیک TLBداراي سخت افزار فوق العاده سلسله مراتب حافظه در ی ک سیس تم ک امپیوتری ،رس انه‌های ذخ یره س ازی گون اگونی ب رای نگ ه داری اطالعات وجود دارد که اصطالح عام ،به همه آن ها حافظه اطالق می شود. دالیل بکارگیری انواع مختلف رسانه‌های ذخیره سازی .1حافظه‌های درون ماشینی هنوز دارای ظرفیت محدود هستند. .2لزومی ندارد همه اطالعاتی که برای رفع نیازهای اطالعاتی یک محیط عملیاتی ذخیره می شوند همیشه در حافظه‌های درون ماشینی مقیم باشند .بلکه فقط آن اطالعاتی که مورد نیاز برنامه‌های درحال اجرا هستند. .3رسانه‌های ذخیره سازی سریع ،غالبا گران هستند. .4معموال برنامه‌ها ،به حافظه بیشتری از آنچه که واقعا سیستم می تواند در محیط درون ماشینی تامین کند ،احتیاج دارند. .5حجم اطالعاتی که امروزه بشر انباشت می کند بسیار باال ،و پیوسته به طور تصاعدی در افزایش است و نمی توان با توجه به ظرفیت محدود و حافظه‌های درون ماش ینی ،این حجم فزاین ده اطالع ات را در محی ط درون ماش ینی ذخ یره سازی کرد. تعریف حافظه کش نوعی حافظ ه کوت اه م دت اس ت ک ه در پردازن ده ق رار داده ش ده اس ت .هم ان ط ور ک ه می دانی د ی ک ک امپیوتر دارای حافظ ه RAMاس ت و دسترس ی ب ه اطالع ات حافظ ه RAMس ریع ت ر از دسترسی به هارد سیستم آن جام می شود چون RAMپهن ای بان د بیش تری دارد و ت اخیر بس یار کم تری دارد .کش پردازن ده هم ش بیه ب ه مفه وم RAMاس ت RAM .ب رای نگ ه داری داده ه ایی ک ه به طور معمول استفاده می شود به کار می رود بن ابراین سیس تم ب ه درخواس ت ه ا س ریعتر پاس خ مبانی عملیاتی کش در عملیاتRead هنگام Hitداده را از کش می خوانیم و در داده را به کش آورده و از آن جا می خوانیم. در عملیات write در صورت رخ دادن Hitاز مکانیزم های write- throughیا (WTداده هم در کش و هم در خافظه نوشته می شود) یا ( No write-throughداده فقط در حافظه نوشته می شود) استفاده می کنیم .در تکنیک write-backدر صورت رخ دادن Hitفقط داده با استفاده از dirty bitدر کش نوشته می شود .در صورت رخ دادن missاز تکنیک write-allocateیا write- throughاستفاده می شود. چگونه وقتی یک بالک از حافظه Low- Levelمی آید آن را در کش قرار دهیم؟ بر اساس policyهای زیر: .1انجمنی کامل یا Fully- associative اگر خواستیم سطری از حافظه را در کش قرار دهیم ،می توان آن را در اولین خان ه خ الی از کش ک ه پی دا ک ردیم ق رار دهیم.مثال بالک شماره 5حافظه در هر خانه از Cacheمی تواندقرار بگیرد .ایراد این روش آن اس ت ک ه اگ ر س طر Xاز حافظ ه را بخ واهیم در کش پی دا ک نیم ،بای د ک ل کش را جستجو نم اییم(بل وک می توان د در ه ر سطری از حافظه کش قرار گیرد). .2نگاشت مستقیم یا Direct map مزیت اصلی روش ، Direct mapبه این صورت است که می توان چک کردن تگ را بصورت همزمان با ارسال داده آن جام داد .در این روش از قسمتی از آدرس حافظه برای مشخص شدن خانه Cashاستفاده می شود .به عنوان مثال حافظه را 8تا 8تا در نظر می گیریم .اگر آدرس حافظه را به صورت زیر در نظر بگیریم: قسمت indexمشخص می کند در کجای حافظه داده را جستجو کنیم .مثال می خواهیم بالک شماره 12حافظه را در یک کش 8بالکه قرار دهیم.بالک 12در باقیمانده تقسیم ،8/12یعنی در خانه شماهره 4قرار می گیرد. مثال:حافظه کش دارای 64خط و 16بایت در هر بلوک آدرس 1200به کدام بلوک نگاشت می شود؟ = ]16/1200[=75آدرس بلوک= 64modulo 75 =1 ،شماره بلوک Set-Associative.3 هر setرا به صورت دو بالک یا Way-2در نظر می گیریم و یک سطر از حافظه در یک منطقه یا یک SETاز سطرهای کش قرار می گیرد مثال در WAY Set-2 Associativeهر دو سطر از کش را یک setیا یک منطقه در نظر می گیریم(بلوک می تواند در هر مکان 23حافظه کش قرار بگیرد). مثال می خواهیم بالک شماره 12حافظه را در یک کش 8بالکه قرار دهیم.بالک 12در خارج قسمت تقسیم ،8/12یعنی در set1است، قرار می گیرد. هرچه associativityباالتر باشد index،کوچک تر و tagبزرگ تر می شود .در fully-associativeایندکس صفر است و مابقی tag addressمی باشد که در کش ذخیره می شود. نحوه جایگذاری blockهای جدید در کش :Write-back Policyداده ای که hitشده را در کش می نویسیم اما در Memoryنمی نویسیم .فقط زمانی که ناگزیر به دورریختن cache block شویم داده را در Memoryمی نویسیم. :Write-through Policyداده ای که hitشده را همزمان هم در کش و هم در حافظه می نویسیم و حافظه را آپدیت می کنیم .در این حالتCache Consistencyبه خوبی حفظ می شود. ( با استفاده از ، dirty bitبالک هایی که قبال در آن عمل writeآن جام شده است را شناسایی کرده و بالک آن را آپدیت می کنیم ،در نتیجه این کار ،ترافیک حافظه کاهش می یاب د) .در تکنی ک Write-throughهمیش ه از ی ک ب افر اس تفاده می ش ود یع نی ب افر عملیات writeرا انجام می دهد و cpuبه سراغ دستور دیگری می رود .وقتی پروسسور درخواست writeمی کند ،داده در کش و بافر نوشته می شود ،سپس بافر داده را در حافظه می نویسد آنگاه Memory Controllerبافر را چک کرده و دیتا را از بافر برداشته نوشت،الگوریتم FIFOعمل می کند. بافر اساس Writeبر ‏buffer 4می حافظه در توان در نویسد.می دستور را حداکثر تا اگر تع داد دس تورات بیش تر از 4دس تور ب ود بای د صبر یا stallکرد تا بافر خالی شود. اگ ر هنگ ام عم ل ، writeبالک در کش ی افت نش ود و Missرخ ده د دو ت ا policyدر پیش رو داریم: :write-allocate.1اول بالک را در کش آورده سپس با استفاده از یکی از تکنیک های write-throughیا write-backآن را در کش writeمی کنیم. :No write-allocate .2بالک را در کش نمی آوریم و در حافظ ه می نویسیم. مدیرحافظه :بخشی از سیستم عامل که سلسله مراتب حافظه یعنی RAMو ‏HARDرا مدیریت میکند و در واقع برنامه ها در ابتدا در HARDمی باشند و برای اجرا ابتدا باید به RAMآورده شوند که وظیفه ی انتقال برنامه ها و جلوگیری از تداخل آنها در HARDو RAMرا مدیر حافظه بر عهده دارد. وظایف مدیر حافظه .1جلوگیری از تداخل برنامه ها در حافظه ی جانبی .2جلوگیری از تداخل برنامه ها در حافظه اصلی .3انتقال برنامه ها بین RAMو HAR تبدیل آدرسها :وقتی که یک برنامه در HARDقرار می گیرد دارای آدرسی میباشد حال وقتی این برنامه به RAMمنتقل میشود میتواند در هر جای ‏RAMقرار گیرد بنابراین آدرس آن نیز تغییر میکند. 2نوع آدرس داریم : .1آدرس فیزیکی :آدرس مشاهده شده توسط واحد حافظه را آدرس فیزیکی میگویند . .2آدرس منطقی :آدرس تولید شده توسط cpuرا آدرس منطقی می گویند. روشهای مختلفی که برنامه ها می توانند در RAMقرار گیرند: تک برنامگی :ابتدایی ترین روش است که فقط یک برنامه در RAMقرار گرفته و اجرا میشود .اگر حافظهی RAMکمتر از حافظهی یک برنامه باشد برنامه قابلیت بار شدن و اجرا را نخواهد داشت .بنابراین برنامهها باید به گونهای نوشته شود که حجم آنها کمتر یا مساوی حجم RAMباشد ( .در هر لحظه یک برنامه در RAMاست و کل برنامه داخل حافظه بار میشود). به طور مثال اگر فضای قسمت آزاد 1111مگابایت باشد و برنامه های به اندازه 1211مگابایت داشته باشیم نمیتوان برنامه را در حافظه بار کرد و لی اگر برنامه ای به اندازه 111مگابایت داشته باشیم میتوان آن را در حافظه بار کرد و چون فقط یک برنامه میتواند در حافظه بار شود 911مگابایت حافظه به هدر میرود. تک برنامگی با قابلیت overlay در این روش برنامه به بخشهای مختلفی تقسیم شده و تنها آن داده و دستورالعملهایی را در RAMقرار میدهیم که مورد نیاز هستند و بقیهی بخشها در HARDباقی میماند هنگامی که به بخشهای دیگری از آن برنامه نیاز داریم قسمتی که مورد نیاز نیست از ‏RAMخارج ش ده و قسمت مورد نی از از HARDبه RAMآورده میشود یک مزیت این روش این است که پردازش میتواند بزرگتر از حافظه ی RAMباشد .اما مشکلی که دارد این است که خودکار نیست چرا که این تکنیک توسط خود برنامه نویس در برنامه پیاده سازی میشود .همچنین عیب دیگر این است که ورودی و خروجی قسمت های مختلف برنامه بین HARDو CPUموجب اتالف وقت میشود در هر لحظه یک برنامه داخل RAMاست و فقط قسمتهای مورد نیاز در حافظه با میشوند البته اگر حافظه جا داشته باشد میتوان کل قسمتها را به حافظه آورد ).این روش در سیستم عامل DOSکاربرد داشت و در سیتسم های امروزی کاربرد ندارد. به طور مثال اگر برنامه ای به اندازه 1211مگابایت داشته باشیم و حافظه آزاد RAMب ه ان دازه 1111مگاب ایت باش د میت وان برنام ه را ب ه 6قس مت 211مگابایتی تقسیم کرد و ابتدا فقط 5قسمت یعنی 1111مگابایت آن را داخل حافظه بار کرد سپس در صورت نیاز به قسمت 6ام یکی از قسمت ها را از RAMخارج کرده و قسمت 6ام را داخل حافظه آورد. چند برنامگی یا بخش بندی ثابت حافظه( RAMبخش بندی ایستا) در این روش حافظه یا RAMرا در ایتدا تقسیم بندی میکنیم و اندازهی قسمت ها می تواند مساوی یا متفاوت باشد .نکتهی مورد توجه این است که تقسیم حافظه در RAMدر هنگام شروع کار سیستم به صورت دستی توسط اپراتور انجام میشود . وقتی یک کار بخواهد به RAMآورده شود در یک صف قرار می گیرد و در بخشی از فضای ‏RAMکه آزاد است قرار میگیرد.مشکلی که این روش دارد این است که اگر به تعداد 31برنامه داشته باشیم و حافظه RAMبه 11قسمت تقسیم شده باشد فقط به تعداد 11برنامه از 31برنامه (آن هم به شرط اینکه اندازه قسمت ها بزرگتر یا مساوی اندازه برنامه ها باشد)را میتوان به حافظه اصلی آورد و اجرا نمود بنابراین21برنامه دیگر تا زمان اتمام 11برنامه اول باید منتظر بمانند در واقع با اتمام یک برنامه فضای آن در RAMآزاد شده و برنامه دیگر میتواند از HARDب ه RAMآورده ش ود .ب رای ح ل این مش کل از روش مبادل ه اس تفاده میک نیم(.در هرلحظه چند برنامه داخل RAMاست و هر برنامه باید به طور کامل در حافظه بار میشود). به طور مثال اگر پردازشهای P1, P2,P3,P4,P5,P6,P7,P8,P9به ترتیب از ‏P1وارد صف شوند و حافظه مورد نیاز هر یک بر اساس جدول زیر باشد: چون P1ب ه ان دازه 511مگاب ایت میخواه د ولی ان دازه بزرگ ترین بخش 411مگابایت است بنابراین P1را نمیتوان در حافظه بار کرد و نمیتواند اصال اجرا شود چون اندازه آن بزرگتر از قسمت های حافظه است و در هیچ کدام از قسمتها نمیتواند بار شود .پردازش بعدی در صف پردازش ‏P2میباش د و ب ه ان دازه 211مگاب ایت حافظ ه نی از دارد بن ابراین در بنابراین در قسمت سوم حافظه که 211مگابایت است قرار میگیرد .پردازش بعدی P3به اندازه 51مگابایت حافظه نیاز دارد بنابراین در قسمت دوم حافظه که کوچکترین مکان مناسب برای P3است قرار میگیرد و نکته مورد توجه این است که 51مگابایت خالی میماند و نوعی حافظه هرز است .در تقسیم بندی حافظه با اندازههای متفاوت حافظه به صورت زیر خواهد بود. پردازش بعدی P4با اندازه 151میباشد که در قسمت 4ام حافظه که به اندازه 311مگاب ایت اس ت ق رار میگ یرد و 151مگاب ایت قس مت 4خ الی میمان د و ب ه ه در میرود .پردازش بعدی P5است که با توجه به اینکه 511مگابایت حافظه نیاز دارد نمی توان آن را در حافظه بار کرد.پردازش بعدی P6است که با توجه به اینکه به اندازه 411مگابایت حافظه نیاز دارد در قسمت اول حافظه قرار میگیرد. نکات مهم: اول اینکه برنامه نویسان در ابتدا باید به اندازه های قسمتهای حافظه توجه کنند و سپس برنامه بنویس ند در واق ع ان دازه برنامهه ا بای د کوچک تر یا مس اوی ان دازه قس متهای حافظه باش د و در غیراینص ورت برنامهه ا نمیتوانن د اج را ش وند. دوم اینک ه ب ا اینک ه پ ردازش ‏P8ب ه ان دازه 71مگاب ایت حافظ ه نی از دارد و در RAMدو قس مت 111مگاب ایتی و 151مگاب ایتی داریم نمیت وان P8را داخل حافظه بار کرد همچنین در مورد پردازش P9نیز چنین است .بنابراین پردازش های P1,P5,P6,P7,P8 ,P9باید منتظر بمانند تا حافظه مورد نیاز آنها خالی شود .از این روش به دلیل اتالف زیاد حافظه در سیستم های عامل امروزی استفاده نمی شود. مبادله ساده :در روش قبلی وقتی یک برنامه وارد یک قسمت میشود تا زمانی که تمام نشود در آن قسمت باقی میماندبنابراین وقتی برنامهها وارد قسمتهای آزاد RAMمیشوند تا زمانی که اجرای آنها تمام نشود نمیتوانند از RAMخارج شوند بنابراین برنامههای دیگر دارای مشکل گرسنگی میباشند .در روش مبادله هر برنامه به طور کامل به درون یک قسمت حافظهی اصلی آورده میشود ،و در آنجا مدتی اجرا میشود و سپس دوباره به دیسک منتقل میشود و برنامهی دیگری جای آن را می گیرد . عیبی که این روش دارد این است که کند است و ایراد دیگری آن این است که درصد به ک ارگیری ‏cpuرا کاهش می دهد ( .در هر لحظه چند برنامه داخل RAMاست و هر برنامه به طور کامل در چند برنامگی به صورت تخصیص همجوار (بخشبندی پویا در این روش حافظه از قبل بخش بندی نمیشود بلکه بر اساس ورود پردازشها به اندازه ی حافظه مورد نیاز به آنها حافظهی RAMتخصیص داده میشود در این روش در هر زمان لیستی از اندازهی بلوکهای آزاد و یک صف ورودی داریم در این روش پردازشها به ترتیب در صف ورودی قرار میگیرند و تا هنگامی که حافظهی مورد نیاز آنها آزاد نباشد پردازشها باید منتظر بمانند .به طور مثال فرض کنید 5پردازش زیر را که به ابتدا P1وارد حافظه شده و به اندازه 611مگابایت را اشغال میکند سپس P2چون حافظه مورد نیاز را ندارد باید منتظر بماند پردازش بعدی P3است و چون 411مگابایت خالی داریم میتواند وارد حافظه شود .اما پردازش های P4, P5نیز نمیتوانند در حافظه بار شوند. Quick fitروش روش رفاقتی برخی از مشکالت مدیریت حافظه: الف) پارگی (تکه تکه شدن) خارجی و پارگی داخلی: پارگی خارجی به این معناست که مجموع فضاهای آزاد مقدار زیادی است و به اندازه یک فرآیند هست ولی از آن جا که حفره ها پراکنده هستند و همجوار هم نیستند نمی توان پردازش را در حافظه بار کرد .این مشکل بیشتر در روش بخش بندی ایستا و روش First Fitرخ می دهد : .مثال در پارگی خارجی اگر مجموع حفره ی آزاد 251مگابایت باشد ولی حفره ها پراکنده باشند یک پردازش با حافظه ی مورد نیاز 251مگابایت را نمی توان در این حفره ها جای داد بنابراین این حفره های آزاد حافظه بالاستفاده هستند همانطور که در شکل زیر دیده میشود مجموع حافظه های آزاد 251مگابایت است ولی پردازش P1با حافظه مورد نیاز 251را نمیتوان در حافظه بار کرد چون حفره ها پراکنده هستند و باید برنامه به صورت پیوسته در فضای پشت سر هم ذخیره شود .یک راه حل برای مشکل پارگی خارجی ،فشردگی می باشد .در فشرده سازی حفره های کوچک با یکدیگر ادغام شده و حفرهی یک پارچهی بزرگی را ایجاد می کنند البته فشردهسازی حافظه عملی زمان بر بوده و در صورتی امکان پذیراست که پیوند آدرس حافظه ،در زمان اجرا باشد . مشکل پارگی داخلی با یک مثال : فرض کنید حفره ای با اندازه ی 64بایت داشته باشیم و پردازش P1به 62بایت حافظه نیاز داشته باشد در اثر تخصیص حفره ای به اندازه ی 2بایت باقی می ماند که سر بار حاصل از تعقیب این حفره یعنی حفره 2بایتی قابل توجه تر از این حفره است لذا منطقی است که از این حفره کوچک 2بایتی صرف نظر کرد و آن را جزو ب) مشـکل اسـتفاده مشـترک از ُکد 1و داده:در یک سیستم الزم است تعدادی از پردازش P1 گرفت.اش تراکی اس تفاده کنن د ب رای مث ال در ی ک سیس تم نظرص ورت در ب ه حافظ ه فضای ه ا از برنام ه اشتراکی که تعدادی کاربر از یک کامپایلر استفاده میکنند توانایی استفاده از یک کپی کامپ ایلر توس ط تم ام ک اربران دارای فوای د زی ادی هم از جهت حافظ ه و هم از نظ ر زمانهای مبادله است ،زیرا دیگر الزم نیست که در هر بار یک کپی از کامپایلر به همراه هر پردازش به داخل یا خارج حافظه مبادله گردد و برای آنکه بتوان از برنامه ها به صورت اشتراکی استفاده کرد این برنامه باید دو شرط داشته باشد :برنامه ها به هیچ وجه خود اصالح نباشند و دیگر اینکه دادههای برنامه جدا از خود برنامه نگه داشته شوند. روشهای ذکر شده برای قرار گرفتن برنامه در ( RAMتک برنامگی ،تک برنامگی با OVERLAY،چند برنامگی و .).....مشکالتی ( پارگی خارجی و داخلی ،پراکندکی استاتیک و دینامیک ،مشکل استفاده مشترک از کد و داده )را داشتند. روشهایی که مشکالت بیان شده را برطرف میسازند: قطعه بندی :در این روش برنامه (نه حافظه )RAMبه چند قطعهی منطقی تقسیم میشود و این قطعات میتوانند در هر کجای حافظه به صورت غیر همجوار قرار گیرند (ولی در روشهای قبل باید کل برنامه به صورت همجوار در فضای پشت سرهم درحافظه قرار می گرفت) بنابراین در قطعه بندی برنامه را به قطعه هایی تقسیم میکنیم و هر قطعه در هر فضای آزاد حافظه که جا شود قرار میگیرد و مانند روشهای قبلی نیاز نیست برنامه به صورت همجوار در حافظه قرار گیرد .نکته ی مورد توجه این است که در قطعه بندی همه در قطعه بندی برای هر پردازش یک جدول قطعه داریم که با استفاده از آن تبدیل آدرس منطقی به فیزیکی انجام میشود.جدول زیر جدول قطعه مربوط به پردازش P1میباشد. ویژگیهای قطعه بندی: )1در قطعه بندی اندازه قطعات برنامه میتواند متفاوت باشد . )2در سیستم قطعهبندی یک رجیستر مبنای جدول قطعه به نام STBRبه ابتدای جدول قطعه اشاره می کند در واقع cpuوقتی بخواهد به یک برنامه سوئیچ کند و آن را پردازش کند STBRنیز باید به جدول قطعه ی آن برنامه اشاره کند . )3در جدول قطعه عالوه بر ستونهای(طول قطعه و آدرس شروع قطعه ) یک سری بیتهای کنترلی و حفاظتی نیز وجود دارد برای مثال برای هر قطعه میتوان مشخص کرد که آن قطعه خواندنی است یا نوشتنی و در صورتی که قطعهای خواندنی باشد دیگر نمی توان .4در قطعه بندی امکان به اشتراک گذاشتن بعضی از قطعهها وجود دارد مثال اگر دو برنامه داشته باشیم که هر دو به قطعه ی cنیاز داشته باشند نیاز نیست برای هر برنامه قطعهی cرا جداگانه در حافظه RAMداشته باشیم و میتوانیم برای هردو برنامه یک قطعه ‏Cدر RAMوارد کنیم . )5در قطعه بندی نیز مانند روشهای قبلی پارگی خارجی داریم یعنی ممکن است فضای آزاد داشته باشیم ولی هیچ قطعه ای در آن جا نشود. )6می توان با استفاده از بیتهای حفاظتی از بعضی از قطعات در برابر تغییرات محافظت نمود. صفحه بنـدی :در این روش حافظه ی RAMبه بلوکه ایی ب ا ان دازه ه ای یکس ان و ثابت به نام قاب تقسیم بندی می شود و برنامه نیز به بلوکهایی با اندازهی یکسان با قابها به نام صفحه ها تقسیم بندی می گردد ،در این روش باید همه ی صفحات برنامه به حافظهی اصلی آورده شوند و داخل قابهای خالی که لزومًا همجوار نیستند قرار گیرند .و نکته ی مورد توجه این است که دیسک نیز به بلوکهایی با اندازهی ثابت همانند قابهای حافظهی اصلی تقسیم می شود ( .در روش قطعه بندی فقط برنامه به بخشهای مختلفی تقسیم می شد اما در این روش هم برنامه و هم حافظه اصلی روش صفحه بندي نیازي ((Demand Paging در این روش ترکیبی از تکنیکهاي صفحه بندي و مبادله استفاده میـشود .در روش مبادلـه تمـامی ظرفیـت فرایند بین حافظه جانبی و اصلی نقل و انتقال میـشود .لـیکن در روش صـفحه بنـدي براسـاس نیـاز تنهـا صفحاتی از فرایند که صرفا به انها نیاز باشد به حافظه منتقل میشود. نقص صفحه ،فقدان صفحه ) (Page Fault چناچه فرایند صفحه اي را بخواهد )به صفحه اي مراجعه کند که در حافظه اصلی موجـود نباشـد نقـص صفحه یا Page Faultرخ داده است. ناهنجاري بلیدي در برخی حاالت مکانیزم FIFOحتی با وجود قاب ازاد بیشتر و از انجائیکه ایـن امکـان وجـود دارد کـه صفحه خارج شده خود از صفحاتی باشد که مرکز مراجعات زیادي است الگوریتم مناسبی نیست .در ضمن با افزایش قاب ،تعداد نقص صفحه زیاد میشود که به ان پدیـده ناهنجـاري بلیـدي Beladys anomalyمیگویند. الگوریتم سالخوردگی Agingر با شبیه سازي الگوریتم LRUفعال میشود .براي هر صفحه شمارنده اي را در یک جدول نگه میکن داري د. در مقاطع زمانی معین وقفه اي به تایمر جهت انتقال کنترل عملیات به سیـستم عامـل میـشود، ایجـاد اگـر ش مارنده ی ک بیت ب ه راس ت ش یفت داده ش ود بیت س مت راس ت از بین م یرود و بیت س مت چـپ بـا بیتـی موسوم به Rیا Referencedیا بیت مراجعه پر میشود .بعنوان مثال اگر محتواي شـمارنده یـک صـفحه برابر 000110111باشد و بیت Rنیز 1باشد با گـذر از وقفـه تـایمر محتـواي شـمارنده برابـر اسـت بـا حافظه مجازی چیست؟ هر رایانه‌ای دو نوع حافظه دارد :یک هارددیسک یا درایو SSDکه برای ذخیره فایل‌های سیستم‌عامل ،عکس‌ها ،موسیقی و اسناد استفاده می‌شود و نوع دیگر حافظه RAMنام دارد که برای ذخیره داده‌های خاص مرتبط با برنامه‌های در حال اجرا مورد استفاده قرار می‌گیرد .هارددیسک برای ذخیره‌سازی موارد بلندمدت مناسب است در حالی که RAM بسیار سریع‌تر است و داده‌های آن نیز فّر ار است .در واقع رم به عنوان یک ناحیه کاری برای برنامه‌های در حال اجرا و فایل‌ها باز استفاده می‌شود. حافظ ه مج ازی در این می ان مفه ومی اس ت ک ه پلی بین این دو ن وع حافظ ه برق رار می‌سازد و بسیار مفید است .اگر شما از همه ظرفیت رم موجود خود استفاده کرده باشید ،سیستم شروع به استفاده از حافظه مجازی می‌کند تا این حافظه را گسترش دهد .حافظه مجازی به نام فایل سواپ Swapنیز نامیده می‌شود .سیستم‌عامل این کار را از طریق استفاده از بخشی از هارددیسک به جای رم انجام می‌دهد .بدین ترتیب سیستم می‌تواند برنامه‌های بیشتری را مدیریت کند که در غیر این صورت با مشکل مواجه می‌شد؛ اما حافظه هارددیسک بسیار کندتر از رم است و بنابراین مشکل‌های عملکردی ایجاد می‌کند. زمانی که حافظه رایانه اشغال می‌شود ،فایل سواپ وارد میدان می‌شود .برخی از داده‌های ذخیره شده درون رم به فایل سواپ انتقال می‌یابند تا فضای اضافی برای در حین اجرا چنانچه قسمتی از برنامه نیاز باشد که در حافظه اصلی موجود نباشد باید ابتدا از حافظه مجازي به حافظه اصلی اورده شـود .حافظـه مجـازي معمـوال بـا تکنیـک صـفحه بنـدي نیـازي( (Demand Pagingپیاده سازي میشود انواع حافظه مجازی Page: کش ب ا ان دازه ث ابت بل وک ی ا fixed-Size blockک ه page numberوOffsetدرون pageقرار می گیرند. Segment: کش با اندازه متغیر یا Variable-Size blocksیک آدرس واحد را نمی توان به ‏Segmentاختصاص داد چون اندازه آن ثابت نیست. نکته :اگر در حافظه اصلی قاب آزاد نداشته باشیم و همه قاب ها پر باشند و بخواهیم یک صفحه داخل حافظه اصلی بیاوریم بای د یکی از قاب ها را آزاد کنیم یعنی یک ص فحه را ب یرون ب رده و ص فحه م ورد نی از را ب ه داخ ل ق اب آزاد ش ده بی اوریم این مفهوم جایگزینیصفحه نامیده میشود و الگوریتم های مختلفی برای آن وجود دارد تا تصمیم بگیرد کدام یک از این قاب ها را آزاد کند. کوبیدگی : هرگاه که اکثر زمان cpuصرف صفحهبندی شود میگوییم مشکل کوبیدگی داریم . در واقع cpuبه جای صرف نمودن زمان برای اجرای برنامهها زمان خود را صرف صفحهبندی میکند .این مشکل زمانی پیش میآید که تعداد برنامه ها در حافظهی اصلی بیش از اندازه باشد و بنابراین تعداد محدودی از صفحه های هر برنامه داخل RAMبوده و دائم نقص صفحه رخ دهد که در اینصورت کارایی CPUبسیار کاهش می یابد A .تعداد برنامه هایی است که کارایی پردازنده حداکثر است .در حالت Aاز یکسو تعداد برنامه ها نه آنقدر کم است که بیشتر اوقاتCPU ،بیکار بماند و نه آنقدر برنامهها زیاد هستند که مشکل کوبیدگی پیش بیاید. مفهوم بن بست :اگر هر پردازشی متعلق به یک مجموعه به انتظار حادثهای باشد که تنها توسط پردازش دیگری در آن مجموعه میتواند رخ دهد ،حالت بن بست پدید میآید .در واقع حالتی که چند فرآیند منتظر حادثهای هستند که هیچ وقت اتفاق نمیافتد و کاری در سیستم پیش نخواهد رفت .به عبارت دیگر بنبست به حالتی گفته میشود دو یا چند کار پردازشی منتظر پایان کار یکدیگر هستند در حالی کارشان به پایان نرسد .به طور مثال :اگر پرازش p1 ،چاپگر را در اختیار گرفته باشد و CD ROM ، p2را ،حال اگر CD ROM ، p1و p2همزمان چاپگر را تقاضا کند آنگاه بن بست رخ میدهد. نکته :در هر سیستم تعدادی منبع فیزیکی و منطقی وجود دارد منابع فیزیکی مانند : چاپگر و منابع منطقی مانند :فایل ها .اگرسیستم دارای 3چاپگر باشد میگوییم نوع منبع چاپگر دارای 3نمونه است بدیهی است که تعداد منابع درخواستی نباید از مجموع کل منابع موجود بیشتر باشد مثال :پردازش نمی تواند تقاضای 3چاپگر کند در حالی که فقط 2چاپگر در سیستم وجود دارد .سیستم عامل برای جلوگیری از تداخل در عملیات و به کارگیری منابع باید آن ها را مدیریت کند و برای مدیریت هر نوع منبع به 4 عمل نیاز دارد : .1در هر لحظه باید وضعیت منابع یعنی آزاد یا در حال استفاده بودن آن ها توسط تکنیکهایی مشخص باشد . 2.باید منابع به درستی توسط سیستمعامل زمانبندی شود یعنی سیستمعامل باید بدانند در چه زمانی چه منبعی را به کدام پردازش داده است . برای رخ دادن بن بست هر چهار شرط زیر باید برقرار باشد : . 1انحصار متقابل :یعنی حداقل یک منبع باید غیر قابل اشتراک باشد به عبارتی دیگر فقط یک پردازش در هر زمان بتواند ازآن منبع به صورت انحصاری استفاه کند. .2گرفتن و منتظر ماندن :باید پردازشی وجود داشته باشد که حداقل یک منبع را گرفته و در حال انتظار برای کسب منابع اضافی تر باشد در واقع همهی منابع مورد نیاز یک پردازش را یک مرتبه و در ابتدا به آن ندهیم . .3گرفتن و پس ندادن(انحصاری بودن) :منبع را نمیتوان به اجبار از پردازش گرفت و پردازش داوطلبانه پس از اتمام کارش منبع را آزاد میکند . .4انتظار چرخشی :باید مجموعه ای از پردازش ها p1,p2,p3وجو د داشته باشد به طوری که p1منتظر منبعی از P2 P2منتظر منبعی از P3و .........و pnمنتظر منبعی از ‏p1باشد. شرایط چهار گانه کافمن براي بن بست شرط اول :انحصار متقابل )Mutual Exclusion( : براساس این شرط ،هر منبع در ان واحد میتواند حداکثر در اختیار یک فرایند باشد و اسـتفاده اشـتراکی از منابع مقدور نیست. شرط دوم :شرط نگهداري و انتظار )Hold & Wait( : براساس این شرط یک فرایند در حالی که منابعی را در اختیار دارد میتواند براي منـابع جدیـد درخواسـت داده و در صورت ازاد نبودن انها منتظر بماند. شرط سوم :منابع بدون تخلیه پیش هنگام )Non – Preemtable Resource( : براساس این شرط منابع در اختیار هر فرانید باید پس از اتمام کارش و بطور داوطلبانه توسـط فراینـد ازاد شوند و نمیتوان منبعی را به زور از فرایند باز پس گرفت. شرط چهارم :انتظار چرخشی Circular Wait(( : باید زنجیره اي از فرایند ها وجود داشته باشد ،که هر یک منتظر ازاد شدن اگر در گراف دور نداشتیم حتما می گوییم بن بستی وجود ندارد و اگر دور داشتیم و از هر منبع هم یک نمونه داشتیم ،می گوییم حتما بن بست وجود دارد .در غیر این صورت سراغ بررسی می رویم. .3تشخیص بن بست: این حالت مربوط به زمانی است که از روش های پیشگیری از بن بست و اجتناب از بن بست استفاده نمی شود بنابراین احتمال بروز بن بست وجود دارد .در روش تشخیص بن بست ابتدا توسط الگوریتم هایی با نام الگوریتم تشخیص بن بست وضعیت سیستم بررسی میشود که بداند آیا بن بست رخ داده یا خیر .اگر بن بست رخ داده بود توسط روش هایی سیستم را از حالت بن بست خارج میکند. اگر بعد از فراخوانی الگوریتم تشخیص بن بست متوجه شود که بن بست رخ داده باید سیستم را از حالت بن بست خارج کند که 2روش برای آن وجود دارد: الف)خاتمه دادن پردازش ها:در این روش یامی توان کل پردازش های درگیر در بن بست را خاتمه داد یا فقط یکی از آنها را خاتمه داد. ب)پس گرفتن منابع :در این روش منابعی را از یک پردازش پس گرفته و در اختیار پردازش دیگر قرار میدهیم. صرف نظر کردن از بن بست(الگوریتم شتر مرغ) در این روش در واقع هیج عملی توسط سیستم عامل در مقابله با بن بست انجام نمیشود و در صورتی که بن بست اتفاق افتاد سیستم به صورت دستی RESETمیشود. در اکثر سیستم عاملهای امروزی مثل یونیکس و لینوکس ،ا زهمین روش چهارم استفاده می شود چراکه در این سیستم ها ،بر خالف سیستمعاملهای قدیمی ،بن بست به ندرت رخ می دهد لذا مقرون به صرفه است که به جای روشهای پر هزینه برای پردازنده و حافظه جهت

52,000 تومان