新聞中心
Linux作為一種開(kāi)源的操作系統(tǒng),被廣泛應(yīng)用于服務(wù)器、超級(jí)計(jì)算機(jī)、移動(dòng)設(shè)備以及嵌入式系統(tǒng)等領(lǐng)域。作為一名Linux使用者,了解Linux的啟動(dòng)過(guò)程和系統(tǒng)架構(gòu),對(duì)于進(jìn)行系統(tǒng)維護(hù)、故障排除和性能優(yōu)化都有著重要的意義。本文將從兩個(gè)方面來(lái)探討Linux的啟動(dòng)過(guò)程和系統(tǒng)架構(gòu)。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),烈山企業(yè)網(wǎng)站建設(shè),烈山品牌網(wǎng)站建設(shè),網(wǎng)站定制,烈山網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,烈山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M(mǎn)足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
一、Linux的啟動(dòng)過(guò)程
Linux的啟動(dòng)過(guò)程可以分為五個(gè)階段:BIOS、Boot Loader、Kernel Initialization、User Space Initialization和User Space Execution。
1. BIOS
當(dāng)計(jì)算機(jī)開(kāi)機(jī)后,BIOS程序首先被加載。BIOS程序負(fù)責(zé)進(jìn)行初步的硬件檢測(cè)和配置,同時(shí)讀取存儲(chǔ)設(shè)備上的引導(dǎo)扇區(qū)。
2. Boot Loader
引導(dǎo)扇區(qū)中包含了Boot Loader程序。Boot Loader可以是GRUB、LILO或者其他引導(dǎo)程序。
GRUB是最常見(jiàn)的Boot Loader,在啟動(dòng)過(guò)程中會(huì)顯示出一個(gè)菜單,列舉出所有可以啟動(dòng)的操作系統(tǒng)。用戶(hù)可以選擇需要啟動(dòng)的系統(tǒng)。
LILO是較早的Boot Loader,采用文本界面顯示啟動(dòng)項(xiàng)。
3. Kernel Initialization
當(dāng)Boot Loader將系統(tǒng)控制權(quán)交給內(nèi)核時(shí),內(nèi)核開(kāi)始運(yùn)行。內(nèi)核首先會(huì)進(jìn)行初始化,加載內(nèi)核模塊、初始化設(shè)備、建立虛擬內(nèi)存映射表、初始化進(jìn)程等。此時(shí),內(nèi)核還未進(jìn)入用戶(hù)空間,關(guān)閉了所有虛擬終端。
4. User Space Initialization
在內(nèi)核初始化完成后,觸發(fā)init程序進(jìn)程。init程序的主要作用是啟動(dòng)各個(gè)系統(tǒng)服務(wù),初始化系統(tǒng)進(jìn)程。在這一階段,操作系統(tǒng)已經(jīng)可以響應(yīng)用戶(hù)輸入。同時(shí),也可以通過(guò)登錄方式進(jìn)入系統(tǒng)。
5. User Space Execution
用戶(hù)空間中運(yùn)行著各種進(jìn)程,如X Window、GNOME和KDE等用戶(hù)界面程序。在這個(gè)階段,用戶(hù)可以通過(guò)各種方式與系統(tǒng)進(jìn)行交互。
二、Linux的系統(tǒng)架構(gòu)
Linux系統(tǒng)采用一種分層的設(shè)計(jì)方式,以保證系統(tǒng)各模塊之間的松耦合。
1. 硬件層
硬件層主要包括計(jì)算機(jī)硬件,如CPU、內(nèi)存、硬盤(pán)、網(wǎng)卡、顯卡等。
2. 內(nèi)核層
內(nèi)核是操作系統(tǒng)的核心部分,其負(fù)責(zé)管理硬件、提供系統(tǒng)服務(wù)、調(diào)度進(jìn)程和資源等等。內(nèi)核又分為兩個(gè)層次:
系統(tǒng)調(diào)用界面層:提供了一組系統(tǒng)調(diào)用接口,用戶(hù)程序可以通過(guò)這些接口來(lái)調(diào)用系統(tǒng)服務(wù)。
內(nèi)核服務(wù)層:大部分內(nèi)核服務(wù)都運(yùn)行在這一層中。這些服務(wù)包括對(duì)文件系統(tǒng)、網(wǎng)絡(luò)、內(nèi)存管理等等的處理。
3. 應(yīng)用層
應(yīng)用層就是用戶(hù)之間接口,它包含了大多數(shù)的用戶(hù)應(yīng)用程序,如文本編輯器、瀏覽器、音樂(lè)播放器等等。
以上就是Linux的啟動(dòng)過(guò)程和系統(tǒng)架構(gòu)的介紹。了解這些知識(shí),有助于我們更好地了解Linux操作系統(tǒng)的運(yùn)行機(jī)制,提高系統(tǒng)維護(hù)、故障排除和性能優(yōu)化的能力。
相關(guān)問(wèn)題拓展閱讀:
- 資深Linux運(yùn)維工程師必須掌握的核心命令
資深Linux運(yùn)維工程師必須掌握的核心命令
查看CPU信息可以使用lscpu命令
從命令的輸出結(jié)果可以看得出來(lái)CPU的型號(hào)是 Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz,穗蔽裂CPU(s)是4表示同時(shí)可以執(zhí)行四個(gè)任務(wù)。
如果想要同時(shí)執(zhí)行更多的任務(wù),可以在VMware WorkStation中修改,修改完成以后會(huì)立即生效。
除了lscpu以外,還可以使用cat /proc/cpuinfo命令查看CPU信息,不過(guò)它是以每核分開(kāi)顯示的。
使用free或者是cat /proc/meminfo可以查看當(dāng)前系統(tǒng)的內(nèi)存信息,包括總內(nèi)存、已經(jīng)使用內(nèi)存以及可用內(nèi)存信息
Linux和Windows不同的是Linux的圖形界面只是它的一個(gè)程序,而不是必備組件。我們之前安裝CentOS8.4選擇的Server With GUI包含GNOME桌面的圖形環(huán)境,我們可以使用init 3命令關(guān)閉圖形,CentOS8會(huì)出現(xiàn)一個(gè)字符登錄界面。
然后再使用free -h觀察已經(jīng)使用的內(nèi)存只有334M,相比圖形界面的730M 減少了接近400M內(nèi)存,為了節(jié)省內(nèi)存,生產(chǎn)環(huán)境一般不會(huì)安裝和使用圖形界面。
想要再切回圖形界面使用init 5命令即可。
還可以使用runlevel命令查看當(dāng)前系統(tǒng)運(yùn)行的模式,其中輸出結(jié)果的3表示之前是字符界面,5表示當(dāng)前系統(tǒng)運(yùn)行的是圖形界面
使用llk命令可以查看磁盤(pán)信息,包括有幾塊磁盤(pán)以及每塊磁盤(pán)的分區(qū)、容量信息
通過(guò)命令的執(zhí)行結(jié)果可以得知目前CentOS8系統(tǒng)上有三塊磁盤(pán),分別是sda,sdb,sdc,其中sdb和sdc沒(méi)有分區(qū),
而sda磁盤(pán)是在安裝系猜閉統(tǒng)時(shí)創(chuàng)建了四個(gè)分區(qū),具體信息如下表格所示
除此以外還可以使用 cat /proc/partitions命令查看磁盤(pán)信息,從命令的執(zhí)行結(jié)果可以看出容量還是以KB為單位。
通過(guò)arch命令可以查看當(dāng)前系統(tǒng)架構(gòu)為x86_64,這也是目前主流的系統(tǒng)架構(gòu)。
不同的Linux發(fā)行版使用的Linux內(nèi)核版本不同,通過(guò)uname -r可以查看Linux系統(tǒng)的內(nèi)核版本
通過(guò) cat /etc/os-release 命令或者是l_release -a命令可以查看操作系統(tǒng)的版本,后期在開(kāi)發(fā)程序時(shí)不同的操作系統(tǒng)版本需要做不同的處理。
查看Ubuntu Server的版本
查看CentOS8的版本
CentOS還可以使用 cat /etc/redhat-release版本
Linux中的時(shí)間有系統(tǒng)時(shí)間和硬件時(shí)間兩種
date和clock可以使用分號(hào)隔開(kāi)后同時(shí)執(zhí)行看系統(tǒng)時(shí)間和硬件時(shí)間
目前我的系統(tǒng)時(shí)間和硬件時(shí)間相差了18秒
如果硬件時(shí)間是準(zhǔn)確的,那么就通過(guò)命令clock -s以硬件時(shí)間為準(zhǔn),同步校正系統(tǒng)時(shí)間。
如果系統(tǒng)時(shí)間是準(zhǔn)確的,那么通過(guò)clock -w命令以系統(tǒng)時(shí)并談間為準(zhǔn),同步校正硬件時(shí)間
不同的國(guó)家在同一時(shí)刻所處的時(shí)間是不同的,因?yàn)闀r(shí)區(qū)不同。
例如中國(guó)就是東八區(qū),東八區(qū)和格林威治的時(shí)區(qū)相比相差8個(gè)小時(shí)(也就是比北京時(shí)間慢了8個(gè)小時(shí)),之前在安裝操作系統(tǒng)的時(shí)候設(shè)置的時(shí)區(qū)就是Asia/Shanghai,,通過(guò)timedatectl status查看當(dāng)前時(shí)間狀態(tài),其中 Universal time就是格林威治時(shí)間,而Local Time就是系統(tǒng)設(shè)置時(shí)區(qū)(Asia/Shanghai)的時(shí)間,它們兩者剛好相差了8個(gè)小時(shí)。 Time zone: Asia/Shanghai (CST, +0800) 表示當(dāng)前的時(shí)區(qū)是亞洲上海。
如果現(xiàn)在你去了法國(guó)巴黎,可以通過(guò)timectl set-timezone 設(shè)置時(shí)區(qū)為歐洲巴黎,當(dāng)修改時(shí)區(qū)后使用date命令查看系統(tǒng)時(shí)間顯示的就是當(dāng)前法國(guó)的巴黎時(shí)間,相比北京時(shí)間慢了6個(gè)小時(shí)。
修改時(shí)區(qū)最終影響的是 /etc/localtime文件
不過(guò)目前我在中國(guó),因此還是改回亞洲上海
timedatectl list-timezones可以查看所有時(shí)區(qū)
cal命令可以查看當(dāng)前月份的日歷,例如今天是2023年10月5號(hào)
查看指定月份的日歷
還可以查看指定年份的日歷
生產(chǎn)環(huán)境不能隨便關(guān)機(jī)和重啟!!! 因?yàn)榉?wù)器基本都是 7*24 對(duì)外提供服務(wù)
測(cè)試環(huán)境或者是本地虛擬機(jī)安裝的Linux服務(wù)器可以按需求關(guān)機(jī)或者重啟
關(guān)機(jī)可以使用halt或者poweroff命令
而shutdown可以實(shí)現(xiàn)關(guān)機(jī)或者重啟,shutdown -r表示重啟,即reboot,shutdown -h表示關(guān)機(jī),即halt。 -c表示取消關(guān)機(jī)或重啟。
除此以外shutdown 還可以指定時(shí)間來(lái)關(guān)機(jī)或重啟,默認(rèn)是1分鐘后執(zhí)行。
關(guān)機(jī)和重啟命令的常見(jiàn)用法
Linux下有nano和vim等文本編輯器,目前我們先使用nano來(lái)編輯文本。
如果系統(tǒng)上沒(méi)有安裝nano文本編輯器,那么在使用之前首先需要使用yum install -y nano命令來(lái)安裝nano文本編輯器
在使用nano進(jìn)行文本編輯時(shí),nano后面跟文件路徑即可打開(kāi)文件,然后可以直接修改文件,類(lèi)似于windows的記事本,修改完成后然后按Ctrl+x退出,接著按y保存修改,回車(chē)后退出nano。
然后使用nano /etc/motd來(lái)修改該文件,motd文件是用戶(hù)登錄之后提示的內(nèi)容
然后輸入Welcome to my class
之后按Ctrl+x退出nano編輯器,按y保存到文件匯中,然后按回車(chē)鍵確認(rèn)修改。
再重新登錄CentOS8.4
登錄成功之后就會(huì)看到/etc/motd文件內(nèi)容顯示在終端上
我這里準(zhǔn)備了一個(gè)motd文件,首先使用MobaXterm終端上傳到/etc目錄下覆蓋現(xiàn)有的motd文件,在使用MobaXterm終端登錄CentOS8.4-1后,首先將SSH Broswer的路徑切換到/etc目錄下
然后點(diǎn)擊上傳文件的按鈕
選擇提前準(zhǔn)備好的motd文件上傳到/etc目錄下
然后再次重新登錄系統(tǒng)就會(huì)看到一個(gè)大佛
大家可以自行訪(fǎng)問(wèn)
在線(xiàn)生成ASCII(圖)藝術(shù)字,然后將內(nèi)容復(fù)制到motd文件即可。
當(dāng)我們登錄Linux打開(kāi)一個(gè)終端窗口,然后輸入命令,用戶(hù)與計(jì)算機(jī)的這種臨時(shí)交互被稱(chēng)為一次會(huì)話(huà)(Session)、會(huì)話(huà)的一個(gè)重要的特點(diǎn)就是窗口與其中啟動(dòng)的進(jìn)程是連接在一起的,打開(kāi)窗口則會(huì)話(huà)開(kāi)始,關(guān)閉窗口則會(huì)話(huà)結(jié)束,而且會(huì)話(huà)內(nèi)部的進(jìn)程也會(huì)隨之而終止,不管有沒(méi)有運(yùn)行完成。
這里舉一個(gè)例子,我們首先使用XShell遠(yuǎn)程登錄CentOS8.4-1,然后使用ping 10.0.0.103命令檢測(cè)是否能夠連接10.0.0.103,也就是Ubuntu Server 20.04.3-1那臺(tái)機(jī)器
命令執(zhí)行的結(jié)果顯示能夠連接,而且只要你不關(guān)閉窗口會(huì)一直顯示收到數(shù)據(jù)以及耗時(shí)。
然后我們復(fù)制一個(gè)會(huì)話(huà)
然后使用ps aux|grep ping 查看ping的進(jìn)程信息,因?yàn)闆](méi)有關(guān)閉會(huì)話(huà)窗口所以進(jìn)程還在
當(dāng)我們關(guān)閉之前開(kāi)啟的會(huì)話(huà)窗口之后
再次使用ps aux|grep ping查看進(jìn)程會(huì)發(fā)現(xiàn)ping進(jìn)程不存在了
為了解決上述的問(wèn)題,我們就可以將會(huì)話(huà)與窗口解綁,也就是窗口關(guān)閉時(shí)會(huì)話(huà)并不會(huì)終止,而是繼續(xù)運(yùn)行,等到以后需要的時(shí)候,再讓會(huì)話(huà)綁定其他窗口。
而終端復(fù)用器程序(例如screen,tmux)就是將會(huì)話(huà)與窗口的解綁工具,將它們徹底分離。
首次運(yùn)行screen時(shí)會(huì)發(fā)現(xiàn)Shell提示command not found
我們需要使用yum install -y screen 來(lái)安裝screen,但是執(zhí)行之后發(fā)現(xiàn)提示錯(cuò)誤:: Unable to find a match: screen
Centos8安裝screen需要使用epel來(lái)安裝,安裝epel后,再安裝screen,解決centos8無(wú)法安裝screen的問(wèn)題
然后再執(zhí)行yum install -y screen 便可安裝成功
Screen安裝成功
在安裝完screen后就可以使用了,首先在終端輸入screen,然后你就會(huì)看到屏幕好像是刷新了一下,本質(zhì)就是一個(gè)會(huì)話(huà)
然后再次運(yùn)行ping 10.0.0.103
由于開(kāi)啟了screen,即使關(guān)閉了所有的會(huì)話(huà)窗口,你會(huì)發(fā)現(xiàn)使用ps aux |grep ping 命令查看ping命令的進(jìn)程也還在。
如果后期在做運(yùn)維工作,有些命令很耗時(shí)又怕誤操作關(guān)閉會(huì)話(huà)導(dǎo)致命令的進(jìn)程關(guān)閉就可以使用screen。
screen除了創(chuàng)建會(huì)話(huà),能讓命令關(guān)閉窗口后繼續(xù)在后臺(tái)執(zhí)行的功能以外,還能夠?qū)崿F(xiàn)遠(yuǎn)程桌面共享,從而實(shí)現(xiàn)遠(yuǎn)程協(xié)助的功能。
實(shí)現(xiàn)該功能必須滿(mǎn)足兩個(gè)條件,兩個(gè)用戶(hù)必須使用同一個(gè)賬號(hào)登錄同一臺(tái)機(jī)器。
例如這里小紅和小明同時(shí)使用root賬號(hào)登錄了CentOS8.4,其中左邊的窗口是小紅,右邊的窗口是小明
然后小紅使用screen -S help開(kāi)啟一個(gè)遠(yuǎn)程會(huì)話(huà),會(huì)話(huà)的名稱(chēng)叫help
然后小明使用screen -x help加入小紅開(kāi)啟的會(huì)話(huà)
此時(shí)小明可以看到小紅窗口的內(nèi)容
當(dāng)小明解決小紅的問(wèn)題后,可以使用ctrl a,d退出當(dāng)前會(huì)話(huà)
如果小明不知道小紅的會(huì)話(huà)名稱(chēng),可以使用screen -ls獲取當(dāng)前會(huì)話(huà)
echo就是用于輸出信息
echo輸出固定字符串
echo輸出變量值
echo輸出轉(zhuǎn)義字符
echo 默認(rèn)可以實(shí)現(xiàn)換行
echo輸出信息還可以帶顏色
echo還可以清除屏幕,等價(jià)于clear命令或者是快捷鍵Ctrl+l
關(guān)于linux啟動(dòng)和系統(tǒng)架構(gòu)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都創(chuàng)新互聯(lián)科技有限公司,是一家專(zhuān)注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開(kāi)發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶(hù)提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡(jiǎn)單好用,價(jià)格厚道的香港/美國(guó)云服務(wù)器和獨(dú)立服務(wù)器。創(chuàng)新互聯(lián)成都老牌IDC服務(wù)商,專(zhuān)注四川成都IDC機(jī)房服務(wù)器托管/機(jī)柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機(jī)房租用、服務(wù)器托管、機(jī)柜租賃、大帶寬租用,可選線(xiàn)路電信、移動(dòng)、聯(lián)通等。
文章名稱(chēng):深入探討Linux的啟動(dòng)過(guò)程和系統(tǒng)架構(gòu)(linux啟動(dòng)和系統(tǒng)架構(gòu))
網(wǎng)頁(yè)路徑:http://m.fisionsoft.com.cn/article/ccoospi.html


咨詢(xún)
建站咨詢(xún)
