1 / 113

مفاهيم سيستم عامل

مفاهيم سيستم عامل. ترجمه پريسيما آتاماژوري Silberschatz,Abraham Operating system concepts. فصل اول. سیستم عامل چیست تعریف سیستم عامل از دو دیدگاه اهداف سيستم عامل مدیریت منابع دستورالعمل ها درسیستم عامل انواع سیستم ها چند بر نامگی ( Multi programing ) سیستمهای اشترک زمانی

jeri
Download Presentation

مفاهيم سيستم عامل

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. مفاهيم سيستم عامل ترجمه پريسيما آتاماژوري Silberschatz,Abraham Operating system concepts

  2. فصل اول • سیستم عامل چیست • تعریف سیستم عامل از دو دیدگاه • اهداف سيستم عامل • مدیریت منابع • دستورالعمل ها درسیستم عامل • انواع سیستم ها • چند بر نامگی (Multi programing) • سیستمهای اشترک زمانی • سیستم های بلادرنگ • سیستم های توزیع شده • سیستم های مجازی

  3. سيستم عامل فصل اول /مفاهيم سيستم عامل بسمه تعالی سیستم عامل چیست؟ یک کامپیوتر شامل سه قسمت اصلی است: CPU و یا پردازنده، حافظه و دستگاههای ورودی و خروجی که اطلاعات را رد و بدل می‌کنند. پردازنده (CPU) به تمامی قسمت‌های مختلف کامپیوتر دستور می‌دهد. حافظه اطلاعات و دستورات مربوط به آن را نگهداری می‌کند. دستگاههای ورودی و خروجی شامل کیبرد، ماوس، مانیتور و درایو‌ها برای ارسال دستورات و اطلاعات به حافظه استفاده می‌شود. سیستم عامل هماهنگ کننده همه دستگاههای سخت افزاری موجود در کامپیوتر است و بر عملکرد آنها نظارت دارد. به این ترتیب می‌توان برنامه مفیدی را روی کامپیوتر اجرا کرد. به عنوان یک مثال ساده، وقتی فایلی را از هارد دیسک به روی فلاپی کپی می‌کنیم، سیستم عامل فایل را روی هارد دیسک پیدا می‌کند اطلاعات مربرط به نام، اندازه و تاریخ ایجاد فایل را نگه می‌دارد، جای خالی روی فلاپی را تعیین کرده و عمل نامگذاری روی فایل منتقل شده به فلاپی را نیز انجام می‌دهد. سیستم عامل دارای مکانیزمی برای فایل‌ها می‌باشد که توسط آن ذخیره‌سازی و دسترسی به فایل‌ها، برنامه‌های رابط کاربر برای ارتباط با سیستم عامل، و مجموعه‌ای از برنامه‌های ويژه مانند برنامه cp (جهت کپی کردن فایل) که انجام کارهای ساده را به عهده دارند، امکانپذیر سازد.

  4. سيستم عامل فصل اول /مفاهيم سيستم عامل User User 2 User n System and application programs Operating system Computer hardware سیستم عامل‌های مختلف شامل برنامه‌های مختلف و روشهای متفاوتی برای ارتباط با پردازنده (CPU)، حافظه و دستگاههای ورودی و خروجی می‌باشند. پس سیستم عامل‌ اساس و پایه است و بدون آن کامپیوتر مجموعه‌ای از قطعات پلاستیکی و فلزی خواهد بود. شکل یک سیستم کامپیوتر:

  5. سيستم عامل فصل اول /مفاهيم سيستم عامل تعریف سیستم عامل از دو دیدگاه: 1-ازدید کاربر : سیستم عامل پل ارتباطی بین کاربر و سخت افزاراست و منابع فیزیکی (memory( cpu , io device , و منابع منطقی ( مثل پردازش فایل ها واطلاعات وکدهای خاص ) را پوشش می دهد ازاین دید به سیستم عامل یک تخصیص دهنده ی منابع(resource allocator) می گویند. هدف اصلی سیستم عامل از دیدکاربر: ایجادمحیط راحت برای کاربر،تادستورات راوارد و خطاها رامشاهده نماید. 2-ازدیدسیستم :سیستم عامل مدیر منابع سخت افزاری به حساب می آید . دراین دید به سیستم عامل مدیر ابزار(Divice manager) می گویند. هدف اصلی سیستم عامل از دید سیستم: تا بهره بری سیستم(منظورسخت افزار)رابالا برد و درخواست کاربران را به بهترین وجه پاسخ دهد.

  6. سيستم عامل فصل اول /مفاهيم سيستم عامل وظیفه سیستم ازاین دید گاه(سیستم) : این است که تمام منابع را کنترل نموده ودرخواست ها و منابع موجود رابصورت یکجا به تعادل برساند. منابعی که سیستم عامل مدیریت می کند عبارتند از: - مدیریت پردازش وپردازنده - مدیریت حافظه - مدیریت فایل - مدیریت دستگاههای جانبی

  7. اهداف سيستم عامل • سهولت :سيستم عامل استفاده از كامپيوتر را ساده مي نمايد • كارآمدي : سيستم عامل موجب استفاده كار آمد از منابع سيستم كامپيوتر مي شود • قابليت رشد: سيستم عامل بايد قابل توسعه باشد.

  8. سيستم عامل فصل اول /مفاهيم سيستم عامل سیستم عامل در مدیریت چهار منبع بیان شده عملیات مشترک زیرراانجام می دهد : 1-وضعیت منبع(Sourse status): سیستم عامل برای مدیریت هرمنبع بایستی از وضعیت آن منبع باخبرباشد و یک نقشه از وضعیت آن درحافظه داشته باشد. 2-زمان بندی (Scheduling): سیستم عامل مشخص می کند که چه منبعی درچه زمانی به چه پردازش می شود وپردازنده تا چه زمانی روی آن کار کند. 3-تخصیص دهنده ی منابع(allocation): دراین مرحله سیستم عامل عملیات تخصیص منابع به پردازش و همچنین تخصیص cpu به پردازش راانجام میدهد. 4-گرفتن منبع از پردازش ( Pabllocation یا Resourse): پس از اختصاص منابع به پردازش ،منابع بعد ازمدتی آزاد شده تادراختیاردیگرپردازش ها قرارگیرد

  9. سيستم عامل فصل اول /مفاهيم سيستم عامل دستورالعمل ها درسیستم عامل: الف)دستورات موجوددرسیستم عامل ب )دستوراتی که در فایلها یا برنامه هاموجود بوده وکاری رابرای كاربرانجام می دهد. < مثال > ایجادیک فایل توسط دستورات برنامه ی c که به این دستورات ( System calls) می گویند این دستورات در واقع روال هایی هستند که مربوط به وسایل ورودی و خروجی و حافظه می باشند و برای اجرا شدن بایستی به زبان ماشین تبدیل شوند و این دستورات توسط cpuصورت می گیرد. نکاتی در موردساختارسیستم عامل: به سیستم عامل یک ماشین مجازی (Virtuall machin )می گویند . کاربرهیچ ارتباطی با سخت افزارندارد و با این ماشین مجازی کارمی کند.

  10. سيستم عامل فصل اول /مفاهيم سيستم عامل ماشین مجازی دارای دستورالعمل ها می باشد از طرفی سخت افزار توسط لایه هایی از سیستم عامل احاطه شده است لایه مرکزی راهسته یاkernal گویند. برای جلوگیری از تخریب سیستم عامل توسط کاربر پردازنده دارای دو مد(mode) است: 1-user mode 2-superviser mode درمد(superviser mode ) به کاربران اجازه اجرای هر دستورالعمل داده نمی شود و چنانچه کاربر دستوری غیر مجاز یاخطایی ایجادنمایدسیستم عامل باوقفه ای ازاوجلوگیری می نماید. انواع سیستم های عامل و( job control languageیا jcl): در سیستم های اولیه که به شکل ساده ای بودنداطلاعات از طریق یک jcl که قطع برنامه ی کنترلی بود به سیستم جهت کمپایل کردن وارد می نمود وسپس سیستم عامل با توجه به درخواست ها ونیازهای برنامه ابزار موردنیازدراختیارآنهاقرارمی داد.

  11. سيستم عامل فصل اول /مفاهيم سيستم عامل انواع سیستم ها: 1-سیستم های ساده دسته اي (batch) 2-سیستم های محاوره ای(intractive) – درسیستم های دسته ای اطلاعات کاربر(job)به شکل یک بسته شامل: data,program,jcl تحویل سیستم داده می شودوبعدازآن دیگرکاربرباآن ارتباطی ندارد.jobواردشده توسط سیستم اجراوهمه ی اطلاعات درقالب jcl به سیستم گفته می شود و نتایج را نمایش می دهد . دراین روش چنانچه مشکلی در برنامه وجود داشته باشد لازم است بسته یا اطلاعات تغییرنماید. مشکل این سیستم ها این است که پردازنده دراختیاریک بسته قرار می گرفت وتاپایان به کار دیگری مشغول نمی گردید،لذاوقت زیادی ازپردازنده هدرمی رفت. -درسیستم های محاوره ای چون درترمینال ورودی وجود دارد data,program,jcl مربوط به کارهای مختلف دریافت وآنهاراروی هاردبزرگ (دیسک)ذخیره می کند. مشکل این سیستم ها این است که jclبایدتمام اطلاعات ازکاربربه سیستم عامل را داشته باشد ، یعنی چه کاری باید صورت گیردوازچه منابعی استفاده شود.

  12. سيستم عامل فصل اول /مفاهيم سيستم عامل دراین سیستم هاخاصیت اسپولینگ وجود داشت ،به همین دلیل به آن (System spooling) می گویند. خصوصیتی که دراین سیستم هاوجودداشت این بود که اطلاعاتی که به سیستم تحویل داده می شدتوسط سیستم اسپولینگ تقسیم بندی شده وjcl,data,program درناحیه ای ازدیسک به نام spool area ذخیره می شد. برای تشخیص نوع data,program,jclقبل ازپردازش،بسته(packet) توسط System spoolingتفسیرو روی هارد در ناحیه ispt (input spool table) ذخیره می شد،سپس داده هایی که وارد می شدند توسط دستورات این جدول روی آنها پردازش صورت می گرفت. ازدیگرخصوصیات این سیستم ها این بود که ورودی یک کارباپردازش کاردیگرهم پوشانی (over lap) داشت ؛همچنین ممکن بود که خروجی یک کارباپردازش کاردیگرهم پوشانی داشته باشد.نتایج حاصل ازاین کاربهره وری بیشترازcpu بود.

  13. سيستم عامل فصل اول /مفاهيم سيستم عامل I/O bound jobوCPU bound job چنانچه ورودی یک job نسبت به پردازش آن بیشتر باشد به آن کارI/O bound می گویند. چنانچه پردازش یک job از ورودی خروجی آن بیشتر باشد به آن کار CPU bound می گویند. طریقه تولید پردازش درسیستم های دسته ای بعد از آن که تعداد job زیادی در(ISPT) قرار گرفت سیستم عامل بایستی به هر کدام از این job ها سرویس دهد. رویتین یا برنامه ای وجود دارد به نام job schduler زمانبند یا تقسیم کننده کارکه این زمانبند به روش ها و آلگوریتم های خاصی jobها یا کارها را دسته بندی و اولویت می دهد .

  14. سيستم عامل فصل اول /مفاهيم سيستم عامل اولویت بر اساس موارد زیر است: 1-پارامتر های زمانبندی که توسط کاربر تعریف می شود. 2-بر اساس اینکه آیا کارها I/OboundیاCPU bound هستند. 3-کارها به صورت FIFO دسته بندی می شوند هر کاری که اول در جدول ISPT گرفت اول اجرا شود. هر job برای دسترسی به divce یکI/O و برای پردازش یک process دارد.

  15. سيستم عامل فصل اول /مفاهيم سيستم عامل سیستم های دسته ای(Simple batch system) در سیستم های اولیه که معمولا به شکل ماشین بزرگ بودند ارتباط بین کاربر یا سیستم عامل به شکل محاوره ای نبود و کاربر که کار خود را که مجموعه ای ازgcl + pogram + data تحویل سیستم می داد و پس از مدت زمانی نتیجه را در خروجی می دید . تاخیر زمانی بین تحویل کار تا مشاهده نتیجه زمان بازگشت می گفتند. جهت تسریع بخشیدن در این نوع سیستم ها کار های با نیازهای مشابه دسته بندی می نمودند.مثلا برنامه هایی که تحت پاسکال کار می نمودند دسته بندی نموده و jclآن که در حقیقت کارت کنترل مربوط به کمپایلر پاسکال بود نصب نموده و بر نامه های پاسکال را اجرا می کردند و همین طور برنامه های تحت زبان های دیگر . برای برطرف نمودن این عیب از سیستم diskاستفاده می نمودند. ( (simultaneous peripheral opration on-line spooling

  16. سيستم عامل فصل اول /مفاهيم سيستم عامل در روش spoolingکار های مختلفی که به سیستم واگذار می شد سیستمی به نام system spooling آنها را تقسیم بندی نموده ودر فضایی به نام spool area ذخیره می کند.spooler در حقیقت نرم افزاری است که کارها را دسته بندی و مرتب می نمود . هر کار تشکیل شده است از jcl+program + dataکه سیستم spoolingآنها را روی هارد اصلی قرار می دهد ودر یک جدولی به نام جدول ISPT (input spool table) ذخیره می نماید. درحقیقت این جدول بانک اطلاعاتی است کهcpu می تواند با آن ارتباط برقرار نموده و اطلاعات مورد نیاز رااز آن برداشت یا در آن ذخیره کند.spooling در حقیقت عملI/Oیک کار را با عمل محاسبات کار دیگر هم پوشانی یاover lap می نمود.

  17. سيستم عامل فصل اول /مفاهيم سيستم عامل Operating system job1 job2 job3 job4 سیستم های چند برنامه ای دسته ای: • در روشspooling یک ساختمان داده ISPT که در حقیقت حکم یک انبار کار را دارد روی دیسک فراهم می سازد که این کار ها منتظر اجرا شدن می باشند • وجود این انبار یا ساختمان داده به سیستم عامل اجازه می دهد تا تصمیم بگیرد طرح حافظه در سیستم چند برنامه ای کدام کار برای اجرا انتخاب گردد و این باعث می شود ضریب بهره وری CPU افزایش یابد. طرح حافظه براي يك سيستم چند برنامگي

  18. سيستم عامل فصل اول /مفاهيم سيستم عامل چند بر نامگی (Multi programing): اولین نمونه از زمانی است که سیستم عامل به جای کاربران تصمیم می گیرد چه کاری بایستی اول اجرا شود.در حقیقت اطلاعات داخل ISPT پراسس هایی هستند که درروی دیسک قرار دارندومنتظرتخصیص یافتن حافظه اصلی به آنها می باشند چنانچه کارهای زیادی منتظر دسترسی به حافظه اصلی باشند در اینجا رویتینی به نام زمانبند کار(قسمتی از برنامه را رویتین می نامند که ممکن است خود از چند بر نامه تشکیل شده باشد) در جدول ISPT به دنبال اولین کاربا توجه به آلگوریتم های مختلف زمانبندی که توسط cpu انجام می شود.

  19. سيستم عامل فصل اول /مفاهيم سيستم عامل سیستم های on-line(On-line spooling): دراین سیستم ها cpu مستقیما اطلاعات را از ورودی گرفته و مستقیما روی خروجی می فرستد به علت پایین بودن سرعت ابزار جانبی کارایی این سیستم ها خیلی کم و مقدوم به صرفه نبود لذا از سیستم های on-line spooling استفاده نمودند که قبل از وارد شدن اطلاعات بهcpu اطلاعات وارد دیسک شده و سپس cpu با اطلاعات روی دیسک کار می نمود.

  20. سيستم عامل فصل اول /مفاهيم سيستم عامل فواید :on –line spooling 1- راندمان کار cpu بالا می رود 2- راندمان کار وسایل جانبی را افزایش می دهد. 3- گردش سريع کار 4- دسترسی با اولویت. سیستم های Off-line در این روش از نوار مغناطیسی به عنوان وسایل ورودی و خروجی سریع از پردازنده های ارزان استفاده می نمودند . باز جهت بالا رفتن سرعت کار از روش spooling پس از جمع آوری اطلاعات وابسته به هم به شکل دسته روی نوار به هارد منتقل می شود.

  21. سيستم عامل فصل اول /مفاهيم سيستم عامل فوايد off line spooling : 1- راندمان بهتر :زيرا سرعت نوارهاي مغناطيسي بالا مي باشد بنابر اين كارايي سيستم بهبود مي يابد. 2- عمليات ساده تر :پردازشگر فقط نوارهاي مغناطيسي را كنترل مي كرد وبا دستگاههاي جانبي ديگر سروكار نداشت . 3- سهولت براي استفاده از راه دور :به استفاده كنندگاني كه از كامپيوتر اصلي دور هستند اجازه مي داد با استفاده از پردازشگر آهسته كارهايشان روي نوار قرار داده وبه ماشين اصلي انتقال دهند. مشكلات off line spooling : 1- زمان گردشكار طولاني تر 2- عدم وجود اولويت ودسترسي مستقيم ودرون خطي 3- نياز به سخت افزار اضافي

  22. سيستم عامل فصل اول /مفاهيم سيستم عامل

  23. سيستم عامل فصل اول /مفاهيم سيستم عامل Buffring نوارهای مغناطیسی سریع باز هم عملیات ورودی و خروجی کند بوده و بهره وری سیستم را کاهش می داد.با استفاده از حافظه میانی عملیات ورودی خروجی یک برنامه با اجرای آن هم زمان انجام می شد. عمل بافرینگ برای کارهایی که حجم ورودی و خروجی آنها و محاسباتی آنها متناسب باشد مفید است و گرنه کارایی خاصی ندارد . عموما کارها به دو دسته تقسیم می شوند : الف)کارهای I/O bound (I/O limited) ب)کارهای CPU bound (CPU limited) الف) کارهایی که بخش زیادی از اجرای آنها در ارتباط با دستگاه های ورودی و خروجی بوده و محاسبات زیادی ندارد. ب)کارهایی که حجم زیادی محاسبات داشته و بخش عمده نیاز آنها برای اجرا وقت پردازنده است. کارهای CPU boundوI/O bound استفاده از بافر تاثیر زیادی در بهبود اجرا ندارد.

  24. سيستم عامل فصل اول /مفاهيم سيستم عامل چند برنامه گی (multi program): در ساختار buffringو spooling می توان چند کار را به طور هم زمان اجرا نمود که به آن چند برنامه گی می گویند .در این روش پردازنده کار خود را انجام می دهد تا یک درخواست ورودی یا خروجی ظاهر شود سپس پردازنده روی کار جدید عملیات پردازش انجام می دهد. سیستمهای اشترک زمانی: اشتراک زمانی شکل خاصی از چند برنامه گی که در آن تعویض کار بر اساس معیار خاصی (برش زمانی) می باشد که در این برش زمانی ممکن است پردازش job به پایان برسد ممکن است کار به پایان نرسد و cpu در اختیار job بعدی قرار می گیرد و تعیین بازه زمانی یکی از پارامتر های سیستم عامل می باشد که در کارایی سیستم بسیار موثر می باشد. در سیستم های اشتراک زمانی امکان ارتباط کار محاوره ای بین کاربر و سیستم وجود دارد چون بازه های زمانی کوتاه است هر کاربر تصور می کند که سیستم به طور کامل در اختیار اوست.

  25. سيستم عامل فصل اول /مفاهيم سيستم عامل سیستم های توزیع شده: در این سیستم ها اجرای کار بین چندین پردازنده توزیع می شود. 1-سیستم ها با ارتباط محکم (Tightly coupled system) سیستم ها با ارتباط محکم پردازنده ها دارای چندین پالس ساعت یکسان و حافظه مشترک می باشند. خصوصیات این نوع سیستم ها روش کار مشکل است اما سرعت کار بسیار بالا می باشد .

  26. سيستم عامل فصل اول /مفاهيم سيستم عامل 2-سیستم ها با ارتباط سست(Loosely coupled system) دراین نوع سیستم ها هر پردازنده با خطوط ارتباطی مناسب به هم متصل و دارای پالس ساعت و حافظه مستقل می باشند. از خصوصیات این نوع سیستم ها اجرا کار آسان اما سرعت کار بسیار پایین است. سیستم های بلادرنگ: سیستم های بلادرنگ به سیستم هایی گفته می شود که درکاربرد های خاص باید حد اکثردرمدت زمان مشخص شده سرویس دهی لازم را انجام دهد . زمان پاسخ سیستم به سرویس را گارانتی می گویند. در این نوع سیستم ها به دلیل نیاز به پاسخ مناسب در زمان مشخص شده از حافظه جانبی و خاصیت اشتراک زمانی نمی توان استفاده نمود .

  27. سيستم عامل فصل اول /مفاهيم سيستم عامل سیستم های مجازی : سیستم هایی هستند که از خاصیت اشتراک زمانی استفاده نموده وکاربران می توانند به طور مجازی و شبیه سازی شده کل سیستم را در اختیار بگیرند . هر کاربر می تواند سیستم مجازی را مستقیما روی سخت افزار کار نموده و چند بر نامگی را انجام دهد . که هر کاربر مستقل از کاربر دیگر باشد . این نوع سیستم ها در دو مد کاربر و هسته سیستم عامل کار نمایند.

  28. فصل دوم • کنترل کننده های دستگاه جانبی • وقفه ها • اساس کار DMA • انواع وقفه ها • وقفه های سنکرون و آسنکرون

  29. سيستم عامل فصل دوم /وقفه ها شکل سیستم کامپیوتر دریک سیستم کامپیوتر مدرن شامل یک cpu وتعدادی کنترل کنندههای دستگاه های جانبی است که از طریق یک گذرگاه مخصوص به حافظه مشترک دسترسی دارد.

  30. سيستم عامل فصل دوم /وقفه ها CPU و کنترل کنندههای دستگاهای جانبی در اجرا هم روند می باشند که برای به دست آوردن حافظه با همدیگر رقابت می کنند. هر کنترل کننده ممکن است به بیش از یک دستگاه متصل شود و همچنین تعدادیregister ومقادیری بافر ذخیره محل دارد. جهت تضمین دسترسی به حافظه مشترک یک کنترل کننده حافظه فراهم شده است ووظیفه آن سنکرون(هم زمان)کردن دستیابی به حافظه می باشد. یک سیستم درشروع به برنامه اولیه آغازگرboot strap program نیازدارد. کاراین برنامه این است که به تمام اجزای سیستم از رجیستر های cpu گرفته تا کنترل کننده های دستگاه های جانبی مقدار اولیه می دهد.همچنین این برنامه میداند که چگونه یک سیستم عامل را بار نماید و چگونه آن را اجرا نماید. بنابراین هسته سیستم عامل را پیدا نموده و درحافظه بار(load ) می نماید. در این حالت سیستم عامل اولین پردازش را انجام داده و سپس منتظر وقوع یک وقفه می ماند که این وقفه ممکن است از طرف نرم افزاریا از طرف سخت افزار باشد.

  31. سيستم عامل فصل دوم /وقفه ها وقفه ها وقفه ها جهت بهبود بهره وری از cpu استفاده می شود. مکانیزم وقفه جهت سرویس دهی به مشکلات و حوادثی که در حین کار سیستم پیش می آید طراحی شده است.هنگامی که cpu می خواهد به یک وقفه سرویس دهد کارهای عادی خودرا ذخیره نموده و پس ازسرویس دادن به وقفه به حالت عادی برمی گردد. وقفه ها جزء مهمی از معماری کامپیوتر هستند.هر سیستم کامپیوتری مکانیزم وقفه خود را دارد ولی توابع متعددی مشترکند.وقفه بایستی کنترل را به روال سرویس دهنده وقفه مناسبی انتقال دهد.بردار وقفه جدولی از اشاره گرها به روتین سرویس وقفه است که در حافظه پایین نگهداری می شود.

  32. سيستم عامل فصل دوم /وقفه ها نحوه ي کار وقفه ها در عملیات ورودی و خروجی

  33. سيستم عامل فصل دوم /وقفه ها جهت اجرای یک وقفه توسط cpu چهار مرحله زیر صورت می گیرد: 1-پردازنده (cpu ) توسط ارسال سیگنالی به کنترل کننده ابزار جانبی اطلاعاتی در مورد خواندن یا نوشتن يا به طوركلّي اطلاعات مورد نیاز درثبات کنترل کننده قرار می دهد و به این صورت درخواست خود را به وسیله جانبی اعلام می دارد. 2- پردازنده به کار خود ادامه داده و دستگاه جانبی کار خواسته شده توسط cpu انجام می دهد. 3- پس ازتمام شدن کار ابزار جانبی کنترل کننده آن با سیگنالی پایان کار خود را به cpu اعلام می دارد. 4-cpu در زمان کوتاهی اطلاعت را از ابزار جانبی گرفته و شروع به پردازش می نماید. در این لحظهcpu کار قبلی خود را رها کرده و به وقفه پاسخ می دهدو پس از پایان اجرای وقفه به کار عادی خود باز می گردد.

  34. سيستم عامل فصل دوم /وقفه ها نکته : در سیستم عامل های چند برنامه ای حتما باید ازساختار وقفه ها استفاده نمود چرا که در هنگام نیاز یک برنامه به ورودی یا خروجی cpu بیکار نشده وبرنامه دیگری را اجرا می کند. در کاروقفه ها سرعت ابزارجانبی مهم می باشد. چنانچه سرعت ابزار جانبی کند باشد نسبت زمان پردازش وقفه به زمان آزاد بود ن پردازنده کوچک می باشد و در سرویس داد ن به پردازش های دیگر مشکل ایجاد نمی کند .اما چنانچه سرعت ابزار جانبی زیاد باشد مدت زمان پردازش وقفه قابل مقياسه با زمان آزاد بودن cpu می باشدو تاثیر زیادی برعملکرد پردازنده دارد. ابزار جانبی کندT1<<T2 جانبی تندT1<T2 یاT1~T2 برای برطرف کردن این مشکل از DMA استفاده می شود.

  35. سيستم عامل فصل اول /مفاهيم سيستم عامل (direct memory access ) :DMA چنانچه ابزار جانبی سرعت آن کند باشد دردسترسی به cpu وحافظه ، cpuاولویت پایین به آن اختصاص مي دهد یااصلا اولویتبه آن نمیدهد . برای رفع این مشکل ازساختار DMAاستفاده می شود . به این صورت که بر روی وسیله جانبی مثل کارتگرافیکی حافظه و پردازنده محلی اختصاص می دهد. در این روش پس از پردازش اطلاعات مورد نیاز توسط پردازنده وحافظهمحلی کل بلوک آماده شده توسط سیگنالی ازcpu به حافظه اصلی منتقل میشود . به طورمثال برای نمایش عکس بجای انتقای پیکسل به پیکسل به حافظه اصلی کل پیکسل های عکس به حافظه منتقل می گردد.

  36. سيستم عامل فصل دوم /وقفه ها انواع وقفه ها الف)وقفه های خارجی 1-دستگاه های ورودی و خروجی وdma 2-تایمرهای سیستم و یا صفحه کلید به عنوان دستگاههای خارجی 3-بروز خطای سخت افزاری در سیستم ب)وقفه های داخلی(trap ) در هنگام اجرای نرم افزار ایجاد شده ناشی از دستورات خود برنامه می باشد. مانند حالت های تقسیم بر صفرو یا معتبر نبودنکد دستور.

  37. سيستم عامل فصل دوم /وقفه ها نکته: اجرای مجدد برنامه وقفه های داخلی حتما دوباره تکرار می شوند ولی وقفه های خارجی مستقل از دستورات برنامه و ناهمگامبا برنامه هستند.وقفه های داخلی وهم وقفه های خارجی توسط سیگنال هایی به cpuاعلام می گردد. ج)وقفه های نرم افزاری دستوراتی از برنامه هستند که مانند فراخوانی یک برنامه فرعی عمل می کنند این وقفه ها عموما در حالتی واقع می شوند کهبرنامه کاربر برای انجام کارهای پیچیده با I/O برای خواندن و یا ارسال داده ها آن را توسط یک وقفه به ناظر واگذار می نماید تا با اطلاعات دقیق تر این عملیات را اجرا نماید.

  38. سيستم عامل فصل دوم /وقفه ها نکته: ممکن است ازدویا چندمنبع وقفه با یک خط مشترک وقفه هایشان راارسال کنند دراین صورت پردازنده به روش Pooling به هر یک از منابع وقفه سر کشی کرده و منبع را مشخص و وقفه های مربوط را اجرا می نماید که ممکن است در این حالت مشکلاتی برای اجرای برنامه پیش بیاید. روش نمونه برداری: در این روش ثبات های کنترل مربوط به دستگاه های جانبی مرتبا توسط پردازنده بررسی می شود و چنانچه درخواستی وجود داشت cpuآن درخواست را پاسخ می داد هرچند باعث اتلاف وقت cpuمی شود اما روشی است برای اختصاص دادن cpu به ابزار جانبی می شود.

  39. سيستم عامل فصل دوم /وقفه ها وقتی که I/O صورت می گیرد ممکن است به دو صورت عملیات انجام شود روش اول کنترل در اختیار process قرار گرفته و تا انتهای عملیاتI/O کنترل در اختیار proscess می باشد. روش دوم در روش آسنکرون پس از انجامI/O کنترل تا انتها به processاختصاص نمی یابد بلکه به برنامه کاربربازگشت نموده ومنتظرI/O بعدی قرار می گیرد.

  40. فصل سوم • حافظه های اصلی • چند اصطلاح • سلسله مراتب حافظه • مدیریت حافظه • تله های سیستم عامل ونمایش خطای سیستم عامل

  41. سيستم عامل فصل سوم /حافظه ها حافظه های اصلی (main memory) • تمام ابزار جانبی به گذرگاهی از طریق کنترل گرهای خود متصل می باشند که هر کنترل کننده دارای بافر مخصوص به خود می باشد. cpuاجرا کردن دستورات مربوط به هر ابزار جانبی با ارسال سیگنالی محتوای رجیستر های مربوط به ابزار جانبی به حافظه اصلی(RAM) انتقال می دهند و دستور العمل های خاص I/O مجاز به انجام این کار می باشند. • جهت اجرا شدن اطلاعات موجود در حافظه لازم است این اطلاعات به رجیستر های CPU منتقل می شود.سرعت اجرای اطلاعات در رجیستر ها بیشتر از سرعت اجرای اطلاعات موجود در حافظه می باشد.چرا که در رجیستر های CPU در یک سیکل کاری cpuچندین عمل اجرا می کند در صورتی که اطلاعات موجود در حافظه در چند سیکل کاری یک اطلاعات انجام می گردد.

  42. سيستم عامل فصل سوم /حافظه ها • چند اصطلاح • - میزان جریان اطلاعات بین کامپیوترو گرداننده ابزار جانبی میزان انتقال یا transfer rate می گویند. • - مدت زمانی که بازوی دیسک به سوی سیلندر دلخواه حرکت می نماید زمان جستجو یا seek time می گویند. • - مدت زمانی که سکتور مربوط به اطلاعات مورد نظرزیر هد دیسک قرار می گیرند یا به عبارتی مدت زمانی که طول می کشد تا سکتور مطلوب خوانده شود زمان تاخیریا rotiational latency می گویند. • به مجموع دو زمان بالا زمان دسترسی مستقیم یا positioning time می گویند.

  43. سيستم عامل فصل سوم /حافظه ها سلسله مراتب حافظه • نهانی کردن (caching) جهت اجرا شدن اطلاعات موجود در ابزار ذخیره شده لازم است به حافظه اصلی انتقال یابند و سپس به طور موقت به حافظه ای که سرعت بیشتری دارد کپی می شود . هنگامی که به اطلاعات ویژه نیاز باشد ابتدا به حافظه نهانی رجوع نموده چنانچه دراین حافظه موجود باشد اطلاعات ازخوانده می شود در غیر این صورت

  44. سيستم عامل فصل سوم /حافظه ها اطلاعات از حافظه اصلی خوانده شده و با فرض احتمال زیاد ،مجدد یک کپی از آن در حافظه کش قرار داده می شود.رجیستر های داخلی cpu یک کش سریع برای حافظه محسوب می گردد. کش هایی وجود دارند که به صورت سخت افزاری پیاده سازی شده اند مانند کش دستورالعمل instraction cache در کش دستورالعمل، دستور العمل های بعدی در قرار می گیرد و چنانچه این حافظه نهانی موجود نباشدcpu مجبور است سیکل های متعددی منتظر واکنش یا (fetch) دستورالعمل از حافظه اصلی باشد.

  45. سيستم عامل فصل سوم /حافظه ها • انسجام وسازگاری (coherency and cosistency) علاوه بر خصوصیت نهانی سازی انسجام و سازگاری در ساختار سلسله مراتبی حافظه وجود دارد .در این ساختار یک داده خاصی می تواند در سطوح مختلف ذخیره سازی وجود داشته باشد و تغییراتی روی آن اعمال گردد. در سیستم های یک پردازنده مشکلی وجود ندارد چرا که تغییرات در بالاترین سطح دسترسی اعمال شده و به ترتیب در سطوح دیگر اعمال می گردد . اما در سیستم های چند برنامگی چند پردازندگی ممکن است اطلاعات در سطوح مختلف توسط برنامه یا پردازنده خاصی تغییر کند. تغییرات اعمال شده روی یک سطح توسط خود سیستم عامل در سطوح دیگر اعمال می گردد.

  46. سيستم عامل فصل سوم /حافظه ها • حفاظت سخت افزاری در ساختار سلسله مراتبی حافظه لازم است دسترسی برنامه و کاربران به بعضی از سطوح ذخیره سازی محدود نماییم.چرا که در سیستم چند برنامگی ممکن است برنامه های مختلف تغییراتی در بعضی از سطوح ایجاد نموده که برنامه دوم نتواند تغییرات حاصله را درک نماید و به طبع خروجی برنامه دوم قابل اعتماد نباشد لذا دو مد کاربروسیستم عامل در نظر گرفته شده است چنانچه کاربری با اجرای دستور العملی خواهان دسترسی به حافظه غیرمجاز باشد آنگاه سخت افزاربا استفاده ازسیستم عامل با اجرای وقفه ای خطا را اعلام می نماید.

  47. سيستم عامل فصل سوم /حافظه ها مدیریت حافظه همانطور که قبلا گفته شد چنانچه حافظه را به دوقسمت تبدیل کنیم یک قسمت مربوط به اجرای سیستم عامل و قسمت دیگر مربوط به برنامه کاربر مانند شکل (الف).در این صورت از آنجا که حجم سیستم عامل موجود در حافظه را تغییر خواهد نمود (به علت اجرای درایوها و عملیات بافرینگ)برای برطرف کردن این مشکل بهتر است برنامه های کاربر در انتهای حافظه قرار بگیرد تا امکان رشد و توسعه برای هر دو فراهم نماید .از طرفی محدوده سیستم عامل بایستی ازدسترس کاربران محفوظ بماند

  48. سيستم عامل فصل سوم /حافظه ها یعنی از آدرس 0تا s کاربران نتوانند دسترسی داشته باشند و بههمین دلیل سخت افزاربااستفادهازمحتوای base register (رجیستر پایه جهت کنترل آدرس برنامه کاربر )و همچنین limit register می توانند محدوده دسترسی کاربر و حافظه مشخص نماید.

  49. سيستم عامل فصل سوم /حافظه ها تله های سیستم عامل ونمایش خطای سیستم عامل مشکل مدیریت حافظه: الف)تکه تکه شدن حافظه(fragmentation):

  50. سيستم عامل فصل سوم /حافظه ها یکی از مشکلات حافظه تکه تکه شدن حافظه ناشی از پردازش هایی است که مرتبا به داخل و خارج حافظه مبادله می شوند این روند باعث می شود تا فضای خالی حافظه به حفره های کوچکی تبدیل شده و امکان جا دادن به پروسه جدید وجود نداشته باشد. برای برطرف کردن از استراتوژیهای زیر استفاده می کنیم. 1- هر گاه حفره خالی ایجاد شد آن را به سمت پایین حافظه حرکت می دهند و حفره ها تشکیل یک حفره با حد اکثر ظرفیت می دهند. 2- استفاده از آلگوریتم به خصوص در قرار دادن jobدر حافظه استفاده می کنیم.

More Related