Linux Kernel是最新版本的Linux內(nèi)核,支持Intel、Alpha、PPC、Sparc、IA-64 、ARM、MIPS、Amiga、Atari和IBM s/390等,還支持32位大文件系統(tǒng)。而在Intel平臺上,物理內(nèi)存最大支持可以達(dá)到64GB。加強(qiáng)對IDE和SCSI硬件系統(tǒng)的支持,并增強(qiáng)了對USB設(shè)備和3D加速卡的支持。雖然并不像人們期望的那樣有很大更新,但也好的多了。如果你還在使用舊版本的linux kernel,趕快更新吧,絕對不會(huì)讓你失望。
目前官方已經(jīng)發(fā)布了linux kernel v6.0.2,能夠支持 NVMe 帶內(nèi)認(rèn)證,支持 OpenRISC 和 LoongArch 架構(gòu)的 PCI 總線,使用 XFS 和 io_uring 時(shí)的異步緩沖寫入,以及 io_uring 零拷貝網(wǎng)絡(luò)傳輸支持。新版本還帶來了對 RISC-V 硬件架構(gòu)的“Zicbom”擴(kuò)展的支持,用于管理具有非緩存一致性 DMA 的設(shè)備,還有新的運(yùn)行時(shí)驗(yàn)證子系統(tǒng),允許內(nèi)核狀態(tài)監(jiān)控,支持生成新的 CXL 內(nèi)存區(qū)域,支持在 OverlayFS 文件系統(tǒng)上正確實(shí)現(xiàn) POSIX 訪問控制列表,以及實(shí)現(xiàn)第二代 Btrfs“發(fā)送”協(xié)議,支持發(fā)送大型數(shù)據(jù)和原始壓縮擴(kuò)展。
最上面是用戶(或應(yīng)用程序)空間。這是用戶應(yīng)用程序執(zhí)行的地方。用戶空間之下是內(nèi)核空間,Linux 內(nèi)核正是位于這里。
GNU C Library (glibc)也在這里。它提供了連接內(nèi)核的系統(tǒng)調(diào)用接口,還提供了在用戶空間應(yīng)用程序和內(nèi)核之間進(jìn)行轉(zhuǎn)換的機(jī)制。這點(diǎn)非常重要,因?yàn)閮?nèi)核和用戶空間的應(yīng)用程序使用的是不同的保護(hù)地址空間。每個(gè)用戶空間的進(jìn)程都使用自己的虛擬地址空間,而內(nèi)核則占用單獨(dú)的地址空間。
Linux 內(nèi)核可以進(jìn)一步劃分成 3 層。最上面是系統(tǒng)調(diào)用接口,它實(shí)現(xiàn)了一些基本的功能,例如 read 和 write。系統(tǒng)調(diào)用接口之下是內(nèi)核代碼,可以更精確地定義為獨(dú)立于體系結(jié)構(gòu)的內(nèi)核代碼。這些代碼是 Linux 所支持的所有處理器體系結(jié)構(gòu)所通用的。在這些代碼之下是依賴于體系結(jié)構(gòu)的代碼,構(gòu)成了通常稱為 BSP(Board Support Package)的部分。這些代碼用作給定體系結(jié)構(gòu)的處理器和特定于平臺的代碼。
一、系統(tǒng)調(diào)用接口
SCI 層提供了某些機(jī)制執(zhí)行從用戶空間到內(nèi)核的函數(shù)調(diào)用。正如前面討論的一樣,這個(gè)接口依賴于體系結(jié)構(gòu),甚至在相同的處理器家族內(nèi)也是如此。SCI 實(shí)際上是一個(gè)非常有用的函數(shù)調(diào)用多路復(fù)用和多路分解服務(wù)。在 ./linux/kernel 中您可以找到 SCI 的實(shí)現(xiàn),并在 ./linux/arch 中找到依賴于體系結(jié)構(gòu)的部分。
二、進(jìn)程管理
進(jìn)程管理的重點(diǎn)是進(jìn)程的執(zhí)行。在內(nèi)核中,這些進(jìn)程稱為線程,代表了單獨(dú)的處理器虛擬化(線程代碼、數(shù)據(jù)、堆棧和 CPU 寄存器)。在用戶空間,通常使用進(jìn)程 這個(gè)術(shù)語,不過 Linux 實(shí)現(xiàn)并沒有區(qū)分這兩個(gè)概念(進(jìn)程和線程)。內(nèi)核通過 SCI 提供了一個(gè)應(yīng)用程序編程接口(API)來創(chuàng)建一個(gè)新進(jìn)程(fork、exec 或 Portable Operating System Interface [POSIX] 函數(shù)),停止進(jìn)程(kill、exit),并在它們之間進(jìn)行通信和同步。
進(jìn)程管理還包括處理活動(dòng)進(jìn)程之間共享 CPU 的需求。內(nèi)核實(shí)現(xiàn)了一種新型的調(diào)度算法,不管有多少個(gè)線程在競爭 CPU,這種算法都可以在固定時(shí)間內(nèi)進(jìn)行操作。這種算法就稱為 O(1) 調(diào)度程序,這個(gè)名字就表示它調(diào)度多個(gè)線程所使用的時(shí)間和調(diào)度一個(gè)線程所使用的時(shí)間是相同的。 O(1) 調(diào)度程序也可以支持多處理器(稱為對稱多處理器或 SMP)。您可以在 ./linux/kernel 中找到進(jìn)程管理的源代碼,在 ./linux/arch 中可以找到依賴于體系結(jié)構(gòu)的源代碼。
三、內(nèi)存管理
內(nèi)核所管理的另外一個(gè)重要資源是內(nèi)存。為了提高效率,如果由硬件管理虛擬內(nèi)存,內(nèi)存是按照所謂的內(nèi)存頁 方式進(jìn)行管理的(對于大部分體系結(jié)構(gòu)來說都是 4KB)。Linux 包括了管理可用內(nèi)存的方式,以及物理和虛擬映射所使用的硬件機(jī)制。
不過內(nèi)存管理要管理的可不止 4KB 緩沖區(qū)。Linux 提供了對 4KB 緩沖區(qū)的抽象,例如 slab 分配器。這種內(nèi)存管理模式使用 4KB 緩沖區(qū)為基數(shù),然后從中分配結(jié)構(gòu),并跟蹤內(nèi)存頁使用情況,比如哪些內(nèi)存頁是滿的,哪些頁面沒有完全使用,哪些頁面為空。這樣就允許該模式根據(jù)系統(tǒng)需要來動(dòng)態(tài)調(diào)整內(nèi)存使用。
為了支持多個(gè)用戶使用內(nèi)存,有時(shí)會(huì)出現(xiàn)可用內(nèi)存被消耗光的情況。由于這個(gè)原因,頁面可以移出內(nèi)存并放入磁盤中。這個(gè)過程稱為交換,因?yàn)轫撁鏁?huì)被從內(nèi)存交換到硬盤上。內(nèi)存管理的源代碼可以在 ./linux/mm 中找到。
四、虛擬文件系統(tǒng)
虛擬文件系統(tǒng)(VFS)是 Linux 內(nèi)核中非常有用的一個(gè)方面,因?yàn)樗鼮槲募到y(tǒng)提供了一個(gè)通用的接口抽象。VFS 在 SCI 和內(nèi)核所支持的文件系統(tǒng)之間提供了一個(gè)交換層(請參看圖 4)。
在 VFS 上面,是對諸如 open、close、read 和 write 之類的函數(shù)的一個(gè)通用 API 抽象。在 VFS 下面是文件系統(tǒng)抽象,它定義了上層函數(shù)的實(shí)現(xiàn)方式。它們是給定文件系統(tǒng)(超過 50 個(gè))的插件。文件系統(tǒng)的源代碼可以在 ./linux/fs 中找到。
文件系統(tǒng)層之下是緩沖區(qū)緩存,它為文件系統(tǒng)層提供了一個(gè)通用函數(shù)集(與具體文件系統(tǒng)無關(guān))。這個(gè)緩存層通過將數(shù)據(jù)保留一段時(shí)間(或者隨即預(yù)先讀取數(shù)據(jù)以便在需要是就可用)優(yōu)化了對物理設(shè)備的訪問。緩沖區(qū)緩存之下是設(shè)備驅(qū)動(dòng)程序,它實(shí)現(xiàn)了特定物理設(shè)備的接口。
五、網(wǎng)絡(luò)堆棧
網(wǎng)絡(luò)堆棧在設(shè)計(jì)上遵循模擬協(xié)議本身的分層體系結(jié)構(gòu)?;叵胍幌拢琁nternet Protocol (IP) 是傳輸協(xié)議(通常稱為傳輸控制協(xié)議或 TCP)下面的核心網(wǎng)絡(luò)層協(xié)議。TCP 上面是 socket 層,它是通過 SCI 進(jìn)行調(diào)用的。
socket 層是網(wǎng)絡(luò)子系統(tǒng)的標(biāo)準(zhǔn) API,它為各種網(wǎng)絡(luò)協(xié)議提供了一個(gè)用戶接口。從原始幀訪問到 IP 協(xié)議數(shù)據(jù)單元(PDU),再到 TCP 和 User Datagram Protocol (UDP),socket 層提供了一種標(biāo)準(zhǔn)化的方法來管理連接,并在各個(gè)終點(diǎn)之間移動(dòng)數(shù)據(jù)。內(nèi)核中網(wǎng)絡(luò)源代碼可以在 ./linux/net 中找到。
六、設(shè)備驅(qū)動(dòng)程序
Linux 內(nèi)核中有大量代碼都在設(shè)備驅(qū)動(dòng)程序中,它們能夠運(yùn)轉(zhuǎn)特定的硬件設(shè)備。Linux 源碼樹提供了一個(gè)驅(qū)動(dòng)程序子目錄,這個(gè)目錄又進(jìn)一步劃分為各種支持設(shè)備,例如 Bluetooth、I2C、serial 等。設(shè)備驅(qū)動(dòng)程序的代碼可以在 ./linux/drivers 中找到。
七、依賴體系結(jié)構(gòu)的代碼
盡管 Linux 很大程度上獨(dú)立于所運(yùn)行的體系結(jié)構(gòu),但是有些元素則必須考慮體系結(jié)構(gòu)才能正常操作并實(shí)現(xiàn)更高效率。./linux/arch 子目錄定義了內(nèi)核源代碼中依賴于體系結(jié)構(gòu)的部分,其中包含了各種特定于體系結(jié)構(gòu)的子目錄(共同組成了 BSP)。對于一個(gè)典型的桌面系統(tǒng)來說,使用的是 i386 目錄。每個(gè)體系結(jié)構(gòu)子目錄都包含了很多其他子目錄,每個(gè)子目錄都關(guān)注內(nèi)核中的一個(gè)特定方面,例如引導(dǎo)、內(nèi)核、內(nèi)存管理等。這些依賴體系結(jié)構(gòu)的代碼可以在 ./linux/arch 中找到。
二、linux kernel 6.0 還包括許多更新和新的驅(qū)動(dòng)程序,以便更好地支持硬件。除此之外,它還增加了許多錯(cuò)誤 Bug 修復(fù)和調(diào)整,以提供比以前的內(nèi)核更好的性能,這里最值得注意的是對大型系統(tǒng)上的任務(wù)安排的調(diào)整,對內(nèi)核內(nèi) TLS 實(shí)現(xiàn)的性能改進(jìn),以及新的 IORING_RECV_MULTISHOT flag,以使 recv () 調(diào)用能夠進(jìn)行多鏡頭操作。
三、安全方面,Linux 內(nèi)核 6.0 實(shí)現(xiàn)了從 bootloader 的設(shè)置數(shù)據(jù)中獲取隨機(jī)數(shù) seeds 到 x86 和 m68k 內(nèi)核,支持 SafeSetID 安全模塊來控制 setgroups () 的變化,支持 ARIA 加密算法,以及支持鉤子連接到控制組或單一目標(biāo)進(jìn)程到 BPF 安全模塊。
四、其他硬件等特性支持如下:
- 像 A750 和 A770 這樣的英特爾 Arc 獨(dú)立 GPU 可以在 Linux 6.0 內(nèi)核的 i915 DRM 內(nèi)核驅(qū)動(dòng)上運(yùn)行,但目前仍然是實(shí)驗(yàn)性的,所以需要“force_probe”選項(xiàng)來啟用。但至少在 Linux 6.0 中,現(xiàn)在可以使用這些新的英特爾桌面獨(dú)顯與更新的 Mesa 堆棧配對。
- 更多的 AMD RDNA3 的啟用,希望能夠與即將推出的 Radeon RX 7000 系列顯卡一起工作。
- 高通驍龍 8xc Gen 3 支持和對聯(lián)想 ThinkPad X13s Arm 筆記本電腦早期支持。這項(xiàng)工作在主線上仍處于早期形式,但至少已經(jīng)可以使用,并開辟了 Arm Linux 筆記本電腦選項(xiàng)。
- 各種調(diào)度器的變化,包括一些針對 AMD Zen 的 NUMA 平衡增強(qiáng),以及 AMD CPU 現(xiàn)在傾向于 MWAIT 而不是 HALT。
- 英特爾 Raptor Lake 的各種補(bǔ)充,如 TCC 冷卻驅(qū)動(dòng)、RAPL 驅(qū)動(dòng)中的 Raptor Lake P、Raptor Lake USB4 / Thunderbolt,以及其他缺失的 Raptor Lake ID。還有一些初步的 Meteor Lake 支持,比如音頻代碼和其他地方。
- 對 AMD Ryzen 7000“Raphael”平臺的音頻驅(qū)動(dòng)支持。
- 支持 IO_uring 用戶空間塊驅(qū)動(dòng),各種 IO_uring 優(yōu)化,以及其他有希望的 I / O 相關(guān)工作,如 Btrfs Send Protocol v2。
- 對英特爾 Habana Labs Gaudi 2 的初步支持。
- H.265 / HEVC media user-space API 現(xiàn)在已經(jīng)宣布穩(wěn)定。
- 安全關(guān)鍵系統(tǒng)的運(yùn)行時(shí)間驗(yàn)證。
收起介紹展開介紹
目前官方已經(jīng)發(fā)布了linux kernel v6.0.2,能夠支持 NVMe 帶內(nèi)認(rèn)證,支持 OpenRISC 和 LoongArch 架構(gòu)的 PCI 總線,使用 XFS 和 io_uring 時(shí)的異步緩沖寫入,以及 io_uring 零拷貝網(wǎng)絡(luò)傳輸支持。新版本還帶來了對 RISC-V 硬件架構(gòu)的“Zicbom”擴(kuò)展的支持,用于管理具有非緩存一致性 DMA 的設(shè)備,還有新的運(yùn)行時(shí)驗(yàn)證子系統(tǒng),允許內(nèi)核狀態(tài)監(jiān)控,支持生成新的 CXL 內(nèi)存區(qū)域,支持在 OverlayFS 文件系統(tǒng)上正確實(shí)現(xiàn) POSIX 訪問控制列表,以及實(shí)現(xiàn)第二代 Btrfs“發(fā)送”協(xié)議,支持發(fā)送大型數(shù)據(jù)和原始壓縮擴(kuò)展。
Linux內(nèi)核簡介
現(xiàn)在讓我們從一個(gè)比較高的高度來審視一下 GNU/Linux 操作系統(tǒng)的體系結(jié)構(gòu)。您可以從兩個(gè)層次上來考慮操作系統(tǒng),如圖 2 所示。最上面是用戶(或應(yīng)用程序)空間。這是用戶應(yīng)用程序執(zhí)行的地方。用戶空間之下是內(nèi)核空間,Linux 內(nèi)核正是位于這里。
GNU C Library (glibc)也在這里。它提供了連接內(nèi)核的系統(tǒng)調(diào)用接口,還提供了在用戶空間應(yīng)用程序和內(nèi)核之間進(jìn)行轉(zhuǎn)換的機(jī)制。這點(diǎn)非常重要,因?yàn)閮?nèi)核和用戶空間的應(yīng)用程序使用的是不同的保護(hù)地址空間。每個(gè)用戶空間的進(jìn)程都使用自己的虛擬地址空間,而內(nèi)核則占用單獨(dú)的地址空間。
Linux 內(nèi)核可以進(jìn)一步劃分成 3 層。最上面是系統(tǒng)調(diào)用接口,它實(shí)現(xiàn)了一些基本的功能,例如 read 和 write。系統(tǒng)調(diào)用接口之下是內(nèi)核代碼,可以更精確地定義為獨(dú)立于體系結(jié)構(gòu)的內(nèi)核代碼。這些代碼是 Linux 所支持的所有處理器體系結(jié)構(gòu)所通用的。在這些代碼之下是依賴于體系結(jié)構(gòu)的代碼,構(gòu)成了通常稱為 BSP(Board Support Package)的部分。這些代碼用作給定體系結(jié)構(gòu)的處理器和特定于平臺的代碼。
linux kernel主要子系統(tǒng)
現(xiàn)在使用圖 3 中的分類說明 Linux 內(nèi)核的主要組件。一、系統(tǒng)調(diào)用接口
SCI 層提供了某些機(jī)制執(zhí)行從用戶空間到內(nèi)核的函數(shù)調(diào)用。正如前面討論的一樣,這個(gè)接口依賴于體系結(jié)構(gòu),甚至在相同的處理器家族內(nèi)也是如此。SCI 實(shí)際上是一個(gè)非常有用的函數(shù)調(diào)用多路復(fù)用和多路分解服務(wù)。在 ./linux/kernel 中您可以找到 SCI 的實(shí)現(xiàn),并在 ./linux/arch 中找到依賴于體系結(jié)構(gòu)的部分。
二、進(jìn)程管理
進(jìn)程管理的重點(diǎn)是進(jìn)程的執(zhí)行。在內(nèi)核中,這些進(jìn)程稱為線程,代表了單獨(dú)的處理器虛擬化(線程代碼、數(shù)據(jù)、堆棧和 CPU 寄存器)。在用戶空間,通常使用進(jìn)程 這個(gè)術(shù)語,不過 Linux 實(shí)現(xiàn)并沒有區(qū)分這兩個(gè)概念(進(jìn)程和線程)。內(nèi)核通過 SCI 提供了一個(gè)應(yīng)用程序編程接口(API)來創(chuàng)建一個(gè)新進(jìn)程(fork、exec 或 Portable Operating System Interface [POSIX] 函數(shù)),停止進(jìn)程(kill、exit),并在它們之間進(jìn)行通信和同步。
進(jìn)程管理還包括處理活動(dòng)進(jìn)程之間共享 CPU 的需求。內(nèi)核實(shí)現(xiàn)了一種新型的調(diào)度算法,不管有多少個(gè)線程在競爭 CPU,這種算法都可以在固定時(shí)間內(nèi)進(jìn)行操作。這種算法就稱為 O(1) 調(diào)度程序,這個(gè)名字就表示它調(diào)度多個(gè)線程所使用的時(shí)間和調(diào)度一個(gè)線程所使用的時(shí)間是相同的。 O(1) 調(diào)度程序也可以支持多處理器(稱為對稱多處理器或 SMP)。您可以在 ./linux/kernel 中找到進(jìn)程管理的源代碼,在 ./linux/arch 中可以找到依賴于體系結(jié)構(gòu)的源代碼。
三、內(nèi)存管理
內(nèi)核所管理的另外一個(gè)重要資源是內(nèi)存。為了提高效率,如果由硬件管理虛擬內(nèi)存,內(nèi)存是按照所謂的內(nèi)存頁 方式進(jìn)行管理的(對于大部分體系結(jié)構(gòu)來說都是 4KB)。Linux 包括了管理可用內(nèi)存的方式,以及物理和虛擬映射所使用的硬件機(jī)制。
不過內(nèi)存管理要管理的可不止 4KB 緩沖區(qū)。Linux 提供了對 4KB 緩沖區(qū)的抽象,例如 slab 分配器。這種內(nèi)存管理模式使用 4KB 緩沖區(qū)為基數(shù),然后從中分配結(jié)構(gòu),并跟蹤內(nèi)存頁使用情況,比如哪些內(nèi)存頁是滿的,哪些頁面沒有完全使用,哪些頁面為空。這樣就允許該模式根據(jù)系統(tǒng)需要來動(dòng)態(tài)調(diào)整內(nèi)存使用。
為了支持多個(gè)用戶使用內(nèi)存,有時(shí)會(huì)出現(xiàn)可用內(nèi)存被消耗光的情況。由于這個(gè)原因,頁面可以移出內(nèi)存并放入磁盤中。這個(gè)過程稱為交換,因?yàn)轫撁鏁?huì)被從內(nèi)存交換到硬盤上。內(nèi)存管理的源代碼可以在 ./linux/mm 中找到。
四、虛擬文件系統(tǒng)
虛擬文件系統(tǒng)(VFS)是 Linux 內(nèi)核中非常有用的一個(gè)方面,因?yàn)樗鼮槲募到y(tǒng)提供了一個(gè)通用的接口抽象。VFS 在 SCI 和內(nèi)核所支持的文件系統(tǒng)之間提供了一個(gè)交換層(請參看圖 4)。
在 VFS 上面,是對諸如 open、close、read 和 write 之類的函數(shù)的一個(gè)通用 API 抽象。在 VFS 下面是文件系統(tǒng)抽象,它定義了上層函數(shù)的實(shí)現(xiàn)方式。它們是給定文件系統(tǒng)(超過 50 個(gè))的插件。文件系統(tǒng)的源代碼可以在 ./linux/fs 中找到。
文件系統(tǒng)層之下是緩沖區(qū)緩存,它為文件系統(tǒng)層提供了一個(gè)通用函數(shù)集(與具體文件系統(tǒng)無關(guān))。這個(gè)緩存層通過將數(shù)據(jù)保留一段時(shí)間(或者隨即預(yù)先讀取數(shù)據(jù)以便在需要是就可用)優(yōu)化了對物理設(shè)備的訪問。緩沖區(qū)緩存之下是設(shè)備驅(qū)動(dòng)程序,它實(shí)現(xiàn)了特定物理設(shè)備的接口。
五、網(wǎng)絡(luò)堆棧
網(wǎng)絡(luò)堆棧在設(shè)計(jì)上遵循模擬協(xié)議本身的分層體系結(jié)構(gòu)?;叵胍幌拢琁nternet Protocol (IP) 是傳輸協(xié)議(通常稱為傳輸控制協(xié)議或 TCP)下面的核心網(wǎng)絡(luò)層協(xié)議。TCP 上面是 socket 層,它是通過 SCI 進(jìn)行調(diào)用的。
socket 層是網(wǎng)絡(luò)子系統(tǒng)的標(biāo)準(zhǔn) API,它為各種網(wǎng)絡(luò)協(xié)議提供了一個(gè)用戶接口。從原始幀訪問到 IP 協(xié)議數(shù)據(jù)單元(PDU),再到 TCP 和 User Datagram Protocol (UDP),socket 層提供了一種標(biāo)準(zhǔn)化的方法來管理連接,并在各個(gè)終點(diǎn)之間移動(dòng)數(shù)據(jù)。內(nèi)核中網(wǎng)絡(luò)源代碼可以在 ./linux/net 中找到。
六、設(shè)備驅(qū)動(dòng)程序
Linux 內(nèi)核中有大量代碼都在設(shè)備驅(qū)動(dòng)程序中,它們能夠運(yùn)轉(zhuǎn)特定的硬件設(shè)備。Linux 源碼樹提供了一個(gè)驅(qū)動(dòng)程序子目錄,這個(gè)目錄又進(jìn)一步劃分為各種支持設(shè)備,例如 Bluetooth、I2C、serial 等。設(shè)備驅(qū)動(dòng)程序的代碼可以在 ./linux/drivers 中找到。
七、依賴體系結(jié)構(gòu)的代碼
盡管 Linux 很大程度上獨(dú)立于所運(yùn)行的體系結(jié)構(gòu),但是有些元素則必須考慮體系結(jié)構(gòu)才能正常操作并實(shí)現(xiàn)更高效率。./linux/arch 子目錄定義了內(nèi)核源代碼中依賴于體系結(jié)構(gòu)的部分,其中包含了各種特定于體系結(jié)構(gòu)的子目錄(共同組成了 BSP)。對于一個(gè)典型的桌面系統(tǒng)來說,使用的是 i386 目錄。每個(gè)體系結(jié)構(gòu)子目錄都包含了很多其他子目錄,每個(gè)子目錄都關(guān)注內(nèi)核中的一個(gè)特定方面,例如引導(dǎo)、內(nèi)核、內(nèi)存管理等。這些依賴體系結(jié)構(gòu)的代碼可以在 ./linux/arch 中找到。
linux kernel 6新功能
一、在虛擬化方面也有好消息,Linux 內(nèi)核 6.0 引入了新的偽設(shè)備,叫做“guest vCPU stall detector”,可以作為“看門狗”,告訴主機(jī)虛擬機(jī)是否停滯。在 Linux 6.0 中還有新的 debugfs 接口,新的 BPF 迭代器,一組新的 BPF kfuncs,用于生成和檢查 SYN cookies 的新 BPF 助手,以及新的基于 io_uring 的用戶空間塊驅(qū)動(dòng)器。二、linux kernel 6.0 還包括許多更新和新的驅(qū)動(dòng)程序,以便更好地支持硬件。除此之外,它還增加了許多錯(cuò)誤 Bug 修復(fù)和調(diào)整,以提供比以前的內(nèi)核更好的性能,這里最值得注意的是對大型系統(tǒng)上的任務(wù)安排的調(diào)整,對內(nèi)核內(nèi) TLS 實(shí)現(xiàn)的性能改進(jìn),以及新的 IORING_RECV_MULTISHOT flag,以使 recv () 調(diào)用能夠進(jìn)行多鏡頭操作。
三、安全方面,Linux 內(nèi)核 6.0 實(shí)現(xiàn)了從 bootloader 的設(shè)置數(shù)據(jù)中獲取隨機(jī)數(shù) seeds 到 x86 和 m68k 內(nèi)核,支持 SafeSetID 安全模塊來控制 setgroups () 的變化,支持 ARIA 加密算法,以及支持鉤子連接到控制組或單一目標(biāo)進(jìn)程到 BPF 安全模塊。
四、其他硬件等特性支持如下:
- 像 A750 和 A770 這樣的英特爾 Arc 獨(dú)立 GPU 可以在 Linux 6.0 內(nèi)核的 i915 DRM 內(nèi)核驅(qū)動(dòng)上運(yùn)行,但目前仍然是實(shí)驗(yàn)性的,所以需要“force_probe”選項(xiàng)來啟用。但至少在 Linux 6.0 中,現(xiàn)在可以使用這些新的英特爾桌面獨(dú)顯與更新的 Mesa 堆棧配對。
- 更多的 AMD RDNA3 的啟用,希望能夠與即將推出的 Radeon RX 7000 系列顯卡一起工作。
- 高通驍龍 8xc Gen 3 支持和對聯(lián)想 ThinkPad X13s Arm 筆記本電腦早期支持。這項(xiàng)工作在主線上仍處于早期形式,但至少已經(jīng)可以使用,并開辟了 Arm Linux 筆記本電腦選項(xiàng)。
- 各種調(diào)度器的變化,包括一些針對 AMD Zen 的 NUMA 平衡增強(qiáng),以及 AMD CPU 現(xiàn)在傾向于 MWAIT 而不是 HALT。
- 英特爾 Raptor Lake 的各種補(bǔ)充,如 TCC 冷卻驅(qū)動(dòng)、RAPL 驅(qū)動(dòng)中的 Raptor Lake P、Raptor Lake USB4 / Thunderbolt,以及其他缺失的 Raptor Lake ID。還有一些初步的 Meteor Lake 支持,比如音頻代碼和其他地方。
- 對 AMD Ryzen 7000“Raphael”平臺的音頻驅(qū)動(dòng)支持。
- 支持 IO_uring 用戶空間塊驅(qū)動(dòng),各種 IO_uring 優(yōu)化,以及其他有希望的 I / O 相關(guān)工作,如 Btrfs Send Protocol v2。
- 對英特爾 Habana Labs Gaudi 2 的初步支持。
- H.265 / HEVC media user-space API 現(xiàn)在已經(jīng)宣布穩(wěn)定。
- 安全關(guān)鍵系統(tǒng)的運(yùn)行時(shí)間驗(yàn)證。
- 下載地址
發(fā)表評論
0條評論軟件排行榜
- 1windows server 2008 r2原版鏡像 64位簡體中文版
- 2win98官方原版iso鏡像 微軟完整版
- 3win7專業(yè)版64位32位原版 sp1 7601.26816簡體中文版
- 4統(tǒng)信uos家庭版 v22正式版
- 5remix os pc版32位64位 v3.0.207官方版
- 6ubuntu桌面版 v24.10官方版
- 7windows2000professional簡體中文版
- 8windows10正式版系統(tǒng) 22H2 19045.5131官方原版鏡像iso版
- 9msdos7.10.iso 啟動(dòng)盤
- 10鳳凰系統(tǒng)3.5.0正式版 32位64位pc安裝版
熱門推薦
- windows virtual pc官方版 v6.1.7600 32&64位58.12M / 簡體中文
- tiny core linux官方版 v15.0285.7M / 英文
- startos系統(tǒng)(原Ylmf OS) v6.01019.26M / 簡體中文
- redhat enterprise linux(紅帽子Linux) 9.4中文版10.32G / 簡體中文
- remix os pc版32位64位 v3.0.207官方版1.02G / 簡體中文
- OpenBSD系統(tǒng) v7.6官方版696.47M / 英文
- 鳳凰系統(tǒng)x86u盤版(phoenix os) v2.0.0官方版371M / 簡體中文