موضوع درس

این درس ابتدا بر مفاهیم عمومی سیستم­های عامل و نقش، اجزاء و انواع آنها تمرکز خواهد داشت. الگوریتم­های متنوع سیستم­های عامل تنها در ارتباط با آنچه در چند سیستم‌عامل  موفق امروزی از جمله  Linux و Minix به کار رفته است، مطرح خواهد شد. در ادامه به ساختار سیستم‌عامل  Linux به عنوان پرکاربردترین سیستم­عامل منبع­باز می پردازیم و برنامه­سازی سیستم در لایه­های مختلف Linux، از جمله هسته آن (Linux Kernel) و انواع برنامه­های راه­اندازی دستگاه (Device Drivers) را به دقت بررسی خواهیم کرد. در پایان این درس، دانشجو علاوه بر شناخت کامل این سیستم‌عامل، توانایی لازم را برای نوشتن اجزاء جدیدی برای هسته، تغییر هسته، دسترسی و استفاده از امکانات هسته و نوشتن برنامه­های راه­انداز دستگاه کسب خواهد کرد. در این درس سیستم­های عامل برای سیستم­های نهفته مختلف امروزی نیز مطرح خواهد شد.

عناوین اصلی درس عبارتند از:

·      سیستم­های عامل و انواع آنها، مفاهیم پایه و اجزاء سیستم­های عامل

·      منابع سخت­افزاری و نیازهای کاربر

·      مدیریت حافظه و توان پردازشی

·      سیستم­های عامل بی­درنگ و عمومی و مسئله زمان­بندی و رقابت در تصاحب منابع

·      فایل سیستم

·      ساختار Linux

·      برنامه­نویسی سیستم

·      اجزاء هسته Linux، واسط­ها و برنامه­نویسی هسته

·      راه­اندازهای دستگاه و برنامه­نویسی آنها در Linux