Linux Kernel 5.8軟件特色
1.功能變得更全面,比起4.9-rc1,肯定是延續了它的經典規則
2.支持Intel、Alpha、PPC、Sparc、IA-64 、ARM、MIPS、Amiga、Atari和IBM s/390等
3.支持32位大文件系統
Linux Kernel 5.8軟件優勢
1.1。在內存顛簸情況下表現更好
在交換和緩存回收之間取得平衡的回收代碼試圖預測內存頁面的可能重用。當它失敗時,它無法檢測到緩存在病理上發生故障的時間,或者系統何時處于交換風暴的中間。這段代碼已經隨著時間的流逝而調整到了這樣的程度:即使存在大量的冷匿名內存和功能強大的交換設備,虛擬機也拒絕認真掃描這些頁面,并且可能不必要地使頁面緩存崩潰??焖匐S機IO設備(例如SSD)的激增使這種不良行為更加明顯。
此版本旨在解決此問題。從Linux 3.15開始,內核具有對refault IO的精確跟蹤-回收錯誤頁面的最終成本。這允許使用基于IO成本的平衡模型,該模型在高速緩存崩潰時更積極地掃描匿名內存,同時能夠避免不必要的交換風暴。此版本的LRU平衡基于每個列表上的拒絕率,乘以交換設備和文件系統之間的相對IO成本(交換性),以便優化回收成本,以最小化IO成本。交換性sysctl現在還可以提高到200,以強制內核使用交換,這對于內存交換(例如zram或zswap)很有用。
1.2。內核并發消毒器
內核并發清理器(KCSAN)是內核的數據競爭檢測器。KCSAN設計中的關鍵優先事項是缺乏誤報,可伸縮性和簡單性。KCSAN使用編譯時檢測來檢測內存訪問,GCC和Clang均支持。
文檔:內核并發清理程序(KCSAN)
推薦的LWN文章:并發錯誤應該擔心糟糕的數據爭用檢測器(第1部分)
1.3。內核事件通知機制
此版本增加了在標準管道之上構建的事件通知機制,它將來自內核的通知消息拼接到用戶空間打開的管道中。管道以特殊模式打開,其內部緩沖區用于保存內核生成的消息,然后由read(2)讀取這些消息。管道的所有者告訴內核它希望通過該管道監視哪些源,并且過濾器也可以放置在管道上,以便在某些源類型和子事件不感興趣時可以忽略它們。在此版本中,唯一的事件源是鍵/密鑰環的來源,例如鏈接和取消鏈接鍵以及更改其屬性,這些事件將由Gnome使用。
文檔:通用通知機制
推薦的LWN文章:內核事件通知機制
1.4。私有procfs實例
Procfs過去與PID名稱空間相關聯,因此所有新的procfs掛載都只是內部鏡像的鏡像。任何更改,任何掛載選項更新,任何將來的新引入都將傳播到同一PID名稱空間中的所有其他procfs掛載。
此版本允許在同一PID名稱空間中具有多個帶有不同裝載選項的procfs裝載。這項工作的主要目的是在嵌入式系統上為應用程序配備一名主管。它還添加了一些方便的掛載選項,這些選項允許私有procfs掛載以僅顯示procfs中的可跟蹤進程,從而允許在嵌入式Linux中支持輕量級沙箱?;蛟试S隱藏非PID索引節點的安裝選項。
1.5。使用pidfds附加到名稱空間
此版本使使用pidfds附加到進程的名稱空間成為可能,即可以將它們作為第一個參數傳遞給setns(2)syscall。傳遞pidfd時,可以在第二個參數中指定多個名稱空間標志,然后setns(2)將調用方一次附加到所有指定的名稱空間,也可以不附加任何一個。例如:setns(pidfd,CLONE_NEWPID | CLONE_NEWNS | CLONE_NEWNET);
這些功能支持各種用例,其中調用者將名稱空間設置為子集以保留特權,執行操作,然后重新附加名稱空間的另一個子集。除了減少附加到所有當前支持的名稱空間所需的syscall數量之外,這還允許原子設置為一組名稱空間,這對于與運行中的容器進行交互的標準容器管理器很有用。
1.6。影子調用堆棧和分支目標標識可提高ARM64的安全性
該版本增加了對ARM64上Clang的影子調用堆棧的通用支持,該堆棧使用影子堆棧來保護函數返回控制流免受主堆棧上緩沖區溢出的影響。
用戶空間和內核空間也都支持ARMv8.5-BTI。這允許分支目標限制可以從中調用它們的分支類型,并另外防止分支到任意代碼。
推薦的LWN文章:一些近期的arm64加固補丁
1.7。支持內聯加密硬件
此版本在塊層中支持嵌入式加密。在線加密硬件允許軟件指定加密上下文(加密密鑰,加密算法,數據單元編號,數據單元大小等)以及向存儲設備的數據傳輸請求,并且在線加密硬件將使用該上下文來加密/解密數據。嵌入式加密硬件是存儲設備的一部分,從概念上講,它位于系統內存和存儲設備之間的數據路徑上。
Linux Kernel 5.8新版特性
內核并發處理器Kernel Concurrency Sanitizer (KCSAN)
事件通知機制
塊設備隊列管理blk-mq 中引入內聯加密
私有 procfs 掛載
ARM64 支持Shadow Call Stack 和 Branch Target Identification
BPF iterator機制
Linux Kernel 5.8軟件說明
4.9 內核系列的大變,主要是 greybus 子系統的合并、4.8 內核系列的延長、以及更多被壓抑的開發需求。
在 5.8 內核系列中,我們沒有遇到那么多的問題,但開發量依然不少,比如一些與驅動程序有關的更改。
Torvalds 補充道:“在 5.8 合并窗口中,我們修改了內核源存儲庫中大約 20% 的文件。盡管其中一些是腳本編寫的,但總的來說還是同樣的模式”。
總之,5.8具有只是看到了很多發展。Linux 5.8為Microsoft的Hyper-V虛擬化平臺,Arm芯片,Direct Rendering Manager(DRM)的系統,網絡,驅動程序,IBM Power PC,Microsoft 最近開放源代碼的exFAT文件系統等帶來了更新。
Linux Kernel 5.8更新日志
1. 優化的腳步從未停止!
2. 更多小驚喜等你來發現~
華軍小編推薦:
Linux Kernel 5.8,口碑軟件,保證解決您的所有問題!小編力薦!本站還有類似軟件UKUI for openEuler、礦山系統、Wine、OpenBSD、CentOS For Linux,感興趣的可以下載哦!
您的評論需要經過審核才能顯示
有用
有用
有用