سیستم عامل یا سامانه عامل (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))
- کنکور کارشناسی ارشد علوم کامپیوتر
- عموم علاقه مندان به یادگیری مباحث مهندسی کامپیوتر