Rumah >Tutorial sistem >LINUX >Analisis proses but permulaan sistem Linux

Analisis proses but permulaan sistem Linux

PHPz
PHPzke hadapan
2024-02-13 11:18:141176semak imbas

Sistem Linux ialah sistem pengendalian sumber terbuka yang digunakan secara meluas dengan fungsi berkuasa dan konfigurasi yang fleksibel. Namun, pernahkah anda terfikir tentang bagaimana sistem Linux secara beransur-ansur bermula dari kegelapan apabila anda menekan butang kuasa? Proses but permulaan sistem Linux ialah proses yang rumit dan rumit, yang melibatkan pelbagai peringkat dan komponen seperti perkakasan, perisian tegar, pemuat but, kernel dan ruang pengguna. Artikel ini akan menganalisis secara terperinci proses but permulaan sistem Linux, termasuk BIOS, MBR, GRUB, initrd, init, dll.

Yang berikut mengambil versi CentOS5.5 sebagai contoh untuk memperkenalkan proses but LINUX Proses khusus adalah seperti berikut:

Analisis proses but permulaan sistem Linux

Setiap langkah diperkenalkan secara terperinci di bawah:

1) Langkah pertama ialah ujian kendiri perisian tegar, yang terutamanya menjalankan ujian kendiri kuasa CMOS/BIOS POST pada perkakasan untuk memeriksa sama ada perkakasan itu normal pada tahap fizikal. Contohnya, semak sama ada cakera keras dipasang dengan betul, dsb.
2) Langkah kedua ialah membaca BootLoader MBR dalam cakera keras dan program permulaan kendiri yang biasa digunakan di bawah Linux ialah GRUB. Fungsi utama langkah ini adalah untuk memuatkan kernel. Kernel disimpan dalam direktori /boot
3) Langkah ketiga ialah proses memuatkan kernel,
Fungsi utama ialah: 1. Perkakasan Drive mengandungi sejumlah besar pemacu. 2. Mulakan proses init.
4) Proses init terutamanya membaca fail /etc/inittab dan melaksanakan tahap larian lalai untuk meneruskan but. Perlu diingatkan bahawa PID init sentiasa 1, yang merupakan proses induk bagi semua proses, manakala proses latar belakang proses init ialah 0, iaitu penjadual kernel.
5)/etc/inittab mentakrifkan operasi pemula.
Analisis proses but permulaan sistem Linux

Format utama arahan ialah: id: runlevels: action: process
Antaranya seperti yang ditunjukkan dalam kotak merah dalam gambar di atas
1. Terdapat 7 peringkat larian, 0-6 adalah seperti berikut:
0 —— hentikan penutupan
1——Mod pengguna tunggal Mod pengguna tunggal
2 - Berbilang pengguna, tanpa mod berbilang pengguna NFS tetapi tanpa rangkaian (mod teks)
3——Mod berbilang pengguna penuh Mod berbilang pengguna berciri penuh (mod teks)
4——terpelihara yang tidak digunakan
5——Mod berbilang pengguna grafik X11
6——but semula
Anda boleh bertukar mengikut 7 tahap berjalan ini
Perintahnya ialah: lihat tahap larian semasa #runlevel, tukar tahap larian #init[0 |1 |2 |3 |4 |5 |6]

2 Terdapat juga beberapa nilai penting dalam acion:

1 initdefault: Menentukan tahap permulaan permulaan sistem, seperti yang ditandakan dalam gambar di atas Ia biasanya digunakan untuk pembaikan Contohnya, jika kita ingin memasuki mod pengguna tunggal, kita boleh menetapkannya kepada 1. Kita tidak boleh tetapkan lalai kepada 0 atau 6, jika tidak, ia tidak akan berfungsi.

2sysinit: Sistem mula melaksanakan arahan yang dinyatakan dalam proses
Analisis proses but permulaan sistem Linux

Ia boleh dilihat daripada kandungan fail inittab bahawa tiada tahap larian ditetapkan, yang bermaksud tidak kira tahap larian mana pun, /etc/rc.d/rc.sysinit akan dilaksanakan

6) initdefault, seperti yang dinyatakan dalam langkah 5, terutamanya membaca maklumat dalam /etc/inittab untuk menentukan tahap larian lalai.
7)/etc/rc.d/rc.sysinit
Jalankan ke baris 21 dalam fail inittab untuk memulakan skrip ini. Lengkapkan permulaan program perkhidmatan sistem, seperti menetapkan pembolehubah persekitaran sistem, menetapkan jam sistem, memuatkan fon, menyemak sistem fail yang dimuatkan, menjana fail log maklumat permulaan sistem, dsb. Kerana ia adalah perkhidmatan asas, tahap lariannya ditetapkan kepada kosong: iaitu, mana-mana peringkat, dan tindakan ditetapkan kepada sysinit. Iaitu, skrip mesti dimulakan pada mana-mana peringkat larian untuk melengkapkan permulaan perkhidmatan asas
8) Selepas perkhidmatan asas dimulakan, skrip /etc/rc.d/rc akan dilaksanakan
Selepas memuatkan perkhidmatan asas, anda perlu memulakan direktori yang sepadan mengikut tahap berjalan yang berbeza Prinsip kerjanya adalah untuk terlebih dahulu menentukan tahap larian sistem, iaitu apa yang terdapat dalam langkah 6, dan kemudian melaksanakan rcN yang sepadan skrip permulaan perkhidmatan dalam direktori d adalah seperti yang ditunjukkan dalam rajah
Analisis proses but permulaan sistem Linux

9) Jalankan skrip permulaan perkhidmatan dalam direktori /etc/rc.d/rcN.d

Lihat kandungan direktori ini:
Analisis proses but permulaan sistem Linux

di mana S mewakili skrip yang akan dimulakan, dan K mewakili skrip yang akan ditutup
Angka tersebut menunjukkan urutan permulaan, dengan nilai yang lebih kecil diberi keutamaan Terutamanya untuk pengurusan beberapa perkhidmatan
Dalam langkah ini, anda perlu menerangkan direktori /etc/rc.d/init.d Skrip yang diletakkan dalam direktori ini adalah skrip sebenar, manakala skrip yang diletakkan dalam rcN.d ialah pautan lembut dalam direktori init.d kata lain, semua fail dalam rcN.d akhirnya perlu mencari skrip sebenar dalam init.d
Lihat butiran khusus:
Analisis proses but permulaan sistem Linux

Analisis proses but permulaan sistem Linux

Selepas melaksanakan langkah ini, antara muka akan meminta anda memasukkan nama pengguna dan kata laluan, yang bermaksud bahawa sistem telah bermula Proses memasukkan nama pengguna dan kata laluan akan dibincangkan kemudian

Perkara terakhir yang perlu diberi perhatian ialah idea proses but LINUX adalah lebih kurang sama, tetapi butirannya berbeza dalam nama atau lokasi fail konfigurasi kerana masalah versi versi, tetapi versi Ubuntu tidak mempunyai fail inittab dan fail grup.conf, jadi jika anda berminat, anda boleh mengikuti idea ini untuk meneroka.

PS: Mengenai GRUB

GNU GRUB (pendek kata "GRUB") ialah pemuat but daripada projek GNU. GRUB ialah pelaksanaan spesifikasi berbilang but, yang membolehkan pengguna mempunyai berbilang sistem pengendalian dalam komputer pada masa yang sama dan memilih sistem pengendalian yang mereka mahu jalankan apabila komputer dimulakan. GRUB boleh digunakan untuk memilih kernel yang berbeza pada partition sistem pengendalian dan juga boleh digunakan untuk menghantar parameter but kepada kernel ini.

Pendahulu GNU GRUB ialah Grand Unified Bootloader. Ia digunakan terutamanya dalam sistem seperti Unix seperti kebanyakan pengedaran Linux, sistem GNU juga menggunakan GNU GRUB sebagai pelancarnya. Bermula dari versi 10 1/06, Solaris juga menggunakan GNU GRUB sebagai pelancar pada sistem x86.

GRUB boleh dikonfigurasikan secara dinamik; ia memuatkan maklumat konfigurasi semasa permulaan dan membenarkan pengubahsuaian semasa permulaan, seperti memilih kernel dan initrd yang berbeza. Untuk tujuan ini, GRUB menyediakan antara muka baris arahan seperti Bash yang mudah, yang membolehkan pengguna menulis urutan permulaan baharu.

GRUB sangat ringan. Ia menyokong pelbagai format boleh laku; selain boleh digunakan untuk sistem pengendalian yang menyokong berbilang but, ia juga menyokong sistem pengendalian seperti Windows dan OS/2 yang tidak menyokong berbilang but melalui fungsi but rantai. GRUB menyokong semua sistem fail Unix, serta sistem fail FAT dan NTFS untuk Windows, dan juga menyokong mod LBA. GRUB membenarkan pengguna melihat kandungan fail dalam sistem fail yang disokongnya.

GRUB mempunyai pelbagai antara muka pengguna. Kebanyakan pengedaran Linux mengambil kesempatan daripada sokongan GRUB untuk antara muka grafik untuk menyediakan menu but tersuai dengan corak latar belakang, dan kadangkala turut menyokong tetikus. Dengan menetapkan antara muka teks GRUB, permulaan terminal jauh boleh dicapai melalui port bersiri.

GRUB boleh memuat turun imej sistem pengendalian daripada Internet, jadi ia boleh menyokong sistem tanpa cakera. GRUB menyokong penyahmampatan imej sistem pengendalian sebelum butnya.

Tidak seperti pelancar lain, GRUB boleh berinteraksi dengan pengguna secara langsung melalui gesaan GRUB. Sebelum memuatkan sistem pengendalian, taip kekunci c dalam skrin mod teks GRUB untuk memasuki baris arahan GRUB. Pada sistem tanpa sistem pengendalian atau dengan sistem pengendalian tetapi tiada fail "menu.lst", anda juga boleh memasukkan gesaan GRUB. Gesaan GRUB membolehkan pengguna untuk boot mana-mana sistem pengendalian secara manual melalui arahan seperti bash. Rekod arahan yang sesuai dalam fail "menu.lst" untuk memulakan sistem pengendalian secara automatik.

GRUB mempunyai banyak perintah terminal Menggunakan arahan ini daripada baris arahan, pengguna boleh melihat butiran partition cakera keras, mengubah suai tetapan partition, memetakan semula susunan cakera buat sementara waktu, but daripada mana-mana fail konfigurasi yang ditentukan pengguna dan melihat fail yang disokong oleh Konfigurasi GRUB. pelancar lain pada sistem. Oleh itu, adalah mungkin untuk boot sistem pengendalian dari peranti luaran tanpa mengetahui apa yang dipasang pada komputer.

GRUB menggunakan skrin tatal untuk memilih sistem pengendalian yang anda mahu mulakan. Dengan menambahkan maklumat yang berkaitan pada fail "menu.lst", GRUB boleh mengawal 150 atau lebih pilihan permulaan, yang boleh dipilih dengan kekunci anak panah semasa permulaan.

Dengan but rantai, satu pelancar boleh memulakan pelancar lain. GRUB boleh dimulakan daripada sistem DOS, Windows, Linux, BSD dan Solaris dengan 2 hingga 3 baris arahan.

Walaupun GRUB disusun dan dibungkus untuk sistem seperti Unix, terdapat juga GRUB untuk DOS dan Windows. GRUB juga boleh dipasang sebagai sistem terpencil tanpa sebarang sistem pengendalian. Menggunakan GRUB memerlukan 1 fail semasa but daripada CD dan 2 fail apabila but daripada cakera liut, cakera keras dan peranti USB. Fail ini boleh didapati pada mana-mana CD Linux yang menyokong GRUB, dan pengguna boleh mencarinya dengan mudah.

Artikel ini menganalisis secara terperinci proses but permulaan sistem Linux, termasuk BIOS, MBR, GRUB, initrd, init, dsb. Dengan memahami dan menguasai pengetahuan ini, kita boleh lebih memahami cara kerja dalaman sistem Linux, dan dengan itu menggunakan dan mengoptimumkan sistem Linux dengan lebih baik. Sudah tentu, terdapat banyak butiran dan perubahan dalam proses but permulaan sistem Linux, yang memerlukan kami untuk terus belajar dan meneroka.

Atas ialah kandungan terperinci Analisis proses but permulaan sistem Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:lxlinux.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam