US-20260127008-A1 - SYSTEMS AND METHODS FOR CONFIGURING AN OPERATING SYSTEM
Abstract
Techniques for configuring the operating system (OS) of a computing device are disclosed. An example method includes receiving a plurality of machine specifications and a request for an OS configuration from a computing device. The method also includes identifying, by a processing device, a selected machine group from among a plurality of machine groups based on a comparison of the plurality of machine specifications with a set of principal machine specifications associated with each of the plurality of machine groups. The method also includes obtaining a pre-tuned OS configuration assigned to the selected machine group and sending the pre-tuned OS configuration to the computing device, wherein an operating system of the computing device is configured in accordance with the pre-tuned OS configuration.
Inventors
- Huamin Chen
- Tatsuhiro Chiba
- Marcelo Amaral
- Scott Ross Trent
- Tamar Eilam
- Rina Inoue
- Eun Kyung Lee
- Sunyanan Choochotkaew
- Sunil Thaha
Assignees
- RED HAT, INC.
Dates
- Publication Date
- 20260507
- Application Date
- 20241101
Claims (20)
- 1 . A method comprising: receiving a plurality of machine specifications and a request for an operating system (OS) configuration from a computing device; identifying, by a processing device, a selected machine group from among a plurality of machine groups based on a comparison of the plurality of machine specifications with a set of principal machine specifications associated with each of the plurality of machine groups; obtaining a pre-tuned OS configuration assigned to the selected machine group; and sending the pre-tuned OS configuration to the computing device, wherein an operating system of the computing device is configured in accordance with the pre-tuned OS configuration.
- 2 . The method of claim 1 , wherein the operating system of the computing device is immutable.
- 3 . The method of claim 1 , the method further comprising adjusting parameters of the operating system based on a monitored performance of the operating system after the operating system is configured in accordance with the pre-tuned OS configuration.
- 4 . The method of claim 1 , comprising identifying the plurality of machine groups and their respective pre-tuned OS configurations based on historical configuration data.
- 5 . The method of claim 1 , wherein the machine specifications comprise hardware specifications of the computing device, a power savings policy to be applied to the computing device, and a performance target to be achieved by the computing device.
- 6 . The method of claim 1 , wherein the pre-tuned OS configuration is an initial OS configuration and the request for the OS configuration is received from an OS installer of the computing device.
- 7 . The method of claim 1 , wherein identifying the selected machine group comprises computing a similarity value that reflects a degree to which the principal machine specifications of the selected machine group overlap with the machine specifications of the computing device.
- 8 . The method of claim 1 , wherein identifying the selected machine group comprises determining a certainty value for the selected machine group, wherein the certainty value is proportional to a number of previously-tuned computing devices that are members of the selected machine group.
- 9 . A system comprising: a memory; and a processing device, operatively coupled to the memory, the processing device to: receive a plurality of machine specifications and a request for an operating system (OS) configuration from a computing device; identify a selected machine group from among a plurality of machine groups based on a comparison of the plurality of machine specifications with a set of principal machine specifications associated with each of the plurality of machine groups; obtain a pre-tuned OS configuration assigned to the selected machine group; and send the pre-tuned OS configuration to the computing device, wherein an operating system of the computing device is configured in accordance with the pre-tuned OS configuration.
- 10 . The system of claim 9 , wherein the operating system of the computing device is immutable.
- 11 . The system of claim 9 , wherein the processing device is further to adjust parameters of the operating system based on a monitored performance of the operating system after the operating system is configured in accordance with the pre-tuned OS configuration.
- 12 . The system of claim 9 , wherein the processing device is further to identify the plurality of machine groups and their respective pre-tuned OS configurations based on historical configuration data.
- 13 . The system of claim 9 , wherein the machine specifications comprise hardware specifications of the computing device, a power savings policy to be applied to the computing device, and a performance target to be achieved by the computing device.
- 14 . The system of claim 9 , wherein the pre-tuned OS configuration is an initial OS configuration and the request for the OS configuration is received from an OS installer of the computing device.
- 15 . The system of claim 9 , wherein to identify the selected machine group, the processing device is to compute a similarity value that reflects a degree to which the principal machine specifications of the selected machine group overlap with the machine specifications of the computing device.
- 16 . The system of claim 9 , wherein identifying the selected machine group, the processing device is to determining a certainty value for the selected machine group, wherein the certainty value is proportional to a number of previously-tuned computing devices that are members of the selected machine group.
- 17 . A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to: receive a plurality of machine specifications and a request for an operating system (OS) configuration from a computing device; identify, by the processing device, a selected machine group from among a plurality of machine groups based on a comparison of the plurality of machine specifications with a set of principal machine specifications associated with each of the plurality of machine groups; obtain a pre-tuned OS configuration assigned to the selected machine group; and send the pre-tuned OS configuration to the computing device, wherein an operating system of the computing device is configured in accordance with the pre-tuned OS configuration.
- 18 . The non-transitory computer-readable storage medium of claim 17 , wherein the pre-tuned OS configuration is an initial OS configuration and the request for the OS configuration is received from an OS installer of the computing device.
- 19 . The non-transitory computer-readable storage medium of claim 17 , wherein to identify the selected machine group, the instructions cause the processing device to compute a similarity value that reflects a degree to which the principal machine specifications of the selected machine group overlap with the machine specifications of the computing device.
- 20 . The non-transitory computer-readable storage medium of claim 17 , wherein identifying the selected machine group, the instructions cause the processing device to determining a certainty value for the selected machine group, wherein the certainty value is proportional to a number of previously-tuned computing devices that are members of the selected machine group.
Description
TECHNICAL FIELD Aspects of the present disclosure relate to operating systems for computing devices, and more particularly, to techniques for selecting an operating system configuration for a computing device. BACKGROUND A computing device's operating system (OS) is a layer of software that manages computer hardware and software, enabling computer programs to access various resources such as data storage, networking, processing, and memory resources, among others. The configuration of the operating system can have a significant effect on the performance, security and power efficiency of a computing device. BRIEF DESCRIPTION OF THE DRAWINGS The described embodiments and the advantages thereof may best be understood by reference to the following description taken in conjunction with the accompanying drawings. These drawings in no way limit any changes in form and detail that may be made to the described embodiments by one skilled in the art without departing from the spirit and scope of the described embodiments. FIG. 1 is a block diagram of an example system for configuring an operating system, in accordance with some embodiments of the present disclosure. FIG. 2 is a diagram depicting an example process for configuring an operating system, in accordance with some embodiments of the present disclosure. FIG. 3 is a process flow diagram depicting an example method for identifying a pre-tuned OS configuration, in accordance with some embodiments of the present disclosure. FIG. 4 is a process flow diagram summarizing a method of configuring an operating system, in accordance with some embodiments of the present disclosure. FIG. 5 is a simplified block diagram of an example system for configuring an operating system, in accordance with some embodiments of the present disclosure. FIG. 6 illustrates a diagrammatic representation of a machine in the example form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. DETAILED DESCRIPTION Aspects of the present disclosure relate to techniques for configuring an operating system to improve performance and power efficiency while also maintaining a high level of security. When an operating system is installed on a computing device, the operating system may be set up using an initial configuration. For example, the installation of the operating system may be performed by an OS installer that controls the installation process by setting up basic configuration information such as disk drive partitioning, package and package group selection, location, time zone, user accounts, passwords, network configuration, and additional software and hardware configurations. In some cases, the OS installer obtains a predefined configuration file that contains all the initial configuration information, thereby eliminating the need for user interaction during the installation process. After the initial configuration, performance of the computing system can be monitored through the collection of various types of telemetry. The telemetry can be processed to identify adjustments to the OS configuration designed to improve the computing system's performance and/or power efficiency. The OS configuration may be periodically adjusted in this manner to achieve ongoing performance improvements. Such dynamic OS tuning may be provided by an online service provider that collects telemetry remotely and periodically provides OS configuration changes. However, such dynamic OS tuning may introduce security vulnerabilities and/or system instability due to the mutable nature of the OS configuration. Additionally, allowing a remote service provider to push configuration changes over the network may present a potential point of vulnerability to outside attack. The present disclosure provides an improved process for configuring the operating system of a computing device. Specifically, the present disclosure describes techniques for providing a customized OS configuration that is pre-tuned for the specific computing device. Embodiments of the present techniques use a group-based selection technique that enables pre-defined OS configurations to be applied to a target computing device based on the target's specifications (e.g., hardware and software specifications, power savings policies, security policies, etc.). Each of the OS configurations may be pre-tuned. In accordance with embodiments, computing devices are grouped into categories (referred to herein as machine groups) based on a subset of specifications that describe significant characteristics of the computing devices, including hardware specifications, power management features, and performance targets. For each machine group, an OS configuration is identified that provides a high level of performance in keeping with the specified policies and performance targets. For example, the OS configuration may be identified based on historical performance