Tencent Cloud announced on January 9 that it will open source the kernel of its server operating system TencentOS.
Compared with other versions of the Linux kernel, Tencent Cloud's TencentOS kernel is highly competitive in terms of resource scheduling flexibility, container support, system performance, and security, and is more suitable for cloud environments, the company said.
TencentOS Kernel is the second open source product of TencentOS family after Tencent Cloud Internet of Things operating system TencentOS tiny.
TencentOS is a Tencent cloud operating system series product developed by the Tencent Cloud Architecture Platform Department, covering application scenarios such as data centers, desktop systems, edge devices, and IoT terminals.
TencentOS server operating system has served in Tencent for more than 10 years, covering all the company's self-developed businesses, with installed capacity exceeding one million, Tencent said.
TencentOS tiny, a new open source in September 2019, is a real-time operating system developed by Tencent for the Internet of Things field, which can effectively improve the development efficiency of Internet of Things terminal products. Currently, it has been marked as 3.7k on Github.
The Tencent Cloud Operating System team said: "TencentOS Kernel, the Tencent Cloud server operating system kernel, is open sourced. It can not only share Tencent Cloud's technology and experience in the field of server operating systems with global developers, but also draw on the excellent results and Innovative ideas. "
In recent years, Tencent's open source rhythm has been accelerating. As of January 2020, it has open sourced 92 projects on Github and actively participated in the co-construction of open source foundations. It has now become the highest level member of nine major open source foundations such as Linux and Apache.
The CPU flexible scheduling algorithm developed by TencentOS Kernel has significant benefits in the off-line business mix scenario. Under the premise of not affecting the quality of online services, the CPU utilization of the entire machine has been increased up to 3 times. In some business scenarios, the CPU utilization of the whole machine can be increased to 90%.
Based on business requirements, TencentOS Kernel first isolates and enhances necessary system states, such as cpuinfo, stat, loadavg, meminfo, vmstat, diskstats, and uptime, to ensure that applications in containers can obtain correct system state information.
The kernel hot patch technology in the industry is mainly developed for the X86 architecture, and lacks support for ARM64 and other architectures. TencentOS Kernel has implemented the kernel hot patch solution for the ARM64 architecture by implementing FMENTRY, FTRACE with REGS functions, adding ARM64 support to KPATCH, and so on.
The TencentOS Kernel provides a process GDB prohibition function, which prevents cross-process acquisition of memory and loading of dynamic libraries to ensure data security of business processes.
The TencentOS Kernel is uniquely optimized for the computing, storage, and network subsystems, such as the PAGE CACHE LIMIT function, which limits the use of the page cache and maximizes the remaining memory of the system to meet business needs. TencentOS Kernel also adds multiple sysctl/proc controls interfaces, kernel startup parameters, etc. to optimize the user experience.
TencentOS Kernel open source address: https://github.com/Tencent/TencentOS-kernel.