مدرسین
سیستمعامل بهعنوان یکی از اساسیترین دروس رشته مهندسی کامپیوتر، نقش پل ارتباطی میان سختافزار و نرمافزار را ایفا میکند. هدف این درس آشنایی دانشجویان با مفاهیم، اصول و سازوکارهای طراحی و پیادهسازی سیستمهای عامل است.
این دوره شامل 1 فصل، 1 درس و 0 ساعت محتوا میباشد.
جلسه اول: مقدمهای بر سیستمعاملها (Operating Systems)
۱. سیستمعامل چیست؟
به زبان ساده، سیستمعامل نرمافزاری است که وظیفه مدیریت منابع سختافزاری کامپیوتر (مانند CPU، حافظه، دیسکها و ورودی/خروجیها) و ارائه یک بستر (پلتفرم) مشترک برای اجرای برنامههای کاربردی (مثل مرورگرها، واژهپردازها و بازیها) را بر عهده دارد.
میتوان سیستمعامل را به عنوان مدیر و مترجم بین سختافزار و کاربر در نظر گرفت.
تعریف رسمیتر: سیستمعامل مجموعهای از برنامههای سیستمی است که منابع سختافزاری کامپیوتر را مدیریت کرده و خدمات مشترکی را برای برنامههای کاربردی فراهم میکند.
۲. تاریخچه سیستمعاملها
تکامل سیستمعاملها ارتباط تنگاتنگی با پیشرفت سختافزار کامپیوترها دارد:
نسل دوره تقریبی ویژگیهای اصلی مثالها
نسل اول دهههای ۱۹۴۰ و ۱۹۵۰ کامپیوترهای بزرگ (Mainframes)، برنامهنویسی به زبان ماشین، عدم وجود OS، استفاده مستقیم از سختافزار. ENIAC, UNIVAC
نسل دوم دهههای ۱۹۵۰ و ۱۹۶۰ معرفی زبانهای سطح بالا (مانند فورتران)، استفاده از سیستمهای دستهای (Batch Processing). یک ناظر (Monitor) ساده عملیات را ترتیب میداد. -
نسل سوم دهههای ۱۹۶۰ و ۱۹۷۰ معرفی سیستمهای زماناشتراک (Time-Sharing) و چندبرنامهنویسی (Multiprogramming)، امکان اجرای همزمان چند کار و تعامل بهتر با کاربر. ظهور یونیکس (Unix). Multics, CTSS, اولیه یونیکس
نسل چهارم دهههای ۱۹۸۰ تا امروز سیستمعاملهای شخصی (PC)، رابط کاربری گرافیکی (GUI)، شبکهسازی، و سیستمهای توزیعشده. MS-DOS, Windows, macOS, لینوکس
۳. نقشهای اصلی سیستمعامل
سیستمعامل وظایف حیاتی متعددی را انجام میدهد که میتوان آنها را در دستههای زیر خلاصه کرد:
الف. مدیریت منابع (Resource Manager)
این مهمترین نقش سیستمعامل است. منابع زیر را مدیریت میکند:
مدیریت پردازنده (CPU Scheduling): تصمیمگیری میکند که کدام برنامه در چه زمانی و برای چه مدتی از هستههای پردازنده استفاده کند تا همه برنامهها به طور منصفانه و کارآمد اجرا شوند.
مدیریت حافظه (Memory Management): تخصیص حافظه اصلی (RAM) به برنامهها، محافظت از فضای حافظه هر برنامه از دسترسی سایر برنامهها، و مدیریت فضای مجازی (Virtual Memory).
مدیریت ورودی/خروجی (I/O Management): کنترل دستگاههایی مانند کیبورد، چاپگر، دیسکها و نمایشگرها.
ب. ارائه رابط کاربری (User Interface)
سیستمعامل راهی را برای کاربر فراهم میکند تا بتواند با کامپیوتر ارتباط برقرار کند. این رابطها دو نوع اصلی دارند:
رابط خط فرمان (CLI - Command Line Interface): مانند PowerShell یا Terminal که در آن دستورات متنی وارد میشوند.
رابط گرافیکی کاربر (GUI - Graphical User Interface): که مبتنی بر پنجرهها، آیکونها، منوها و ماوس است (مانند ویندوز و مک).
ج. ارائه خدمات سیستمی (System Services)
سیستمعامل خدماتی را برای برنامههای کاربردی فراهم میکند تا برنامهنویسان مجبور نباشند کدهای مربوط به سختافزار را تکرار کنند. این خدمات شامل:
مدیریت فایلها (ایجاد، حذف، خواندن و نوشتن فایلها).
مدیریت خطاها و امنیت.
ارتباطات شبکه (Network communication).
پاسخ به پرسش