日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

1. 前言

本文主要講解什么是linux內(nèi)核,以及通過多張圖片展示Linux內(nèi)核的作用與功能,以便于讀者能快速理解什么是Linux內(nèi)核,能看懂Linux內(nèi)核。

擁有超過1300萬行的代碼,Linux內(nèi)核是世界上最大的開源項(xiàng)目之一,但是內(nèi)核是什么,它用于什么?

一張圖看懂Linux內(nèi)核

一張圖看懂Linux內(nèi)核


一張圖看懂Linux內(nèi)核

Linux內(nèi)核是什么

2. 什么是內(nèi)核

內(nèi)核是與計(jì)算機(jī)硬件接口的易替換軟件的最低級(jí)別。它負(fù)責(zé)將所有以“用戶模式”運(yùn)行的應(yīng)用程序連接到物理硬件,并允許稱為服務(wù)器的進(jìn)程使用進(jìn)程間通信(IPC)彼此獲取信息。

3. 內(nèi)核還要分種類?

是的,沒錯(cuò)。

3.1 微內(nèi)核

微內(nèi)核只管理它必須管理的東西:CPU、內(nèi)存和IPC。計(jì)算機(jī)中幾乎所有的東西都可以被看作是一個(gè)附件,并且可以在用戶模式下處理。微內(nèi)核具有可移植性的優(yōu)勢(shì),因?yàn)橹灰僮飨到y(tǒng)仍然試圖以相同的方式訪問硬件,就不必?fù)?dān)心您是否更改了視頻卡,甚至是操作系統(tǒng)。微內(nèi)核對(duì)內(nèi)存和安裝空間的占用也非常小,而且它們往往更安全,因?yàn)橹挥刑囟ǖ倪M(jìn)程在用戶模式下運(yùn)行,而用戶模式不具有管理員模式的高權(quán)限。

一張圖看懂Linux內(nèi)核

微內(nèi)核

3.1.1 Pros

  • 可移植性
  • 安裝占用空間小
  • 小內(nèi)存占用
  • 安全

3.1.2 Cons

  • 通過驅(qū)動(dòng)程序,硬件更加抽象
  • 硬件可能反應(yīng)較慢,因?yàn)轵?qū)動(dòng)程序處于用戶模式
  • 進(jìn)程必須在隊(duì)列中等待才能獲得信息
  • 進(jìn)程不能在不等待的情況下訪問其他進(jìn)程

3.2 單內(nèi)核

單內(nèi)核與微內(nèi)核相反,因?yàn)樗鼈儾粌H包含CPU、內(nèi)存和IPC,而且還包含設(shè)備驅(qū)動(dòng)程序、文件系統(tǒng)管理和系統(tǒng)服務(wù)器調(diào)用等內(nèi)容。單內(nèi)核更擅長(zhǎng)于訪問硬件和多任務(wù)處理,因?yàn)槿绻粋€(gè)程序需要從內(nèi)存或運(yùn)行中的其他進(jìn)程中獲取信息,那么它就有一條更直接的線路來訪問信息,而不需要在隊(duì)列中等待來完成任務(wù)。但是,這可能會(huì)導(dǎo)致問題,因?yàn)樵诠芾砟J较逻\(yùn)行的東西越多,如果行為不正常,就會(huì)有越多的東西導(dǎo)致系統(tǒng)崩潰。

一張圖看懂Linux內(nèi)核

單內(nèi)核

3.2.1 Pros

  • 更直接地訪問程序的硬件
  • 流程之間更容易通信
  • 如果支持您的設(shè)備,它應(yīng)該不需要額外安裝就可以工作
  • 進(jìn)程反應(yīng)更快,因?yàn)闆]有等待處理器時(shí)間的隊(duì)列

3.2.2 Cons

  • 較大安裝體積
  • 較大內(nèi)存占用
  • 不太安全,因?yàn)樗胁僮鞫荚诠芾砟J较逻\(yùn)行
一張圖看懂Linux內(nèi)核

內(nèi)核對(duì)比monolithic_vs_microkernel

4. 混合的內(nèi)核

混合內(nèi)核能夠選擇在用戶模式下運(yùn)行什么,以及在管理模式下運(yùn)行什么。通常情況下,設(shè)備驅(qū)動(dòng)程序和文件系統(tǒng)I/O將在用戶模式下運(yùn)行,而IPC和服務(wù)器調(diào)用將保持在管理器模式下。這是兩全其美,但通常需要硬件制造商做更多的工作,因?yàn)樗序?qū)動(dòng)程序的責(zé)任都由他們來承擔(dān)。它還可能存在一些與微內(nèi)核固有的延遲問題。

一張圖看懂Linux內(nèi)核

混合的內(nèi)核

4.1 Pros

  • 開發(fā)人員可以選擇什么在用戶模式下運(yùn)行,什么在管理模式下運(yùn)行
  • 比單片內(nèi)核更小的安裝占用空間
  • 比其他型號(hào)更靈活

4.2 Cons

  • 會(huì)遭受與微內(nèi)核相同的進(jìn)程延遲
  • 設(shè)備驅(qū)動(dòng)程序需要由用戶管理(通常)

5. Linux內(nèi)核文件在哪里

Ubuntu中的內(nèi)核文件存儲(chǔ)在/boot文件夾中,稱為vmlinux -version。vmlinuz這個(gè)名字來自于unix世界,早在60年代,他們就把內(nèi)核簡(jiǎn)單地稱為“unix”,所以當(dāng)內(nèi)核在90年代首次開發(fā)時(shí),Linux就開始把內(nèi)核稱為“Linux”。

一張圖看懂Linux內(nèi)核

Linux內(nèi)核文件在哪里

當(dāng)開發(fā)虛擬內(nèi)存以便更容易地進(jìn)行多任務(wù)處理時(shí),將“vm”放在文件的前面,以顯示內(nèi)核支持虛擬內(nèi)存。有一段時(shí)間,Linux內(nèi)核被稱為vmlinux,但是內(nèi)核變得太大,無法裝入可用的引導(dǎo)內(nèi)存,因此壓縮了內(nèi)核映像,并將末尾的x更改為z,以顯示它是用zlib壓縮的。并不總是使用相同的壓縮,通常用LZMA或BZIP2替換,一些內(nèi)核簡(jiǎn)單地稱為zImage。

版本號(hào)將采用A.B.C.格式D在。B可能是2.6,C是您的版本,D表示您的補(bǔ)丁或補(bǔ)丁。

一張圖看懂Linux內(nèi)核

linux版本號(hào)

在/boot文件夾中還有其他非常重要的文件,稱為initrd.img-version、system.map-version, config-version。initrd文件用作一個(gè)小RAM磁盤,用于提取和執(zhí)行實(shí)際的內(nèi)核文件。這個(gè)系統(tǒng)。map文件用于內(nèi)核完全加載之前的內(nèi)存管理,配置文件告訴內(nèi)核在編譯內(nèi)核映像時(shí)要加載哪些選項(xiàng)和模塊。6. Linux內(nèi)核體系結(jié)構(gòu)

因?yàn)長(zhǎng)inux內(nèi)核是單片的,所以它比其他類型的內(nèi)核占用空間最大,復(fù)雜度也最高。這是一個(gè)設(shè)計(jì)特性,在Linux早期引起了相當(dāng)多的爭(zhēng)論,并且仍然帶有一些與單內(nèi)核固有的相同的設(shè)計(jì)缺陷。

一張圖看懂Linux內(nèi)核

Linux內(nèi)核體系結(jié)構(gòu)

為了解決這些缺陷,Linux內(nèi)核開發(fā)人員所做的一件事就是使內(nèi)核模塊可以在運(yùn)行時(shí)加載和卸載,這意味著您可以動(dòng)態(tài)地添加或刪除內(nèi)核的特性。這不僅可以向內(nèi)核添加硬件功能,還可以包括運(yùn)行服務(wù)器進(jìn)程的模塊,比如低級(jí)別虛擬化,但也可以替換整個(gè)內(nèi)核,而不需要在某些情況下重啟計(jì)算機(jī)。

想象一下,如果您可以升級(jí)到windows服務(wù)包,而不需要重新啟動(dòng)……

7. 內(nèi)核模塊

如果Windows已經(jīng)安裝了所有可用的驅(qū)動(dòng)程序,而您只需要打開所需的驅(qū)動(dòng)程序怎么辦?這本質(zhì)上就是內(nèi)核模塊為L(zhǎng)inux所做的。內(nèi)核模塊,也稱為可加載內(nèi)核模塊(LKM),對(duì)于保持內(nèi)核在不消耗所有可用內(nèi)存的情況下與所有硬件一起工作是必不可少的。

一張圖看懂Linux內(nèi)核

內(nèi)核模塊

模塊通常向基本內(nèi)核添加設(shè)備、文件系統(tǒng)和系統(tǒng)調(diào)用等功能。lkm的文件擴(kuò)展名是.ko,通常存儲(chǔ)在/lib/modules目錄中。由于模塊的特性,您可以通過在啟動(dòng)時(shí)使用menuconfig命令將模塊設(shè)置為load或not load,或者通過編輯/boot/config文件,或者使用modprobe命令動(dòng)態(tài)地加載和卸載模塊,輕松定制內(nèi)核。

第三方和封閉源碼模塊在一些發(fā)行版中是可用的,比如Ubuntu,默認(rèn)情況下可能無法安裝,因?yàn)檫@些模塊的源代碼是不可用的。該軟件的開發(fā)人員(即nVidia、ATI等)不提供源代碼,而是構(gòu)建自己的模塊并編譯所需的.ko文件以便分發(fā)。雖然這些模塊像beer一樣是免費(fèi)的,但它們不像speech那樣是免費(fèi)的,因此不包括在一些發(fā)行版中,因?yàn)榫S護(hù)人員認(rèn)為它通過提供非免費(fèi)軟件“污染”了內(nèi)核。

內(nèi)核并不神奇,但對(duì)于任何正常運(yùn)行的計(jì)算機(jī)來說,它都是必不可少的。Linux內(nèi)核不同于OS X和Windows,因?yàn)樗瑑?nèi)核級(jí)別的驅(qū)動(dòng)程序,并使許多東西“開箱即用”。希望您能對(duì)軟件和硬件如何協(xié)同工作以及啟動(dòng)計(jì)算機(jī)所需的文件有更多的了解。

8. 總結(jié)

通過本文,您應(yīng)該較好地理解什么是Linux內(nèi)核以及通過一張或者多張圖看懂Linux內(nèi)核的作用了吧?

本文已同步至博客站,尊重原創(chuàng),轉(zhuǎn)載時(shí)請(qǐng)?jiān)谡闹懈綆б韵骆溄樱?/p>

https://www.linuxrumen.com/rmxx/1406.html

分享到:
標(biāo)簽:內(nèi)核 Linux
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定