Процесът на зареждане на Linux - 6 стъпки, описани подробно

Операционна система (ОС) е софтуерът на ниско ниво, който управлява ресурси, контролира периферни устройства и предоставя основни услуги на друг софтуер. В Linux има 6 отделни етапа в типичния процес на зареждане.

1. BIOS

BIOS е съкращение от Basic Input / Output System. С най-прости думи, BIOS зарежда и изпълнява boot loader на Master Boot Record (MBR).

Когато включите компютъра си за първи път, BIOS първо извършва някои проверки на целостта на HDD или SSD.

След това BIOS търси, зарежда и изпълнява програмата за зареждане, която може да бъде намерена в Master Boot Record (MBR). MBR понякога е на USB памет или CD-ROM, като например при инсталиране на Linux на живо.

След като бъде открита програмата за зареждане, тя се зарежда в паметта и BIOS дава контрол върху системата.

2. MBR

MBR означава Master Boot Record и е отговорен за зареждането и изпълнението на GRUB boot loader.

MBR се намира в първия сектор на стартиращия диск, който обикновено е /dev/hdaили /dev/sdaв зависимост от вашия хардуер. MBR съдържа също информация за GRUB или LILO в много стари системи.

3. GRUB

Понякога наричан GNU GRUB, което е съкратено от GNU GRand Unified Bootloader, е типичният boot loader за повечето съвременни Linux системи.

Началният екран GRUB често е първото нещо, което виждате, когато стартирате компютъра си. Има просто меню, където можете да изберете някои опции. Ако имате инсталирани множество изображения на ядрото, можете да използвате клавиатурата, за да изберете тази, с която искате да стартира системата ви. По подразбиране е избрано най-новото изображение на ядрото.

Началният екран ще изчака няколко секунди, докато изберете и опция. Ако не го направите, той ще зареди изображението на ядрото по подразбиране.

В много системи можете да намерите конфигурационния файл GRUB на /boot/grub/grub.confили /etc/grub.conf. Ето пример за прост grub.confфайл:

#boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.18-194.el5PAE) root (hd0,0) kernel /boot/vmlinuz-2.6.18-194.el5PAE ro root=LABEL=/ initrd /boot/initrd-2.6.18-194.el5PAE.img

4. Ядро

Ядрото често се нарича ядро ​​на всяка операционна система, включително Linux. Той има пълен контрол над всичко във вашата система.

На този етап от процеса на зареждане ядрото, избрано от GRUB, първо монтира кореновата файлова система, посочена във grub.confфайла. След това изпълнява /sbin/initпрограмата, която винаги е първата програма, която се изпълнява. Можете да потвърдите това с идентификатора на процеса (PID), който винаги трябва да бъде 1.

След това ядрото създава временна коренова файлова система, като използва Initial RAM Disk (initrd), докато се монтира реалната файлова система.

5. Иницииране

На този етап вашата система изпълнява програми на ниво изпълнение. В един момент той ще търси init файл, който обикновено се намира в, за /etc/inittabда реши нивото на изпълнение на Linux.

Съвременните Linux системи използват systemmd, за да изберат ниво на изпълнение вместо това. Според TecMint това са наличните нива на изпълнение:

Ниво на изпълнение 0 се съчетава с poweroff.targetrunlevel0.target е символична връзка към poweroff.target ).

Изпълнението на ниво 1 съответства на rescue.targetrunlevel1.target е символична връзка към rescue.target ).

Ниво на изпълнение 3 се емулира от multi-user.targetrunlevel3.target е символична връзка към multi-user.target ).

Ниво на изпълнение 5 се емулира от graphical.targetrunlevel5.target е символична връзка към graphical.target ).

Ниво на изпълнение 6 се емулира от reboot.targetrunlevel6.target е символична връзка към reboot.target ).

Аварийността се съчетава с urgent.target .

След това systemmd ще започне да изпълнява програми на ниво ниво.

6. Програми на ниво ниво

В зависимост от това коя Linux дистрибуция сте инсталирали, може да видите различни услуги, които започват. Например, може да хванете starting sendmail …. OK.

Те са известни като програми на ниво изпълнение и се изпълняват от различни директории в зависимост от нивото ви на изпълнение. Всяко от 6-те нива на изпълнение, описани по-горе, има своя собствена директория:

  • Изпълнете ниво 0 - /etc/rc0.d/
  • Изпълнете ниво 1 - /etc/rc1.d/
  • Изпълнете ниво 2 - /etc/rc2.d/
  • Изпълнете ниво 3 - /etc/rc3.d/
  • Изпълнете ниво 4 - /etc/rc4.d/
  • Изпълнете ниво 5 - /etc/rc5.d/
  • Изпълнете ниво 6 - /etc/rc6.d/

Имайте предвид, че точното местоположение на тези директории варира от разпространение до разпространение.

Ако погледнете в различните директории на ниво изпълнение, ще намерите програми, които стартират съответно с „S“ или „K“ за стартиране и убиване. Стартиращите програми се изпълняват по време на стартиране на системата и убиват програми по време на изключване.

Това е всичко, което трябва да знаете за процеса на зареждане на Linux. Сега излезте там и направете Tux горд.