سطح اجرا

در سیستم‌های یونیکسی که آغازش سبک سیستم ۵ را پیاده‌سازی کرده‌اند، سطوح اجرا (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 
+سطوح اجرای 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 اجازهٔ اجرای پروسه‌ها را بدون کشتن پروسه‌های در حال اجرا در سطحِ دیگر را می‌دهند.
+سطوح اجرای AIXشناسهنامتوضیح۰رزرو شده۱رزور شده۲مد چندکاربرهٔ عادیمد پیش‌فرض

 منابع 



رده:نرم‌افزارهای یونیکسی مرتبط با مدیریت کار و فرایند
رده:یونیکس