آموزش سیستم عامل
سیستم عامل یا سامانه عامل (Operating System) بدون شک مهمترین نرم افزار در کامپیوتر است. سیستم عامل اولین نرم افزاری است که پس از روشن کردن کامپیوتر مشاهده میشود و همچنین آخرین نرم افزاری خواهد بود که قبل از خاموش کردن کامپیوتر مشاهده میشود. سیستم عامل نرم افزاری است که مدیریت برنامهها را به عهده گرفته و با کنترل، مدیریت و سازماندهی منابع سخت افزاری امکان استفاده بهینه و هدفمند آنها را فراهم کرده و بستری را برای اجرای نرم افزارهای کاربردی فراهم میکند.
آموزش سیستم عامل، توسط مهندس فرشید شیرافکن، یکی از بهترین مدرسین مسلط به این مباحث، ارائه شده است.
فهرست سرفصلها و رئوس مطالب مطرح شده
فصل ۱: مفاهیم اولیه
پردازنده
وقفه
فراخوانیهای سیستم
حفاظت
سلسله مراتب حافظه
روشهای انتقال ورودی/خروجی
نگاه کلی به سیستم عامل
تاریخچه سیستم عامل
انواع سیستم عامل از نظر ساختاری
آزمون
فصل ۲: فرآیند
فرآیند و حالات آن
فرآیند معلق
انواع زمان بندها
نخ(thread)
پیاده سازی نخ (سطح کاربر، سطح هسته و ترکیبی)
فصل ۳: زمان بندی پردازنده
معیارهای زمان بندی
الگوریتمهای زمان بندی
الگوریتم FCFS
الگوریتم RR
الگوریتم (SPN SJF)
الگوریتم SRT
الگوریتم HRRN
الگوریتم FB
الگوریتم MLFQ
الگوریتم MLQ
زمان بندی اولویت (Priority)
زمان بندی FCFS
زمان بندی در سیستم چند پردازنده ای (LPT, RPT, SPT)
آزمون
فصل ۴: همروندی: انحصار متقابل و همگام سازی
مباحث مطرح در ارتباط بین فرآیندها رویکردهای نرم افزاری انحصار متقابل
الگوریتم Decker (پنج تلاش دکر)
الگویتم Peterson
رویکردهای انحصار متقابل با حمایت سخت افزار
راهکارهای سیستم عامل و زبان برنامه سازی برای تدارک همزمانی
سمافور
پیاده سازی انحصار متقابل توسط سمافور
همگام سازی با استفاده از سمافور
مسئله تولید کننده و مصرف کننده
مسئله غذا خوردن فیلسوف ها
مسئله خوانندگان و نیسندگان
مانیتور (ناظر)
مسئله تولید کننده و مصرف کننده با مانیتور
تبادل پیام
همگام سازی به کمک تبادل پیام
پیاده سازی انحصار متقابل توسط تبادل پیام
حل مسئله تولید کننده و مصرف کننده توسط تبادل پیام
آزمون
فصل ۵: بن بست
شرایط بن بست
گراف تخصیص منابع
روشهای رفع بن بست
ترمیم
روشهای پیشگیری از بن بست
روشهای اجتناب از بن بست
الگوریتم بانکداران
خلاصه رویکردها
آزمون
فصل ۶: مدیریت حافظه
مدیریت حافظه ابتدایی
جا به جایی و حفاظت
مبادله
الگوریتمهای مکان یابی و تخصیص حافظه
مدیریت حافظه با سیستم رفاقتی
روی هم گذاری (Overlay)
صفحه بندی (Paging)
حافظه مجازی
صفحه بندی درخواستی
صفحه بندی چند سطحی
جدول صفحه وارونه (معکوس)
بافرهای کناری ترجمه (TLB)
زمان مؤثر دسترسی
آزمون
الگوریتمهای جایگزینی صفحه
الگوریتم بهینه (optimal)
الگوریتم NRU
الگوریتم FIFO
الگوریتم دومین شانس
الگوریتم ساعت
الگوریتمLRU
پیاده سازی سخت افزاری LRU
شبیه سازی LRU در نرم افزار (الگوریتم سالمندی)
الگوریتم بافر کردن صفحه
نکات طراحی سیستمهای صفحه بندی
پیش صفحه بندی (prepaging)
مدل مجموعه کاری (working sets)
الگوریتم فرکانس نقص صفحه (PFF)
تناقض بلیدی (Belady’s anomaly)
الگوریتمهای پشته (Stack Algorithms)
اندازه صفحه
ساختار برنامه
قطعه بندی
قطعه بندی درخواستی
قطعه بندی صفحه بندی (Segmentation with paging)
مقایسه روشهای مدیریت حافظه
آزمون
فصل ۷: مدیریت I/O و دیسک
نرم افزار I/O
مدیریت دیسک
الگوریتمهای زمان بندی بازوی دیسک (FCFS, SSTF, SCAN, CSCAN)
روشهای تخصیص فضای دیسک به فایل
سطوح در یک حافظه سه سطحی
آزمون
مناسب برای
کنکور کارشناسی ارشد مهندسی کامپیوتر
کنکور کارشناسی ارشد مهندسی فناوری اطلاعات IT))
کنکور کارشناسی ارشد علوم کامپیوتر
عموم علاقه مندان به یادگیری مباحث مهندسی کامپیوتر