為雲而生,騰訊雲伺服器作業系統TencentOS內核正式開源
- 2020 年 1 月 10 日
- 筆記

1月9日,騰訊雲宣布將開源其伺服器作業系統TencentOS內核。相比業內其它版本Linux 內核,騰訊雲 TencentOS 內核在資源調度彈性、容器支援、系統性能及安全等層面極具競爭力,特別適合雲環境。該系統的開源及應用可幫助客戶大幅提升雲上資源的利用效率,降低運營成本,同時獲得更加安全可靠的業務運行環境。
TencentOS Kernel是繼騰訊雲物聯網作業系統TencentOS tiny之後,TencentOS家族對外開源的第二款產品。TencentOS是騰訊雲作業系統系列產品,由騰訊雲架構平台部主力研發,覆蓋數據中心、桌面系統、邊緣設備和物聯網終端等應用場景,提供可靠的雲平台構建、接入和應用能力,幫助客戶轉化雲的價值。TencentOS伺服器作業系統在騰訊公司服役超過10年,覆蓋公司全部自研業務,裝機量過百萬。2019年9月新開源的TencentOS tiny,是騰訊面向物聯網領域開發的實時作業系統,具有低功耗、低資源佔用、模組化、安全可靠等特點,可有效提升物聯網終端產品開發效率,目前在Github上標星已達3.7k。
傳送門:騰訊自研輕量級物聯網作業系統 TencentOS tiny 正式開源
騰訊雲作業系統團隊表示:「將騰訊雲伺服器作業系統內核TencentOS Kernel開源,不僅可以與全球開發者共享騰訊雲在伺服器作業系統領域的技術和經驗,還能夠汲取全球伺服器作業系統領域的優秀成果和創新理念,助力整體伺服器作業系統生態的繁榮。」
騰訊致力於通過開源和廣大開發者共享技術成果。近年來,騰訊開源節奏不斷加快,截至2020年1月,已在Github上開源92個項目,並積极參与開源基金會共建,目前已成為Linux、Apache等9大開源基金會的最高級別會員。
專為雲設計的資源調度方案,大幅增強系統彈性伸縮能力
傳統的Linux系統中,公平性是資源調度演算法的核心邏輯。公平的調度能最大程度提供系統通用性。然而,這種公平會造成資源有效利用率的低下,系統的彈性能力大大受限。業務無法按照需求進行資源的分配回收,不僅在於資源的數量,更在於資源的品質,如資源分配速度,搶佔能力等。
在雲平台資源調度的需求背景下,TencentOS Kernel研發了專用的資源調度演算法,大幅提升整機的資源彈性。業務可以根據需求指定資源分配的數量和級別,從相同數量不同級別的資源獲得的系統服務存在明顯差別。
TencentOS Kernel研發的CPU彈性調度演算法,在離在線業務混布場景下收益十分顯著。在不影響在線業務品質的前提下,整機的CPU利用率最高提升了3倍,部分業務場景下可將整機CPU利用率提升至90%。
資源隔離全面升級,助力業務打造最強容器平台
眾所周知,資源的安全隔離始終是容器虛擬化平台的核心問題。社區內核提供的隔離特性遠遠不能滿足業務的需求,一些基本的系統狀態資訊、CPU資訊、磁碟狀態資訊等均未做隔離,部分場景下甚至直接導致業務不可用。
TencentOS Kernel從業務需求出發,首先對必要的系統狀態,比如cpuinfo、stat、loadavg、meminfo、vmstat、diskstats、uptime等進行了隔離增強,保證容器中的應用能獲得正確的系統狀態資訊。
更重要的是,TencentOS Kernel還提供包括NVME IO隔離等特性,徹底解決IO控制組在多隊列設備場景資源利用率低,不支援按比例隔離等問題,保證了不同場景下的IO隔離效果。
獨有系統安全及性能優化特性,持續降低業務運營成本
業界的內核熱修補程式技術主要都是針對X86架構進行開發,缺少對ARM64等架構的支援。TencentOS Kernel通過實現類FMENTRY,FTRACE with REGS功能,給KPATCH中增加ARM64支援等實現了針對ARM64架構的內核熱修補程式方案。
TencentOS Kernel提供進程GDB禁止功能,阻止跨進程獲取記憶體,載入動態庫等,保障業務進程的數據安全。
性能方面,TencentOS Kernel針對計算、存儲和網路子系統均經過獨有的優化,例如PAGE CACHE LIMIT功能,限制page cache的使用率,盡量使系統剩餘的記憶體能夠滿足業務的需求;TencentOS Kernel還新增多個sysctl/proc控制介面,內核啟動參數等來優化用戶體驗。
真誠開源
我們期望通過將 TencentOS-kernel 開源,能夠有助於業界其他相關領域的應用,也希望更好的完善產品本身,如果你對這個框架感到興趣,還請給這個項目一個 Star,歡迎提出你的 issue 和 PR!
TencentOS-kernel 正式開源!
Github 開源地址:https://github.com/Tencent/TencentOS-kernel
請給 TencentOS-kernel 一個 Star !歡迎提出你的 issue 和 PR!
TencentOS-kernel 中國鏡像地址:
https://git.code.tencent.com/Tencent_Open_Source/TencentOS-kernel
(登錄後才能訪問公開項目)

騰訊工蜂源碼系統為開源開發者提供完整、最新的騰訊開源項目中國鏡像
開發板免費領!騰訊雲IoT應用創新大賽火熱報名中!
