甲骨文公司
Unbreakable Enterprise Kernel 6 基於該內核
鑰匙
- 對基於 64 位 ARM 架構 (aarch64) 的系統的擴展支持。
- 實現了對 Cgroup v2 的所有功能的支持。
- ktask 框架已實現用於並行化內核中消耗大量 CPU 資源的任務。 例如,在ktask的幫助下,可以組織清除內存頁面範圍或處理inode列表的操作的並行化;
- 已包含 kswapd 的並行版本,用於異步處理頁面交換,從而減少直接(同步)交換的數量。 當可用內存頁數減少時,kswapd 會掃描可釋放的未使用頁。
- 支持在使用 Kexec 機制加載內核時(從已加載的系統加載內核)驗證內核映像和數字簽名固件的完整性。
- 優化了虛擬內存管理系統的性能,提高了清除內存和緩存頁面的效率,改進了對未分配內存頁面(頁面錯誤)的訪問的處理。
- 擴展了對 NVDIMM 的支持,指定的永久內存現在可以用作傳統 RAM。
- 已過渡至DTrace 2.0動態調試系統,
轉入 使用 eBPF 內核子系統。 DTrace 現在在 eBPF 之上運行,類似於現有 Linux 跟踪工具在 eBPF 之上的工作方式。 - 對 OCFS2(Oracle Cluster File System)文件系統進行了改進。
- 改進了對 Btrfs 文件系統的支持。 添加了在根分區上使用 Btrfs 的功能。 安裝程序中添加了一個選項,用於在格式化設備時選擇 Btrfs。 添加了使用 Btrfs 將分頁文件放置在分區上的功能。 Btrfs 添加了對使用 ZStandard 算法進行壓縮的支持。
- 添加了對異步 I/O 接口 - io_uring 的支持,該接口以支持 I/O 輪詢以及帶緩沖和不帶緩衝的工作能力而著稱。 在性能方面,io_uring 與 SPDK 非常接近,並且在啟用輪詢時顯著優於 libaio。 為了在用戶空間中運行的最終應用程序中使用 io_uring,已準備好 liburing 庫,提供對內核接口的高級綁定;
- 添加了模式支持
鐵線蕨 用於驅動器的快速加密。 - 添加了對使用算法進行壓縮的支持
Z標準 (zstd)。 - ext4 文件系統在超級塊字段中使用 64 位時間戳。
- XFS 包括用於在運行時通知文件系統完整性以及動態獲取有關 fsck 執行狀態的工具。
- TCP 堆棧默認為“
提早出發時間 發送包裹時,而不是“盡可能快”。 為 UDP 啟用 GRO(通用接收卸載)支持。 添加了對零拷貝模式下接收和發送 TCP 數據包的支持。 - 涉及到內核級 TLS 協議(KTLS)的實現,現在不僅可以用於發送數據,還可以用於接收數據。
- 默認情況下作為防火牆的後端啟用
nftables。 添加了可選支持BP過濾器 . - 添加了對XDP(eXpress 數據路徑)子系統的支持,該子系統允許在Linux 上在網絡驅動程序級別運行BPF 程序,能夠直接訪問DMA 數據包緩衝區,並且在網絡堆棧分配skbuff 緩衝區之前的階段運行。
- 改進並在使用 UEFI 安全啟動模式時啟用
鎖定 ,它限制 root 用戶對內核的訪問並阻止 UEFI 安全啟動旁路路徑。 例如,鎖定模式限制對/dev/mem、/dev/kmem、/dev/port、/proc/kcore、debugfs、調試模式kprobes、mmiotrace、tracefs、BPF、PCMCIA CIS(卡信息結構)、某些接口的訪問CPU ACPI 和 MSR 寄存器,阻止 kexec_file 和 kexec_load 調用,禁止睡眠模式,限制 PCI 設備使用 DMA,禁止從 EFI 變量導入 ACPI 代碼,不允許對 I/O 端口進行操作,包括更改中斷號和I/O 端口為串行端口。 - 添加了對增強型間接分支限制推測 (IBRS) 指令的支持,允許您在中斷、系統調用和上下文切換期間自適應地啟用和禁用推測指令執行。 如果支持增強型 IBRS,則使用此方法代替 Retpoline 來防禦 Spectre V2 攻擊,因為它提供更好的性能。
- 改進了對每個人都可寫的目錄的保護。 在此類目錄中,禁止創建 FIFO 文件以及與帶有粘性標誌的目錄所有者不匹配的用戶所擁有的文件。
- 默認情況下,在 ARM 系統上,系統上的內核地址空間隨機化 (KASLR) 處於啟用狀態。 Aarch64 啟用了指針身份驗證。
- 添加了對“NVMe over Fabrics TCP”的支持。
- 添加了 virtio-pmem 驅動程序以提供對物理地址空間映射存儲設備(例如 NVDIMM)的訪問。
來源: opennet.ru