[開源分享]深挖 Linux 核心的新功能特性

柒柒愛程式設計發表於2022-01-25

1、io_uring

io_uring(以前稱為aioring)是一個用於儲存裝置非同步 I/O操作的Linux 核心系統呼叫介面,解決了與/或/等函式提供的類似介面的效能問題,用於對檔案描述符訪問的資料進行操作。

img

文件

img

開源專案

img

精選文章

img

視訊

img

二、cgroup

cgroups,其名稱源自控制組群(英語:control groups)的簡寫,是Linux核心的一個功能,用來限制、控制與分離一個程式組的資源(如CPU、記憶體、磁碟輸入輸出等)。

這個專案最早是由Google的工程師(主要是Paul Menage和Rohit Seth)在2006年發起,最早的名稱為程式容器(process containers)。在2007年時,因為在Linux核心中,容器(container)這個名詞有許多不同的意義,為避免混亂,被重新命名為cgroup,並且被合併到2.6.24版的核心中。自那以後,又新增了很多功能。

img

文件

img

開源專案

img

文章

img

視訊

img

三、ebpf——Linux 核心中頂級子模組

eBPF 是一項革命性的技術,起源於 Linux 核心,可以在作業系統核心中執行沙盒程式。它用於安全有效地擴充套件核心的功能,而無需更改核心原始碼或載入核心模組。

從歷史上看,由於核心具有監督和控制整個系統的特權,作業系統一直是實現可觀察性、安全性和網路功能的理想場所。同時,作業系統核心由於其核心作用和對穩定性和安全性的高要求,難以演進。因此,與在作業系統之外實現的功能相比,作業系統級別的創新率傳統上較低。

img

文件

img

開源專案

img

文章

img

視訊

img

四、llvm

LLVM 專案是模組化和可重用的編譯器和工具鏈技術的集合。儘管有它的名字,LLVM 與傳統的虛擬機器幾乎沒有關係。“LLVM”這個名字本身不是首字母縮寫詞;它是專案的全名。

LLVM 最初是伊利諾伊大學的一個研究專案,其目標是提供一種現代的、基於 SSA 的編譯策略,能夠支援任意程式語言的靜態和動態編譯。從那時起,LLVM 已經發展成為一個由多個子專案組成的傘形專案,其中許多子專案被各種 商業和開源專案用於生產,並被廣泛用於學術研究。LLVM 專案中的程式碼根據 “Apache 2.0 License with LLVM exceptions”獲得許可。

img

文件

img

img

img

img

LLVM命令指南

img

img

img

img

開源專案

img

文章

img

視訊

img

以上所有資源內容,都整合到我的Github專案中了:github.com/0voice/kernel_new_featu...

目前專案還在不斷完善當中,有需要的開發者,可以去下載學習。 記得給小弟一個Star,謝謝!

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章