ابزار کاربر

ابزار سایت


درس:۴۰۴۰۸

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

Operating Systems Lab

شماره درس: ۴۰۴۰۸ تعداد واحد: ۱
مقطع: کارشناسی نوع درس: عملی
پیش‌نیاز: سیستم‌های عامل هم‌نیاز: –

اهداف درس

هدف از این آزمایشگاه، آموزش بخش‌های مختلف سیستم عامل لینوكس، استفاده از این بخش‌ها و پیاده‌سازی الگوریتم‌هایی در هر كدام از این بخش‌ها است. پس از گذراندن این آزمایشگاه، دانشجویان با ساختار سیستم عامل لینوكس آشنا خواهند شد و توانایی تغییر و كامپایل آن را خواهند داشت. كلیات این آزمایشگاه به صورت زیر است اما جزئیات هر آزمایش از یك نیمسال به نیمسال دیگر تغییر خواهد یافت. در طول یك نیمسال ممكن است همه بخش های سرفصل پوشش داده نشود اما در همه‌ی نیمسال‌ها آزمایش‌های ابتدایی پوشش داده خواهد شد و سپس برروی موضوع‌های مختلفی تمركز خواهد شد.

ریز مواد

  • کامپایل و نصب لینوکس
  • برنامه‌نویسی با زبان C++‎ و shell در لینوکس
  • به‌کارگیری System Call‌های لینوکس در برنامه‌ها
  • بررسی رفتار سیستم عامل (مسیر proc/)
  • ایجاد، اجرا و از بین بردن فرایندها و ریسه‌ها (بکارگیری کتابخانه pthread)
  • همگام‌سازی و ارتباط بین فرایندها و ریسه‌ها
  • مدیریت حافظه، حافظه‌ی مشترک و حافظه‌ی مجازی
  • برنامه‌ریزی پردازنده (CPU Scheduling)
  • به‌کارگیری سیستم‌های فایل قابل نصب (Installable File Systems)
  • برنامه‌ریزی دیسک و دستگاه‌های ورودی و خروجی (IO Scheduling)
  • طراحی و پیاده‌سازی Device Driver
  • به‌کارگیری سازوکارهای امنیتی لینوکس
  • آشنایی با سیستم‌های عامل بلادرنگ و نهفته
  • آشنایی با Windows Research Kernel

مراجع

  1. P. J. Salzman, M. Burian, and O. Pomerantz. The Linux Kernel Module Programming Guide. 2007.
  2. K. Wall, M. Watson, and M. Whitis. Linux Programming Unleashed, Macmillan Computer Publishing. 1999.
  3. M. Mitchell, J. Oldham, and A. Samuel. Advanced Linux Programming. New Rivers, 2001.
  4. C. S. Rodriguez, G. Fischer, and S. Smolski. The Linux® Kernel Primer: A Top-Down Approach for x86 and PowerPC Architectures. Prentice-Hall, 2005.
  5. J. Corbet, A. Rubini, and G. Kroah-Hartman. Linux Device Drivers. O'Reilly Books, 2005.
درس/۴۰۴۰۸.txt · آخرین ویرایش: 2019/12/26 01:59 (ویرایش خارجی)