Booting process of Linux
لینکس کا ملٹی اسٹیج بوٹنگ عمل بہت سے طریقوں سے بی ایس ڈی اور دیگر یونکس طرز کے بوٹ عمل سے ملتا جلتا ہے، جہاں سے یہ اخذ کیا گیا ہے۔ لینکس انسٹالیشن کو بوٹ کرنے میں متعدد مراحل اور سافٹ ویئر اجزاء شامل ہوتے ہیں، جن میں فرم ویئر کا آغاز، بوٹ لوڈر کا نفاذ، لینکس کرنل امیج کا لوڈنگ اور اسٹارٹ اپ، اور مختلف اسٹارٹ اپ اسکرپٹ اور ڈیمنز کا نفاذ شامل ہیں۔ ان مراحل اور اجزاء میں سے ہر ایک کے لیے مختلف تغیرات اور نقطہ نظر ہیں۔ مثال کے طور پر، GRUB، کور بوٹ یا داس U-بوٹ کو بوٹ لوڈر کے طور پر استعمال کیا جا سکتا ہے (تاریخی مثالیں LILO، SYSLINUX یا لوڈلن ہیں)، جبکہ اسٹارٹ اپ اسکرپٹ یا تو روایتی init-سٹائل ہو سکتے ہیں، یا سسٹم کی ترتیب کو جدید متبادلات جیسے سسٹم ڈی یا اپ اسٹارٹ کے ذریعے انجام دیا جا سکتا ہے۔ لینکس اسٹارٹ اپ کے عمل کے ابتدائی مراحل کا بہت زیادہ انحصار کمپیوٹر فن تعمیر پر ہوتا ہے۔ آئی بی ایم پی سی ہم آہنگ ہارڈ ویئر ایک فن تعمیر ہے جس پر لینکس عام طور پر استعمال ہوتا ہے۔ ان سسٹمز پر، بی آئی او ایس ایک اہم کردار ادا کرتا ہے، جس میں دوسرے سسٹمز پر عین مطابق اینالاگس نہیں ہو سکتے ہیں۔ مندرجہ ذیل مثال میں، آئی بی ایم پی سی ہم آہنگ ہارڈ ویئر فرض کیا گیا ہے: بائیوس اصل ہارڈ ویئر پلیٹ فارم کے لیے مخصوص پاور آن سیلف ٹیسٹ جیسے اسٹارٹ اپ کام انجام دیتا ہے۔ ایک بار جب ہارڈ ویئر کی گنتی ہو جاتی ہے اور بوٹ کے لیے ضروری ہارڈ ویئر کو صحیح طریقے سے شروع کر دیا جاتا ہے، تو بی آئی او ایس ترتیب شدہ بوٹ ڈیوائس سے بوٹ کوڈ کو لوڈ کرتا ہے اور اس پر عمل درآمد کرتا ہے۔ بوٹ لوڈر اکثر صارف کو ممکنہ بوٹ آپشنز کا مینو پیش کرتا ہے اور اس میں ڈیفالٹ آپشن ہوتا ہے، جسے کچھ وقت گزرنے کے بعد منتخب کیا جاتا ہے۔ ایک بار انتخاب ہونے کے بعد، بوٹ لوڈر کرنل کو میموری میں لوڈ کرتا ہے، اسے کچھ پیرامیٹرز فراہم کرتا ہے اور اسے کنٹرول دیتا ہے۔ اگر دانا کمپریس کیا جائے تو وہ خود ہی ڈمپریس ہو جائے گا۔ اس کے بعد یہ سسٹم کے افعال جیسے ضروری ہارڈ ویئر اور میموری پیجنگ کو ترتیب دیتا ہے، اور اسٹارٹ کرنل () کو کال کرتا ہے جو سسٹم سیٹ اپ کی اکثریت انجام دیتا ہے (رکاوٹ، باقی میموری مینجمنٹ، ڈیوائس اور ڈرائیور کی شروعات وغیرہ)۔ اس کے بعد یہ الگ سے، بیکار عمل، شیڈولر، اور init عمل شروع ہوتا ہے، جسے صارف کی جگہ میں انجام دیا جاتا ہے۔ init یا تو اسکرپٹ پر مشتمل ہوتا ہے جو شیل (sysv، bsd، runit) یا کنفیگریشن فائلوں کے ذریعہ انجام دیا جاتا ہے جو بائنری اجزاء (سسٹم ڈی، اپ اسٹارٹ) کے ذریعہ انجام دیا جاتا ہے۔ ابتدائی میں مخصوص سطحیں (ایس آئی ایس وی، بی ایس ڈی) یا اہداف (سسٹم ڈی) ہوتے ہیں، جن میں سے ہر ایک خدمات کے مخصوص سیٹ (ڈیمون) پر مشتمل ہوتا ہے۔ یہ مختلف غیر آپریٹنگ سسٹم کی خدمات اور ڈھانچے فراہم کرتے ہیں اور صارف کا ماحول بناتے ہیں۔ ایک عام سرور ماحول ویب سرور، ڈیٹا بیس سروسز، اور نیٹ ورکنگ شروع کرتا ہے۔ عام ڈیسک ٹاپ ماحول ایک ڈیمون سے شروع ہوتا ہے، جسے ڈسپلے مینیجر کہا جاتا ہے، جو ایک گرافک ماحول شروع کرتا ہے جو ایک گرافیکل سرور پر مشتمل ہوتا ہے جو ایک بنیادی گرافیکل اسٹیک اور ایک لاگ ان مینیجر فراہم کرتا ہے جو اسناد درج کرنے اور سیشن منتخب کرنے کی صلاحیت فراہم کرتا ہے۔ صارف کے درست اسناد درج کرنے کے بعد، سیشن مینیجر ایک سیشن شروع کرتا ہے۔ سیشن پروگراموں کا ایک مجموعہ ہے جیسے UI عناصر (پینل، ڈیسک ٹاپ، ایپلٹ وغیرہ)۔ جو، مل کر، ایک مکمل ڈیسک ٹاپ ماحول تشکیل دے سکتا ہے۔ شٹ ڈاؤن پر، init کو کنٹرول شدہ انداز میں تمام یوزر اسپیس فنکشنلٹی کو بند کرنے کے لیے کہا جاتا ہے۔ ایک بار جب دیگر تمام عمل ختم ہو جاتے ہیں، تو init کرنل کو سسٹم کال کرتا ہے اور اسے سسٹم کو بند کرنے کی ہدایت دیتا ہے۔ فیز بوٹ لوڈر بوٹ لوڈر فیز کمپیوٹر فن تعمیر کے لحاظ سے مختلف ہوتا ہے۔ چونکہ ابتدائی مراحل آپریٹنگ سسٹم کے لیے مخصوص نہیں ہیں، اس لیے x86 اور x 86-64 آرکیٹیکچرز کے لیے BIOS پر مبنی بوٹ عمل کو اس وقت شروع سمجھا جاتا ہے جب ماسٹر بوٹ ریکارڈ (MBR) کوڈ کو ریئل موڈ میں انجام دیا جاتا ہے اور پہلے مرحلے کا بوٹ لوڈر لوڈ ہوتا ہے۔ یو ای ایف آئی سسٹمز میں، لینکس کرنل کو براہ راست یو ای ایف آئی فرم ویئر کے ذریعے ای ایف آئی ایس ٹی یو بی کے ذریعے انجام دیا جا سکتا ہے، لیکن عام طور پر بوٹ لوڈر کے طور پر جی آر یو بی 2 یا سسٹم ڈی بوٹ کا استعمال کرتا ہے۔ ذیل میں کچھ مشہور بوٹ لوڈرز کا خلاصہ دیا گیا ہے: GRUB 2 مختلف آپریٹنگ سسٹمز اور خودکار ترتیب کا خودکار پتہ لگانے کے قابل ہونے کی وجہ سے GRUB 1 سے مختلف ہے۔ اسٹیج 1 کو ماسٹر بوٹ ریکارڈ (ایم بی آر) سے یا تو بی آئی او ایس کے ذریعے لوڈ اور انجام دیا جاتا ہے۔ انٹرمیڈیٹ اسٹیج لوڈر (stage1.5، عام طور پر core.img) کو اسٹیج 1 لوڈر کے ذریعے لوڈ اور انجام دیا جاتا ہے۔ دوسرے مرحلے کا لوڈر (مرحلہ 2،/بوٹ/گرب/فائلیں) stage1.5 کے ذریعے لوڈ کیا جاتا ہے اور GRUB اسٹارٹ اپ مینو دکھاتا ہے جو صارف کو آپریٹنگ سسٹم کا انتخاب کرنے یا اسٹارٹ اپ پیرامیٹرز کی جانچ اور ترمیم کرنے کی اجازت دیتا ہے۔ مینو اندراج کے منتخب ہونے اور اختیاری پیرامیٹرز دیے جانے کے بعد، GRUB لینکس دانا کو میموری میں لوڈ کرتا ہے اور اس پر کنٹرول منتقل کرتا ہے۔ GRUB 2 دوسرے بوٹ لوڈر کی چین لوڈنگ کی بھی صلاحیت رکھتا ہے۔ UEFI سسٹمز میں، اسٹیج 1 اور stage1.5 عام طور پر ایک ہی UEFI ایپلیکیشن فائل ہوتی ہیں (جیسے x64 UEFI سسٹمز کے لیے grubx64.efi)۔ سسٹم ڈی بوٹ (سابقہ گمی بوٹ)، ایک بوٹ لوڈر جو سسٹم ڈی کے ساتھ شامل ہے جس میں کم سے کم ترتیب کی ضرورت ہوتی ہے (صرف یو ای ایف آئی سسٹمز کے لیے)۔ SYSLINUX/ISOLINUX ایک بوٹ لوڈر ہے جو FAT فائل سسٹمز سے مکمل لینکس تنصیبات کو بوٹ کرنے میں مہارت رکھتا ہے۔ یہ اکثر بوٹ یا ریسکیو فلاپی ڈسکس، لائیو یو ایس بی، اور دیگر ہلکے وزن والے بوٹ سسٹمز کے لیے استعمال ہوتا ہے۔ ISOLINUX عام طور پر لینکس لائیو سی ڈیز اور بوٹ ایبل انسٹال سی ڈیز کے ذریعے استعمال ہوتا ہے۔ rEFind، UEFI سسٹمز کے لیے بوٹ مینیجر۔ کور بوٹ یو ای ایف آئی یا بی آئی او ایس کا ایک مفت نفاذ ہے اور عام طور پر سسٹم بورڈ کے ساتھ تعینات کیا جاتا ہے، اور اگر ضرورت ہو تو وینڈر کے ذریعہ فراہم کردہ فیلڈ اپ گریڈ۔ کور بوٹ کے کچھ حصے سسٹم بی آئی او ایس بن جاتے ہیں اور بوٹ کے بعد میموری میں مستقل رہتے ہیں۔ داس یو-بوٹ سرایت شدہ نظاموں کے لیے ایک بوٹ لوڈر ہے۔ یہ ان سسٹمز پر استعمال ہوتا ہے جن میں بی آئی او ایس/یو ای ایف آئی نہیں ہوتا ہے بلکہ بوٹ لوڈر کو میموری میں پڑھنے اور اسے انجام دینے کے لیے حسب ضرورت طریقے استعمال کرتا ہے۔ تاریخی بوٹ لوڈرز، جو اب عام استعمال میں نہیں ہیں، میں شامل ہیں: LILO فائل سسٹم کی ترتیب کو نہیں سمجھتا یا تجزیہ نہیں کرتا ہے۔ اس کے بجائے، ایک کنفیگریشن فائل (/وغیرہ/لیلو. کونف) ایک لائیو سسٹم میں بنائی جاتی ہے جو دانا اور رام ڈسک (initrd یا initramfs) کے مقام کے بارے میں خام آفسیٹ معلومات (میپر ٹول) کا نقشہ بناتی ہے۔ کنفیگریشن فائل، جس میں ہر ایک کے لیے بوٹ پارٹیشن اور دانا کے پاتھ نام جیسے ڈیٹا کے ساتھ ساتھ ضرورت پڑنے پر حسب ضرورت اختیارات شامل ہوتے ہیں، پھر بوٹ لوڈر کوڈ کے ساتھ مل کر ایم بی آر بوٹسیکٹر میں لکھے جاتے ہیں۔ جب اس بوٹسیکٹر کو بی آئی او ایس کے ذریعے پڑھا اور کنٹرول دیا جاتا ہے، تو ایل آئی ایل او مینو کوڈ کو لوڈ کرتا ہے اور اسے کھینچتا ہے اور پھر لینکس کرنل یا چین لوڈ کسی دوسرے بوٹ لوڈر کا حساب لگانے اور لوڈ کرنے کے لیے صارف کے ان پٹ کے ساتھ اسٹورڈ ویلیوز کا استعمال کرتا ہے۔ GRUB 1 میں عام فائل سسٹمز کو رن ٹائم پر پڑھنے کی منطق شامل ہے تاکہ اس کی کنفیگریشن فائل تک رسائی حاصل کی جا سکے۔ یہ GRUB 1 کو اپنی کنفیگریشن فائل کو MBR میں سرایت کرنے کے بجائے فائل سسٹم سے پڑھنے کی صلاحیت دیتا ہے، جو اسے رن ٹائم پر کنفیگریشن کو تبدیل کرنے اور آفسیٹس پر انحصار کرنے کے بجائے انسانی پڑھنے کے قابل فارمیٹ میں ڈسک اور پارٹیشنز کی وضاحت کرنے کی اجازت دیتا ہے۔ اس میں کمانڈ لائن انٹرفیس بھی ہوتا ہے، جس سے GRUB کو ٹھیک کرنا یا اس میں ترمیم کرنا آسان ہو جاتا ہے اگر یہ غلط کنفیگر یا کرپٹ ہو۔ لوڈلن ایک بوٹ لوڈر ہے جو چل رہے DOS یا ونڈوز 9x دانا کو رن ٹائم پر لینکس دانا سے تبدیل کر سکتا ہے۔ یہ ہارڈ ویئر کے معاملے میں مفید ثابت ہو سکتا ہے جسے سافٹ ویئر کے ذریعے آن کرنے کی ضرورت ہے اور جس کے لیے اس طرح کے کنفیگریشن پروگرام ملکیتی ہیں اور صرف ڈی او ایس کے لیے دستیاب ہیں۔ یہ بوٹنگ کا طریقہ آج کل کم ضروری ہے، کیونکہ لینکس میں بہت سے ہارڈ ویئر ڈیوائسز کے لیے ڈرائیور موجود ہیں، لیکن موبائل ڈیوائسز میں اس کا کچھ استعمال دیکھا گیا ہے۔ ایک اور استعمال کا معاملہ یہ ہے کہ جب لینکس اسٹوریج ڈیوائس پر واقع ہو جو بوٹ کرنے کے لیے بی آئی او ایس کے لیے دستیاب نہیں ہے: ڈی او ایس یا ونڈوز بی آئی او ایس کی حد کو پورا کرنے کے لیے مناسب ڈرائیوروں کو لوڈ کر سکتے ہیں اور وہاں سے لینکس کو بوٹ کر سکتے ہیں۔ دانا لینکس دانا آپریٹنگ سسٹم کے تمام عمل کو سنبھالتا ہے، جیسے میموری مینجمنٹ، ٹاسک شیڈولنگ، I/O، انٹر پروسس کمیونیکیشن، اور مجموعی طور پر سسٹم کنٹرول۔ یہ دو مراحل میں لوڈ کیا جاتا ہے-پہلے مرحلے میں، دانا (ایک کمپریسڈ امیج فائل کے طور پر) میموری میں لوڈ کیا جاتا ہے اور ڈمپریس کیا جاتا ہے، اور کچھ بنیادی افعال جیسے کہ بنیادی میموری مینجمنٹ سیٹ اپ کیے جاتے ہیں۔ اس کے بعد کنٹرول کو ایک آخری بار مرکزی دانا شروع کرنے کے عمل میں تبدیل کیا جاتا ہے۔ ایک بار جب دانا مکمل طور پر آپریشنل ہو جاتا ہے-اور اس کے اسٹارٹ اپ کے حصے کے طور پر، لوڈ ہونے اور اس پر عمل درآمد ہونے پر-دانا چلانے کے لیے ایک init عمل کی تلاش کرتا ہے، جو (علیحدہ طور پر) صارف کی جگہ اور صارف کے ماحول اور حتمی لاگ ان کے لیے درکار عمل کو ترتیب دیتا ہے۔ اس کے بعد دانا خود کو بیکار رہنے دیا جاتا ہے، بشرطیکہ دوسرے عمل سے کالز آئیں۔ کچھ پلیٹ فارمز کے لیے (جیسے اے آر ایم 64 بٹ)، اس کے بجائے بوٹ لوڈر کے ذریعے دانا ڈمپریشن کرنا پڑتا ہے۔ دانا عام طور پر ایک تصویری فائل کے طور پر لوڈ کیا جاتا ہے، جسے زلیب کے ساتھ زیڈ امیج یا بی زیڈ امیج فارمیٹس میں کمپریس کیا جاتا ہے۔ اس کے سرے پر ایک معمول کم سے کم ہارڈ ویئر سیٹ اپ کرتا ہے، تصویر کو مکمل طور پر ہائی میموری میں ڈمپریس کرتا ہے، اور اگر ترتیب دی گئی ہو تو کسی بھی رام ڈسک کو نوٹ کرتا ہے۔ اس کے بعد یہ./arch/i386/boot/head کے ذریعے کرنل اسٹارٹ اپ اور اسٹارٹ اپ _ 32 () (x86 پر مبنی پروسیسرز کے لیے) عمل کو انجام دیتا ہے۔ کرنل کے لیے اسٹارٹ اپ فنکشن (جسے سویپر یا پروسیس 0 بھی کہا جاتا ہے) میموری مینجمنٹ (پیجنگ ٹیبلز اور میموری پیجنگ) قائم کرتا ہے، سی پی یو کی قسم اور فلوٹنگ پوائنٹ کی صلاحیتوں جیسی کسی بھی اضافی فعالیت کا پتہ لگاتا ہے، اور پھر کال ٹو اسٹارٹ _ کرنل () کے ذریعے غیر آرکیٹیکچر مخصوص لینکس کرنل کی فعالیت میں تبدیل ہو جاتا ہے۔ اسٹارٹ _ کرنل ابتدائی افعال کی ایک وسیع رینج کو انجام دیتا ہے۔ یہ انٹرپٹ ہینڈلنگ (IRQs) کو ترتیب دیتا ہے، میموری کو مزید ترتیب دیتا ہے، ابتدائی عمل (پہلا صارف-جگہ کا عمل) شروع کرتا ہے، اور پھر سی پی یو آئی ڈی ایل () کے ذریعے بیکار کام شروع کرتا ہے۔ خاص طور پر، کرنل اسٹارٹ اپ عمل ابتدائی رام ڈسک ("initrd") کو بھی نصب کرتا ہے جو پہلے بوٹ مرحلے کے دوران عارضی روٹ فائل سسٹم کے طور پر لوڈ کیا گیا تھا۔ initrd ڈرائیور ماڈیولز کو براہ راست میموری سے لوڈ کرنے کی اجازت دیتا ہے، دوسرے آلات پر انحصار کیے بغیر (جیسے. ایک ہارڈ ڈسک) اور وہ ڈرائیور جو ان تک رسائی کے لیے درکار ہیں (مثال کے طور پر۔ ایک SATA ڈرائیور)۔ کچھ ڈرائیوروں کی یہ تقسیم مستحکم طور پر دانا میں مرتب کی گئی ہے اور دوسرے ڈرائیوروں کو initrd سے لوڈ کیا گیا ہے جو چھوٹے دانے کی اجازت دیتا ہے۔ روٹ فائل سسٹم کو بعد میں کال کے ذریعے پیوٹ روٹ () میں تبدیل کر دیا جاتا ہے جو عارضی روٹ فائل سسٹم کو ان ماؤنٹ کرتا ہے اور اس کی جگہ اصلی کا استعمال کرتا ہے، ایک بار جب مؤخر الذکر قابل رسائی ہوتا ہے۔ اس کے بعد عارضی روٹ فائل سسٹم کے ذریعے استعمال ہونے والی میموری کو دوبارہ حاصل کیا جاتا ہے۔ اس طرح، دانا آلات کو شروع کرتا ہے، بوٹ لوڈر کے ذریعہ مخصوص کردہ روٹ فائل سسٹم کو صرف پڑھنے کے طور پر نصب کرتا ہے، اور ابتدائی (/sbin/init) چلاتا ہے جسے سسٹم (PID = 1) کے ذریعے چلنے والے پہلے عمل کے طور پر نامزد کیا جاتا ہے۔ فائل سسٹم کو نصب کرنے پر کرنل کے ذریعے ایک پیغام پرنٹ کیا جاتا ہے، اور ابتدائی عمل شروع کرنے پر ابتدائی کے ذریعے۔ یہ روٹ فائل سسٹم نصب ہونے سے پہلے سیٹ اپ اور ڈیوائس سے متعلق معاملات (رام ڈسک یا اسی طرح کے) کو سنبھالنے کی اجازت دینے کے لیے اختیاری طور پر Initrd بھی چلا سکتا ہے۔ ریڈ ہیٹ کے مطابق، اس مرحلے پر دانا کے تفصیلی عمل کا خلاصہ اس طرح کیا جاتا ہے: "جب دانا لوڈ ہوتا ہے، تو یہ فوری طور پر کمپیوٹر کی میموری کو شروع اور ترتیب دیتا ہے اور سسٹم سے منسلک مختلف ہارڈ ویئر کو ترتیب دیتا ہے، بشمول تمام پروسیسرز، I/O سب سسٹمز، اور اسٹوریج ڈیوائسز۔ اس کے بعد یہ کمپریسڈ initrd امیج کو میموری میں پہلے سے طے شدہ مقام پر تلاش کرتا ہے، اسے ڈمپریس کرتا ہے، اسے ماونٹ کرتا ہے، اور تمام ضروری ڈرائیوروں کو لوڈ کرتا ہے۔ اگلا، یہ فائل سسٹم سے متعلق ورچوئل ڈیوائسز کو شروع کرتا ہے، جیسے کہ ایل وی ایم یا سافٹ ویئر ریڈ، initrd ڈسک امیج کو ان ماؤنٹ کرنے سے پہلے اور ڈسک امیج پر ایک بار قبضہ کرنے والی تمام میموری کو آزاد کرنے سے پہلے۔ اس کے بعد دانا ایک روٹ ڈیوائس بناتا ہے، روٹ پارٹیشن کو صرف پڑھنے کے لیے نصب کرتا ہے، اور کسی بھی غیر استعمال شدہ میموری کو آزاد کرتا ہے۔ اس مقام پر، دانا میموری اور آپریشنل میں لوڈ کیا جاتا ہے۔ تاہم، چونکہ ایسی کوئی صارف ایپلی کیشنز نہیں ہیں جو سسٹم کو بامعنی ان پٹ کی اجازت دیتی ہیں، اس کے ساتھ زیادہ کچھ نہیں کیا جا سکتا۔ ایک initramfs طرز کا بوٹ اسی طرح کا ہے، لیکن بیان کردہ initrd بوٹ سے ملتا جلتا نہیں ہے۔ اس موقع پر، مداخلتوں کو فعال کرنے کے ساتھ، شیڈولر سسٹم کے مجموعی انتظام کا کنٹرول سنبھال سکتا ہے، تاکہ پری ایمپٹو ملٹی ٹاسکنگ فراہم کی جا سکے، اور صارف کی جگہ میں صارف کے ماحول کو بوٹ کرنا جاری رکھنے کے لیے init عمل کو چھوڑ دیا جاتا ہے۔ ابتدائی یوزر اسپیس initramfs، جسے ابتدائی یوزر اسپیس بھی کہا جاتا ہے، لینکس دانا کے ورژن 2.5.46 کے بعد سے دستیاب ہے، جس کا مقصد زیادہ سے زیادہ افعال کو تبدیل کرنا ہے جو پہلے دانا اسٹارٹ اپ کے عمل کے دوران انجام دیتا۔ ابتدائی یوزر اسپیس کے عام استعمال یہ پتہ لگانے کے لیے ہیں کہ مرکزی یوزر اسپیس فائل سسٹم کو لوڈ کرنے اور انہیں عارضی فائل سسٹم سے لوڈ کرنے کے لیے کون سے ڈیوائس ڈرائیوروں کی ضرورت ہے۔ بہت سی ڈسٹری بیوشنز initramfs امیج کو بنانے اور برقرار رکھنے کے لیے ڈراکٹ کا استعمال کرتی ہیں۔ ابتدائی عمل ایک بار دانا شروع ہونے کے بعد، یہ init عمل شروع کرتا ہے، ایک ڈیمون جو پھر صارف کی جگہ کو بوٹ اسٹریپ کرتا ہے، مثال کے طور پر فائل سسٹم کو چیک اور ماؤنٹ کرکے، اور دوسرے عمل کو شروع کرکے۔ init سسٹم شروع کرنے والا پہلا ڈیمون ہے (بوٹنگ کے دوران) اور ختم کرنے والا آخری ڈیمون ہے (شٹ ڈاؤن کے دوران)۔ تاریخی طور پر یہ "SysV init" تھا، جسے صرف "init" کہا جاتا تھا۔ حالیہ لینکس ڈسٹری بیوشن میں سسٹم ڈی جیسے زیادہ جدید متبادل میں سے ایک کا استعمال ہونے کا امکان ہے۔ ذیل میں اہم init عمل کا خلاصہ دیا گیا ہے: SysV init (صرف "init") یونیکس اور بی ایس ڈی init عمل سے ملتا جلتا ہے، جس سے یہ اخذ کیا گیا ہے۔ ایک معیاری لینکس سسٹم میں، init کو ایک پیرامیٹر کے ساتھ انجام دیا جاتا ہے، جسے رن لیول کہا جاتا ہے، جو 0 سے 6 تک ویلیو لیتا ہے اور اس بات کا تعین کرتا ہے کہ کون سے سب سسٹمز کو آپریشنل بنایا گیا ہے۔ ہر رن لیول کے اپنے اسکرپٹ ہوتے ہیں جو دی گئی رن لیول کو ترتیب دینے یا چھوڑنے میں شامل مختلف عمل کو مرتب کرتے ہیں، اور یہ وہ اسکرپٹ ہیں جن کا حوالہ بوٹ کے عمل میں ضرورت کے مطابق دیا جاتا ہے۔ ابتدائی اسکرپٹ عام طور پر ڈائریکٹریز میں "/et/rc" جیسے ناموں کے ساتھ رکھے جاتے ہیں۔ init کے لیے ٹاپ لیول کنفیگریشن فائل/et/inittab پر ہے۔ سسٹم بوٹ کے دوران، یہ چیک کرتا ہے کہ آیا ڈیفالٹ رن لیول/et/inittab میں متعین ہے، اور رن لیول سے درخواست کرتا ہے کہ اگر نہیں تو سسٹم کنسول کے ذریعے داخل کریں۔ اس کے بعد یہ دی گئی رن لیول کے لیے تمام متعلقہ بوٹ اسکرپٹ چلانے کے لیے آگے بڑھتا ہے، بشمول لوڈنگ ماڈیولز، روٹ فائل سسٹم کی سالمیت کی جانچ کرنا (جو صرف پڑھنے کے لیے نصب کیا گیا تھا) اور پھر اسے مکمل پڑھنے لکھنے تک رسائی کے لیے دوبارہ ماؤنٹ کرنا، اور نیٹ ورک ترتیب دینا۔ اس کے تمام مخصوص عمل کو پیدا کرنے کے بعد، init غیر فعال ہو جاتا ہے، اور تین واقعات میں سے کسی ایک کے ہونے کا انتظار کرتا ہے: وہ عمل جو ختم ہونا یا مرنا شروع ہوا، بجلی کی ناکامی کا اشارہ، یا رن لیول کو مزید تبدیل کرنے کے لیے/sbin/tilinit کے ذریعے درخواست۔ سسٹم ڈی SysV init کا جدید متبادل ہے۔ init کی طرح، سسٹڈ ڈی ایک ڈیمون ہے جو دوسرے ڈیمون کا انتظام کرتا ہے۔ سسٹم ڈی سمیت تمام ڈیمن پس منظر کے عمل ہیں۔ لینارٹ پوئیٹرنگ اور کے سیورز، سافٹ ویئر انجینئرز جنہوں نے ابتدائی طور پر سسٹم ڈی تیار کیا، نے کئی طریقوں سے init ڈیمون کی کارکردگی کو پیچھے چھوڑنے کی کوشش کی۔ وہ انحصار کے اظہار کے لیے سافٹ ویئر فریم ورک کو بہتر بنانا چاہتے تھے، تاکہ سسٹم بوٹنگ کے دوران متوازی طور پر مزید پروسیسنگ کی اجازت دی جا سکے، اور شیل کے کمپیوٹیشنل اوور ہیڈ کو کم کیا جا سکے۔ ہر ڈیمون کے لیے سسٹم ڈی کی ابتدائی ہدایات شیل اسکرپٹ کے بجائے ڈیکلیریٹو کنفیگریشن فائل میں ریکارڈ کی جاتی ہیں۔ انٹر پروسیس کمیونیکیشن کے لیے، سسٹم ڈی یونکس ڈومین ساکٹ اور ڈی بس کو چل رہے ڈیمنز کے لیے دستیاب کرتا ہے۔ سسٹمڈ جارحانہ متوازی ہونے کی بھی صلاحیت رکھتا ہے۔ یہ بھی دیکھیں ونڈوز حوالہ جات کا SYSLINUX بوٹنگ عمل بیرونی لنکس ایک ڈویلپر ورکس آرٹیکل بذریعہ ایم۔ ٹم جونز بوٹ چارٹ: بوٹ پروسیس پرفارمنس ویژوئلائزیشن ای ایف آئی سسٹمز پر بوٹسٹریپ عمل، LWN.net، 11 فروری 2015، بذریعہ میٹ فلیمنگ بوٹنگ لینکس کرنل پر کارروائی کرتا ہے۔