1 | جلسه | تاریخ | موضوع جلسه | آزمونک | تمرین | مطالب |
---|---|---|---|---|---|---|
2 | ۱ | ۰۳/۰۷/۰۲ | معرفی درس - معرفی سیستم عامل توضیحات درس، بارمبندی، معرفی منبع درس، شروع توضیح دربارهی سیستم عامل، وظایف سسیتم عامل، نیاز سیستم عامل به سختافزار، شهود کلی از اینکه سیستم عامل چطوری یک برنامه را اجرا میکند | تمرین ۱ آشنایی با ساختار پروژه | 📚 | |
3 | ۲ | ۰۳/۰۷/۰۷ | معماری کامپیوتر اجزای سیستم، پردازندههای پایپلاین و سوپراسکالر، مدیریت و سلسلهمراتب حافظه، دسترسی غیریکسان حافظه (NUMA)، وقفهها و ارتباط با دستگاههای ورودی و خروجی. | 📚 | ||
4 | ۳ | ۰۳/۰۷/۰۹ | پردازه مفهوم پردازه و تفاوت آن با برنامه، فضای آدرس پردازه، بلوک کنترل پردازه (PCB)، حالات مختلف پردازه، جابهجایی بین پردازهها (Context Switch)، سلسلهمراتب پردازهها و ایجاد و پایان پردازهها. | 📚 | ||
5 | ۴ | ۰۳/۰۷/۱۴ | ادامه پردازه - ریسمان پایان پردازهها، کد نمونه همزمانی، مفهوم ریسمان، فضای اشتراکی آدرس در ریسمانها، مزایا و کاربردهای ریسمان، همزمانی و مدیریت دسترسی به منابع مشترک | 📚 | ||
6 | ۵ | ۰۳/۰۷/۱۶ | ادامهی ریسمان - شروع همروندی استراتژیهای مدیریت ریسمانها، مشکلات و مزایای ریسمانها، تفاوت ریسمانهای سطح کاربر و هسته، مقدمهای بر همروندی، مسائل رقابتی و نیاز به همگامسازی. | آزمونک ۱ معماری کامپیوتر - پردازه | 📚 | |
7 | ۶ | ۰۳/۰۷/۲۱ | همروندی مفاهیم پایهای همروندی، شرایط وقوع وضعیت رقابتی، تعریف و کاربرد قفلها (Mutex)، پیادهسازی اولیه Mutex، حل مسائل همگامسازی ساده. | تمرین ۲ همروندی | 📚 | |
8 | ۷ | ۰۳/۰۷/۲۳ | همروندی مشکلات پیچیدهتر همروندی، الگوریتمهای سمافور، مسائل کلاسیک همروندی شامل مسئله تولیدکننده-مصرفکننده و شام فیلسوفان. | 📚 | ||
9 | ۸ | ۰۳/۰۷/۲۸ | همروندی مانیتورها، متغیرهای شرطی، مقایسه هوآر و مسا، ارسال پیام و مشکلات همگامسازی در سیستمهای چندریسمانی. | 📚 | ||
10 | ۹ | ۰۳/۰۷/۳۰ | بنبست تعریف بنبست، مدل سیستم و انواع منابع، شرایط وقوع بنبست (مثل شرایط انتظار و عدم وقفه)، مثالهای گراف تخصیص منابع و تشخیص بنبست با بررسی چرخهها | آزمونک ۲ همروندی | 📚 | |
11 | ۰۳/۰۸/۰۵ | لغو شد :( | ||||
12 | ۱۰ | ۰۳/۰۸/۰۷ | بنبست روشهای جلوگیری از بنبست (مانند پیشگیری شرایط لازم برای وقوع بنبست)، الگوریتمهای تشخیص بنبست (مثال گراف منابع)، الگوریتم بانکدار برای جلوگیری از وقوع وضعیتهای خطرناک، و بازیابی از بنبست شامل خاتمه دادن به پردازهها یا استفاده از rollback | 📚 | ||
13 | ۱۱ | ۰۳/۰۸/۱۲ | زمانبندی مفاهیم زمانبندی شامل معیارهای ارزیابی (استفاده CPU، نرخ انجام کار، زمان پاسخ)، الگوریتمهای زمانبندی مختلف (مانند FIFO، SJF، Round-Robin)، مثالهای کاربردی از هر روش، و بررسی مزایا و معایب هر الگوریتم | تمرین ۳ همروندی - ناحیه بحرانی | 📚 | |
14 | ۱۲ | ۰۳/۰۸/۱۴ | مدیریت حافظه مدیریت حافظه شامل آدرسدهی منطقی و فیزیکی، نقش Memory Management Unit (MMU)، تخصیص و جابجایی پویای حافظه، مشکل قطعهقطعه شدن حافظه، الگوریتمهای تخصیص حافظه (مانند Best Fit و Worst Fit)، و روشهای مقابله با قطعهقطعه شدن مانند فشردهسازی حافظه | 📚 | ||
15 | ۱۳ | ۰۳/۰۸/۱۹ | مدیریت حافظه تعریف آدرسدهی مجازی و فیزیکی، نقشهبرداری آدرسها از طریق واحد مدیریت حافظه (MMU)، معرفی جدول صفحه، طراحی جدولهای تکسطحی، مشکلات و هزینههای سربار آنها، و نگاه کلی به نحوه استفاده سیستمها از TLB برای سرعت بخشیدن به ترجمه آدرسها | 📚 | ||
16 | ۰۳/۰۸/۲۱ | میانترم به شکل حضوری و کتاببسته تا محتوای تدریس شده | ||||
17 | ۱۴ | ۰۳/۰۸/۲۶ | مدیریت حافظه بررسی جدولهای چندسطحی برای کاهش سربار، جدولهای معکوس، استفاده از هشتیبلها برای دسترسی سریعتر، بررسی تکنیکهای بهینهسازی فضای جدول صفحه، و محافظت از حافظه از طریق TLB و بیتهای حفاظتی | 📚 | ||
18 | ۱۵ | ۰۳/۰۸/۲۸ | مدیریت حافظه - حافظهی مجازی مفاهیم حافظه مجازی، اشتراکگذاری صفحهها میان فرآیندها، مکانیزم Copy-on-Write، مدیریت سیستم فایل Swap، پیچیدگیها و عملکرد سیستم در مواقع Page Fault، و نقش هسته در مدیریت حافظه مجازی | 📚 | ||
19 | ۱۶ | ۰۳/۰۹/۰۳ | مدیریت حافظه - شروع جایگزینی صفحه معرفی الگوریتمهای جایگزینی صفحه، الگوریتم بهینه (LFD)، چالشهای عملی برای پیشبینی نیازهای آینده، و اهمیت الگوریتمهای جایگزینی در کاهش تأخیر و مدیریت بهینه صفحات در سیستمهای عملیاتی | تمرین ۴ مدیریت منابع - پردازهها و حافظه | 📚 | |
20 | ۱۷ | ۰۳/۰۹/۰۵ | مدیریت حافظه - جایگزینی صفحه معرفی الگوریتمهای جایگزینی صفحه، الگوریتم FIFO و مشکلات آن (مانند Belady's Anomaly)، الگوریتمهای پیشرفتهتر مانند NRU (Not Recently Used)، استفاده از بیتهای Reference و Dirty برای انتخاب صفحات جایگزین، و الگوریتمهای Clock و Second Chance به عنوان بهبودهای FIFO | آزمونک ۳ مدیریت حافظه | 📚 | |
21 | ۱۸ | ۰۳/۰۹/۱۰ | مدیریت حافظه - جایگزینی صفحه الگوریتم LRU (Least Recently Used) و روشهای مختلف پیادهسازی آن، الگوریتمهای مبتنی بر فرکانس دسترسی مانند NFU (Not Frequently Used) و مشکلات آن، و ترکیب فرکانس و تازگی در NFU با Aging برای بهبود انتخاب صفحات جایگزین | 📚 | ||
22 | ۱۹ | ۰۳/۰۹/۱۲ | مدیریت حافظه - جایگزینی صفحه بررسی عمیق Thrashing و الگوریتمهای کنترل آن مانند Working Set و Page Fault Frequency، مزایا و معایب جایگزینی محلی و سراسری (Local vs. Global Replacement)، روشهای جایگزینی پیشگیرانه در سیستمهای مانند UNIX، و اندازهگیری و شبیهسازی عملکرد الگوریتمهای جایگزینی صفحه | 📚 | ||
23 | ۲۰ | ۰۳/۰۹/۱۷ | دستگاههای ورودی و خروجی مفاهیم سختافزاری و نرمافزاری دستگاههای ورودی و خروجی (Device, Controller, Driver)، روشهای انتقال داده مانند Programmed I/O، Interrupt-driven I/O، و Direct Memory Access (DMA)، اصول طراحی نرمافزار I/O (مانند مستقلسازی دستگاهها، خطایابی، و مدیریت بافر)، و بررسی لایههای نرمافزار I/O از سختافزار تا نرمافزار سطح کاربر | 📚 | ||
24 | ۲۱ | ۰۳/۰۹/۱۹ | مدیریت حافظهی جانبی اصول ساختار حافظه جانبی، هندسه دیسک (سطوح، ترکها، و سکتورها)، نحوه محاسبه زمان دسترسی به دیسک (زمان جستجو، تأخیر چرخشی، زمان انتقال)، الگوریتمهای زمانبندی دیسک (مانند FCFS، SSTF، SCAN، و C-SCAN)، و اصول هندسه مجازی برای بهینهسازی عملکرد دیسکها | آزمونک ۴ جایگزینی صفحه | 📚 | |
25 | ۲۲ | ۰۳/۰۹/۲۴ | مدیریت حافظهی جانبی حافظههای غیر فرار مانند SSD و ویژگیهای آنها (مثل محدودیت تعداد نوشتن و پاک کردن)، مدیریت خطاهای دیسک و سکتورهای خراب، مدلهای ذخیرهسازی پایدار و نوشتن پایدار (Stable Storage)، و معرفی RAID برای افزایش قابلیت اطمینان و عملکرد دیسکهای ذخیرهسازی | تمرین ۵ پردازههای سمت کاربر - کار با فرمانهای سیستم و فایل | 📚 | |
26 | ۲۳ | ۰۳/۰۹/۲۶ | مدیریت فایل تعریف فایل و سیستم فایل، عملیات فایل (ایجاد، خواندن، نوشتن، و حذف)، ساختار ذخیرهسازی فایل روی دیسک (مانند FAT و i-nodes)، روشهای تخصیص فایل (تخصیص پیوسته، تخصیص لیستی، تخصیص مبتنی بر i-node)، مدلهای دسترسی به فایل (ترتیبی و تصادفی)، و ویژگیهای فایل مانند متادادهها و مجوزهای دسترسی | 📚 | ||
27 | ۲۴ | ۰۳/۱۰/۰۱ | کارآیی فایل بهینهسازی عملکرد سیستم فایل از طریق استفاده از بافر کش، فایلهای نگاشتشده به حافظه، بهبود مکانگذاری دادهها روی دیسک (مانند استفاده از گروههای سیلندر)، سیستمهای فایل با ساختار لاگ (Log-Structured File Systems)، فرآیندهای پشتیبانگیری (کامل و افزایشی)، و بررسی انسجام سیستم فایل با استفاده از ابزارهایی مانند fsck | 📚 | ||
28 | ۲۵ | ۰۳/۱۰/۰۳ | امنیت و حفاظت از سیستم عامل مفاهیم اولیهی رمزنگاری، شرطهای امنیت، احراز هویت، دامنههای حفاظت، حملههای مشهور | آزمونک ۵ جایگزینی صفحه - حافظه جانبی | 📚 | |
29 | ۲۶ | ۰۳/۱۰/۰۸ | مجازیسازی و کانتینر سازی مفهوم ماشین مجازی و مجازیسازی، مزایای مجازیسازی، انواع hypervisor، تکنیکهای مجازیسازی، کانتینر چیست؟ | 📚 | ||
30 | ۲۷ | ۰۳/۱۰/۱۰ | شبکه و سیستمهای توزیعشده مفاهیم اولیهی شبکه، لایههای شبکه، لایهی انتقال و TCP/UDP، مفاهیم اولیهی سیستمهای توزیعشده، فایل سیستمهای توزیعشده | 📚 | ||
31 | ۰۳/۱۰/۲۲ | پایانترم به شکل حضوری، کتاب بسته، با تاکید بر مباحث بعد از میانترم |