سطح اجرا
در سیستمهای یونیکسی که آغازش سبک سیستم ۵ را پیادهسازی کردهاند، سطوح اجرا (runlevels) به مدهای عملیاتی سیستم عامل گفته میشود. بهطور قراردادی ۷ سطح اجرا وجود دارد که از ۰ تا ۶ شمارهگذاری شدهاند؛ البته تا ده مد اجرا یعنی از ۰ تا ۹ میتواند تعریف و استفاده شود. یکی از این مدهای عملیاتی، مد تککاربره است که میتوان بهجای عدد از نماد S استفاده کرد. تنها یک سطح اجرا هنگام بوت اجرا میشود و سطوح اجرا به ترتیب اجرا نمیشوند. به عنوان مثال هنگام بوت یکی از سطوح اجرای ۲ یا ۳ یا ۴ اجرا میشود نه اینکه اول ۲ سپس ۳ و بعد ۴.
«سطح اجرا» وضعیت دستگاه بعد از بوت شدن را تعریف میکند. سطوح اجرا معمولاً به وضعیتهای زیر تخصیص یافتهاند:
- مد تککاربره
- مد چندکاربره بدون شروع سرویسهای شبکه
- مد چندکاربره با سرویسهای شبکه
- خاموش کردن سیستم
- راهاندازی مجدد (ریبوت) سیستم
تنظیمات دقیق پیکربندیهای فوق از سیستم عامل به سیستم عامل و از یک توزیع لینوکس به توزیع دیگر فرق میکند؛ مثلاً سطح اجرای ۴ ممکن است در یک توزیع مد چندکاربره، محیط کاربری گرافیکی یا بدون هیچ سروری باشد و در توزیع دیگری سطح ۴ ممکن است هیچ چیز نباشد در این خصوص به تفاوت بین توزیعهای مبتنی بر ردهت و اسلکور که در این مقاله بررسی شدهاند، توجه کنید. البته سطوح اجرا در سیستم عاملهای مختلف معمولاً تابع الگوهای مشروح در این مقالهاند. هنگام نصب لینوکس بهتر است به راهنماهای کاربری آن توزیع رجوع کنید.
در عمل و بهطور استاندارد وقتی کامپیوتری به سطح اجرای ۰ وارد میشود، متوقف و خاموش میشود و وقتی وارد سطح ۶ میشود راهاندازی مجدد میشود. سطوح اجرای بین این دو سطح (۱–۵) در دیسکگردانهایی که سوار میشوند و سرویسهای شبکهای که شروع میشوند با هم فرق میکنند. سطوح اجرای پیشفرض معمولاً ۳، ۴ یا ۵ است. سطوح اجرای پایینتر چون معمولاً هیچ سرویس شبکهای ارائه نمیکنند، برای نگهداری و تعمیرات اضطراری بکار میروند. جزئیات مختص هر سطح اجرا بهطور گستردهای از سیستم عامل به سیستم عامل و همینطور بین پیکربندیهای مدیران سیستم فرق میکند.
سیستم سطح اجرا جایگزین اسکریپت سنتی /etc/rc شد که در یونیکس نسخهٔ ۷ از آن استفاده میشد.
سطوح اجرای استاندارد
شناسه | نام | توضیح |
---|---|---|
۰ | توقف و خاموشی | سیستم را خاموش میکند. |
S | مد تککاربره | رابطهای شبکه را پیکربندی نمیکند و دمونها (سرویسها) را شروع نمیکند. سطح اجرایS یا ۱٫۱ |
۶ | راهاندازی مجدد (ریبوت) | سیستم را راهاندازی مجدد میکند. |
لینوکس
سیستم عامل لینوکس میتواند با استفاده از برنامههای پروژهٔ sysvinit از سطوح اجرا استفاده کند. پس از اینکه هستهی لینوکس بوت میشود، برنامهٔ init فایل /etc/inittab را میخواند تا رفتار هر سطح اجرا را دریابد. در صورتی که کاربر مقدار دیگری را به عنوان پارامتر بوت هسته تعیین نکردهباشد، سیستم سعی خواهد کرد تا به سطح اجرای پیشفرض وارد شود.
سطوح اجرای معمول در لینوکس
توزیعهای اصلی لینوکس توافق کردهاند که سطوح اجرای زیر را به عنوان بخشی از مشخصات «مبنای اساسی لینوکس»۲ تعریف کنند:
شناسه | نام | توضیح |
---|---|---|
۰ | توقف سیستم | سیستم را خاموش میکند |
۱ | مد تککاربره۳ | مد وظایف مدیریتی |
۲ | مد چندکاربره | رابطهای شبکه را پیکربندی نمیکند و سرویسهای شبکه را export??? / استخراج؟نمیکند. |
۳ | مد چندکاربره با شبکه۱ | سیستم را بهطور معمول شروع میکند. |
۴ | بلااستفاده/قابل تعریف توسط کاربر | برای مقاصد خاص. |
۵ | سیستم را بهطور معمول و به همراه مدیر نمایش مناسب شروع میکند (با رابط کاربری گرافیکی) | همان سطح اجرای ۳ + مدیر نمایش |
۶ | راهاندازی مجدد (ریبوت) | سیستم را راهاندازی مجدد میکند. |
لینوکس دبیان
دبیان، به همراه توزیعهای مبتنی بر آن، مثل روزهای اول اوبونتو، بین سطوح ۲ تا ۵ تمایزی قائل نمیشود.
شناسه | توضیح |
---|---|
۰ | توقف (خاموش کردن سیستم) |
۱ | مد تککاربره |
۲–۵ | چندکاربرهٔ کامل به همراه اعلان ورود به سیستم کنسول و همینطور مدیر نمایش اگر نصب شده باشد. |
۶ | راهاندازی مجدد |
اوبونتو
اوبونتوی 6.10 (Edgy Eft) به بعد به عنوان پروسهٔ سنتی init از Upstart استفاده میکنند، ولی این توزیعها هنوز از اسکریپتهای سنتی اینیت و ابزار سازگاری با SysV-rc ِ آپستارت برای شروع بیشتر سرویسها و شبیهسازی سطوح اجرا استفاده میکنند.
لینوکس ردهت و فدورا
ردهت و بیشتر مشتقاتش (مثل CentOS) از سطوح اجرا به شیوهٔ زیر استفاده میکنند:
شناسه | توضیح |
---|---|
۰ | توقف سیستم |
۱ | مد تککاربره |
۲ | مد چندکاربره با امکان ورود به سیستم تنها از طریق کنسول (بدون شبکه) |
۳ | مد چندکاربره با امکان ورود به سیستم تنها از طریق کنسول |
۴ | بلااستفاده / قابل تعریف توسط کاربر |
۵ | مد چندکاربره با مدیر نمایش بعلاهٔ لاگین از طریق کنسول (X11) |
۶ | راهاندازی مجدد |
اینکه چه سرویسهایی در چه سطوح اجرایی شروع میشوند را میتوان با ابزار chkconfig مدیریت کرد که پیکربندیاش را تحت /etc/rc.d نگه میدارد. /sbin/chkconfig –list تمام سرویسهایی را که توسط chkconfig کنترل میشوند را فهرست میکند و نشان میدهد که در هر سطح اجرا سرویسها خاموش یا روشن هستند. تنظیم سرویسِ A که توسط chkconfig کنترل میشود برای سطوح X و Y و Z به سادگی زیر است: /sbin/chkconfig –level A on
لینوکس سوزی
سوزی از تنظیماتی مشابه ردهت استفاده میکنند:
شناسه | توضیح |
---|---|
۰ | توقف سیستم |
۱ | مد تککاربره |
۲ | مد چندکاربره بدون شبمه |
۳ | مد چندکاربره امکان ورود به سیستم فقط از طریق کنسول |
۴ | بلااستفاده / قابل تعریف توسط کاربر |
۵ | مد چندکاربره با مدیر نمایش |
۶ | راهاندازی مجدد |
سرویسهایی که تحت یک سطح اجرای خاص اجرا میشوند را میتوان با YaST | System Services (runlevel)I یا با فرمان chkconfig مثل توزیعهای مبتنی بر ردهت تغییر داد.
لینوکس Slackware
شناسه | توضیح |
---|---|
۰ | توقف سیستم |
۱ | مد تککاربره |
۲ | بلااستفاده ولی درست مثل سطح اجرای ۳ پیکربندی شدهاست |
۳ | مد چندکاربره بدون مدیر نمایش |
۴ | مد چندکاربره با مدیر نمایش |
۵ | بلااستفاده ولی درست مثل سطح اجرای ۳ پیکربندی شدهاست |
۶ | راهاندازی مجدد |
لینوکس آرچ
شناسه | توضیح |
---|---|
۰ | توقف سیستم |
۱ | تککاربره (مد نگهداری و تعمیرات) |
۲ | بلااستفاده |
۳ | چندکاربره |
۴ | بلااستفاده |
۵ | چندکاربره با X11 |
۶ | راهاندازی مجدد |
لینوکس جنتو
شناسه | توضیح |
---|---|
۰ | توقف سیستم |
۱ | مد تککاربره |
۲ | مد چندکاربره بدون شبکه |
۳ | مد چندکاربره |
۴ | آلیاس شده به سطح اجرای ۳ |
۵ | آلیاس شده به سطح اجرای ۳ |
۶ | راهاندازی مجدد |
یونیکس
سیستم ۵ انتشارهای ۳ و ۴
شناسه | توضیح |
---|---|
۰ | خاموش کردن سیستم، قطع برق سیستم اگر سختافزار از آن پشتیبانی کند (تنها از کنسول قابل دسترسی است) |
۱ | مد تککاربره، همهٔ فایل سیستمها بجز root پیاده میشوند، و همهٔ پروسهها بجز پروسههای کنسول کشته میشوند |
۲ | مد چندکاربره |
۳ | مد چندکاربره با پشتیبانی از فایل سیستمهای export شدهٔ RFS (و NFS در انتشار ۴) |
۴ | چندکاربره، قابل تعریف توسط کاربر |
۵ | توقف سیستم و go to firmware??? |
۶ | راهاندازی مجدد |
S,s | به سطح ۱ یکی است جز اینکه ترمینال جاری به عنوان کنسول سیستم عمل میکند |
سولاریس
شناسه | توضیح |
---|---|
۰ | توقف سیستم عامل؛ رفتن به اعلان OpenBoot (فقط SPARC) |
۱ | مد تککاربره که در آن فقط فایل سیستم root سوار میشود (به عنوان فقط خواندنی) |
۲ | مد تککاربره که در آن همهٔ فایل سیستمهای محلی سوار میشوند (خواندن و نوشتن) |
۳ | مد چندکاربره؛ درست مانند سطح ۲ (سطح اجرای ۳ هر دو فایل /sbin/rc2 و /sbin/rc3 را اجرا میکند)، به علاوهٔ اینکه فایل سیستمها export میشوند و بعضی سرویسهای شبکه شروع میشوند |
۴ | مد چندکاربرهٔ جایگزین، قابل تعریف توسط کاربر |
۵ | خاموش کردن سیستم، قطع برق اگر سختافزار از آن پشتیبانی کند |
۶ | راهاندازی مجدد |
HP-UX
شناسه | توضیح |
---|---|
۰ | توقف سیستم |
S | مد تککاربره، سیستم فقط به درون کنسول بوت میشود و در این سطح تنها فایل سیستم root سوار میشود (فقط خواندنی) |
s | مد تککاربره، درست مانند S بجز اینکه ترمینال جاری به عنوان کنسول سیستم عمل میکند |
۱ | مد تککاربره که در آن فقط فایل سیستمهای محلی سوار میشوند (خواندنی-نوشتنی) |
۲ | مد چندکاربره که در آن بیشتر دمونها (سرویسها) شروع میشوند و Common Desktop Environment اجرا میشود |
۳ | درست مانند سطح ۲، در این سطح NFS اکسپورت میشود |
۴ | مد چندکاربره که در آن VUE به جای CDE شروع میشود |
۵٬۶ | بلااستفاده/قابل تعریف توسط کاربر |
FreeBSD، اopenBSD و NetBSD
مشتقات بیاسدی از مفهوم سطوح اجرا استفاده نمیکنند با وجود این در برخی نسخهها init(8)I سطوح اجرای متداول را شبیهسازی میکند.
AIX
AIX از مشخصات سطوح اجرای سیستم ۵ انتشار ۴ (SVR4) پیروی نمیکند. در این سیستم عامل سطوح اجرا از ۰ تا ۹ و همینطور a تا c قابل استفاده است. ۰ و ۱ رزور شدهاند، ۲ مد چندکاربرهٔ عادی است و سطوح اجرای از ۳ تا ۹ آزادند و میتوانند توسط مدیر سیستم تعریف شوند. سطوح اجرای از a تا c اجازهٔ اجرای پروسهها را بدون کشتن پروسههای در حال اجرا در سطحِ دیگر را میدهند.
شناسه | نام | توضیح |
---|---|---|
۰ | رزرو شده | |
۱ | رزور شده | |
۲ | مد چندکاربرهٔ عادی | مد پیشفرض |