کامپیوتر و IT و اینترنتعلوم مهندسی

مفاهیم و اصول طراحی سیستم‌های عامل

صفحه 1:
مفاهیم و اصول طراحی سیستمهای عامل

صفحه 2:
@ سیستم عامل برنامه ای است که سخت افزار کامپیوتر را مدیریت میکند. 8 واسط بین کاربرو سخت افزار کامپیوتر محسوب می شود. 8 بعضی سیستم عامل ها آسایش را فراهم می کنند #بعضی دیگر فراهم شدند تا کارایی را افزایش دهند.

صفحه 3:
سیستم عامل چیست؟ هر سیستم کامپیوتری به 8) قسمت تقسیم می 6 سخت افزار : مانند (۰6۳ حافظه دستگاه های 1/0 و ... © سيستم عامل : © بکارگیری سخت افزار را بين برنامه هاى مختلف کاربران ۰ کنترل وتنظیم می کند. 6 سیستم عامل مانند دولت » خودش کار خاصی انجام نمی دهد © بلكه محيط را براى بهتر اجرا شدن برنامه های دیگر فراهم می کند. @ برنامه های کاربردی: مانند کامپایلرها. سیستمهای بانک اطلاعاتی بازیها و برنامه های 6 کاربران

صفحه 4:
= از دیدگاه کاربر 6 دیدگاه کاربر بر حسب واسط ها فرق میکند 6 اغلب کاربران از 66 .استفاده ميكند در ۳ سیستم عامل برای سهولت استفاده مى شود 6 اما به بیروری منایع پرداخته نمیشود. 6 دستگاههای خانگی و اتومبیلها 6 صفحه کلید عددی دارند که خاموش یا روشن بودن آنها وضعیت آنها را نشان میدهد.

صفحه 5:
از دیدگاه سیستم #برنامه ای وابسته به سخت افزار است و تخصیص منایع را انجام می دهد هبرای حل مسائل؛ از منابع سخت افزاری و نرم افزاری استفاده می کند © از قبیل :زمان لا) .فضای حافظه .فضای ذخیره سازی فایل «ستگاههای ۱/0 و .. © سيستم عامل مدير اين منابع است آنها را در اختیار برنامه های کاربردی قرار می دهد تا نیز های خودشان را برطرف کنند و عملکرد سیستم بهینه باشد, هبرنامه های کاربران را کنترل کرده تا از کامپیوتر به درستی استفاده کنند. 6 هدف اصلی: اجرای برنامه های کاربران و حل آسانتر مسئله های کاربران @ استفاده از سخت افزار محض آسان نيست 6 _برنامه های کاربردی ای بوجود آمدند که عملیات مشترک کنترل وتخصیص منابع سایر برنامه ها را » بصورت نرم افزار جداگانه ای به نام ینتم عامل اتجام

صفحه 6:
اهداف سیستم 6 اولین هدف: فراهم کردن محیط آسان برای کاربر میباشد. 6 این هدف برای کامپیوتر های کوچک کاربردی تر است. دومین هدف: بهره برداری بهینه از سخت افزار است. 8 برای سیستمهای کامپیوتری بزرگ و چند کاربره مورد نظر است. این دو هدف کمی با هم تضاد دارند. © در گذشته کارایی مهمتر از سهولت بوده است. ۵ پیشرفت تکنولوژی موجب کارایی توام با سهولت گردید. #طراحان سیستم عامل با برقراری توازن بین طراحی و پیاده سازی مواجه اند © موفقيت سيستم عامل به برآورده کردن نیاز های کاربران بستگی دار © سيستم هاى عامل و پیشرفت های سخت اقزاری بریکدیگر موثراند.

صفحه 7:
سیستم های بزرگ 9 سیستم های کامپیوتری بزرگ‌اولین کامپیوتر هایی بودند که در بسیاری از امور اقتصادی بکار گرفته شدند. 6 در این جلسه رشد سیستمهای بزرگ را از سیستم های دسته ای تا سیستم های اشتراک زمانی بررسی میکنیم.

صفحه 8:
انواع سیستم های بزرگ ‎٩‏ سیستمهای دسته ای @ سیستمهای چند برنامه ای @ سیستمهای اشترلک زمانی 6 سیستمهای رومیزی © سيستمهاى جند بردازنده © سيستمهاى توزيعى - سيستمهاى مشترى_كاركزار - سيستمهاى نظير به نظير © سيستمهاى خوشه اى 8 سیستمهای بی درنگ @ سیستمهای دستی

صفحه 9:
منیستم های دسته ای ‎Batch &‏ @ کامپیوتر های اولیه از نظر فیزیکی بزرگ بودند از طریق کنسول کار میکزدند. دستگاه های ورودی: کارت خوان و گرداننده های نوا بودند دستگاه های حروجی: چایگر خطی؛ گر داننده هی برار ودستگاه منگته کارت کاربران اين سیستم ها مستفیما با سیستمهای کامپیوتری تعامل ندا @ کاری که شامل برنامه: داده ها و اطلاعات کنترلی روی کارت های منگنه شده بود به اپراتور کامپیوتر تحویل داده می شد. @ مدتی بعد از تحویل کار +خروجی تولید مى شد. © خروجى؛ نتيجه اجراى برئامه بود © جنانجه برئامه باخطا مواجه می شد‌مختویات دافظه و ثباتها چا می شد. © © © © @ سيستم عامل هميشه در حافظه قرار داشت. #نکته: یکی از خصوصيات سيستم دسته اى اين است كه كاربر با كارى كه در حال اجرا بود,تعأملى نداشت: @ ازمانى كله كار تحويل سيستم مى فد ا زمان توليد خزوج »به ميزان محاسيات يا تاخير در شروع كالول سیستم عامل بستگی داشت.

صفحه 10:
سنیستم های چند برنامه ای با ‎Multi Programming‏ #مهم ترین مزیت زمال بندی کار » توانایی چندبرنامه ای است. © چندبرنامه اى» بیره وری پردازنده را افزایش می دهد به طوری که پردازنده در هر لحظه کاری برای اجرا دارد. #سيستم عامل: © جندين كار را به طور همزمان در حافظه نگام می دارد. © زير مجموعه اى از كارهايى كه در مخزن کار نگه"داری می شود. @ زيرا تعداد كارهايى كه همزمان مى توانند در حافظه نكاء دَأرى مى شوند خيلى كمتر از كارها در مخزن كار مى باشد. 6 یکی از کارها را انتخاب و در حافظه اجرا می کند 6 سرانجام کار ممکن است منتظر وظیفه ای مانند یکی از عملیات 0/| جهت کامل شدن بماند _در اين نوع سیستم ها سیستم عامل به کار دیگری می رود و آن را اجرا ‎AB‏ © _ در صورتی که لازم باشد آن کار نیز منتظر بمان » پردازنده به کار دیگری بپردازد . © جند برنامه ای اولین نمونه ای است که © در أن سيستم عامل بايد برای کاربران تصمیم بگیرد © تمام كارهايى كه وارد سيستم مى شود در مخزن كار ذكه دارى مى شود .

صفحه 11:
سیستم اشتراک زمانی با 5۳۵۲۱۳9 11۳6 6 سیستم های چندبرنامه ای دسته ای محیطی را فراهم می کنند که مابع سیستم به طور کارامد مورد استفاده قرار می گیرند 6_کاربران نمی توانستند با کامپیوترتعامل داشته بشند. اشتراک زمانی توسعه ی منطقی چندبرنامه ای است @ لامع جندينكار را تبادليينأنها اجرًا ميكلد © اين تبادل طورى است كه هر كاربر فكر مى كند.كه 68 فقط در اختيار اوست . © سيستم هاى عامل اشتراك زمانى بيجيده تر از سيستم هاى عامل جند برنامه ای هستند. 6 أدراهر دو جندين كار بايد به طور همزمان در حافظه باشند @ سیستم باید مدیر حافظه و حفاظت داشتهباشد. @ براى معقول بودن زمان باسخدكارها بايد بين ديسك و حافظه تباال شود. متداول ترین روش حافظه ی مجازی است. @ امبزات حافظه مجازی این است که ادزهبرنامه از اندازم ى حافظه فيزيكى بيشتر باش 8 سیستم اشتراک زمانی بايد داراى سیستم فایل باشد 6 اغلب سیستم های امروزی اشتراک زمائی اند. لا . چند برنامه ای و اشتراک زمانی»موضوع اصلی سیستم هاى عامل مدرن هستند. 7

صفحه 12:
۳ * ۰ سیستم هأی رومیزی ‎٩‏ در اثنای دهه ی اول ظهور کامپیوترهای شخصی ‏© ۳ فاقد لمکان‌حفاظتسیستم عامل‌از برنامه کاربر بود. ‏سیستم های عامل )۴ نه چند کاربره بودند و نه چند وظیفه ای © اهداف این سیستم های عامل با گذشت زمان تغیر کرد. ‏مایکروسافت ویندوز را جایگزین سبستم عامل ۱5-005 کرد و ۱8۸ سیستم چندوظیفه ای 05/2 را جایگزین ۴6-۵05 نمرد . ‏6 ابتدا حفاظت از فایل در کامپیوترهای شخصی موضوع مهمی نبود. © اما امروزه اين كامبيوترها به شبكه هاى محلى يا اينترنت وصبل هستفد. © ساير كامبيوترها مى توانند بهفیل های موجود در 8 © حفاظت از فايل موضوع مهمی در این سیستم های عامل است . ‎ ‏داشکه باشند

صفحه 13:
سیستم های چند پردازنده ای ‎Multi Processing 4‏ 6 سیستم های چندپردازنده یا سیستمهای موازی یا سیستم های اتصال قوی 8 دارای ‎CPU case‏ هستند که ارتباط نزدیکی با هم دارند © كذركاهء ‎cel‏ حافظه و کستگاه جانبی مشترک دارند 6 سیستم های چندپردازنده ای 9 امتیاز عمده دارند : - توان عملیاتی بالا : با افزایش تعداد پردازنده هاء‌کار بیشتری در حداقل زمان انجام می شود. اگر تعداد پردازنده لا باشد نسبت تسریع کمتر از لا است. - صرفه جویی اقتصادی : زیرا می توانند از دستگاه ها ی جانبی ۰ حافظه ثانویه و نیروی برق مشترکی استفاده کنند. اگر چند برنامه از یک داده استفاده کنند ؛ جهت اشتراک آن داده را ذخیره می کنیم. - افزایش قابلیت اعتماد : اگر وظایف به خوبی بین چند پردازنده توزیم شود خرابی یک پردازنده کل سیستم را از کار نمی اندلزد.بلکه سرعت آن را کند می کند و پردازنده های باقی مانده باید کار آن پردازنده خرلب را انجام دهند .

صفحه 14:
اذامه سیستم های چند پریدازنده ای ... متداول ترین سیستم های چندپردازنده ای امروزی از مدل چندپردازشی متقارن (5//۴) استفاده می کنند ۵ هر پردازنده از کپی یکسانی از سیستم عامل استفاده می ‎ES‏ 6 این کپی ها در صورت لزوم با یکدیگر ارتباط برقرار می كنند . 6 تمام پردازنده ها همتا و نظیر هم هستند 6 رابطه ی رئیس/مرئوس بین آنها وجود ندارد: 6 بعضی از سیستم ها از چندپردازشی نامتقارن استفاده می گنند 6 هر پردازنده وظیفه ی مشخصی دارد. @ پردازنده ی اصلی» سیستم را کنترل کرده و بقیه پردازنده ها از نْ دستور می گیرند یا وظیقه ی مشخصی دارند. © این طرح» رابطه ی رئیس/مرنوس را تعریف می کند.

صفحه 15:
Ss سيشتم های توزیعی با 5۱۷5۲۵۱۸5 ۱015۲۲۱0۵۸۲۵۵0 © شبكه يك مسير ارتباطى بين دو يا چند سیستم است. #سیستم های توزیعی برای انجام وظایف خود » از شبكه بندى استفاده مى كنند. @ این سیستم ها از طریق برقراری ارتباطات شبکه ای با هم تعامل دارند. هبعضی از مسائلی که در اين سیستم ها مورد بررسی قرار می گیرد: 6 چگونگی پایان پذیرفتن یک تراکنش ۵ _زمانبندی پردازنده © امنيت © همزمان سازى ساعت و ...

صفحه 16:
سیستم های مشتری - کارگزار با 56۲۳۷۵۲ - ]011690 با سریع قدرتمنده و ارزانتر شدن 6 ‎dla‏ طراحان از معماری متمرکز سیستم فاصله گرفته اند. © سيستم های متمرکز به صورت سیستم های کارگزار عمل می کنند تا به درخواست های سیستم های مشتری پاسخ دهد . 6 سیستم های کارگزار را می توان به دو دسته تقسیم کرد : - سیستم های کارگزار محاسباتی: مشتریان از آن انجام فعالیتی را درخواست می کنند و این سیستم ها آن درخواست را اجابت کرده و نتیجه را برمی گردانند. - سیستم های کارگزار فایل : واسط سیستم قایلی را فراهم می کند تا مشتریان فایل هایی را در آن ایجاد. حذف یا نوسازی کنند و یا بخوانند .

صفحه 17:
شیستم های نظیر به نظیر ‎Peer To Peer‏ #شبکه های کامپپوتری که در وب به کار گرفته می شوند ؛ متشکل از مجموعه ای از پردازنده ها هستند که ساعت مشترک ندازند. #پردازنده ها از طریق خطوط ارتباطی مختلف ؛ مثل خطوط تلفن با یکدیگر ارتباط برقرار می کنند 6 به آن سیستم های اتصال ضعیف می گویند . © سيستم عامل شبکه سیستم عاملی است که ویژگی هایی مثل اشتراک فایل را در سطح شبکه تدارک 8 دارای طرح ارتباطی جهت مبادله پيام بین فرآیندهای کامپیتررهای مختلف است © اين کامپیوترها مستقل از سایر کامپیوتزهای موجود در شبکه کارمی کند.

صفحه 18:
سنیستم های خوشه ای يا ‎Clustering‏ #سیستم های خوشه آی ؛ از چند پردازنده برای انجام کار های محاسباتی استفاده مى کند 8تفاوت سیستم های خوشه ای و موازی: سیستم های خوشه ای از دو پا چند سیستم مجزا تشکیل شده اند که به هم متصلند 6 کامپیوترهای خوشه ای حافظه ی ذخیره سازی مشترکی دارند و از طریق شبکه ی محلی به طور ضعیف با هم ارتباط دارند. 6 خوشه بندی اجرا می شود تا قابلیت مهیا بودن افزایش یاب © هر گره می تواند از طریق 1۵/1 بر یک یا چند گره ی دیگر نظارت کند . © در خوشه بندی نا متقارن یک ماشین در حالت معوق است و بقیه در حال اجرای برنامه اند @ میزبان معوق کاری انجام نمی دهد ؛ بلکه کار گزار فعال را نظارت می کند @ اگر آن کارگزار با شکست مواجه شود میزبان معوق به عنوان کارگزار فعال محسوب می شود .

صفحه 19:
سنیستم های بی درنگ ‎Real time &‏ #وفتی استفاده می شود که برای عملکرد یک پردازنده یا جریان داده ها @ ستسورها داده را به کامپیوتر منتقل می کنند. 6 کامپیوترها داده ها را پردازش کرده و احتمالا کنترل هایی را تنظیم می کنند تا ورودی های سنسور را اصلاح کنند. از به زمان دقیقی باشد. ‎٩‏ نمونه ای از سیستم های بی درنگ عبارتند از: 6 سیستم های تزریق سوخت موتور اتومبیل» کنترل کننده ی لوازم خانگی و سیستم های نظامی. ‏8 دو نوع سیستم بی درنگ وجود دارد : © سيستم بی درنگ سخت تضمین می کند که کارهای بحرانی به موقع اتجام شود؛ برای رسیدن به اين هدف باید تمام تاخیرهای موجود در سیستم از بین برود. در غیر این صورت کار از بين می رود. © سيستم بی درنگ نرم که در آن ۰ اولویت کار بی درنگ از سایر کارها بیشتر آست و تا اجرای کامل اين اولویت را دارد و نوع محدودتری از سیستم بی درنگ است و در این نوع سیستم همانند سیستم بی درنگ سخت باید تاخیرهای سیستم حذف شود. در صورت پایان زمان؛ كار از بين نمى رود.

صفحه 20:
سيستم هاى دستی ن هاى سلولى است كه به شبكه اى مثل اينترنت وصل هستند. سیستم های دستی مانئد 6 حافظه ی اغلب دستگاه های دستی ‎Gy‏ 08 8 تا 0 ۸۸8 است. © در نتيجه سيستم عامل و برنامه هآ بايد حافظه را به خوبى مديريت کنند. 6 اغلب دستگاه های دستی از تکنیک حافظه ی مجازی استفاده نمی کنند © لذا برنامه تويسان محدود به اين حافظه اند . دازنده های اغلب دستگاه های دستی کند است. #برداز: نی ۵ پردازنده های سریع تره به منبع تغذيه قوى ترى نياز دارئد.

صفحه 21:
(محیط های محاسباتی 6 محاسبات تعبیه شده: این سیستم ها که کامپیوترها بر روی آنها قرار دارند ۰ ساده اند و فاقد ویژگی های پیچیده ای مثل حافظه ی مجازی و دیسک هستند . لذا ۰ سیستم های عامل آنها نیز ویژگی های محدودی دارند.

صفحه 22:
مفاهیم و اصول طراحی سیستمهای عامل خلاصه فصل دوم

صفحه 23:
‎P|‏ سیستمهای کامپیوتری ‎ ‏© سيستم عامل بايد عملكرد درست سیستم کامپیوتری را تضمین کند. 6 برنامه ها با عملیات سیستم تداخل نداشته باشد 8 سخت افزار راهکارهای مناسبی برای رفتار درست تضمین کند.

صفحه 24:
عملکرد سیستم کامپیوتر 6 سیستم کامپیوتری از ۳ و کنترل کننده دستگاه تشکیل شده است @ از طریق گذر گاه متصل شده و دستیابی به حافظه را امکان پذیر می سازد. 6 لا۳) و کنترلک ننده هاعدستگاد می‌تولنند بسه طور همزمان‌لجرا شوند. 6 کنترل کننده حافظه جهت هماهنگ کردن دستیابی به حاقظه. 8 هر کامپیوتر برای راه اندازی» نیاز به برنامه راه انداز دارد. 6 این برنامه تمامی جنبه های سیستم ؛ از ثباتهای (0۳ گرفته تا کنترل کننده های دستگاه و محتویات حافظه را مقدار اولیه میدهد. 8 برنامه راه انز برای اينکه بداند چگونه سیستم عامل را بار كنده بايد هسته ى سيستم عامل را بيدا و به حافظه بار كند. #سخت افزار می تواند با ارسال سیگنالی بهلا 06 ؛ وقفه اى را صادر كند. #نرم افزار هم ميتواند با فراخوانی سیستم ۰ وقفه ای را صادر كند.

صفحه 25:

صفحه 26:
ادامه عملکرد سیستم کامپیوتر ‎vee‏ 6 انواع رویدادها منجر به صدور وقفه میشوند 6 کامل شدن عمل ۰۱/0 تقسیم بر صفرء دستیابی نامعتبر به حافظه و درخواست برای بعضی از خدمات سیستم عامل. #وقفه کنترل اجرا را به روال پاسخ گویی مناسبی انتقال می دهد. © ساده ترین روش فراخوانی یک روال کلی برای بررسی اطلاعات مربوط یه وقفه است. © اين روال» روال پاسخ گویی به وقفه را فراخوانی می کند. 6 چون تعداد وقفه ها در سیستم مشخص است ؛ می توان از جدولی از اشاره گرها استفاده کرد كه هر اشاره گر به یک روال وقفه اشاره می کند. ‎٩‏ بدین ترتیب سرعت پاسخ گویی به وقفه افزایش می یابد. © معماری وققه آدرس دستوری را که هنگام اجرای آن وقفه صادر شده است را ذخیره می کند. © این آدرس را آدرس برگشت می گویند. زیرا بعد از اجرای روال وقفه ؛ کار 681 از آن نقطه از سر گرفته می شود. 8 در معماری جدید ؛ ادرس برگشت در پشته ی سیستم ذخیره مي گر؛

صفحه 27:
ادامه عملکرد سیستم کامپیوتر ... هنگامی که وقفه ای صادر شد و در حال پردازش است. بقیه وقفه ها غیر فعال می شوند. 6 در غیر این صورت داده های وقفه ی درحال پردازش ۰ توسط وقفه ى جديد خراب شده و عملا اين وقفه از دست می رود. © بعد از اتمام وققه ی فعلی بقیه وقفه ها فعال می شوند. @ وقفه ای که اولویت آن بالاتر باشد زودتر پردازش می شود. © وقفه ها از بين نمى روند و از وقفه های غیر ضروری نیز جلوگیری به عمل مى أيد . © سيستم هاى عامل مدرنء وقفه را مديريت می کنند. رویدادها معمولا با وقوع يك وقفه يا تله رخ می دهند. 6 له یک وقفه ی نرم افزری است که در اثر خطا یا برنامه ی کاربر که سیستم عامل در حال اجرای آن است رخ می دهد.

صفحه 28:
~ : ساختار 1/0 © وقفه هاى 1/0 © ساختار ,01/18

صفحه 29:
وقفه های 1/0 6 برای شروع یک ‎WO Ske‏ © (ام© ثباتهاومناسبئرا در كنترلك نندمى دستكام بار موكند. © كنترل كننده ى دستكاه.محتويات ثبات را بررسى كرده تا ببيند كه جه عملى بايد انجام دهد. © وقتى عمل 0/! شروع شدء فعاليت ها به دور روش بى كيرى مى شود: © در ساده ترين حالت؛ بعد از خاتمه 1/0 کنترل به فرایند کاربر برمی گردد(1/0 همگام) © در حالت دیگر که 1/0 ناهمكام نام دارد.بدوّن إينكه منتظر کامل شدن 0/! بماند كنتول را به برنامه كارير برمی گرداند. 6 انتظار برای کامل شدن عمل ۱/0 به دو صورت انجام می شود. 6 دستور ۷0/16 ‎CPU 4S‏ را بی کار می کند تا وقفه ی بعدی رخ دهد 6 ماشین هابی که فاقد چنین دستوری هستند می توانند از یک حلقه ی انتظار به صورت ۳8۴[ : 100 0۴ استفاده می کنند.

صفحه 30:
ساختار ناحیه ذخیره سازی 6 تنها ناحیه ذخیره سازی بزرگ که 0۳ مستقیما می تواند به آن دسترسی داشته باشد»حافظه ی اصلی است 6 برنامه ها برای اجرا باید در حافظه ی اصلی قرار بگیرند. نواحی ذخیره سازی:شامل آرایه ی از کلمه است که هر کلمه دارای یک آدرس می باشد. تعامل بین حافظه و (0۳) از طریق دستورات 1620 و 560۳6 انجام می شود. ‎as Load‏ را از حافظه لصلی‌ب» ‎egal CPUS ashes‏ 6 محتویاتی کش بات را بسه حافظه لصلی‌منتقل‌می‌ک ند . © © © © 6 به دو دلیلی تمی توان برنامه و داده را دائما در حافظه اصلی گذاشت: @ ظرفیت حافظه ی اصلی کم است 6 حافظه ی اصلی؛ یک دستگاه ذخیره سازی ناپایدار است © براى رفع مشكل بالا لز حافظه ثانويه استفاده می کنیم © متداولترين حافظه ثانوية؛ديسك مغناطيسى است .

صفحه 31:
انواع ساختار ناحیه ذخیره سازی © حافظه اصلی 8دیسک های مغناطیسی ©نوارهاى مغناطيسى

صفحه 32:
لا انوارهاى مغناطيسى

صفحه 33:
سلسله مراتب حافظه 6 حافظه های سطوح بالاتر ؛گرانتر و سریعتر هستند. 6 حافظه ی ناپایدار ؛ با قطع جریان برق محتویاتش را از دست میدهد. © سیستمهای حافظه ای که بالاتر از دیسکها قرار دارند ؛ نايايدارند ولى أنهايى که زیر دیسک الكترونيكى قرار دارند يايدارند.

صفحه 34:
6 اطلاعات معمولا در یک سیستم حافظه مثل حافظه اصلی ذخیره می شود. 6 پس از اینکه اطلاعات مورد استفاده قرار گرفت؛ در یک سیستم حافظه سریعتر به نام حافظه پنهان ذخیرهمی شود 8 وقتی نیاز به بخشی از اطلاعات باشد ابتدا وجود آن در حافظه پنهان کنترل می شود. 8 اگر موجود نبود از اطلاعات حافظه اصلی استفاده می شود. 6 سپس یک کپی از آن در حافظه پنیان قرار ی گیرد تا در صورت نیاز مورد استفده قرار مى كيرد . 6 به علت محدود بودن حافظه پنهان ۰ طراحی مدیریت حافظه پنهان» مسئله ی مهمی است . حافظه ی اصلی برای حافظه ثانویه مانند یک حافظه پنهان سریع است..

صفحه 35:
انتقال مقدار صحیح ۸ از دیسک به ثبات 8 برای انجام عملیات بر روی متغیر ۰۸۱ ابتدا با عمل ۱/0 متغیر ۸ را به حافظه اصلی کپی می @ ممکن است یک کپی از ۸ در حافظه ی پنهان و ثبات داخلی قرار بگیرد. 8 بنابراین متغیر ۸ در چند محل وجود دارد . 6 در محیطی را که در هر زمان فقط یک فرایند آجرا می شوده‌اين کار مشکلی را ایجاد نمی کند © زيرا همواره یک کپی از ۸ که در بالاترین سطح سلسله مراتب حافظه قرار دارده دستیابی می شود. © اما در محیط های چند وظیفه ای باید مواظب بود فرآیندهایی که به متغیر ۸ دستیابی دارند» از آخرین تغییرات آن استفاده کنند.

صفحه 36:
انسجام و سازگاری © در محیط های چندپردازنده ای» که در آن (ا0 علاوه بر تبات داخلی» حافظه پنهان نیز دارد؛ پیچیده تر می شود. 6 یک کپی از #ممکن است همزمان در چند حافظه ی پنهان وجود داشته باشد. چون لا های مختلفی می تواند به طور همزمان عمل کنند. © بايد اطمینان حاصل کنیم که تغییر مقدار ۸ در یک حافظه ی پنهان؛ به تمام حافظه های پنهانی که ۸۵ در آنها قرار دارد؛ اعمال مى شود 8 به آن انسجام حاقظه ی پنهان می گویند و یک مسئله ی سعخت افزاری است .

صفحه 37:
< حفاظت سخت افزاری 6 عملیات دو حالته حفاظت از 1/0 6 حفاظت از حافظه 8 حفاظت از لا

صفحه 38:
عملیات دو حالته بايد سیستم عامل و برنامه های دیگر و داده های آنها را از هرگونه برنامه غلط محافظت © روش انجام كار اين است که از طریق پشتیبانی سخت افزاری بتوانیم بین حالتهای مختلف اجرا تمایز قانل شویم. 8 حالت کاربر و حالت ناظر (که حالت سرپرست+حالت سیستما حالت معاز نیز نامیده می شود.) 8 تعدادی از دستورات ماشین را که موجب آسیب رساندن می شوند؛ به عنوان دستورات ممتاز منظور مى كنيم. افزار اجازه می دهد دستورات ممتاز کر حالت ناظر اجرا شوند. © در غير اين صورت أنرا اجرا دكرده و كله به سیستم عامل می فرستد.

صفحه 39:
حفاظت از 0 @ برنامه کاربر می تواند @ با صدوز یک دستور ۱/0 تادرست © باد به محل های حافظه مربوط به سیستم عامل © يا با عدم رهايى لام عمل عادی لا۳) را خدشه دار کند. © براى اينكه کاربر عمل ۱/0 نادرستی را اجرا نکند © تمامى دستورات ۱/0 را به عنوان دستورات ممتاز در نظر می كيريم. 6 برنامه کاربر هرگز کنترل کامپیوتر را در حالت ناظر به دست نمی گیرد. © اكر بتوائد اين كار رأ انجام دهده حفاظت ۱/0 نقض می شود.

صفحه 40:
حفاظت از حافظه بردار وقفه و روالهای وقفه در سیستم عامل را از تغییرات کاربر حفاظت کنیم. 6 در غیر این صورت برنامه کاربر مى تواند دستوراتی را بجای روال وقفه بنویسد 6 برای تفکیک فضای حافظه هر برنامه © حدود آدرس های معتبری را که برنامه می تواند دستیایی داشته باشده تعبین کرده» ۵ حافظه خارج از آن فضای آدرس را حفاظت کنیم. © اين حفاظت را ميتوانيم با استفاده از ثبتهای پایه و حد انجام دهیم. 8 _ثبات های پایه و حد فقط توسط سيستم عامل بار مى شود @ برای حفاظت. هر آدرس تولیدشده با ثبات پایه مقایسه شده تا معتبر بودن آن تشخیص داده شود. ۵ اگر برنامه سعی کند به حافظه ناظر دسترسی داشته باشد؛ تله ای به ناظر صادر شده و خطا تلقی می گردد.

صفحه 41:

صفحه 42:
حفاظت از ‎CPU‏ برای حفاظت باید کاری کنیم که برنامه کاربر در حلقه كير نكند و کنترل را به سيستم عامل برگرداند. 6 برای این منظور می وان از یک تایمر استفاده کنیم . #می توان از تایمر برای جلوگیری از اجرای نامحدود برنامه های کاربر استفاده کنیم . @ یکی از متداولترین کاربرد تایمرء پیاده سازی اشتراک زمانی است 8 تایمر در هر لا| میلی ثائیه یک وقفه صادر کرده © لا یکیسرش‌زمانی‌استکه یسکسرنامه می‌تولند کنترلل۳) را در دستداشته باشد, © سيستم عامل در پایان هر برش زمانی فراخوانی می شود تا تنظیمات لازم را برای برنامه بعدی انجام دهد .

صفحه 43:

مفاهیم و اصول طراحی سیستمهای عامل خالصه فصل اول مقدمه سیستم عامل برنامه ای است که: سخت افزار کامپیوتر را مدیریت میکند. واسط بین کاربرو سخت افزار کامپیوتر محسوب می شود. بعضی سیستم عامل ها آسایش را فراهم می کنند بعضی دیگر فراهم شدند تا کارایی را افزایش دهند. سیستم عامل چیست؟ هر سیستم کامپیوتری به 4قسمت تقسیم می گردد: سخت افزار :مانند ،CPUحافظه ،دستگاه های I/Oو ... سیستم عامل : بکارگیری سخت افزار را بین برنامه های مختلف کاربران ،کنترل وتنظیم می کند. سیستم عامل مانند دولت ،خودش کار خاصی انجام نمی دهد بلکه محیط را برای 8بهتر اجرا شدن برنامه های دیگر فراهم می کند. برنام8ه های کاربردی :مانن8د کامپایلره8ا ،س8یستمهای بان8ک اطالعات8ی ،بازیه8ا و تجاری کاربران برنامه های از دیدگاه کاربر دیدگاه کاربر بر حسب واسط ها فرق میکند اغلب کاربران از PCاستفاده میکنند در PCسیستم عامل برای سهولت استفاده می شود اما به بهروری منابع پرداخته نمیشود. دستگاههای خانگی و اتومبیلها صفحه کلید عددی دارند که خاموش یا روشن بودن آنها وضعیت آنها را نشان میدهد. از دیدگاه سیستم برنامه ای وابسته به سخت افزار است و تخصیص منابع را انجام می دهد برای حل مسائل ،از منابع سخت افزاری و نرم افزاری استفاده می کند از قبیل :زمان ، CPUفضای حافظه ،فضای ذخیره سازی فایل ،دستگاههای I/Oو ... سیستم عامل مدیر این منابع است آنه8ا را در اختیار برنام8ه های کاربردی قرار م8ی ده8د ت8ا نیاز های خودشان را برطرف کنند و عملکرد سیستم بهینه باشد. برنامه های کاربران را کنترل کرده تا از کامپیوتر به درستی استفاده کنند. هدف اصلی :اجرای برنامه های کاربران و حل آسانتر مسئله های کاربران استفاده از سخت افزار محض آسان نیست برنام8ه های کاربردی ای بوجود آمدن8د ک8ه عملیات مشترک کنترل وتخص8یص مناب8ع س8ایر برنام8ه ها را ، بصورت نرم افزار جداگانه ای به نام سیستم عامل انجام دهند. اهداف سیستم اولین هدف :فراهم کردن محیط آسان برای کاربر میباشد. این هدف برای کامپیوترهای کوچک کاربردی تر است. دومین هدف :بهره برداری بهینه از سخت افزار است برای سیستمهای کامپیوتری بزرگ و چند کاربره مورد نظر است. این دو هدف کمی با هم تضاد دارند. در گذشته کارایی مهمتر از سهولت بوده است. پیشرفت تکنولوژی موجب کارایی توام با سهولت گردید. طراحان سیستم عامل با برقراری توازن بین طراحی و پیاده سازی مواجه اند موفقیت سیستم عامل به برآورده کردن نیازهای کاربران بستگی دارد. سیستم های عامل و پیشرفت های سخت افزاری بریکدیگر موثراند. سیستم های بزرگ س8یستم های کامپیوتری بزرگ،8اولی8ن کامپیوت8ر های8ی بودن8د ک8ه در بس8یاری از امور اقتصادی بکار گرفته شدند. در ای8ن جلس8ه رش8د س8یستمهای بزرگ را از س8یستم های دس8ته ای ت8ا س8یستم های اشتراک زمانی بررسی میکنیم. انواع سیستم های بزرگ سیستمهای دسته ای سیستمهای چند برنامه ای سیستمهای اشترا8ک زمانی سیستمهای رومیزی سیستمهای چند پردازنده سیستمهای توزیعی سیستمهای مشتری_کارگزار سیستمهای نظیر به نظیرسیستمهای خوشه ای سیستمهای بی درنگ سیستمهای دستی سیستم های دسته ای یا Batch کامپیوتر های اولیه از نظر فیزیکی بزرگ بودند از طریق کنسول کار میکردند. دستگاه های ورودی :کارت خوان و گرداننده های نوار بودند دستگاه های خروجی :چاپگر خطی ،گرداننده های نوار ودستگاه منگنه کارت کاربران این سیستم ها مستقیما با سیستمهای کامپیوتری تعامل نداشتند. کاری که شامل برنامه ،داده ها و اطالعات کنترلی روی کارت های منگنه شده بود به اپراتور کامپیوتر تحویل داده می شد. مدتی بعد از تحویل کار ،خروجی تولید می شد. خروجی ،نتیجه اجرای برنامه بود چنانچه برنامه با خطا مواجه می شد،محتویات حافظه و ثباتها چاپ می شد. سیستم عامل اینگونه کامپیوترها بسیار ساده بود کار اصلی آن،انتقال کنترل از یک کار به کار دیگر بود. سیستم عامل همیشه در حافظه قرار داشت. نکته :یکی از خصوصیات سیستم دسته ای این است که کاربر با کاری که در حال اجرا بود،تعاملی نداشت. زمان8ی ک8ه کار تحوی8ل س8یستم م8ی ش8د ت8ا زمان تولی8د خروج8ی ،ب8ه میزان محاس8بات ی8ا تاخی8ر در شروع کار توسط سیستم عامل بستگی داشت. سیستم های چند برنامه ای یا Multi Programming مهم ترین مزیت زمان بندی کار ،توانایی چندبرنامه ای است. چندبرنام8ه ای ،بهره وری پردازنده را افزای8ش م8ی ده8د ب8ه طوری ک8ه پردازنده در ه8ر لحظه کاری برای اجرا دارد. سیستم عامل: چندین کار را به طور همزمان در حافظه نگاه می دارد. زیر مجموعه ای از کارهایی که در مخزن کار نگه داری می شود. زیرا تعداد کارهایی که همزمان می توانند در حافظه نگاه داری می شوند خیلی کمتر از کارها در مخزن کار می باشد. یکی از کارها را انتخاب و در حافظه اجرا می کند سرانجام کار ممکن است منتظر وظیفه ای مانند یکی از عملیات I/Oجهت کامل شدن بماند در این نوع سیستم ها سیستم عامل به کار دیگری می رود و آن را اجرا می کند. در صورتی که الزم باشد آن کار نیز منتظر بماند ،پردازنده به کار دیگری بپردازد . چند برنامه ای اولین نمونه ای است که در آن سیستم عامل باید برای کاربران تصمیم بگیرد تمام کارهایی که وارد سیستم می شود در مخزن کار نگه داری می شود . سیستم اشتراک زمانی یا Time Sharing سیستم های چندبرنامه ای دسته ای محیطی را فراهم می کنند که منابع سیستم به طور کارامد مورد استفاده قرار می گیرند کاربران نمی توانستند با کامپیوتر تعامل داشته باشند. اشتراک زمانی توسعه ی منطقی چندبرنامه ای است CPUچندینک888ار را ت888بادلب888ینآ8نه8ا ا8جرا میک888ند این تبادل طوری است که هر کاربر فکر می کند که CPUفقط در اختیار اوست . سیستم های عامل اشتراک زمانی پیچیده تر از سیستم های عامل چند برنامه ای هستند. در هر دو چندین کار باید به طور همزمان در حافظه باشند سیستم باید مدیر حافظه و حفاظت داشته باشد. برای معقول بودن زمان پاس8خ،کاره8ا بای8د بی8ن دیس8ک و حافظ8ه تبادل شود .متداول تری8ن روش حافظه ی مجازی است. از امتیازات حافظه مجازی این است که اندازه برنامه از اندازه ی حافظه فیزیکی بیشتر باشد . سیستم اشتراک زمانی باید دارای سیستم فایل باشد اغل8ب س8یستم های امروزی اشتراک زمان8ی اند .لذا ،چن8د برنام8ه ای و اشتراک زمان8ی،موضوع اص8لی سیستم های عامل مدرن هستند. سیستم های رومیزی در اثنای دهه ی اول ظهور کامپیوترهای شخصی PCف888اقد ا8مکانحفاظتس88یستم 8ع8املاز ب888رنامه 8ک888اربر ب888ود. سیستم های عامل PCنه چند کاربره بودند و نه چند وظیفه ای اهداف این سیستم های عامل با گذشت زمان تغییر کرد. مایکروس8افت ویندوز را جایگزی8ن س8یستم عام8ل MS-DOSکرد و IBMس8یستم چندوظیفه ای OS/2را جایگزین PC-DOSنمود . ابتدا حفاظت از فایل در کامپیوترهای شخصی موضوع مهمی نبود. اما امروزه این کامپیوترها به شبکه های محلی یا اینترنت وصل هستند. سایر کامپیوترها می توانند به فایل های موجود در PCدستیابی داشته باشند حفاظت از فایل موضوع مهمی در این سیستم های عامل است . سیستم های چند پردازنده ای یا Multi Processing سیستم های چندپردازنده یا سیستمهای موازی یا سیستم های اتصال قوی دارای چندین CPUهستند که ارتباط نزدیکی با هم دارند گذرگاه ،ساعت ،حافظه و دستگاه جانبی مشترک دارند سیستم های چندپردازنده ای 3امتیاز عمده دارند : توان عملیاتی باال :با افزایش تعداد پردازنده ها،کار بیشتری در حداقل زمان انجام می شود.اگر تعداد پردازنده Nباشد نسبت تسریع کمتر از Nاست. ص8رفه جوی8ی اقتص8ادی :زیرا م8ی توانند از دس8تگاه ها ی جانبی ،حافظه ثانویه و نیروی برقمشترکی استفاده کنند. اگر چند برنامه از یک داده استفاده کنند ،جهت اشتراک آن داده را ذخیره می کنیم. افزای8ش قابلی8ت اعتماد :اگ8ر وظای8ف ب8ه خوب8ی بی8ن چن8د پردازنده توزی8ع شود ،خراب8ی یکپردازنده ک8ل س8یستم را از کار نم8ی اندا8زد،بلک8ه س8رعت آ8ن را کن8د م8ی کن8د و پردازنده های باقی مانده باید کار آن پردازنده خرا8ب را انجام دهند . ادامه سیستم های چند پر8دازنده ای ... متداول تری8ن س8یستم های چندپردازنده ای امروزی از مدل چندپردازش8ی متقارن ( )SMPاستفاده می کنند هر پردازنده از کپی یکسانی از سیستم عامل استفاده می کنند این کپی ها در صورت لزوم با یکدیگر ارتباط برقرار می کنند . تمام پردازنده ها همتا و نظیر هم هستند رابطه ی رئیس/مرئوس بین آنها وجود ندارد. بعضی از سیستم ها از چندپردازشی نامتقارن استفاده می کنند هر پردازنده وظیفه ی مشخصی دارد. پردازنده ی اص8لی ،س8یستم را کنترل کرده و بقی8ه پردازنده ه8ا از آ8ن دس8تور م8ی گیرن8د ی8ا وظیفه ی مشخصی دارند. این طرح ،رابطه ی رئیس/مرئوس را تعریف می کند. سیستم های توزیعی یا Distributed Systems شبکه یک مسیر ارتباطی بین دو یا چند سیستم است. سیستم های توزیعی برای انجام وظایف خود ،از شبکه بندی استفاده می کنند. این سیستم ها از طریق برقراری ارتباطات شبکه ای با هم تعامل دارند. بعضی ا8ز مسائلی که در این سیستم ها مورد بررسی قرار می گیرد: چگونگی پایان پذیرفتن یک تراکنش زمانبندی پردازنده امنیت همزمان سازی ساعت و ... سیستم های مشتری – کارگزار یا Client - Server با سریع ،قدرتمند ،و ارزانتر شدن PCها ،طراحان از معماری متمرکز سیستم فاصله گرفته اند. س8یستم های متمرک8ز ب8ه ص8ورت س8یستم های کارگزار عم8ل م8ی کنن8د ت8ا ب8ه درخواس8ت های سیستم های مشتری پاسخ دهند . سیستم های کارگزار را می توان به دو دسته تقسیم کرد : س8یستم های کارگزار محاس8باتی :مشتریان از آ8ن انجام فعالیت8ی را درخواس8ت م8ی کنن8د و ای8ن سیستمها آن درخواست را اجابت کرده و نتیجه را برمی گردانند. س8یستم های کارگزار فای8ل :واس8ط س8یستم فایل8ی را فراه8م م8ی کن8د ت8ا مشتریان فای8ل های8ی را در آنایجاد ،حذف یا نوسازی کنند و یا بخوانند . سیستم های نظیر به نظیر یا Peer To Peer شبک8ه های کامپیوتری ک8ه در وب ب8ه کار گرفت8ه م8ی شون8د ،متشک8ل از مجموع8ه ای از پردازنده ها هستند که ساعت مشترک ندارند. پردازنده ه8ا از طری8ق خطوط ارتباط8ی مختل8ف ،مث8ل خطوط تلف8ن ب8ا یکدیگ8ر ارتباط برقرار می کنند به آن سیستم های اتصال ضعیف می گویند . سیستم عامل شبکه سیستم عاملی است که ویژگی هایی مثل اشتراک فایل را در سطح شبکه تدارک می بیند دارای طرح ارتباطی جهت مبادله پیام بین فرآیندهای کامپیوترهای مختلف است این کامپیوترها مستقل از سایر کامپیوترهای موجود در شبکه کار می کنند. سیستم های خوشه ای یا Clustering سیستم های خوشه ای ،از چند پردازنده برای انجام کارهای محاسباتی استفاده می کند تفاوت سیستم های خوشه ای و موازی: سیستم های خوشه ای از دو یا چند سیستم مجزا تشکیل شده اند که به هم متصلند کامپیوترهای خوش8ه ای حافظ8ه ی ذخیره س8ازی مشترک8ی دارن8د و از طری8ق شبک8ه ی محل8ی به طور ضعیف با هم ارتباط دارند. خوشه بندی اجرا می شود تا قابلیت مهیا بودن افزایش یابد هر گره می تواند از طریق LANبر یک یا چند گره ی دیگر نظارت کند . در خوشه بندی نا متقارن یک ماشین در حالت معوق است و بقیه در حال اجرای برنامه اند میزبان معوق کاری انجام نمی دهد ،بلکه کار گزار فعال را نظارت می کند اگر آن کارگزار با شکست مواجه شود میزبان معوق به عنوان کارگزار فعال محسوب می شود . سیستم های بی درنگ یا Real time وقتی استفاده می شود که برای عملکرد یک پردازنده یا جریان داده ها ،نیاز به زمان دقیقی باشد. سنسورها داده را به کامپیوتر منتقل می کنند. کامپیوتره8ا داده ه8ا را پردازش کرده و احتماال کنترل های8ی را تنظی8م م8ی کنن8د ت8ا ورودی های سنسور را اصالح کنند. نمونه ای از سیستم های بی درنگ عبارتند از: سیستم های تزریق سوخت موتور اتومبیل ،کنترل کننده ی لوازم خانگی و سیستم های نظامی. دو نوع سیستم بی درنگ وجود دارد : سیستم بی درن8گ سخت تضمین می کند که کارهای بحرانی به موقع انجام شود ،برای رسیدن به این هدف باید تمام تاخیرهای موجود در سیستم از بین برود .در غیر این صورت کار از بین می رود. س8یستم ب8ی درن8گ نرم ک8ه در آ8ن ،اولوی8ت کار ب8ی درن8گ از س8ایر کاره8ا بیشت8ر اس8ت و ت8ا اجرای کام8ل این اولویت را دارد و نوع محدودتری از سیستم بی درنگ است و در این نوع سیستم همانند سیستم بی درنگ سخت باید تاخیرهای سیستم حذف شود .در صورت پایان زمان ،کار از بین نمی رود. سیستم های دستی سیستم های دستی مانند تلفن های سلولی است که به شبکه ای مثل اینترنت وصل هستند. حافظه ی اغلب دستگاه های دستی بین kB 512تا MB 8است. در نتیجه سیستم عامل و برنامه ها باید حافظه را به خوبی مدیریت کنند. اغلب دستگاه های دستی از تکنیک حافظه ی مجازی استفاده نمی کنند لذا برنامه نویسان محدود به این حافظه اند . پردازنده های اغلب دستگاه های دستی ،کند است. پردازنده های سریع تر ،به منبع تغذیه قوی تری نیاز دارند. محیط های محاسباتی محاس8بات تعبی8ه شده :ای8ن س8یستم ه8ا ک8ه کامپیوتره8ا بر روی آنه8ا قرار دارن8د ،س8اده ان8د و فاقد ویژگ8ی های پیچیده ای مث8ل 8حافظ8ه ی مجازی و دیس8ک هس8تند .لذا ،س8یستم های عام8ل آنه8ا نیز ویژگی های محدودی دارند. مفاهیم و اصول طر8احی سیستمهای عامل خالصه فصل دوم ساختار سیستمهای کامپیوتری سیستم عامل باید عملکرد درست سیستم کامپیوتری را تضمین کند. برنامه ها با عملیات سیستم تداخل نداشته باشد سخت افزار راهکارهای مناسبی برای رفتار درست تضمین کند. عملکرد سیستم کامپیوتر سیستم کامپیوتری از CPUو کنترل کننده دستگاه تشکیل شده است از طریق گذر گاه متصل شده و دستیابی به حافظه را امکان پذیر می سازد. CPUو ک888نترلک888ننده 8هایدستگاه 8میت888وا8نند ب888ه 8طور همزمانا8جرا ش88وند. کنترل کننده حافظه جهت هماهنگ کردن دستیابی به حافظه. هر کامپیوتر برای راه اندازی ،نیاز به برنامه راه انداز دارد. ای8ن برنامه تمامی جنب8ه های سیستم ،از ثباتهای CPUگرفت8ه تا کنترل کننده های دستگاه و محتویات حافظه را مقدار اولیه میدهد. برنامه راه انداز برای اینکه بداند چگونه سیستم عامل را بار کند ،باید هسته ی سیستم عامل را پیدا و به حافظه بار کند. سخت افزار می تواند با ارسال سیگنالی به ، CPUوقفه ای را صادر کند. نرم افزار هم میتواند با فراخوانی سیستم ،وقفه ای را صادر کند. سیستم کامپیوتری مدرن گرداننده های نوار دیسک چاپگر کنترل کننده گرداننده نوار کنترل کننده دیسک کنترل کننده چاپگر گذر گاه سیستم کنترل کننده حافظه حافظه ‏CPU ادامه عملکرد سیستم کامپیوتر ... انواع رویدادها منجر به صدور وقفه میشوند کام8ل شدن عم8ل ،I/Oتقس8یم بر ص8فر ،دس8تیابی نامعت8بر ب8ه حافظ8ه و درخواس8ت برای بعضی از خدمات سیستم عامل. وقفه کنترل اجرا را به روال پاسخ گویی مناسبی انتقال می دهد. ساده ترین روش ،فراخوانی یک روال کلی برای بررسی اطالعات مربوط به وقفه است. این روال ،روال پاسخ گویی به وقفه را فراخوانی می کند. چون تعداد وقف8ه ه8ا در س8یستم مشخ8ص اس8ت ،م8ی توان از جدول8ی از اشاره گره8ا اس8تفاده کرد که هر اشاره گر به یک روال وقفه اشاره می کند. بدین ترتیب سرعت پاسخ گویی به وقفه افزایش می یابد. معماری وقفه آدرس دستوری را که هنگام اجرای آن وقفه صادر شده است را ذخیره می کند. ای8ن آدرس را آدرس برگش8ت م8ی گویند .زیرا بع8د از اجرای روال وقف8ه ،کار CPUاز آ8ن نقط8ه از سر گرفته می شود. در معماری جدید ،ادرس برگشت در پشته ی سیستم ذخیره می گردد . ادامه عملکرد سیستم کامپیوتر ... هنگامی که وقفه ای صادر شد و در حال پردازش است ،بقیه وقفه ها غیر فعال می شوند. در غی8ر ای8ن ص8ورت داده های وقف8ه ی درحال پردازش ،توس8ط وقف8ه ی جدی8د خراب شده و عمال این وقفه از دست می رود. بعد از اتمام وقفه ی فعلی بقیه وقفه ها فعال می شوند. وقفه ای که اول8ویت آن باالتر باشد زودتر پردازش می شود. وقفه ها از بین نمی روند و از وقفه های غیر ضروری نیز جلوگیری به عمل می آید . س8یستم های عام8ل مدرن ،وقف8ه را مدیری8ت م8ی کنند .رویداده8ا معموال ب8ا وقوع ی8ک وقف8ه ی8ا تله رخ می دهند. تل8ه ی8ک وقف8ه ی نرم افزا8ری اس8ت ک8ه در اث8ر خط8ا ی8ا برنام8ه ی کاربر ک8ه س8یستم عامل در حال اجرای آن است رخ می دهد. ساختار I/O وقفه های I/O ساختار DMA وقفه های I/O برای شروع یک عملیات :I/O CPUث888باتهایمناسبیرا در ک888نترلک888ننده 8ی دستگاه 8ب888ار میک888ند. کنترل کننده ی دستگاه،محتویات ثبات را بررسی کرده تا ببیند که چه عملی باید انجام دهد. وقتی عمل I/Oشروع شد ،فعالیت ها به دور روش پی گیری می شود: در ساده ترین حالت ،بعد از خاتمه I/Oکنترل به فرایند کاربر برمی گردد( I/Oهمگام) در حال8ت دیگ8ر ک8ه I/Oناهمگام نام دارد،بدون اینک8ه منتظ8ر کام8ل شدن I/Oبمان8د ،کنترل را ب8ه برنامه کاربر برمی گرداند. انتظار برای کامل شدن عمل I/Oبه دو صورت انجام می شود. دستور Waitکه CPUرا بی کار می کند تا وقفه ی بعدی رخ دهد ماشی8ن های8ی ک8ه فاق8د چنی8ن دس8توری هس8تند م8ی توانن8د از ی8ک حلق8ه ی انتظار ب8ه صورت Loop : Jmp Loopاستفاده می کنند. ساختار ناحیه ذخیره سازی تنه8ا ناحی8ه ذخیره س8ازی بزرگ ک8ه CPUمس8تقیما م8ی توان8د ب8ه آ8ن دس8ترسی داشت8ه باش8د،حافظه ی اصلی است برنامه ها برای اجرا باید در حافظه ی اصلی قرار بگیرند. نواحی ذخیره سازی،شامل آرایه ای از کلمه است که هر کلمه دارای یک آدرس می باشد. تعامل بین حافظه و CPUاز طریق دستورات Loadو Storeانجام می شود. Loadک888لمه 8را از ح8افظه 8ا8صلیب888ه 8ی88کث888باتدر دا8خل CPUا8نتقا88لمیدهد. Storeمحتویاتی88کث888باترا ب888ه 8ح8افظه 8ا8صلیمنتقلمیک888ند . به دو دلیلی نمی توان برنامه و داده را دائما در حافظه اصلی گذاشت: ظرفیت حافظه ی اصلی کم است حافظه ی اصلی ،یک دستگاه ذخیره سازی ناپایدار است برای رفع مشکل باال ا8ز حافظه ثانویه استفاده می کنیم متداولترین حافظه ثانویه،دیسک مغناطیسی است . انواع ساختار ناحیه ذخیره سازی حافظه اصلی دیسک های مغناطیسی نوارهای مغناطیسی سلسله مراتب دستگاه های حافظه ثباتها حافظه پنهان حافظه اصلی دیسک الکترونیکی دیسک مغناطیسی دیسک نوری نوارهای مغناطیسی سلسله مراتب حافظه حافظه های سطوح باالتر ،گرانتر و سریعتر هستند. حافظه ی ناپایدار ،با قطع جریان برق محتویاتش را از دست میدهد. س8یستمهای حافظ8ه ای ک8ه باالت8ر از دیس8کها قرار دارن8د ،ناپایدارن8د ول8ی آنهای8ی ک8ه زی8ر دیسک الکترونیکی قرار دارند پایدارند. حافظه پنهان اطالعات معموال در یک سیستم حافظه مثل حافظه اصل8ی ذخیره می شود. پ8س از اینکه اطالعات مورد اس8تفاده قرار گرف8ت ،در ی8ک سیستم حافظ8ه س8ریعتر ب8ه نام حافظه پنهان ذخیره می شود وقتی نیاز به بخشی از اطالعات باشد ابتدا وجود آن در حافظه پنهان کنترل می شود. اگر موجود نبود از اطالعات حافظه اصلی استفاده می شود. سپس یک کپی از آن در حافظه پنهان قرار می گیرد تا در صورت نیاز مورد استفاده قرار می گیرد . به علت محدود بودن حافظه پنهان ،طراحی مدیریت حافظه پنهان ،مسئله ی مهمی است . حافظه ی اصلی برای حافظه ثانویه مانند یک حافظه پنهان سریع است . انتقال مقدار صحیح Aاز دیسک به ثبات برای انجام عملیات بر روی متغی8ر ،Aابتدا ب8ا عم8ل I/Oمتغی8ر Aرا ب8ه حافظ8ه اص8لی کپ8ی می کنیم. ممکن است یک کپی از Aدر حافظه ی پنهان و ثبات داخلی قرار بگیرد. بنابراین متغیر Aدر چند محل وجود دارد . در محیطی را که در هر زمان فقط یک فرایند اجرا می شود،این کار مشکلی را ایجاد نمی کند زیرا همواره یک کپی از Aکه در باالترین سطح سلسله مراتب حافظه قرار دارد ،دستیابی می شود. ام8ا در محی8ط های چن8د وظیف8ه ای ،بای8د مواظ8ب بود فرایندهای8ی ک8ه ب8ه متغی8ر Aدس8تیابی دارند ،از آخرین تغییرات آن استفاده کنند. ثبات سخت افزاری ‏A حافظه پنهان ‏A حافظه اصلی ‏A دیسک مغناطیسی انسجام و سازگاری در محی8ط های چندپردازنده ای ،ک8ه در آ8ن CPUعالوه بر ثبات داخل8ی ،حافظ8ه پنهان نیز دارد، پیچیده تر می شود. یک کپی از Aممکن است همزمان در چند حافظه ی پنهان وجود داشته باشد. چون CPUهای مختلفی می تواند به طور همزمان عمل کنند. بای8د اطمینان حاص8ل کنی8م که تغیی8ر مقدار Aدر ی8ک حافظ8ه ی پنهان ،ب8ه تمام حافظ8ه های پنهان8ی که Aدر آنها قرار دارد ،اعمال می شود به آن انسجام حافظه ی پنهان می گویند و یک مسئله ی سخت افزاری است . حفاظت سخت افزاری عملیات دو حالته حفاظت از I/O حفاظت از حافظه حفاظت از CPU عملیات دو حالته باید سیستم عامل و برنامه های دیگر و داده های آنها را از هرگونه برنامه غلط محافظت کنیم. روش انجام کار ای8ن اس8ت ک8ه از طری8ق پشتیبان8ی س8خت افزاری بتوانی8م بی8ن حالتهای مختل8ف اجرا تمایز قائل شویم. حالت کاربر و حالت ناظر (که حالت سرپرست،حالت سیستم،یا حالت ممتاز نیز نامیده می شود). تعدادی از دس8تورات ماشی8ن را ک8ه موج8ب آس8یب رس8اندن م8ی شون8د ،ب8ه عنوان دستورات ممتاز منظور می کنیم. سخت افزار اجازه می دهد دستورات ممتاز در حالت ناظر اجرا شوند. در غیر این صورت آنرا اجرا نکرده و 8تله به سیستم عامل می فرستد. حفاظت از I/O برنامه کاربر می تواند با صدور یک دستور I/Oنادرست با دستیابی به محل های حافظه مربوط به سیستم عامل یا با عدم رهایی CPU عمل عادی CPUرا خدشه دار کند. برای اینکه کاربر عمل I/Oنادرستی را اجرا نکند تمامی دستورات I/Oرا به عنوان دستورات ممتاز در نظر می گیریم. برنامه کاربر هرگز کنترل کامپیوتر را در حالت ناظر به دست نمی گیرد. اگر بتواند این کار را انجام دهد ،حفاظت I/Oنقض می شود. حفاظت از حافظه باید بردار وقفه و روالهای وقفه در سیستم عامل را از تغییرات کاربر حفاظت کنیم. در غیر این صورت برنامه کاربر می تواند دستوراتی را بجای روال وقفه بنویسد برای تفکیک فضای حافظه هر برنامه حدود آدرس های معتبری را که برنامه می تواند دستیابی داشته باشد ،تعیین کرده، حافظه خارج از آن فضای آدرس را حفاظت کنیم. این حفاظت را میتوانیم با استفاده از ثباتهای پایه و حد انجام دهیم. ثبات های پایه و حد فقط توسط سیستم عامل بار می شود برای حفاظت ،هر آدرس تولیدشده با ثبات پایه مقایسه شده تا معتبر بودن آن تشخیص داده شود. اگ8ر برنام8ه س8عی کن8د ب8ه حافظ8ه ناظ8ر دس8ترسی داشت8ه باش8د ،تل8ه ای ب8ه ناظ8ر ص8ادر شده و خط8ا تلقی می گردد. حفاظت آدرس سخت افزار و ثباتهای پایه و حد ثبات پایه شامل کوچکترین آدرس حافظه فیزیکی معتبر است ثبات حد شامل اندازه حدود آدرس است حد +پایه حافظه بلی < خیر پایه بلی ≥ خیر آدرس ‏CPU حفاظت از CPU برای حفاظت باید کاری کنیم که برنامه کاربر در حلقه گیر نکند و کنترل را به سیستم عامل برگرداند. برای این منظور می توان از یک تایمر استفاده کنیم . می توان از تایمر برای جلوگیری از اجرای نامحدود برنامه های کاربر استفاده کنیم . یکی از متداولترین کاربرد تایمر ،پیاده سازی اشتراک زمانی است تایمر در هر Nمیلی ثانیه یک وقفه صادر کرده Nیکب888رشزمانیا8ستک888ه 8ی88کب888رنامه 8میت888وا8ند ک888نترل CPUرا در دستدا8شته 8ب888اشد. سیستم عامل در پایان هر برش زمانی فراخوانی می شود تا تنظیمات الزم را برای برنامه بعدی انجام دهد . :گردآورندگان مهشید ابراهیم نژاد سهيال ابراهيمي صبا مهسا فرجو

51,000 تومان