سطح اجرا

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