متن خبر

فرآیند بوت لینوکس – هنگام بوت شدن RHEL چه اتفاقی می افتد

فرآیند بوت لینوکس – هنگام بوت شدن RHEL چه اتفاقی می افتد

شناسهٔ خبر: 447666 -




فرآیند بوت از مجموعه ای از اقدامات ضروری تشکیل شده است که کامپیوتر هنگام راه اندازی انجام می دهد. اینها از روشن کردن تا بارگذاری کامل سیستم عامل (OS) برای عملکرد بهینه متغیر است.

آشنایی با فرآیند بوت به دلایل مختلف حیاتی است. اول از همه، داشتن درک کامل از فرآیند راه‌اندازی برای رسیدگی مؤثر به مسائل بوت، افزایش عملکرد سیستم و کنترل مؤثر اجزای مختلف راه‌اندازی سیستم بسیار مهم است.

به عنوان مثال، به شما کمک می کند تا مشکلاتی را که ممکن است در طول فرآیند بوت ایجاد شوند، مانند نقص سخت افزار یا پیکربندی نادرست، شناسایی و حل کنید.

همچنین، به دست آوردن درک کامل از فرآیند بوت می تواند به شما در شخصی سازی تنظیمات راه اندازی کمک کند. این شامل توانایی انتخاب برنامه‌ها یا خدمات خاصی است که هنگام راه‌اندازی راه‌اندازی می‌شوند و در نهایت بر عملکرد کلی سیستم و رضایت کاربر تأثیر می‌گذارند.

فهرست مطالب

در اینجا چیزی است که ما در این راهنمای جامع پوشش خواهیم داد:

نمای کلی در سطح بالا از فرآیند بوت کردن

درک عمیق فرآیند بوت

POST (خودآزمایی روشن)

آشنایی با BIOS/UEFI

MBR (Master Boot Record)

GPT (جدول پارتیشن GUID)

GRUB (بوت لودر بزرگ یکپارچه)

تصویر Initrd (دیسک RAM اولیه).

هسته

RootFS

فرآیند شروع

دیمون های سیستم

بسته بندی

تحلیل اجمالی سطح بالا از فرآیند بوت کردن

مقداردهی اولیه سخت افزار

در طول فرآیند بوت، سیستم عامل کامپیوتر (مانند BIOS یا UEFI) شارژ می شود و تمام اجزای سخت افزاری لازم از جمله پردازنده، حافظه، دستگاه های ذخیره سازی و لوازم جانبی را تنظیم می کند. این مرحله اولیه سازی حیاتی تضمین می کند که این اجزا به طور کامل برای استفاده سیستم عامل آماده شده اند.

بارگذاری سیستم عامل

هنگامی که سخت افزار اولیه شد، فرآیند بوت با بارگذاری سیستم عامل آغاز می شود. این مرحله معمولاً شامل بارگذاری هسته و مقداردهی اولیه خدمات حیاتی سیستم عامل در حافظه است.

راه اندازی خدمات سیستم

با راه اندازی سیستم عامل، طیف وسیعی از خدمات و درایورهای سیستم را فعال می کند. این مؤلفه‌های ضروری، عملکرد روان رایانه را تضمین می‌کنند و وظایفی مانند مدیریت اتصالات شبکه، پردازش عملیات ورودی/خروجی و حفظ اقدامات امنیتی را ممکن می‌سازند.

تعامل کاربر

در نهایت، فرآیند بوت با خوشامدگویی به شما (کاربر) با صفحه ورود به سیستم یا محیط دسکتاپ به اوج خود می رسد و دسترسی کامل به رایانه و برنامه های مختلف آن را می دهد.

درک عمیق فرآیند بوت

تصویر-150
فرآیند بوت کردن

POST (خودآزمایی روشن)

هنگامی که یک کامپیوتر برای اولین بار روشن می شود، یک فرآیند حیاتی وجود دارد که به نام خودآزمایی روشن (Power-On Self-Test) یا به اختصار POST شناخته می شود. این توالی تست تشخیصی توسط سیستم عامل سیستم، خواه بایوس یا UEFI باشد، به عنوان یک مرحله مهم در دنباله راه‌اندازی انجام می‌شود.

هدف اصلی آن تحلیل درستی عملکرد تمام اجزای سخت افزاری ضروری قبل از واگذاری کنترل به سیستم عامل است. به طور خلاصه، POST یک گام مهم در حصول اطمینان از این است که یک رایانه آماده کار با پتانسیل کامل خود در هنگام راه اندازی است.

مراحل و توابع POST

مقداردهی اولیه

هنگامی که کامپیوتر روشن می شود، سیستم عامل سیستم (BIOS یا UEFI) کنترل را به دست می گیرد.

سیستم عامل با مقداردهی اولیه اجزای سخت افزاری مهم مانند CPU، RAM، چیپ ست و سایر دستگاه های ضروری شروع می شود.

خودآزمایی روشن (POST)

دنباله POST بلافاصله پس از مقداردهی اولیه شروع می شود. اجزای سخت افزاری مختلف را با ارسال سیگنال ها و دستورات تست به آن ها تحلیل می کند.

CPU، RAM (حافظه)، دستگاه های ذخیره سازی (هارد دیسک، SSD)، کارت های گرافیک، لوازم جانبی (صفحه کلید، ماوس) و سایر سخت افزارهای متصل را تحلیل می کند.

هر جزء برای اطمینان از پاسخ صحیح و عملکرد آن در پارامترهای قابل قبول آزمایش می شود.

    CPU با تحلیل فرکانس کاری آن و اجرای یک آزمایش ساده تحلیل می شود.

    RAM با نوشتن و خواندن داده ها برای تأیید صحت آن آزمایش می شود.

    دستگاه های ذخیره سازی برای حضور و عملکرد اولیه تحلیل می شوند.

    تجهیزات جانبی ممکن است با تحلیل اینکه آیا به دستورات پاسخ می دهند یا خیر، آزمایش شوند.

هر گونه خرابی در طول فرآیند POST منجر به پیام های خطا یا بوق های شنیداری می شود که نشان می دهد کدام مؤلفه در آزمایش شکست خورده است.

رسیدگی به خطا

اگر خطایی در حین POST شناسایی شود، سیستم معمولاً متوقف می‌شود و یک پیام خطا نشان می‌دهد، یا ممکن است یک سری بوق‌های صوتی (معروف به کدهای بیپ) منتشر کند که ماهیت مشکل را نشان می‌دهد.

کدهای خطا یا پیام های تولید شده در طول POST برای تشخیص مشکلات سخت افزاری بسیار مهم هستند. آنها به شناسایی مولفه یا ناحیه معیوب که باعث مشکل می شود کمک می کنند.

تکمیل و تحویل

هنگامی که توالی POST بدون تشخیص هیچ گونه خطای مهمی کامل شد، سیستم عامل تشخیص می دهد که سخت افزار به درستی کار می کند.

سیستم عامل به مقداردهی اولیه سایر اجزای سیستم و جستجوی دستگاه بوت برای بارگذاری سیستم عامل ادامه می دهد.

آشنایی با BIOS/UEFI

BIOS و UEFI دو رابط میان‌افزار ضروری هستند که مسئول اولیه‌سازی اجزای سخت‌افزاری، اجرای عیب‌یابی سیستم و پشتیبانی از راه‌اندازی سیستم‌عامل در رایانه هستند. این رابط ها بازیگران حیاتی در فرآیند بوت یک سیستم هستند.

BIOS

برای چندین دهه، BIOS یک رابط سیستم عامل غالب بوده است که بر روی تراشه مادربرد ذخیره می شود. نقش حیاتی آن فعال کردن و نظارت بر سخت افزار در مرحله بوت آپ است.

به محض روشن شدن کامپیوتر، BIOS فرمان را بر عهده می گیرد و تست خودآزمایی روشن (POST) را اجرا می کند تا مطمئن شود که اجزای سخت افزاری ضروری - از جمله RAM، CPU و دستگاه های ذخیره سازی - به درستی کار می کنند.

پس از تکمیل موفقیت آمیز POST، BIOS با استفاده از یک ترتیب بوت از پیش تعیین شده که قبلاً در تنظیمات BIOS تنظیم شده بود، به جستجوی دستگاه بوت می شود. این سفارش بوت معمولاً شامل دستگاه‌های محبوبی مانند هارد دیسک، درایوهای حالت جامد، درایوهای نوری (CD/DVD)، درایوهای USB و رابط‌های شبکه می‌شود.

هنگامی که دستگاه بوت شناسایی شد، BIOS به جستجوی ضبط اصلی بوت (MBR) یا جدول پارتیشن GUID (GPT) در دستگاه ذخیره سازی می‌پردازد. اینها حاوی کدهای اولیه بوت لودر هستند. سپس بایوس وظیفه‌آمیز کنترل را به بوت‌لودر تعیین‌شده، مانند GRUB برای سیستم‌عامل‌های لینوکس می‌سپارد.

UEFI (رابط یکپارچه سفت‌افزار توسعه‌پذیر)

UEFI جایگزینی مدرن و همه کاره برای BIOS است. ویژگی ها و قابلیت های پیشرفته تری نسبت به بایوس ارائه می دهد.

UEFI سفت‌افزاری است که روی مادربرد قرار دارد و مسئول اولیه‌سازی سخت‌افزار و راه‌اندازی سیستم‌عامل است.

مشابه بایوس، UEFI با مقداردهی اولیه سخت افزار و تحلیل سیستم شروع می شود. اما UEFI از استانداردهای سخت افزاری مدرن تری پشتیبانی می کند و در مقایسه با بایوس سنتی، زمان بوت سریع تری را امکان پذیر می کند.

UEFI شامل یک مدیر بوت است که پیچیده تر از بوت لودرهای مورد استفاده در سیستم های BIOS است. این سیستم فایل های مختلف را درک می کند و به سیستم اجازه می دهد از درایوهای فرمت شده با سیستم های فایل جدیدتر مانند GPT بوت شود. از پارتیشن های بوت EFI برای ذخیره بوت لودرها و اطلاعات مرتبط استفاده می کند.

UEFI Secure Boot را معرفی کرد، یک ویژگی امنیتی که امضای دیجیتال بوت‌لودرها و هسته‌های سیستم عامل را در طول فرآیند بوت تأیید می‌کند. این به جلوگیری از بارگیری کدهای غیرمجاز یا مخرب در طول زمان بوت کمک می کند.

تفاوت بین BIOS و UEFI

BIOS از روش Master Boot Record (MBR) استفاده می کند، در حالی که UEFI از روش GUID Partition Table (GPT) استفاده می کند.

UEFI انعطاف‌پذیرتر است و از ظرفیت‌های ذخیره‌سازی بزرگ‌تر، سخت‌افزار مدرن و زمان‌های بوت سریع‌تر در مقایسه با بایوس پشتیبانی می‌کند.

UEFI راه‌اندازی امن را معرفی می‌کند و امنیت سیستم را با تأیید صحت اجزای بوت‌لودر و سیستم‌عامل افزایش می‌دهد.

MBR (Master Boot Record)

Master Boot Record (MBR) نقشی حیاتی در ساختار ذخیره سازی دیسک ایفا می کند. این ارتباط نزدیک با سیستم های مبتنی بر BIOS است و به عنوان کاتالیزور برای فرآیند راه اندازی اولیه عمل می کند.

ساختار MBR

MBR در بخش اول یک دستگاه ذخیره سازی قرار دارد (معمولاً 512 بایت اول یک هارد دیسک یا SSD). این در یک مکان ثابت، LBA (آدرس بلوک منطقی) 0 است.

رکورد اصلی بوت (MBR) اگر 512 بایت باشد. از سه جزء تشکیل شده است:

تصویر--1--1
ساختار MBR: امضای بوت، پارتیشن ها و کد بوت استرپ

    اطلاعات اولیه بوت لودر 446 بایت اولیه را اشغال می کند.

    پس از آن، اطلاعات جدول پارتیشن 64 بایت بعدی را پر می کند.

    در نهایت، تحلیل اعتبار MBR، که به عنوان عدد جادویی نیز شناخته می‌شود، در 2 بایت نهایی قرار دارد.

جدول پارتیشن یک پایگاه داده کوچک است که اطلاعات مربوط به پارتیشن های دیسک را در خود دارد. این جدول می تواند اطلاعات تا چهار پارتیشن اصلی یا سه پارتیشن اصلی و یک پارتیشن توسعه یافته را ذخیره کند.

هر ورودی در جدول پارتیشن شامل:

    آدرس های شروع و پایان هر پارتیشن.

    نوع پارتیشن (مانند FAT، NTFS، سیستم فایل لینوکس و غیره).

    پرچم قابل راه‌اندازی که نشان می‌دهد کدام پارتیشن پارتیشن فعال/بوت‌پذیر است.

عملکرد MBR

عملکرد اصلی کد راه‌اندازی MBR این است که بوت‌لودر پارتیشن فعال/بوت‌پذیر را مکان‌یابی و بارگذاری کند. جدول پارتیشن را می خواند تا مشخص کند کدام پارتیشن پرچم قابل بوت را نگه می دارد و کد بوت لودر را از آن پارتیشن اجرا می کند.

بوت لودر (به عنوان مثال، GRUB) متعاقباً کنترل می شود و در صورت پیکربندی یک منوی بوت را ارائه می دهد که به کاربر امکان می دهد یک سیستم عامل را برای بارگیری انتخاب کند. سپس هسته سیستم عامل انتخاب شده را بارگیری می کند و فرآیند بوت آن را آغاز می کند.

محدودیت های MBR

MBR محدودیت هایی در پشتیبانی از چهار پارتیشن اصلی یا سه پارتیشن اصلی و یک پارتیشن توسعه یافته دارد که می تواند شامل چندین پارتیشن منطقی باشد. این تعداد پارتیشن های قابل استفاده روی دیسک را محدود می کند.

MBR از آدرس دهی 32 بیتی استفاده می کند و اندازه دیسک را به 2 ترابایت (TB) محدود می کند. دیسک های بزرگتر به دلیل این محدودیت نمی توانند به طور کامل تحت MBR مورد استفاده قرار گیرند.

همچنین فاقد آپشن های امنیتی داخلی است که آن را مستعد ابتلا به ویروس‌های بخش بوت یا کدهای مخربی است که بوت‌لودر را بازنویسی می‌کنند.

GPT (جدول پارتیشن GUID)

جدول پارتیشن GUID (GPT) یک طرح پارتیشن بندی است که در دستگاه های ذخیره سازی مدرن استفاده می شود و ارتباط نزدیکی با سیستم های مبتنی بر UEFI دارد. به دلیل مزایا و قابلیت های متعدد، به ویژه در رابطه با سیستم عامل UEFI، جایگزین طرح پارتیشن بندی Master Boot Record (MBR) قدیمی شد.

ساختار GPT

GPT یک طرح پارتیشن بندی است که چیدمان پارتیشن ها را در یک دستگاه ذخیره سازی تعریف می کند. برخلاف MBR که محدودیت هایی در مورد اندازه دیسک و تعداد پارتیشن دارد، GPT انعطاف پذیری و مقیاس پذیری بیشتری را ارائه می دهد.

هر پارتیشن در یک دیسک GPT توسط یک GUID (شناسه منحصر به فرد جهانی) مشخص می شود. این اجازه می دهد تا 128 پارتیشن در هر دیسک (اگرچه محدودیت های عملی ممکن است بر اساس سیستم عامل و سیستم عامل سیستم اعمال شود).

دیسک‌های GPT حاوی یک MBR محافظ برای حفظ سازگاری با سیستم‌های قدیمی هستند که ممکن است پارتیشن‌های GPT را تشخیص ندهند. این MBR حفاظتی به سیستم‌های قدیمی‌تر او میگوید که دیسک در حال استفاده است و از بازنویسی یا تغییر پارتیشن‌های GPT جلوگیری می‌کند.

GPT ورودی های پارتیشن را در جدولی که در ابتدا و انتهای دیسک قرار دارد ذخیره می کند. این افزونگی یکپارچگی داده ها را افزایش می دهد و اطلاعات پشتیبان در مورد طرح پارتیشن ارائه می دهد.

تصویر-33
نمودار طرح جدول پارتیشن GUID

عملکرد GPT

UEFI به یک پارتیشن خاص به نام پارتیشن سیستم UEFI (ESP) نیاز دارد که جزء اصلی طرح GPT است. ESP شامل بوت لودرها، فایل های اجرایی سفت افزار و سایر فایل های لازم برای فرآیند بوت است.

سیستم عامل UEFI از اطلاعات ذخیره شده در GPT برای تعیین مکان بوت لودر UEFI استفاده می کند. بوت لودر در ESP ذخیره می شود و در داده های پیکربندی بوت سیستم عامل مشخص شده است.

سیستم عامل UEFI GPT را درک می کند و می تواند اطلاعات پارتیشن را مستقیماً از هدر GPT بخواند. از این اطلاعات برای شناسایی پارتیشن قابل بوت و بارگیری بوت لودر UEFI از ESP استفاده می کند.

GPT و UEFI با هم کار می کنند تا از عملکرد Secure Boot پشتیبانی کنند. Secure Boot از اطلاعات GPT برای تأیید امضای دیجیتال بوت لودرها و اجزای سیستم عامل استفاده می کند و از یک فرآیند راه اندازی ایمن اطمینان می دهد.

GPT از اندازه دیسک بزرگتر از 2 ترابایت پشتیبانی می کند و محدودیت های طرح پارتیشن بندی MBR را برطرف می کند. این پارتیشن ها را در دیسک های بزرگتر مدیریت می کند و مقیاس پذیری را برای نیازهای ذخیره سازی آینده فراهم می کند.

GRUB (بوت لودر بزرگ یکپارچه)

GRUB مخفف Grand Unified Boot Loader است. این یک بوت لودر پرکاربرد در دنیای لینوکس است که وظیفه مدیریت فرآیند بوت کامپیوتر را بر عهده دارد.

بوت لودر برنامه ای است که سیستم عامل را در حین راه اندازی در حافظه کامپیوتر بارگذاری می کند. GRUB به طور خاص برای سیستم عامل های مشابه یونیکس، به ویژه لینوکس طراحی شده است.

عملکرد اصلی GRUB شامل مکان یابی هسته سیستم عامل انتخابی و بارگذاری آن در حافظه است. همچنین دیسک RAM اولیه (initrd/initramfs) را مدیریت می کند که به هسته در طول فرآیند بوت کمک می کند.

GRUB از یک فایل پیکربندی ( grub.cfg یا menu.lst ) استفاده می کند که در آن کاربران می توانند گزینه های بوت را تعریف کنند، پارامترهای هسته را مشخص کنند و ظاهر منوی بوت را سفارشی کنند. این به کاربران امکان می دهد تنظیمات بوت را تغییر دهند یا پارامترهای خاصی را برای سیستم عامل اضافه کنند تا در هنگام راه اندازی از آنها استفاده کند.

در حین نصب توزیع های لینوکس، GRUB معمولاً در Master Boot Record (MBR) هارد دیسک یا پارتیشن سیستم EFI (برای سیستم هایی که از UEFI استفاده می کنند) نصب می شود. این به GRUB اجازه می دهد تا کنترل را در هنگام بوت آپ به دست بگیرد و رابط منوی خود را ارائه دهد.

تصویر Initrd (دیسک RAM اولیه).

دیسک RAM اولیه (initrd)، همچنین به عنوان فایل سیستم اولیه RAM (initramfs) شناخته می شود، یک سیستم فایل موقت است که در طول فرآیند بوت کامپیوتر قبل از اینکه سیستم عامل اصلی کنترل شود، در حافظه بارگذاری می شود. این یک جزء ضروری در بوت کردن لینوکس مدرن است.

هدف اصلی initrd ارائه حداقل مجموعه ای از ابزارها، درایورها و ابزارهای ضروری برای نصب فایل سیستم ریشه است. این شامل درایورهای ضروری برای کنترلرهای ذخیره سازی، سیستم های فایل و سایر اجزای سخت افزاری است که ممکن است هسته برای دسترسی به سیستم فایل ریشه واقعی به آن نیاز داشته باشد.

در طول بوت آپ، بوت لودر (مانند GRUB) هسته لینوکس را در حافظه بارگذاری می کند. سپس هسته خود را از حالت فشرده خارج می کند و اگر برای استفاده از initrd پیکربندی شده باشد، تصویر initrd را به عنوان یک سیستم فایل ریشه موقت در یک مکان حافظه از پیش تعیین شده بارگیری می کند.

هنگامی که initrd در جای خود قرار گرفت، هسته کد را در initrd اجرا می کند. این کد وظایف مختلفی مانند بارگیری درایورهای ضروری (به عنوان مثال، برای کنترلرهای دیسک، سیستم های فایل و غیره)، مقداردهی اولیه سخت افزار و انجام تحلیل های لازم برای آماده سازی سیستم برای انتقال به سیستم فایل ریشه واقعی را انجام می دهد.

پس از اینکه کرنل مقداردهی اولیه کرد و سخت افزار را شناسایی کرد، کار initrd تا حد زیادی کامل می شود. کنترل را به هسته اصلی واگذار می کند، که سپس initrd را از حالت مانت خارج می کند و سیستم فایل ریشه واقعی (که توسط بوت لودر یا پارامترهای کرنل مشخص شده است) را مانت می کند.

به طور سنتی، initrd استفاده می شد، اما سیستم های مدرن اغلب از initramfs (جانشین انعطاف پذیرتر) استفاده می کنند. Initramfs یک آرشیو cpio است که در زمان بوت شدن در دیسک RAM فشرده نمی شود. همه کاره تر است، و به شما امکان می دهد یک رویکرد ماژولارتر برای گنجاندن فایل ها و درایورهای ضروری داشته باشید.

هسته

هسته هسته سیستم عامل است که منابع سخت افزاری را مدیریت می کند، انتزاعات را ارائه می دهد و تعاملات بین سخت افزار و نرم افزار را کنترل می کند.

پس از اینکه تصویر initrd وظایف خود را کامل کرد، هسته کنترل را به دست می گیرد. سخت افزار سیستم را مقداردهی اولیه می کند، سیستم فایل ریشه را مونت می کند و فرآیند اولیه سازی فضای کاربر را آغاز می کند.

هسته از اطلاعات ارائه شده توسط initrd برای نصب سیستم فایل ریشه واقعی (به عنوان مثال، ext4، XFS) که در پارامترهای بوت مشخص شده است استفاده می کند.

RootFS

سیستم فایل ریشه (rootfs) یک جزء حیاتی در فرآیند بوت کردن یک سیستم عامل است. این سلسله مراتب دایرکتوری سطح بالای سیستم فایل است و شامل فایل ها و دایرکتوری های ضروری سیستم است.

در زمینه فرآیند بوت، سیستم فایل ریشه، سیستم فایل اولیه ای است که هسته سیستم عامل در طول دنباله بوت نصب می کند.

سیستم فایل ریشه نقطه شروع برای کل سلسله مراتب سیستم فایل است. در طول فرآیند بوت توسط هسته نصب می شود و همه سیستم های فایل دیگر به عنوان زیر شاخه های سیستم فایل ریشه نصب می شوند.

بوت لودر، مانند GRUB در بسیاری از سیستم های لینوکس، به گونه ای پیکربندی شده است که محل فایل سیستم ریشه را مشخص کند. این اطلاعات برای هسته بسیار مهم است تا بداند فایل‌های اصلی و دایرکتوری‌های مورد نیاز برای راه‌اندازی سیستم عامل را کجا پیدا کند.

سیستم فایل ریشه می تواند انواع مختلفی داشته باشد، مانند ext4، XFS یا سایر سیستم های فایل پشتیبانی شده. انتخاب نوع سیستم فایل به ترجیحات و نیازهای مدیر سیستم بستگی دارد.

در برخی موارد، به ویژه در سناریوهای ذخیره سازی پیچیده (به عنوان مثال، تنظیمات RAID یا LVM)، یک دیسک RAM اولیه (initramfs) استفاده می شود. initramfs ماژول ها و ابزارهای لازم را برای کرنل فراهم می کند تا سیستم فایل ریشه را مقداردهی و نصب کند. پس از آن، هسته به سیستم فایل ریشه واقعی سوئیچ می کند.

سیستم فایل ریشه شامل دایرکتوری های مهمی مانند /bin ، /etc ، /sbin و /lib است. این دایرکتوری ها شامل باینری های ضروری، فایل های پیکربندی، کتابخانه های سیستم و اسکریپت های مورد نیاز برای عملکرد سیستم هستند.

سیستم فایل ریشه معمولاً یک سیستم فایل دائمی است که روی یک دستگاه ذخیره سازی مانند هارد دیسک یا SSD ذخیره می شود. داده ها و پیکربندی ها را در طول راه اندازی مجدد حفظ می کند و از یک محیط سازگار برای سیستم عامل اطمینان می دهد.

پایداری و عملکرد سیستم عامل به مقداردهی اولیه و نصب موفق سیستم فایل ریشه بستگی دارد. پایه و اساس کل محیط سیستم عامل را فراهم می کند.

فرآیند شروع

فرآیند init که مخفف مقداردهی اولیه است، بخش اساسی فرآیند بوت کردن در سیستم‌عامل‌های شبه یونیکس، از جمله بسیاری از توزیع‌های لینوکس است. مسئولیت اصلی آن، راه اندازی سیستم و رساندن آن به حالت عملکردی با راه اندازی سرویس های مختلف سیستم و فرآیندهای فضای کاربر است.

پس از بارگذاری و مقداردهی اولیه هسته، کنترل را به فرآیند init واگذار می کند. پارامترهای خط فرمان هسته یا فایل های پیکربندی فرآیندی را که کنترل باید به آن منتقل شود را مشخص می کند.

سیستم‌های سنتی یونیکس از فرآیند init با سطوح اجرا متفاوت استفاده می‌کردند، که در آن هر سطح اجرا وضعیت سیستم متفاوتی را نشان می‌داد. اما سیستم‌های لینوکس مدرن، از جمله آن‌هایی که مبتنی بر Red Hat Enterprise Linux (RHEL) هستند، به استفاده از systemd تغییر داده‌اند، که به عنوان جایگزینی برای init عمل می‌کند و رویکردی انعطاف‌پذیرتر و کارآمدتر را برای مدیریت اولیه‌سازی سیستم معرفی می‌کند.

در سیستم های لینوکس مدرن مانند RHEL، systemd به سیستم پیش فرض اولیه تبدیل شده است. این سیستم را به صورت موازی مقداردهی اولیه می کند و زمان بوت و پاسخگویی سیستم را بهبود می بخشد. systemd پیکربندی خود را از فایل های واحد واقع در دایرکتوری هایی مانند /etc/systemd/system و /usr/lib/systemd/system می خواند.

فرآیند init، چه init سنتی و چه systemd، مسئول راه اندازی سرویس ها و دیمون های سیستم است. این خدمات عملکردهای ضروری را برای سیستم عامل فراهم می کنند، مانند شبکه، ورود به سیستم و خدمات مرتبط با سخت افزار.

دیمون های سیستم

دیمون‌های سیستم که به‌عنوان فرآیندها یا سرویس‌های پس‌زمینه نیز شناخته می‌شوند، نقشی حیاتی در فرآیند راه‌اندازی و عملیات مداوم سیستم‌عامل‌های شبه یونیکس، از جمله سیستم‌های مبتنی بر لینوکس Red Hat Enterprise (RHEL) دارند. این دیمون ها برنامه های تخصصی هستند که در پس زمینه اجرا می شوند و خدمات ضروری را به سیستم و کاربران ارائه می دهند.

دیمون یک فرآیند پس زمینه است که مستقل از تعامل کاربر اجرا می شود. دیمون ها وظایف خاصی مانند مدیریت سخت افزار، مدیریت رویدادهای سیستم یا ارائه خدمات شبکه را انجام می دهند.

در طول فرآیند بوت، فرآیند init یا systemd مسئول راه اندازی دیمون های سیستم است. این دیمون‌ها به گونه‌ای پیکربندی شده‌اند که به صورت خودکار در سطوح اجرای خاص (در مورد init سنتی) یا همانطور که در فایل‌های واحد systemd تعریف شده‌اند، راه‌اندازی شوند.

دیمون ها معمولاً توسط فرآیند init یا systemd به عنوان بخشی از راه اندازی سیستم مقداردهی اولیه می شوند. فرآیند اولیه سازی ممکن است شامل خواندن فایل های پیکربندی، راه اندازی کانال های ارتباطی و تخصیص منابع باشد.

نمونه هایی از دیمون های سیستم عبارتند از:

خدمات شبکه: دیمون هایی مانند sshd برای دسترسی به پوسته ایمن، httpd برای سرویس های وب و dhcpd برای پروتکل پیکربندی میزبان پویا.

خدمات ثبت‌نام: rsyslogd یا syslog-ng برای مدیریت گزارش‌های سیستم.

همگام سازی زمان: ntpd برای همگام سازی پروتکل زمان شبکه (NTP).

خدمات چاپ: cupsd برای Common Unix Printing System.

مدیریت سخت‌افزار: udev برای مدیریت دستگاه و acpid برای رویدادهای تنظیمات پیشرفته و رابط قدرت.

فرآیند init یا systemd وابستگی بین دیمون ها را مدیریت می کند. این تضمین می‌کند که شیاطین متکی بر منابع یا خدمات خاص به ترتیب صحیح برای ارضای این وابستگی‌ها شروع می‌شوند.

systemd، به ویژه، مقدار دهی اولیه موازی را معرفی می کند، به این معنی که چندین دیمون و سرویس را می توان به طور همزمان راه اندازی کرد و با استفاده از سیستم های چند هسته ای مدرن، زمان بوت را بهبود بخشید.

هنگامی که دیمون های سیستم مقداردهی اولیه می شوند، سیستم آماده رسیدگی به تعاملات کاربر است. به عنوان مثال، خدمات شبکه در دسترس هستند و کاربران می توانند وارد سیستم شوند یا به منابع مختلف سیستم دسترسی داشته باشند.

بسته بندی

از شما برای تحلیل روند بوت شدن در RHEL با من سپاسگزارم. می‌توانید عمیق‌تر در حوزه تخصص لینوکس غوطه‌ور شوید و در آموزش‌های آینده من برای محتوای روشن‌تر همراه باشید.

شما می توانید من را دنبال کنید:

توییتر

لینکدین

خبرکاو

ارسال نظر




تبليغات ايهنا تبليغات ايهنا

تمامی حقوق مادی و معنوی این سایت متعلق به خبرکاو است و استفاده از مطالب با ذکر منبع بلامانع است