برنامه‌نویسی سیستمی (Windows & POSIX System Programming)

بررسی عمیق لایه‌های سیستم‌عامل، فراخوانی‌های Win32/64 API، مدیریت نخ‌ها، همگام‌سازی سمافور و موتکس، حافظه مجازی و ارتباطات بین فرایندی (IPC). نمرات این درس در سامانه بوستان بارگذاری می‌شود.

سرفصل هفتگی درس:
• هفته ۱-۲: مفاهیم پایه‌ای سیستم‌عامل و مقایسه فراخوانی‌های Win32 با هسته لینوکس
• هفته ۳-۴: مدیریت فایل‌های دودویی و ساختارهای I/O ناهمگام
• هفته ۵-۷: ایجاد و مدیریت فرایندها (Processes) و ریسه‌ها (Threads)
• هفته ۸-۱۰: همگام‌سازی، قفل‌ها، Mutex و حل مسائل Deadlock
• هفته ۱۱-۱۲: حافظه مجازی و فایل‌های نگاشت‌شده در حافظه (Memory Mapped Files)
• هفته ۱۳-۱۴: ارتباطات بین‌فرایندی (IPC) با لوله‌های نام‌دار (Named Pipes) و سوکت

منابع و تکالیف درس:
• اسلایدهای جامع برنامه‌نویسی سیستمی ویندوز (فصول ۱ تا ۴) (هفته ۱)
• پروژه عملی شماره ۱: پیاده‌سازی ابزار مانیتورینگ پردازش‌ها و نخ‌ها (هفته ۶) — تحویل: سامانه بوستان

کتاب اصلی درس: برنامه‌نویسی سیستمی ویندوز (Windows System Programming) — جانسون هارت