آشنایی با مدیریت فرآیند در سیستم عامل ها

روز دوم: درک مدیریت فرآیند در سیستم عامل ها
تاریخ: 14 ژانویه 2025
مدیریت فرآیند یک عملکرد اصلی سیستمهای عامل است که تضمین میکند که چندین کار میتوانند به طور کارآمد و مؤثر بر روی یک سیستم اجرا شوند. خواه برای اهداف آکادمیک، پیشرفت حرفه ای یا آماده سازی مصاحبه یاد می گیرید، تسلط بر این مفهوم ضروری است.
اهداف روز
- درک اینکه یک فرآیند چیست و چرخه عمر آن چیست.
- بیاموزید که سیستم عامل چگونه فرآیندها را مدیریت می کند.
- مفاهیمی مانند زمانبندی، ارتباطات بین فرآیندی (IPC) و رشتهها را کاوش کنید.
موضوعات برای پوشش
فرآیند چیست؟
الف فرآیند یک برنامه در حال اجرا است. این شامل کد برنامه، فعالیت فعلی آن و منابعی است که استفاده می کند (CPU، حافظه، فایل ها و غیره).
-
نمونه هایی از فرآیندها:
- مرورگری که دارای چندین تب است.
- یک ویرایشگر متن برای ویرایش سند باز شد.
- وظایف سیستم پس زمینه مانند نمایه سازی.
چرخه حیات فرآیند
یک فرآیند در طول عمر خود از چندین حالت عبور می کند. این حالات عبارتند از:
- جدید: فرآیند در حال ایجاد است.
- آماده: فرآیند برای اجرا آماده شده است اما منتظر تخصیص CPU است.
- دویدن: فرآیند در حال حاضر در حال اجرا است.
- مسدود شده: فرآیند منتظر یک رویداد است (به عنوان مثال، تکمیل I/O).
- خاتمه یافت: فرآیند اجرا به پایان رسیده است.
نمودار چرخه حیات فرآیند:
New → Ready → Running → Terminated
↓ ↘
Blocked ← ↖
زمانبندی فرآیند
زمانبندی ترتیب اجرای فرآیندها توسط CPU را تعیین می کند.
انواع زمان بندی:
- برنامه ریزی بلند مدت: تصمیم می گیرد که کدام فرآیندها برای پردازش در سیستم پذیرفته شوند.
- برنامه ریزی میان مدت: به طور موقت فرآیندها را از حافظه حذف می کند تا بار سیستم را مدیریت کند (تعویض).
- برنامه ریزی کوتاه مدت: تعیین می کند که کدام فرآیند زمان بعدی CPU را دریافت می کند.
الگوریتم های زمان بندی CPU:
- اولین خدمت، اولین خدمت (FCFS): فرآیندها را به ترتیبی که می رسند اجرا می کند.
- کوتاه ترین شغل بعدی (SJN): ابتدا کوتاه ترین فرآیند را اجرا می کند.
- دور روبین (RR): هر فرآیند یک برش زمانی ثابت به ترتیب چرخه ای دریافت می کند.
- برنامه ریزی اولویت: فرآیندها را بر اساس اولویت آنها اجرا می کند.
ارتباطات بین فرآیندی (IPC)
فرآیندها اغلب نیاز به برقراری ارتباط با یکدیگر دارند. مکانیسم های IPC این تعامل را امکان پذیر می کند.
مکانیسم های متداول IPC:
- لوله ها: ارتباط یک طرفه بین دو فرآیند.
- صف های پیام: ارتباط مبتنی بر پیام
- حافظه مشترک: فرآیندها بخشی از حافظه را برای ارتباط سریعتر به اشتراک می گذارند.
- سوکت ها: برای ارتباط بین فرآیندها از طریق شبکه استفاده می شود.
موضوعات
thread کوچکترین واحد اجرا در یک فرآیند است. یک فرآیند واحد می تواند دارای چندین رشته باشد که به طور همزمان اجرا می شوند و فضای حافظه یکسانی را به اشتراک می گذارند.
مزایای نخ ها:
- تعویض متن سریعتر در مقایسه با فرآیندها.
- استفاده بهتر از منابع
- چندوظیفه ای را در یک برنامه واحد فعال می کند (مثلاً مرورگر در حال دانلود فایل ها در حین رندر صفحات وب).
مدل های چند رشته ای:
- موضوعات در سطح کاربر: توسط کتابخانه های فضای کاربر مدیریت می شود.
- موضوعات در سطح هسته: مستقیماً توسط سیستم عامل مدیریت می شود.
فعالیت ها
1. بخوانید / تماشا کنید
- در مورد مدیریت فرآیند در کتاب های درسی مانند مفاهیم سیستم عامل توسط Silberschatz یا سیستم عامل های مدرن توسط Tanenbaum.
- ویدئوهایی را در یوتیوب تماشا کنید که زمانبندی CPU و وضعیتهای فرآیند را توضیح میدهند.
2. تمرین عملی
آماده سازی مصاحبه
سوالات متداول:
-
تفاوت بین یک فرآیند و یک نخ چیست؟
- یک فرآیند یک برنامه مجری مستقل است، در حالی که یک thread یک فرآیند فرعی سبک در یک فرآیند است.
-
الگوریتم های مختلف زمان بندی CPU را توضیح دهید.
- FCFS، SJN، Round-Robin و Priority Scheduling را با مثال توضیح دهید.
-
تغییر متن چیست؟
- این فرآیند ذخیره و بازیابی وضعیت یک CPU برای جابجایی بین فرآیندها یا موضوعات است.
نتیجه
تا پایان روز دوم، باید:
- نحوه مدیریت فرآیندها و چرخه عمر آنها توسط سیستم عامل را درک کنید.
- با الگوریتم های زمان بندی و موارد استفاده از آنها آشنا باشید.
- داشتن تجربه عملی با دستورات یا برنامه های مدیریت فرآیند و رشته.
این دانش زمینه را برای روز 3 آماده می کند، جایی که ما به آن شیرجه خواهیم زد مدیریت حافظهیکی دیگر از جنبه های حیاتی سیستم عامل ها. اگر منابع یا نمونه های بیشتری می خواهید به من اطلاع دهید!