سیستم عامل
درس متنی
جلسه 1 وظایف سیستمعامل، انواع سیستم عامل
خلاصه نکات کلیدی:
سیستم عامل، نرمافزار اصلی است که مدیریت سختافزار و ارائه خدمات به برنامهها را بر عهده دارد.
وظایف اصلی شامل مدیریت پردازنده، حافظه، ذخیرهسازی، ورودی/خروجی، حفاظت و ارائه رابط کاربری است.
سیستمهای عامل بر اساس معیارهای مختلفی مانند تعداد کاربر، تعداد پردازنده، ماهیت پردازش، و اتصال به شبکه دستهبندی میشوند.
درک وظایف و انواع سیستم عامل برای طراحی، توسعه و استفاده بهینه از نرمافزارها ضروری است.
مقدمهای بر سیستم عامل
- تعریف سیستم عامل:
- سیستم عامل به عنوان واسط بین کاربر و سختافزار.
- نقش سیستم عامل در مدیریت منابع.
- وظایف اصلی سیستم عامل:
- مدیریت پردازنده (CPU Management):
- زمانبندی پردازندهها (Scheduling).
- ایجاد و حذف فرآیندها (Process Creation/Deletion).
- همگامسازی پردازشها (Process Synchronization).
- ارتباط بین پردازشها (Inter-Process Communication).
- مدیریت حافظه (Memory Management):
- تخصیص و آزادسازی حافظه (Allocation/Deallocation).
- نگهداری مسیر استفاده از حافظه (Keeping track of memory usage).
- مدیریت حافظه مجازی (Virtual Memory Management).
- تعیین اینکه کدام بخش حافظه توسط کدام فرآیند استفاده میشود.
- مدیریت ذخیرهسازی (Storage Management):
- مدیریت دیسک (Disk Management): فرمتبندی، پارتیشنبندی.
- مدیریت فایل سیستم (File System Management): ایجاد، حذف، نگهداری فایلها و دایرکتوریها.
- نگاشت فایلها به حافظه ثانویه.
- مدیریت ورودی/خروجی (I/O Device Management):
- ارتباط با دستگاههای ورودی/خروجی.
- مدیریت بافرها و صفهای دستگاهها.
- حفاظت و امنیت (Protection and Security):
- کنترل دسترسی به منابع.
- جلوگیری از دسترسی غیرمجاز.
- محافظت از سیستم در برابر خطاهای داخلی و خارجی.
- رابط کاربری (User Interface):
- فراهم کردن راهی برای تعامل کاربر با سیستم (مانند رابط خط فرمان یا رابط گرافیکی).
بخش دوم: انواع سیستم عامل
- دستهبندی بر اساس تعداد کاربر:
- تک کاربره (Single-user): فقط یک کاربر در یک زمان میتواند از سیستم استفاده کند.
- چند کاربره (Multi-user): چندین کاربر میتوانند به طور همزمان از منابع سیستم استفاده کنند.
- دستهبندی بر اساس تعداد پردازنده:
- تک پردازندهای (Single-processor): دارای یک واحد پردازش مرکزی.
- چند پردازندهای (Multi-processor): دارای دو یا چند واحد پردازش مرکزی که به طور موازی کار میکنند (افزایش توان پردازشی و قابلیت اطمینان).
- دستهبندی بر اساس ماهیت پردازش:
- دستهای (Batch Operating System): پردازشها در دستههای مشابه جمعآوری شده و بدون دخالت کاربر اجرا میشوند. (مثال: پردازش حقوق و دستمزد در مقیاس بزرگ).
- زمان اشتراکگذاری (Time-Sharing Operating System): چندین کاربر به طور همزمان از یک کامپیوتر مرکزی استفاده میکنند و هر کدام سهم کوچکی از زمان پردازنده را دریافت میکنند. (مانند سیستمعاملهای مدرن دسکتاپ).
- سیستم عامل بلادرنگ (Real-time Operating System - RTOS): برای کاربردهایی طراحی شدهاند که نیاز به پاسخدهی در زمان مشخص و دقیق دارند.
- سخت (Hard Real-time): عدم رعایت زمانبندی منجر به شکست سیستم میشود (مثال: سیستم کنترل پرواز، ترمز ABS).
- نرم (Soft Real-time): عدم رعایت زمانبندی منجر به کاهش کیفیت یا کارایی میشود اما سیستم شکست نمیخورد (مثال: پخش زنده ویدئو).
- دستهبندی بر اساس اتصال به شبکه:
- سیستم عامل شبکهای (Network Operating System - NOS): امکان اشتراکگذاری منابع (فایلها، چاپگرها) را بین چندین کامپیوتر در یک شبکه فراهم میکند.
- سیستم عامل توزیعشده (Distributed Operating System): چندین کامپیوتر مستقل که به صورت یک سیستم واحد به نظر میرسند و منابع خود را با هم به اشتراک میگذارند.
- سیستم عاملهای موبایل (Mobile Operating Systems): مانند اندروید و iOS که برای دستگاههای قابل حمل طراحی شدهاند.
- سیستم عاملهای تعبیهشده (Embedded Operating Systems): سیستمعاملهای کوچکی که در دستگاههای خاص (مانند دستگاههای خودپرداز، ساعتهای هوشمند) تعبیه شدهاند.
خلاصه نکات کلیدی:
- سیستم عامل، نرمافزار اصلی است که مدیریت سختافزار و ارائه خدمات به برنامهها را بر عهده دارد.
- وظایف اصلی شامل مدیریت پردازنده، حافظه، ذخیرهسازی، ورودی/خروجی، حفاظت و ارائه رابط کاربری است.
- سیستمهای عامل بر اساس معیارهای مختلفی مانند تعداد کاربر، تعداد پردازنده، ماهیت پردازش، و اتصال به شبکه دستهبندی میشوند.
- درک وظایف و انواع سیستم عامل برای طراحی، توسعه و استفاده بهینه از نرمافزارها ضروری است.
تمرینهای پایان فصل:
- پنج وظیفه اصلی یک سیستم عامل را نام ببرید و عملکرد هر کدام را به طور خلاصه توضیح دهید.
- تفاوت بین مدیریت حافظه و مدیریت ذخیرهسازی را شرح دهید.
- سیستم عامل بلادرنگ (RTOS) چیست و چه تفاوتی بین انواع سخت و نرم آن وجود دارد؟
- یک سناریوی واقعی (مثلاً استفاده از کامپیوتر شخصی، گوشی هوشمند، یا سیستم ATM) را در نظر بگیرید و مشخص کنید کدام یک از وظایف سیستم عامل در آن سناریو اهمیت بیشتری دارد.
- مزایا و معایب سیستمهای عامل چند پردازندهای نسبت به سیستمهای عامل تک پردازندهای را بیان کنید.
- کدام نوع سیستم عامل را برای مدیریت یک فروشگاه آنلاین بزرگ پیشنهاد میکنید و چرا؟ (به مفاهیم شبکه و توزیعشدگی توجه کنید).
- تفاوت اصلی بین سیستم عامل زمان اشتراکگذاری و سیستم عامل دستهای چیست؟
دروس متنی
#1
جلسه 1 وظایف سیستمعامل، انواع سیستم عامل
#2
جلسه 2 تعریف برنامه، پردازش، کار، وظیفه، حالات پردازش
#3
جلسه 3 انواع زمان بندي (انحصاري و غیر انحصاري)، الگوریتم هاي زمان بندي ،(Round Robin ،FCFS (MLFQ ،MLQ،Priority ،HRN ،SRT ،SJF -
#4
جلسه 4 الگوریتمهاي تخصیص حافظه (Fit ،Best Fit ،Next Fit ،Fisrt Fit )
#5
جلسه 5 روشهاي تخصیص فضا در دیسک پیوسته و ناپیوسته مزایا و معایب
#6
جلسه 6تعریف صفحه و الگوریتمهاي جایگزیني صفحه
#7
جلسه 7 بنبست، شرایط بروز بنبست،
مشاهده دروس کامل
بررسی صفحه یادگیری دوره