On January 9, Tencent Cloud announced that it will open source the TencentOS kernel of its server operating system. Compared with other versions of Linux kernel in the industry, Tencent Cloud TencentOS kernel is very competitive in resource scheduling flexibility, container support, system performance and security, especially suitable for cloud environment. The open source and application of the system can help customers greatly improve the utilization efficiency of cloud resources, reduce operating costs, and obtain a more secure and reliable business operation environment.

TencentOS Kernel is the second open source product of the TencentOS family, following TencentOS Tiny, Tencent’s cloud iot operating system. TencentOS is a series of Tencent cloud operating system products, mainly developed by Tencent Cloud Architecture Platform Department. It covers application scenarios such as data center, desktop system, edge device and Internet of Things terminal, and provides reliable cloud platform construction, access and application capabilities to help customers transform cloud value. TencentOS server operating system has been in service in Tencent for more than 10 years, covering all self-developed businesses of the company and installing more than one million machines. In September 2019, TencentOS Tiny, a new open source real-time operating system developed by Tencent for the Internet of Things, is featured with low power consumption, low resource occupancy, modularity, security and reliability, which can effectively improve the development efficiency of Internet of Things terminal products. At present, it has been listed on Github with 3.7K stars.

Portal: Tencent’s own lightweight iot operating system TencentOS Tiny officially open source Tencent Cloud operating system team says: “The open source TencentOS Kernel of Tencent Cloud server operating system can not only share Tencent Cloud’s technology and experience in the field of server operating system with developers around the world, but also learn excellent achievements and innovative ideas in the field of server operating system around the world, and help the prosperity of the overall server operating system ecosystem.

Tencent is committed to sharing technological achievements with developers through open source. In recent years, Tencent has been accelerating the pace of open source. As of January 2020, it has opened 92 projects on Github and actively participated in the construction of open source foundations. At present, Tencent has become the highest level member of 9 open source foundations, including Linux and Apache.

The resource scheduling solution specially designed for the cloud greatly enhances the elastic scalability of the system

Fairness is the core logic of resource scheduling algorithm in traditional Linux system. Fair scheduling can provide system universality to the greatest extent. However, such fairness will result in low effective utilization of resources and greatly limit the resilience of the system. Resources cannot be allocated and reclaimed based on service requirements because of not only the quantity but also the quality of resources, such as resource allocation speed and preemption capability. In the context of cloud platform resource scheduling requirements, TencentOS Kernel developed a dedicated resource scheduling algorithm to greatly improve the resource elasticity of the whole machine. Services can specify the amount and level of resources to be allocated based on requirements. The system services obtained from the same amount of resources at different levels vary significantly.

The elastic CPU scheduling algorithm developed by TencentOS Kernel is very profitable in the case of off-line service mixing. The CPU usage increases by up to three times without affecting the quality of online services. In some service scenarios, the CPU usage increases to 90%.

Resource isolation has been comprehensively upgraded to help businesses build the strongest container platform

As we all know, the security isolation of resources is always the core issue of container virtualization platform. The isolation feature provided by the community kernel cannot meet service requirements. Some basic system status information, CPU information, and disk status information are not isolated. In some scenarios, services are even unavailable.

Based on service requirements, the TencentOS Kernel enhances the isolation of necessary system status, such as CPUInfo, STAT, loadavg, meminfo, vmstat, diskSTATS, and uptime, to ensure that applications in containers can obtain correct system status information.

In addition, the TencentOS Kernel provides NVME I/O isolation, which completely eliminates the problem that I/O control groups in multi-queue device scenarios have low resource utilization and do not support proportional isolation, ensuring I/O isolation in different scenarios.

Unique system security and performance optimization features, continue to reduce business operating costs

The kernel hot patch technology in the industry is mainly developed for X86 architecture, and lacks support for ARM64 and other architectures. TencentOS Kernel realizes the Kernel hot patch scheme for ARM64 architecture by implementing FMENTRY, FTRACE with REGS functions and adding ARM64 support to KPATCH. TencentOS Kernel provides the GDB disabling function to prevent cross-process memory acquisition and dynamic library loading, ensuring data security of service processes.

In terms of performance, TencentOS Kernel optimizes computing, storage, and network subsystems. For example, the PAGE CACHE LIMIT function limits the PAGE CACHE usage to ensure that the remaining memory of the system can meet service requirements. TencentOS Kernel also adds several sysctl/proc control interfaces and Kernel startup parameters to optimize user experience.

Sincere open source

We hope that by making Tencentos-kernel open source, we can contribute to the application of other related fields in the industry, and also hope to improve the product itself. If you are interested in this framework, please give this project a Star. Welcome to submit your issue and PR!

Tencentos-kernel open source!

Github open Source: github.com/Tencent/Ten…

Please give tencentos-kernel a Star! Welcome to submit your issue and PR!

Tencentos-kernel Domestic mirror address:

Git.code.tencent.com/Tencent_Ope…

(Login to access public projects)

Tencent worker bee source code system for open source developers to provide a complete, the latest Tencent open source project domestic mirror