女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux系統(tǒng)運(yùn)行等級(jí)

xCb1_yikoulinux ? 來(lái)源:一口Linux ? 作者:一口Linux ? 2022-08-14 09:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

如果有一天你們公司很重要的一臺(tái)Linux服務(wù)器突然啟動(dòng)不了了,重裝系統(tǒng)又浪費(fèi)時(shí)間,如果是啟動(dòng)過(guò)程有問(wèn)題,那么你知道啟動(dòng)過(guò)程可以快速定位系統(tǒng)問(wèn)題,很快就可以解決。

1. 上電加載BIOS

8866a12e-1b64-11ed-ba43-dac502259ad0.png

首先肯定是上電,當(dāng)按下計(jì)算機(jī)的電源,計(jì)算機(jī)就會(huì)首先加載BIOS系統(tǒng),BIOS(Basic Input Output System)是基本輸入輸出系統(tǒng),主要就是進(jìn)行硬件檢測(cè),檢測(cè)硬件能否滿足運(yùn)行的基本條件,叫做“硬件自檢(Power-OnSelf-Test)”,簡(jiǎn)稱POST,所以,計(jì)算機(jī)要順利啟動(dòng),就需要首先加載BIOS信息,在計(jì)算機(jī)還沒(méi)加載操作系統(tǒng)的時(shí)候控制計(jì)算機(jī)。

BIOS程序一般被存放在主板ROM(只讀存儲(chǔ)芯片)中,即使關(guān)機(jī)或掉電,該程序也不會(huì)丟失。

2. 加載MBR到內(nèi)存

888077ac-1b64-11ed-ba43-dac502259ad0.png

BIOS程序的最后,將會(huì)指向計(jì)算機(jī)硬盤(pán)的MBR(Master Boot Record)主引導(dǎo)扇區(qū),就是啟動(dòng)盤(pán)的第一個(gè)扇區(qū),硬盤(pán)上的MBR包含基本的Boot Loader(446字節(jié))和一個(gè)小的分區(qū)表(64字節(jié))及分隔標(biāo)識(shí)(2字節(jié)),它是一個(gè)512字節(jié)大小的扇區(qū)。

系統(tǒng)讀取到BIOS所指向的硬盤(pán)的MBR后,就會(huì)將其load到內(nèi)存(RAM)中,然后BIOS就會(huì)將控制權(quán)轉(zhuǎn)交給MBR。

3. GRUB引導(dǎo)

88992c70-1b64-11ed-ba43-dac502259ad0.png

在Linux資料中,被俗稱GRUB的就是Boot Loader,GRUB是GRand Unified Bootloader的縮寫(xiě),MBR的前446字節(jié)存放的就是GRUB程序的一部分,它是一個(gè)多重操作系統(tǒng)啟動(dòng)管理器,用來(lái)引導(dǎo)不同系統(tǒng),GRUB是目前Linux環(huán)境中最流行的啟動(dòng)管理器。

如果你的計(jì)算機(jī)上配置了雙操作系統(tǒng),使用者就是在GRUB中進(jìn)行選擇究竟啟動(dòng)哪個(gè)操作系統(tǒng)。

4. 加載內(nèi)核(Kernel)

88ade840-1b64-11ed-ba43-dac502259ad0.png

系統(tǒng)啟動(dòng)到這一步,首先會(huì)加載系統(tǒng)的KernelKernel是現(xiàn)代操作系統(tǒng)的核心,直接負(fù)責(zé)管理硬件。

5. 設(shè)定Inittab運(yùn)行等級(jí)

88c4d190-1b64-11ed-ba43-dac502259ad0.png

在內(nèi)核加載完畢后,會(huì)啟動(dòng)Linux操作系統(tǒng)第一個(gè)守護(hù)進(jìn)程init,這個(gè)進(jìn)程的PID是1,所有的進(jìn)程都是它的子進(jìn)程。

通過(guò)這個(gè)進(jìn)程讀取/etc/inittab文件,/etc/inittab文件的作用是設(shè)定Linux的運(yùn)行等級(jí),文件內(nèi)容大致如下:

#Defaultrunlevel.TherunlevelsusedbyRHSare:
#0-halt(DoNOTsetinitdefaulttothis)
#1-Singleusermode
#2-Multiuser,withoutNFS(Thesameas3,ifyoudonothavenetworking)
#3-Fullmultiusermode
#4-unused
#5-X11
#6-reboot(DoNOTsetinitdefaulttothis)
#
idinitdefault:

...

從文件內(nèi)容知道Linux系統(tǒng)運(yùn)行等級(jí)一共有7種:

0:關(guān)機(jī)模式,運(yùn)行等級(jí)為0,系統(tǒng)會(huì)立即關(guān)機(jī),在系統(tǒng)啟動(dòng)后可以利用這種等級(jí)對(duì)系統(tǒng)進(jìn)行關(guān)機(jī)操作,但是不允許將系統(tǒng)下次啟動(dòng)時(shí)的等級(jí)設(shè)定為0,否則系統(tǒng)將無(wú)法正常啟動(dòng)(啟動(dòng)后立即關(guān)機(jī))。

1:?jiǎn)斡脩裟J?,?lèi)似于windows系統(tǒng)下的安全模式,具有ROOT權(quán)限。

2:無(wú)網(wǎng)絡(luò)支持的多用戶模式,顧名思義就是支持多用戶登錄

3:字符界面多用戶模式,文本命令行界面,一般服務(wù)器都是此模式

4:保留,未使用模式

5:圖形界面多用戶模式,系統(tǒng)啟動(dòng)之后會(huì)進(jìn)入到圖形化桌面系統(tǒng)中

6:重新引導(dǎo)系統(tǒng),重啟模式,千萬(wàn)不要設(shè)置為6,和0相似。

/etc/inittab文件內(nèi)容中的設(shè)定的行:

id:3

表示啟動(dòng)的層級(jí)為3,即圖形界面多用戶模式。一般3和5比較常用,如果需要其它等級(jí),可以手動(dòng)修改這個(gè)值。

每一個(gè)運(yùn)行級(jí)別都在/etc目錄下有一個(gè)對(duì)應(yīng)的子目錄,可以指定每一個(gè)運(yùn)行級(jí)別需要加載哪些程序,rcN.d的字母d是directory的意思,表示這是一個(gè)目錄。

88cfe6d4-1b64-11ed-ba43-dac502259ad0.png

6. 加載rc.sysinit

88e2f9fe-1b64-11ed-ba43-dac502259ad0.png

讀取完運(yùn)行等級(jí)后,Linux系統(tǒng)就會(huì)運(yùn)行第一個(gè)用戶層進(jìn)程:/etc/rc.d/rc.sysinit,該進(jìn)程的功能是設(shè)定PATH變量、設(shè)定網(wǎng)絡(luò)配置、啟動(dòng)/swap分區(qū)、設(shè)定/proc、系統(tǒng)函數(shù)和Selinux等等。

7. 加載內(nèi)核模塊

88fc223a-1b64-11ed-ba43-dac502259ad0.png

完成上述流程后,會(huì)讀取/etc/modules.conf文件以及/etc/modules.c目錄下的文件來(lái)加載系統(tǒng)的內(nèi)核模塊。

8. 啟動(dòng)運(yùn)行級(jí)別程序

89155566-1b64-11ed-ba43-dac502259ad0.png

根據(jù)前面設(shè)定的運(yùn)行等級(jí),系統(tǒng)會(huì)執(zhí)行/etc/rc0.d/到/etc/rc6.d/中相應(yīng)的腳本程序,來(lái)完成相應(yīng)的初始化工作和啟動(dòng)相應(yīng)的服務(wù),都是一些服務(wù)程序。其中以S開(kāi)頭表示系統(tǒng)即將啟動(dòng)的程序,如果以K開(kāi)頭,則代表停止該服務(wù)。SK后緊跟的數(shù)字為啟動(dòng)順序編號(hào)。

89246e34-1b64-11ed-ba43-dac502259ad0.png

前面提到,每一個(gè)運(yùn)行級(jí)別都在/etc目錄下有一個(gè)對(duì)應(yīng)的子目錄,但是如果每一個(gè)運(yùn)行級(jí)別都要執(zhí)行同一個(gè)程序,那就要每一個(gè)子目錄里面都要拷貝一個(gè)這個(gè)程序進(jìn)去,那這樣就會(huì)有一個(gè)問(wèn)題:如果要修改一個(gè)程序,修改完豈不是每一個(gè)子目錄里面都要修改一遍或者都要重新拷貝一遍?

所以Linux的解決辦法就是每一個(gè)/etc/rcN.d目錄下的文件都設(shè)為鏈接文件,下圖中看到箭頭指向/etc/init.d目錄下的文件,所以實(shí)際執(zhí)行的是/etc/init.d目錄下的文件,只需要修改一次/etc/init.d目錄下的程序就搞定了。

89461aac-1b64-11ed-ba43-dac502259ad0.png

至于什么是鏈接文件,可以看之前寫(xiě)的徹底明白Linux硬鏈接和軟鏈接就可以明白。

9. 讀取rc.local文件

896c7512-1b64-11ed-ba43-dac502259ad0.png

啟動(dòng)完服務(wù)程序后,會(huì)讀取執(zhí)行/etc/rc.d/rc.local文件,我們可以對(duì)該文件設(shè)定一些關(guān)鍵核心業(yè)務(wù)開(kāi)機(jī)自啟,也就是Linux留給用戶進(jìn)行個(gè)性化的地方,你可以把你想要設(shè)置和啟動(dòng)的東西放到這里。

10. 執(zhí)行/bin/login

897cca16-1b64-11ed-ba43-dac502259ad0.png

到這里,Linux系統(tǒng)啟動(dòng)結(jié)束,最后執(zhí)行/bin/login程序,啟動(dòng)到系統(tǒng)登錄界面,等待用戶輸入用戶名和密碼,然后就可登錄到Shell終端。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11508

    瀏覽量

    213658
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    13

    文章

    9784

    瀏覽量

    87890
  • 存儲(chǔ)芯片
    +關(guān)注

    關(guān)注

    11

    文章

    933

    瀏覽量

    44125

原文標(biāo)題:一文讀懂 | Linux系統(tǒng)啟動(dòng)過(guò)程

文章出處:【微信號(hào):yikoulinux,微信公眾號(hào):一口Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何檢查Linux服務(wù)器的運(yùn)行時(shí)間

    Linux 中的 uptime 用于查看系統(tǒng)啟動(dòng)后的運(yùn)行時(shí)間。它是一個(gè)比較簡(jiǎn)單的 Linux 命令,可以不帶參數(shù)直接運(yùn)行。
    發(fā)表于 11-25 15:25 ?1.6w次閱讀
    如何檢查<b class='flag-5'>Linux</b>服務(wù)器的<b class='flag-5'>運(yùn)行</b>時(shí)間

    Linux中如何查看系統(tǒng)運(yùn)行信息

    Linux系統(tǒng)中,查看系統(tǒng)運(yùn)行狀態(tài)(或者故障排除),比如內(nèi)存或者CPU使用率的時(shí)候,可以使用top命令,它提供了系統(tǒng)
    發(fā)表于 11-25 16:37 ?4225次閱讀
    <b class='flag-5'>Linux</b>中如何查看<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>運(yùn)行</b>信息

    DSP有能運(yùn)行Linux系統(tǒng)的嗎

    DSP有能運(yùn)行Linux系統(tǒng)的嗎?
    發(fā)表于 01-09 21:28

    在ARM平臺(tái)上運(yùn)行Linux

    本文從安裝Boot Loader、內(nèi)核和文件系統(tǒng)映像開(kāi)始,描述在基于ARM的平臺(tái)上安裝和運(yùn)行Linux 的各個(gè)步驟。本文不是針對(duì)開(kāi)發(fā)或構(gòu)建Linux
    發(fā)表于 04-18 21:21 ?78次下載

    簡(jiǎn)單的放大器運(yùn)行Linux在Zynq SoC處理器的裸機(jī)系統(tǒng)

    Simple AMP Running Linux and Bare-metal System on Both Zynq SoC Processors,在Xilinx的FPGA上面運(yùn)行AMP雙系統(tǒng)
    發(fā)表于 01-06 11:34 ?22次下載

    ARM Linux系統(tǒng)開(kāi)機(jī)自動(dòng)運(yùn)行特定應(yīng)用方法的實(shí)驗(yàn)分析

    系統(tǒng)服務(wù)的命令保存在開(kāi)發(fā)板根文件系統(tǒng)的/usr/etc/rc.local文件中。有的開(kāi)發(fā)板開(kāi)機(jī)后自動(dòng)運(yùn)行圖形界面程序,需要按住ctrl+c讓開(kāi)發(fā)板進(jìn)入到linux的SHELL提示符界面
    發(fā)表于 10-25 10:04 ?3次下載

    Linux系統(tǒng)的fork運(yùn)行機(jī)制分析

    如果其中一個(gè)進(jìn)程的輸出結(jié)果是“pid1:1001, pid2:1002”,寫(xiě)出其他進(jìn)程的輸出結(jié)果(不考慮進(jìn)程執(zhí)行順序)。 明顯這道題的目的是考察linux下fork的執(zhí)行機(jī)制。下面我們通過(guò)分析這個(gè)題目,談?wù)?b class='flag-5'>Linux下fork的運(yùn)行
    發(fā)表于 04-26 16:26 ?1284次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>系統(tǒng)</b>的fork<b class='flag-5'>運(yùn)行</b>機(jī)制分析

    LINUX是什么?LINUX運(yùn)行所需的硬件/軟件

    LINUX會(huì)發(fā)展成為一個(gè)自給自足的系統(tǒng),現(xiàn)在需要Minix-386才能正常運(yùn)行。你需要Minix讓初始化啟動(dòng)文件系統(tǒng),和編譯OS二進(jìn)制。在那之后LI
    的頭像 發(fā)表于 07-11 15:32 ?6884次閱讀

    Win10 中如何運(yùn)行 Linux 發(fā)行版?

    Windows 的 Linux系統(tǒng) (WSL)能讓你在 Windows 中運(yùn)行 Linux。
    的頭像 發(fā)表于 08-11 10:22 ?3853次閱讀
    Win10 中如何<b class='flag-5'>運(yùn)行</b> <b class='flag-5'>Linux</b> 發(fā)行版?

    linux的程序如何運(yùn)行

     運(yùn)行linux程序有三種方法
    發(fā)表于 05-17 09:40 ?3649次閱讀
    <b class='flag-5'>linux</b>的程序如何<b class='flag-5'>運(yùn)行</b>

    Linux內(nèi)核的編譯與運(yùn)行

    本文檔的主要內(nèi)容詳細(xì)介紹的是Linux內(nèi)核的編譯與運(yùn)行免費(fèi)下載。
    發(fā)表于 03-25 13:48 ?16次下載

    什么是Linux運(yùn)行級(jí)別

    您可以將Linux運(yùn)行級(jí)別視為操作系統(tǒng)運(yùn)行的不同模式。這些模式或運(yùn)行級(jí)別中的每一個(gè)都有其打開(kāi)或關(guān)閉的進(jìn)程和服務(wù)。
    的頭像 發(fā)表于 12-14 17:44 ?1610次閱讀

    Linux內(nèi)核的編譯和運(yùn)行

    想讓Linux內(nèi)核代碼跑起來(lái),得先搭建編譯和運(yùn)行代碼的環(huán)境。
    發(fā)表于 06-23 11:56 ?1900次閱讀
    <b class='flag-5'>Linux</b>內(nèi)核的編譯和<b class='flag-5'>運(yùn)行</b>

    Linux內(nèi)核中如何修改printk等級(jí)

    printk等級(jí) 路徑: include/linux/kern_levels.h # define KERN_EMERG KERN_SOH "0" /* 最高輸出等級(jí)系統(tǒng)可能處于不可
    的頭像 發(fā)表于 09-27 15:56 ?2706次閱讀

    linux虛擬機(jī)怎么運(yùn)行代碼

    運(yùn)行代碼是Linux虛擬機(jī)中的常見(jiàn)操作,本文將詳細(xì)介紹如何運(yùn)行代碼。 首先,要運(yùn)行代碼,你需要先安裝好Linux虛擬機(jī),并確保能夠順利
    的頭像 發(fā)表于 11-17 10:12 ?5934次閱讀