Init

init کوتاه‌شدهٔ Initialization، نام برنامه یا پروسه‌ای در سیستم عامل‌های کامپیوتری مبتنی بر یونیکس است که تمام پروسه‌های دیگر را ایجاد می‌کند و بالا می‌آورد. این برنامه به صورت یک دیمن (سرویس) و معمولاً با PID 1 اجرا می‌شود. بارگذار بوت، هسته را شروع می‌کند و هسته init را شروع می‌کند. اگر init را بدون جایگزین کردنش حذف کنید، سیستم در ریبوت بعدی با «هشدار هسته» مواجه می‌شود. init است که تعیین می‌کند کامپیوتر چگونه کار کند و آن را هدایت می‌کند، و بدون چنین برنامه‌ریزی‌ای توسط init، سیستم نمی‌داند چه‌کار کند.

کارکرد init در سیستم‌های یونیکس مثل System III و System V از کارکرد. کاربرد init در بیشتر توزیع‌های گنو، لینوکس با سیستم V سازگار است، ولی بعضی توزیع‌ها، مثل Arch از سبک BSD استفاده می‌کنند و بعضی دیگر مانند جنتو، کارکرد آغازش سفارشی‌سازی‌شدهٔ خودشان را دارند.

چندین جایگزین برای init نوشته شده‌اند که سعی دارند محدودیت‌های طراحی را برطرف کنند، مانند systemd یا Upstart که توسط اوبونتو و چند توزیع گنو/لینوکس دیگر استفاده می‌شوند.

در سال 2014 با انتشار نسخه 15.04 اوبونتو پروژه Upstart کنار گذاشته شد و برای آن تا کنون بروزرسانی رسمی ازسمت اوبونتو منتشر نشده است.

مدل SysV (سیستم ۵)

[ویرایش]

سیستم ۵ در فایل /etc/inittab به دنبال ورودی ::initdefault:: می‌گردد که به init می‌گوید سطح اجرایی پیش‌فرضی وجود دارد یا نه. اگر سطح اجرایی پیش‌فرضی نباشد کاربر در یک کنسول سیستمی قرار داده می‌شود که در آن باید سطح اجرایی را به طور دستی وارد کرد.

سطوح اجرایی

[ویرایش]

سطوح اجرایی در سیستم ۵ وضعیت‌های خاصی از دستگاه را ترسیم می‌کنند که با پروسه‌هایی که باید اجرا شوند تعیین می‌شوند. عموماً ۸ سطح اجرایی وجود دارد: سطح اجرایی ۰ تا ۶ و S یا s که هر دو نام مستعار یک سطح اجرایی هستند. از این هشت تا، ۳ تاشان سطوح اجرایی به اصطلاح «رزرو شده» هستند:

  • ۰: توقف و خاموشی
  • ۱: مد تک‌کاربره
  • ۶: راه‌اندازی مجدد (ریبوت)

جدای از سطوح اجرایی ۰ و ۱ و ۶ هر سیستم یونیکس و مبتنی بر یونیکسی با سطوح اجرایی اندکی متفاوت برخورد می‌کند. حداقل مشترک در همهٔ این سیستم‌ها فایل /etc/inittab است؛ که تعیین می‌کند هر سطح اجرایی چه کاری انجام می‌دهد (اگر اصلاً آن سطح اجرایی کاری انجام دهد).

سطوح اجرایی پیش‌فرض

[ویرایش]
سیستم عامل سطح اجرایی پیش‌فرض
AIX ۲
آرچ‌لینوکس ۳
سنت‌اواس ۳ یا ۵
دبیان 2[۱]
جنتو لینوکس 3[۲]
HP-UX ۳
اواس ده ۳
مندریوا لینوکس ۵
لینوکس ردهت / فدورا ۳ یا ۵
اسلکور ۳
سولاریس ۳[۳]
لینوکس سوزه ۵[۴]
ابونتو (سرور و رومیزی) ۲[۱]

init به شیوه بی‌اس‌دی

[ویرایش]

در سیستم‌عامل‌های بی‌اس‌دی، کارکرد init کمی متفاوت است. init در این سیستم‌ها، اسکریپت آغازینی که در مسیر /etc/rc قرار دارد را اجرا می‌کند. سپس برنامه getty را در ترمینال‌های متنی، یا یک سیستم پنجره‌ای مانند اکس را در ترمینالهای گرافیکی اجرا می‌کند. در شیوه بی‌اس‌دی، هیچ سطح اجرایی وجود ندارد. فایل /etc/rc تعیین می‌کند که چه برنامه‌هایی باید توسط init به اجرا درآورده شوند. مزیت این سیستم نسبت به حالت sysV این است که این سیستم ساده است و ویرایش آن به صورت دستی آسانتر است. با این حال اگر برنامه جدیدی به سیستم اضافه شود که احتیاج به ایجاد تغییراتی در فایل‌های موجود داشته باشد، ممکن است ایجاد این تغییرات باعث شود سیستم غیرقابل بوت شود. برای حل این مشکل، در سیستم‌عامل‌های بی‌اس‌دی فایلی در مسیر /etc/rc.local وجود دارد که این فایل تنها در اواخر فرایند بوت خوانده می‌شود و کاربران برنامه‌های خود را باید از طریق این فایل اجرا کنند.

پانویس

[ویرایش]
  1. ۱٫۰ ۱٫۱ "Debian and Ubuntu Linux Run Levels". Debianadmin.com. 2009-04-02. Retrieved 2011-06-13.
  2. "Initscripts". Gentoo Linux Documentation. Gentoo.org. 2011-03-02. Retrieved 2011-06-13.
  3. "Oracle Documentation". Docs.sun.com. 2010-09-07. Archived from the original on 18 August 2007. Retrieved 2011-06-13.
  4. «نسخه آرشیو شده» (PDF). بایگانی‌شده از اصلی (PDF) در ۴ نوامبر ۲۰۰۶. دریافت‌شده در ۱۶ اوت ۲۰۱۱.