1 / 28

Threads, SMP, and Microkernels

Threads, SMP, and Microkernels. فصل چهارم. Process. مالکیت منابع – برای نگهداری تصویر فرآیند به فرآیند یک فضای مجازی اختصاص داده شده است. زمانبندی و اجرا – فرآیند از یک مسیر اجرایی که ممکن است با فرآیندهای دیگر تداخل داشته باشد پیروی می کند.

Download Presentation

Threads, SMP, and Microkernels

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. Threads, SMP, and Microkernels فصل چهارم

  2. Process • مالکیت منابع – برای نگهداری تصویر فرآیند به فرآیند یک فضای مجازی اختصاص داده شده است. • زمانبندی و اجرا – فرآیند از یک مسیر اجرایی که ممکن است با فرآیندهای دیگر تداخل داشته باشد پیروی می کند. • سیستم عامل این دو خصیصه را بطور مستقل اعمال می نماید.

  3. Multithreading • سیستم عامل می تواند از چندین نخ اجرا در داخل یک فرآیند پشتیبانی کند. • MS-DOS از یک نخ پشتیبانی می کند. • UNIX از چندین کاربر پشتیبانی می کند اما هر فرآیند می تواند یک نخ داشته باشد. • سیستم عاملهای Windows 2000, Solaris, Linux, Mach, و OS/2 از چند نخی پشتیبانی می کنند.

  4. Process • فرآیند یک فضای آدرس مجازی دارد که تصویر فرآیند را نگهداری می کند. • فرآیند به پردازنده، فرآیندهای دیگر، فایلها و منابع I/O بصورت محافظت شده دسترسی دارد.

  5. Thread • نخ یک حالت اجرا است. (در حال اجرا، آماده و ...) • متن نخ وقتی که نخ اجرا نمی شود، ذخیره می شود. • نخ دارای پشته اجرا است. • نخ می تواند متغییرهای محلی برنامه خود را ذخیره کند. • نخ به حافظه و منابع فرآیند خود دسترسی دارد.

  6. Benefits of Threads • ایجاد یک نخ نسبت به ایجاد یک فرآیند به زمان کمتری نیاز دارد. • خاتمه دادن آن هم سریعتر است. • سوییچ کردن بین نخهای یک فرآیند سریعتر است. (نسبت به حالتی که به جای چند نخ چند فرآیند داشته باشیم) • چون تمام نخهای یک فرآیند، فضای آدرس و فایلهای آن فرآیند را به اشتراک می برند، می توانند بدون دخالت سیستم عامل با هم ارتباط داسته باشند.

  7. Uses of Threads in a Single-User Multiprocessing System • کارهای پس زمینه و پیش زمینه • محاسبات آسنکرون • اجرای سریع • ساختار برنامه ماژولار

  8. Threads • اگر فرآیند معلق شود، تمام نخهای آن معلق می شوند چون فضای آدرس نخها مشترک است. • اگر فرآیند خاتمه پیدا کند، تمام نخهای آن نیز باید تمام شوند.

  9. Thread States • حالتهای نخ: • اجرا • زایش • می تواند یک نخ جدید ایجاد کند. • مسدود • غیر مسدود • خاتمه

  10. Remote Procedure Call Using Threads

  11. Remote Procedure Call Using Threads

  12. User-Level Threads • مدیریت نخها بر عهده کاربرد ( کاربر) است. • هسته از وجود نخها آگاه نیست.

  13. Kernel-Level Threads • W2K, Linux و OS/2از نخهای سطح هسته پشتیبانی می کنند. • هسته متن فرآیند و نخهای آن را نگهداری می کند. • زمانبندی بر حسب نخها انجام می گردد.

  14. Combined Approaches • Solaris از هر دو نوع نخ پشتیبانی می کند. • ایجاد نخ در فضای کاربر انجام می شود. • قسمت عمده زمانبندی و همزمان سازی نخها در فضای کاربر انجام می شود.

  15. Categories of Computer Systems • Single Instruction Single Data (SISD) • یک پردازنده جریانی از دستورالعملها را روی داده هایی که در یک حافظه ذخیره شده اند اعمال می کند. • Single Instruction Multiple Data (SIMD) • هر دستورالعمل می تواند توسط پردازنده های متفاوت روی داده های مختلف اعمال شود.

  16. Categories of Computer Systems • Multiple Instruction Single Data (MISD) • یک دنباله از داده داریم که به مجموعه ای از پردازنده ها داده می شود تا دستورات متفاوتی را روی آن اجرا کنند. (هرگز پیاده نشده است). • Multiple Instruction Multiple Data (MIMD) • مجموعه ای از پردازنده ها بصورت همزمان روی داده های متفاوت ، دستورالعملهای مختلفی را اجرا می کنند.

  17. Symmetric Multiprocessing • هسته می تواند روی هر کدام از پردازنده ها اجرا شود. • زمانبندی هر پردازنده بصورت جدا انجام می شود.

  18. Multiprocessor Operating System Design Considerations • وجود نخها و فرآیندهای همزمان • زمانبندی • همزمان سازی • مدیریت حافظه • قابلیت اعتماد و تحمل خطا

  19. Microkernels • هسته سیستم عامل خیلی کوچک است. • فقط شامل توابع اساسی سیستم عامل است. • تعدادی از خدماتی که قبلا به طور طبیعی جزء سیستم عامل محسوب می شدند، امروزه به صورت زیر سیستمهای خارجی ارائه می شوند. • درایورهای (راه انداز) ابزارها • ساختار فایل • مدیر حافظه مجازی • سیستم پنجره بندی • خدمات امنیتی

  20. Benefits of a Microkernel Organization • واسط یکسان برای درخواستهای فرآیند • همه خدمات از طریق مبادله پیغام ارائه شده اند. • قابلیت توسعه • اضافه کردن خدمات جدید آسان است و نیازی به تغییر ریزهسته ندارد. • قابلیت تغییر • افزودن قابلیتهای جدید • حذف قابلیتهای فعلی

  21. Benefits of a Microkernel Organization • قابلیت حمل • وقتی که پردازنده تغییر کند، تغییرات لازم فقط در ریزهسته داده می شود و نیازی به تغییر باقی خدمات نیست. • قابلیت اعتماد • طراحی ماژولار • چون ریزهسته کوچکتر است با دقت بیشتر و بطور سختگیرانه ای تست شده است

  22. Benefits of Microkernel Organization • حمایت از سیستم توزیع شده • در پیغامهایی که فرستاده می شود نیازی به دانستن محل و نوع ماشین هدف نیست. • سیستم عامل شئ گرا • اجزاء سیستم عامل اشیائی هستند که واسط آنها بطور واضح تعریف شده اند.

  23. Microkernel Design • Low-level memory management • mapping each virtual page to a physical page frame • Inter-process communication • I/O and interrupt management

More Related