腾讯云服务器操作系统——Tencent Linux
近日,腾讯云宣布开源其云服务器操作系统 TencentOS 内核(TencentOS Server Kernel,又称 Tencent Linux,简称 Tlinux)。 |
腾讯介绍,相比业内其它版本 Linux 发行版,Tencent Linux 在资源调度弹性、容器支持、系统性能及安全等层面极具竞争力,特别适合云环境。
TencentOS Kernel 是腾讯云物联网操作系统 TencentOS tiny 之后,TencentOS 家族对外开源的第二个项目。TencentOS 是腾讯云操作系统系列,由腾讯云架构平台部主力研发,覆盖数据中心、桌面系统、边缘设备和物联网终端等应用场景,提供云平台构建、接入和应用能力。
腾讯云操作系统团队表示:“将腾讯云服务器操作系统内核 TencentOS Kernel 开源,不仅可以与全球开发者共享腾讯云在服务器操作系统领域的技术和经验,还能够汲取全球服务器操作系统领域的优秀成果和创新理念,助力整体服务器操作系统生态的繁荣。”
具体看看该项目的特点:
传统 Linux 系统中,公平性是资源调度算法的核心逻辑。公平的调度能最大程度提供系统通用性。然而,这种公平会造成资源有效利用率的低下,系统的弹性能力大大受限,业务无法按照需求进行资源的分配回收,包括资源的数量与资源的质量,如资源分配速度、抢占能力等。
Tencent Linux 研发了专用的资源调度算法,大幅提升整机的资源弹性。业务可以根据需求指定资源分配的数量和级别,从相同数量不同级别的资源获得的系统服务存在明显差别。
同时,Tencent Linux 研发的 CPU 弹性调度算法,在离在线业务混布场景下收益十分显著。在不影响在线业务质量的前提下,整机的 CPU 利用率最高提升 3 倍,部分业务场景下可将整机 CPU 利用率提升至 90%。
资源的安全隔离始终是容器虚拟化平台的核心问题,社区内核提供的隔离特性远远不能满足业务的需求,一些基本的系统状态信息、CPU 信息与磁盘状态信息等均未做隔离,部分场景下甚至直接导致业务不可用。
Tencent Linux 从业务需求出发,首先对必要的系统状态,比如 cpuinfo、stat、loadavg、meminfo、vmstat、diskstats 与 uptime 等进行隔离增强,保证
容器中的应用能获得正确的系统状态信息。
更重要的是,系统还提供包括 NVME IO 隔离等特性,彻底解决 IO 控制组在多队列设备场景资源利用率低、不支持按比例隔离等问题,保证了不同场景下的 IO 隔离效果。
业界的内核热补丁技术主要是针对 X86 架构进行开发,缺少对 ARM64 等架构的支持。Tencent Linux 通过实现类 FMENTRY、FTRACE with REGS 功能,给 KPATCH 中增加 ARM64 支持等实现了针对 ARM64 架构的内核热补丁方案。
同时,Tencent Linux 提供进程 GDB 禁止功能,阻止跨进程获取内存、加载动态库等,保障业务进程的数据安全。
性能方面,Tencent Linux 针对计算、存储和网络子系统都进行了优化,例如 PAGE CACHE LIMIT 功能,限制 page cache 的使用率,尽量使系统剩余的内存能够满足业务的需求;系统还新增多个 sysctl/proc 控制接口、内核启动参数等优化用户体验。