فرایندها و نخ‌ها

فرایندها و نخ‌ها

توضیحات

در جلسه چهاردهم درس سیستم‌عامل پیشرفته دکتر حقیقت که از مهم‌ترین دروس تخصصی آزمون دکترای مهندسی کامپیوتر در گرایش نرم‌افزار و گرایش شبکه و رایانش است، فصل سوم این درس با عنوان «فرایندها» آغاز می‌شود. يک مفهوم كليدی در كليه سيستم‌هاي عامل، فرايند (Process) است. فرايند، اساساً يک برنامه در حال اجرا است. منظور از برنامه در حال اجرا، كاري است كه توسط زمانبند كار انتخاب و وارد گردونه اجرا شده است؛ ولي هنوز پايان نيافته و از سيستم خارج نشده است؛ اما لزوماً در حال حاضر CPU را در اختيار ندارد. در این جلسه که مروری بر دو مفهوم فرایند و نخ از مباحث سیستم عامل (1) است، ابتدا مفهوم فرایند و وضعیت‌های آن و Text (Code) و Data و Heap و Stack آن در تصویر حافظه اش شرح داده می‌شود. سپس نخ‌ها (Threads) و فرايند چندنخی (Multithread) شرح داده می‌شود. در يک فرايند چندنخی (Multithread)، برنامه به چندين نخ تقسيم می‌شود كه اين نخ‌ها می‌توانندبر روی چند CPU به طور موازی و همزمان يا بر روی يک CPU به طور شبه موازی (شبه همزمان) به كمک اشتراک زمانی اجرا شوند. سپس در مورد چیستس و چرایی نخ صحبت می‌شود و اهداف و کاربردهای چندنخی به طور کامل شرح داده می‌شود. در انتها پیاده‌سازی نخ مورد مطالعه قرار می‌گیرد و دو مدل نخ‌های سطح کاربر و نخ‌های سطح هسته به تفصیل و با مثال‌های کافی شرح داده می‌شود. مدل ترکیبی و LWP‌ها در جلسه آینده شرح داده خواهند شد.