You are not allowed to perform this action

سیستم‌های عامل

Operating Systems

مقطع: کارشناسی گرایش: نرم‌افزار
نوع درس: نظری تعداد واحد: ۳
پیش‌نیاز: معماری کامپیوتر هم‌نیاز: –

هدف کلی

هدف از این درس، آشنایی دانشجویان با ادبیات، اصول طراحی و چگونگی کاربرد سیستم‌های عامل با تاکید بر تنوعی از سیستم عامل های پرکاربردتر است.

سرفصل‌ها

  • مقدمه‌ای بر سیستم‌های عامل
    • مفاهیم اولیه‌ی سیستم‌های عامل
    • مرور برخی مفاهیم مرتبط با سخت افزار
    • فضای آدرس، I/O، وقفه های نرم‌افزاری و سخت‌افزاری، مدیریت وقفه و عملیات مد دوگانه
    • سیستم‌ عامل برای مدل‌های محاسباتی مختلف
  • ساختار و معماری سیستم‌های عامل
    • ساختار و اجزای تشکیل‌دهنده سیستم‌های عامل
    • انواع معماری ها و خواص آنها
    • مدل ماشین مجازی و برخی ملاحظات مربوط
  • پردازه‌ها و ریسه ها
    • پردازه‌ی تک‌ریسه‌ای، چندریسه‌ای، پردازه‌ی منشعب و بلوک کنترل پردازه
    • حالت‌های یک پردازه
    • عملیات روی پردازه ها
    • ارتباط بین پردازه‌ها و مکانیزم‌های مربوط
    • فراخوانی از راه دور
    • مدل‌های چند ریسه‌ای و ویژگی‌های هر کدام
    • عملیات روی ریسه‌ها
  • زمان‌بندی
    • فعال شدن زمان‌بند
    • اهداف الگوریتم‌های زمان‌بندی
    • انواع الگوریتم‌های زمان‌بندی پایه برای پردازنده‌های تک‌هسته‌ای
    • برخی ملاحظات زمان‌بندی در پردازنده‌های چندهسته‌ای
    • مقدمه ای بر زمان‌بندی بی‌درنگ
  • همروندی و همگام‌سازی
    • نواحی بحرانی و انحصار متقابل
    • عملیات تجزیه‌ناپذیر
    • راه‌حل‌های ناحیه بحرانی دوفرآیندی و چندفرآیندی
    • قفل، سمافور و مانیتور
    • مثال‌های کلاسیک مدیریت همگام‌سازی
  • بن‌بست و گرسنگی
    • گراف تخصیص منابع
    • شرایط لازم برای ایجاد بن‌بست
    • روش‌های مواجهه با بن‌بست (جلوگیری، اجتناب، تشخیص و رفع بن‌بست)
    • الگوریتم‌ها و پروتکل‌های مواجهه با بن‌بست
  • مدیریت حافظه
    • مدل حافظه پردازه و اصطلاحات مربوط به آدرس‌دهی
    • روش‌های ابتدایی مدیریت حافظه
    • صفحه‌بندی دوسطحی و چندسطحی و ارتباط با TLB
    • انواع روش‌های نگهداری جدول صفحه‌بندی
    • قطعه‌بندی و ترکیب با صفحه‌بندی
  • حافظه مجازی
    • صفحه‌بندی مبتنی بر تقاضا
    • نقص صفحه و محاسبه اثرات آن روی کارایی
    • الگوریتم‌های تخصیص قاب و جایگزینی صفحه
    • مدل مجموعه کاری و بیهوده‌کاری
    • تخصیص حافظه در هسته سیستم عامل
  • سیستم‌های ذخیره‌سازی انبوه
    • انواع دستگاه‌ها و کنترل کننده‌های I/O و درایورهای دستگاه‌ها
    • دستگاه‌های ذخیره‌سازی (درایو دیسک سخت و دیسک حالت جامد)
    • زمان‌بندی دیسک
  • فایل سیستم
    • روش‌های مدیریت دیسک و اجزای فایل سیستم
    • جدول تخصیص فایل، فایل سیستم یونیکس و NTFS
    • فایل‌های نگاشته شده به حافظه و حافظه نهان در فایل سیستم

ارزیابی پیشنهادی

  • آزمون‌: ۶۰٪
  • تمرین برنامه‌نویسی: ۴۰٪

منابع پیشنهادی

  1. A. Silberschatz, P. B. Galvin, and G. Gagne. Operating System Concepts. 10th Edition, Wiley Publishing, 2018.
  2. T. Anderson and M. Dahlin. Operating Systems: Principles and Practice. 2nd Edition, Recursive Books, 2014.
  3. W. Stallings. Operating Systems: Internals and Design Principles, 9th edition, Pearson, 2018.