سیستمهای عامل
Operating Systems
مقطع: کارشناسی | گرایش: نرمافزار |
نوع درس: نظری | تعداد واحد: ۳ |
پیشنیاز: معماری کامپیوتر | همنیاز: – |
هدف کلی
هدف از این درس، آشنایی دانشجویان با ادبیات، اصول طراحی و چگونگی کاربرد سیستمهای عامل با تاکید بر تنوعی از سیستم عامل های پرکاربردتر است.
سرفصلها
- مقدمهای بر سیستمهای عامل
- مفاهیم اولیهی سیستمهای عامل
- مرور برخی مفاهیم مرتبط با سخت افزار
- فضای آدرس، I/O، وقفه های نرمافزاری و سختافزاری، مدیریت وقفه و عملیات مد دوگانه
- سیستم عامل برای مدلهای محاسباتی مختلف
- ساختار و معماری سیستمهای عامل
- ساختار و اجزای تشکیلدهنده سیستمهای عامل
- انواع معماری ها و خواص آنها
- مدل ماشین مجازی و برخی ملاحظات مربوط
- پردازهها و ریسه ها
- پردازهی تکریسهای، چندریسهای، پردازهی منشعب و بلوک کنترل پردازه
- حالتهای یک پردازه
- عملیات روی پردازه ها
- ارتباط بین پردازهها و مکانیزمهای مربوط
- فراخوانی از راه دور
- مدلهای چند ریسهای و ویژگیهای هر کدام
- عملیات روی ریسهها
- زمانبندی
- فعال شدن زمانبند
- اهداف الگوریتمهای زمانبندی
- انواع الگوریتمهای زمانبندی پایه برای پردازندههای تکهستهای
- برخی ملاحظات زمانبندی در پردازندههای چندهستهای
- مقدمه ای بر زمانبندی بیدرنگ
- همروندی و همگامسازی
- نواحی بحرانی و انحصار متقابل
- عملیات تجزیهناپذیر
- راهحلهای ناحیه بحرانی دوفرآیندی و چندفرآیندی
- قفل، سمافور و مانیتور
- مثالهای کلاسیک مدیریت همگامسازی
- بنبست و گرسنگی
- گراف تخصیص منابع
- شرایط لازم برای ایجاد بنبست
- روشهای مواجهه با بنبست (جلوگیری، اجتناب، تشخیص و رفع بنبست)
- الگوریتمها و پروتکلهای مواجهه با بنبست
- مدیریت حافظه
- مدل حافظه پردازه و اصطلاحات مربوط به آدرسدهی
- روشهای ابتدایی مدیریت حافظه
- صفحهبندی دوسطحی و چندسطحی و ارتباط با TLB
- انواع روشهای نگهداری جدول صفحهبندی
- قطعهبندی و ترکیب با صفحهبندی
- حافظه مجازی
- صفحهبندی مبتنی بر تقاضا
- نقص صفحه و محاسبه اثرات آن روی کارایی
- الگوریتمهای تخصیص قاب و جایگزینی صفحه
- مدل مجموعه کاری و بیهودهکاری
- تخصیص حافظه در هسته سیستم عامل
- سیستمهای ذخیرهسازی انبوه
- انواع دستگاهها و کنترل کنندههای I/O و درایورهای دستگاهها
- دستگاههای ذخیرهسازی (درایو دیسک سخت و دیسک حالت جامد)
- زمانبندی دیسک
- فایل سیستم
- روشهای مدیریت دیسک و اجزای فایل سیستم
- جدول تخصیص فایل، فایل سیستم یونیکس و NTFS
- فایلهای نگاشته شده به حافظه و حافظه نهان در فایل سیستم
ارزیابی پیشنهادی
- آزمون: ۶۰٪
- تمرین برنامهنویسی: ۴۰٪
منابع پیشنهادی
- A. Silberschatz, P. B. Galvin, and G. Gagne. Operating System Concepts. 10th Edition, Wiley Publishing, 2018.
- T. Anderson and M. Dahlin. Operating Systems: Principles and Practice. 2nd Edition, Recursive Books, 2014.
- W. Stallings. Operating Systems: Internals and Design Principles, 9th edition, Pearson, 2018.