Control system and method, and device
By separately running the real-time operating system and the general operating system on different processors, the real-time and delay problems caused by resource competition are solved, and the efficient execution of industrial control tasks is achieved.
Patent Information
- Application Number
- PCT/CN2024/077827
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-25
- Filing Date
- 2024-02-20
- Publication Date
- 2025-01-02
AI Technical Summary
In industrial control scenarios, resource competition between real-time operating systems and general operating systems leads to real-time and delay problems, making it difficult to effectively ensure the task execution of real-time operating systems.
By running the real-time operating system and the general operating system on different processors, avoiding resource competition, and using the first operating system to manage the operating status of the second operating system, ensuring real-time and delay requirements.
It effectively improves the real-time performance of real-time operating systems and the task execution delay of general operating systems, ensuring efficient execution of industrial control tasks.
Smart Images

Figure CN2024077827_02012025_PF_FP_ABST
Abstract
Description
Control system, method and device
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of China on June 28, 2023, with application number 202310781442.3 and application name “A Computing System”, the entire contents of which are incorporated by reference into this application; this application claims priority to the Chinese patent application filed with the State Intellectual Property Office of China on August 25, 2023, with application number 202311090765.4 and application name “A Control System, Method and Device”, the entire contents of which are incorporated by reference into this application. Technical Field
[0003] The present application relates to the field of communication technology, and in particular to a control system, method, and device. Background Art
[0004] Various business scenarios, such as industrial control and automated driving, have begun to use virtualization technology on management platforms to reduce costs and improve hardware utilization.
[0005] Taking industrial control as an example, two different types of operating systems need to be deployed on industrial control-related management platforms. One type is a real-time operating system (RTOS), which is closer to the industrial production line. RTOSs offer lower latency and can control the industrial production line in real time, completing business-related tasks such as controlling robotic arms on the industrial production line. The other type is a general-purpose operating system (OS) for upper-level management. Based on different management functions and management layers, general-purpose operating systems can be specifically divided into general-purpose operating systems for different management functions, such as a general-purpose operating system for monitoring a single industrial production line or a general-purpose operating system for scheduling tasks across multiple industrial production lines. Compared to real-time operating systems, general-purpose operating systems have higher latency.
[0006] Industrial control management platforms require the deployment of multiple real-time operating systems (RTOSs) and at least one general-purpose operating system (GOS) to implement a complete industrial management system. To achieve this, virtualization technology is used to deploy multiple computing instances on the processors of computing devices, each of which can run a real-time operating system (RTOS) and a GOS.
[0007] However, because both real-time operating systems and general-purpose operating systems run on the same processor based on compute instances, resource competition is inevitable. For example, the processor resources available to any RTOS are affected by the general-purpose operating system and other RTOSes running on that processor, making real-time performance difficult to guarantee.
[0008] Summary of the Invention
[0009] The present application provides a control system, method and device for improving the real-time performance of a real-time operating system.
[0010] In a first aspect, an embodiment of the present application provides a control system, which includes at least two processors of different types. For ease of distinction, the two different types of processors are respectively referred to as a first processor and a second processor.
[0011] A first operating system runs on the first processor, and a second operating system runs on the second processor; wherein the first operating system and the second operating system are of different types.
[0012] The first operating system can manage the running state of the second operating system; the second operating system can execute tasks related to the first service.
[0013] Through the above system, two different types of operating systems run on different processors, and there is no competition for resources on the same processor. The real-time performance of the two operating systems can be effectively improved, especially for the second operating system that needs to execute tasks. The improvement of the real-time performance of the second operating system can effectively ensure the delay of task execution.
[0014] In one possible implementation, the first processor is a CPU, and the second processor is part or all of the following: DPU, GPU, TPU, NPU, FPGA, or ASIC.
[0015] Through the above system, a wide variety of processors can be used as the second processor, suitable for different application scenarios.
[0016] In one possible implementation, a second service runs on a first operating system. When managing the operating status of the second operating system, the first operating system may manage the operating status of the second operating system based on the operating requirements of the second service. The operating requirements of the second service may be reflected in user instructions or pre-configured management policies.
[0017] Through the above system, the management of the running status of the second operating system by the first operating system is more in line with the actual business operation requirements, ensuring the effectiveness of the management of the running status of the second operating system by the first operating system.
[0018] In a possible implementation, the first operating system is GPOS, and the second operating system is RTOS.
[0019] Through the above system, GPOS as the first operating system can provide rich functions and services, and RTOS as the second operating system can provide more precise time control, ensuring that the second operating system can have lower latency when executing services related to the first task.
[0020] In a possible implementation, the second service running on the first operating system is a non-real-time service, and the first service is a real-time service.
[0021] Through the above system, the second operating system executes tasks related to real-time services, which can ensure the delay of the task. The first operating system and the second operating system run different services, ensuring that both services are completed by corresponding operating systems.
[0022] In one possible implementation, when the first operating system manages the running state of the second operating system, the first operating system may perform some or all of the following:
[0023] Start the second operating system, stop the second operating system, create the second operating system, and log out of the second operating system.
[0024] Through the above system, the management of the running state of the second operating system by the first operating system covers all possible running states of the second operating system.
[0025] In a possible implementation, a third operating system is also running on the second processor.
[0026] The third operating system can manage the processor cores and memory space on the second processor, reserving the processor cores and memory space for the second operating system. When the first operating system creates the second operating system, it can send a resource allocation instruction to the third operating system, the resource allocation instruction being used to instruct the third operating system to configure the processor cores and memory space for the second operating system. The third operating system receives the resource allocation instruction and configures the processor cores and memory space for the second operating system according to the resource allocation instruction.
[0027] Through the above system, the third operating system running on the second processor processes the instructions from the first operating system, which can ensure that the second operating system can create the first operating system according to the instructions of the first operating system.
[0028] In one possible implementation, when the first operating system starts, stops, or deregisters the second operating system, the first operating system may send a management instruction to the third operating system on the second processor, the management instruction being used to instruct the third operating system on the second processor to start, stop, or deregister the second operating system. The third operating system receives the management instruction and starts, stops, or deregisters the second operating system according to the management instruction.
[0029] Through the above system, the management instructions from the first operating system are received by the third operating system processor running on the second processor, which can ensure that the second operating system can start, stop or log off the first operating system according to the management instructions of the first operating system, thereby realizing effective control of the running status of the second operating system.
[0030] In a possible implementation, a computing instance and a computing instance management module are deployed on the first processor, and the first operating system runs on the computing instance.
[0031] When the first operating system sends an instruction to the third operating system, the first operating system sends the instruction to the third operating system through the computing instance management module.
[0032] The computing instance management module can manage the computing instance, receive instructions sent by the first operating system to the third operating system, and transmit the instructions to the third operating system.
[0033] Through the above system, the first operating system runs on the computing instance, which can ensure that multiple first operating systems can run on the first processor, thereby improving the resource utilization of the first processor.
[0034] In one possible implementation, when managing the operating status of the second operating system, the first operating system may manage the operating status of the second operating system through a management module, where the management module runs on the first operating system or on a fourth operating system. This application does not limit the operating mode of the fourth operating system. For example, the fourth operating system may run on the first processor; the fourth operating system may also run on a third processor, and the third processor may be of the same type as the first processor.
[0035] Through the above system, the first operating system can manage the running status of the second operating system with the help of the management module. The management functions of the independent management module are more targeted and can assist the first operating system to efficiently manage the running status of the second operating system.
[0036] In a possible implementation, the second processor includes multiple processor cores, and the second operating system exclusively occupies one or more processor cores among the multiple processor cores.
[0037] Through the above system, the second operating system has exclusive occupancy of the processor core, thereby avoiding competition among the second operating systems for resources of the second processor.
[0038] In a possible implementation, the first processor and the second processor are distributed on the same computing device, or on different computing devices.
[0039] Through the above system, the distribution mode of the first processor and the second processor is relatively flexible, and the control system can be constructed according to actual needs.
[0040] In the second aspect, an embodiment of the present application provides a control method, which can be executed by a control system. The beneficial effects can be found in the relevant description of the first aspect and will not be repeated here.
[0041] A first operating system running on a first processor sends instructions for a second operating system to a second processor, where the instructions are used to manage the running state of the second operating system, and the second operating system runs on the second processor, wherein the first processor and the second processor are of different types, and the first operating system and the second operating system are of different types.
[0042] The second processor manages the running state of the second operating system according to the instructions.
[0043] In one possible implementation, the first processor is a CPU, and the second processor is part or all of the following: DPU, GPU, TPU, NPU, FPGA, or ASIC.
[0044] In one possible implementation, a second service runs on the first operating system; when the first operating system running on the first processor sends instructions for the second operating system to the second processor, the first operating system sends instructions for the second operating system to the second processor according to the operation requirements of the second service.
[0045] In a possible implementation, the first operating system is GPOS, and the second operating system is RTOS.
[0046] In a possible implementation, the second service running on the first operating system is a non-real-time service, and the first service is a real-time service.
[0047] In one possible implementation, managing the running state of the second operating system includes some or all of the following:
[0048] Start the second operating system, stop the second operating system, create the second operating system, and log out of the second operating system.
[0049] In a possible implementation, when creating the second operating system, the third operating system running on the second processor reserves a processor core and storage space of the second processor for the second operating system.
[0050] The third operating system receives a resource allocation instruction from the first operating system, where the resource allocation instruction is used to instruct configuration of a processor core and a storage space for the second operating system.
[0051] The third operating system configures a processor core and storage space for the second operating system according to the resource allocation instruction.
[0052] In one possible implementation, when starting, stopping or deregistering the second operating system, the third operating system running on the second processor receives a management instruction from the first operating system, where the management instruction is used to instruct to start, stop or deregister the second operating system; the third operating system starts, stops or deregisters the second operating system according to the management instruction.
[0053] In one possible implementation, a computing instance and a computing instance management module are deployed on a first processor, and a first operating system runs on the computing instance; when the first operating system sends instructions for the second operating system to the second processor, the first operating system sends instructions for the second operating system to the computing instance management module; and the computing instance management module transmits the instructions for the second operating system to a third operating system.
[0054] In a possible implementation, the second processor includes multiple processor cores, and the second operating system exclusively occupies one or more processor cores among the multiple processor cores.
[0055] In a possible implementation, the first processor and the second processor are distributed on the same computing device, or on different computing devices.
[0056] In a third aspect, the present application also provides a computing device on which is deployed a control system as described in the first aspect and various possible implementations of the first aspect. The beneficial effects can be found in the description of the first aspect and will not be repeated here.
[0057] In a fourth aspect, the present application further provides a computing device cluster, on which is deployed a control system as described in the first aspect and various possible implementations of the first aspect. The beneficial effects can be found in the description of the first aspect and will not be repeated here.
[0058] In a fifth aspect, the present application also provides a computer-readable storage medium, which stores instructions. When the computer-readable storage medium is run on a computer, it enables the computer to execute the method in the above-mentioned second aspect and various possible implementations of the second aspect.
[0059] In a sixth aspect, the present application also provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the method in the above-mentioned second aspect and various possible implementations of the second aspect.
[0060] In the seventh aspect, the present application also provides a computer chip, which is connected to a memory and is used to read and execute a software program stored in the memory, and to execute the methods in the above-mentioned second aspect and various possible implementations of the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0061] FIG1 is a schematic diagram of the structure of a control system provided by the present application;
[0062] FIG2 is a schematic diagram of a deployment of a first operating system provided by the present application;
[0063] FIG3 is a schematic diagram of another deployment of a first operating system provided by the present application;
[0064] FIG4 is a schematic diagram of a visual interface provided by a first operating system provided by the present application to a user;
[0065] FIG5 is a schematic diagram of a deployment of a management module provided by this application;
[0066] FIG6 is a schematic structural diagram of a second processor provided by the present application;
[0067] FIG7 is a schematic diagram of deployment of a first operating system, a second operating system, and a third operating system provided by the present application;
[0068] FIG8A is a schematic diagram of the structure of a computing device provided by the present application;
[0069] FIG8B is a schematic diagram of the structure of a computing device cluster provided by the present application;
[0070] FIG9 is a schematic diagram of a control method provided in this application. DETAILED DESCRIPTION
[0071] Before introducing a control system and device provided by the embodiments of the present application, some concepts involved in the present application are explained:
[0072] (1) Virtualization technology, computing instance, container, virtual machine (VM).
[0073] Virtualization is a resource management technology that abstracts and transforms a host's physical resources, such as processors, memory, and interfaces, into a physical form. Virtualization is a resource allocation method based on logic, a logical abstraction of physical resources.
[0074] The host can use virtualization technology to form a software module with an independent operating environment on the host. In the embodiment of the present application, the software module with an independent operating environment formed by resources such as the first processor is referred to as a computing instance. The computing instance can be a virtual machine or a container.
[0075] A virtual machine is a "complete computer" simulated using virtualization technology, with complete hardware system functions, running in a completely isolated environment. Any tasks that can be performed on a physical computer can also be performed in a virtual machine. A virtual machine has a processor (also called a virtual processor), memory, a hard disk, and other components. These components are virtualized from the host's processor, memory, hard disk, and other components. The virtual machine has an operating system installed, which is independent of the host's operating system. To distinguish between these two operating systems, the host's operating system is often referred to as the host operating system (hostOS), while the virtual machine's operating system is often referred to as the guest operating system (guestOS).
[0076] A container is an independent operating environment simulated through virtualization technology. A container is similar to a lightweight sandbox that shields software and hardware outside the container. Containers implement virtualization at the operating system level and directly reuse the host's operating system.
[0077] To the host, a computing instance is considered a special "process." This "process" performs computing tasks and occupies resources such as the host's processor (such as the processor core), memory, and hard disk.
[0078] For example, the host operating system will configure a memory space dedicated to the computing instance, and the computing instance will occupy this memory space to support the computing tasks that the computing instance needs to perform.
[0079] In the embodiment of the present application, the first operating system 110 can be run on the first processor 100 of the computing device. The first operating system 110 can be run directly on the first processor 100, that is, the first operating system 110 can be a host operating system. The first operating system 110 can also be run on a computing instance 130 formed based on the first processor 100 of the computing device, that is, the first operating system 110 can be a guest operating system.
[0080] (2) Hierarchical management in industrial control scenarios.
[0081] Management in industrial control scenarios involves the control of individual industrial equipment, production lines, factories, and enterprises. Industrial control scenarios typically adopt a hierarchical management approach.
[0082] Hierarchical management in industrial control scenarios can include five layers: L0, L1, L2, L3, and L4. L0 refers to industrial equipment on industrial production lines, such as robotic arms or CNC machine tools. L1 is the field control layer, responsible for controlling multiple pieces of industrial equipment. For example, L1 may include at least one controller that can control multiple pieces of industrial equipment, such as monitoring the operating status of industrial equipment and controlling the start and stop of industrial equipment. L2 is the process monitoring layer, responsible for managing and monitoring the control layer. L3 is the production management layer, which is primarily a management system for industrial production lines and is responsible for controlling the operating status of each industrial production line. L4 is an enterprise-level management system.
[0083] This hierarchical management logically divides the management operations required in industrial control scenarios. Regarding the physical location of each layer, L0 is located directly on the industrial production line. L1 can be located near industrial equipment, L2 can be located next to the industrial production line, and L3 can be located near multiple industrial production lines. L4 can be deployed away from the industrial production line, such as in a designated data center or in the cloud.
[0084] L1 to L3 can be deployed on the control system 10 mentioned in the embodiment of the present application to realize the joint deployment of L1 to L3. On the one hand, the joint deployment of L1 to L3 facilitates the interaction between L1 to L3 and improves management efficiency. On the other hand, the joint deployment of L1 to L3 can effectively simplify the difficulty of building a management platform in an industrial control scenario. In other words, when L1 to L3 are jointly deployed in the control system 10, the construction of the management platform in the industrial control scenario only needs to consider the connection between L0 and L1, and the connection between L3 and L4, and the construction of the management platform in the industrial control scenario is simpler.
[0085] (3) General Purpose Operating System (GPOS) and Real Time Operating System (RTOS).
[0086] RTOS and GPOS are two types of operating systems designed for different purposes. RTOS offers advantages such as determinism and high performance; it enables precise timing and deterministic execution. Common RTOSes include Free RTOS. GPOS, on the other hand, offers multitasking, resource sharing, and a rich set of services and features. Common GPOS systems include Windows or Linux. GPOS systems can also be expanded with applications offering different functions based on actual needs.
[0087] Given their characteristics, RTOS and GPOS can be applied in industrial control scenarios. In hierarchical management within industrial control scenarios, RTOS is typically used at L1, as L1 control of industrial equipment has strict time requirements and deterministic behavior (i.e., control of industrial equipment typically follows fixed behavior patterns). GPOS can be used at L2 and L3.
[0088] In the embodiment of the present application, L1 to L3 can be integrated on the control system 10 , that is, at least two different types of operating systems need to be run on the control system 10 , such as RTOS and GPOS.
[0089] As shown in Figure 1, a control system 10 is provided in an embodiment of the present application. The control system 10 includes multiple processors, and the multiple processors include at least two different types of processors. In the embodiment of the present application, the multiple processors include two different types of processors as an example. For convenience of distinction, one type of processor is referred to as the first processor 100, and the other type of processor is referred to as the second processor 200. The first processor 100 and the second processor 200 can communicate with each other.
[0090] Two different types of operating systems can run on the control system 10. For ease of distinction, one type of operating system is referred to as a first operating system 110, and the other type of operating system is referred to as a second operating system 210. The two different types of operating systems can run on different processors.
[0091] The operating system running on a processor as mentioned in the embodiments of this application refers to the processor invoking computer program instructions related to the operating system, enabling the processor to implement the functions required by the operating system according to the computer program instructions. The processor is the hardware execution entity. Specifically, within the processor, the operating system may only run on some or all of the processor cores 201 in the processor, that is, the specific functions required by the operating system are implemented by some or all of the processor cores 201.
[0092] Of course, when the operating system runs on a processor, it also requires support from other components in the computing device where the processor is located, such as the memory of the computing device that can provide memory space to the processor to store the computer program instructions needed by the processor to call, the data required during the operation of the operating system, and the data generated. Since the main difference between the operation of the two operating systems in the embodiment of the present application is that the processors are different, only the processors are described in the embodiment of the present application, but it should be understood that in the embodiment of the present application, other components in the computing device are also required during the operation of the first operating system 110 and the second operating system 210. For example, the operation of the first operating system 110 mainly requires the computing device where the first processor 100 is located to provide memory space. For another example, the operation of the second operating system 210 requires not only the processor core 201 provided by the second processor 200 itself, but also the storage module 202 in the second processor 200 to provide storage space to store the computer program instructions needed by the second processor 200 to call, the data required during the operation of the operating system, and the data generated.
[0093] In the control system 10 , the first operating system 110 is a manager. The first operating system 110 can manage the running state of the second operating system 210 and control the running states of the second operating system 210 such as starting, stopping, logging off, and creating.
[0094] The second operating system 210 executes tasks related to the first service.
[0095] For example, in an industrial control scenario, the second operating system 210 is used to implement the functions of L1, and the first operating system 110 is used to implement the functions of L2 and / or L3. As L1, the second operating system 210 can control industrial equipment on the industrial production line, such as controlling the start and stop of industrial equipment. As L2, the first operating system 110 can control the second operating system 210, such as controlling the running status of the second operating system 210, and can also collect data and monitor the second operating system 210. For example, the power consumption and loss status of industrial equipment can also be monitored through the second operating system 210. As L3, the first operating system 110 can monitor, track and control the workflow of the entire production line in real time. For example, it can manage a single production line or multiple production lines, control the overall status of a single production line or multiple production lines, control the start and stop of the production line, monitor the production efficiency of the production line, etc. The first operating system 110, as L3, can also manage the factory to which multiple production lines belong, such as allocating working hours for each production line in the factory, interacting with the L2 layer to instruct each production line to start or stop work; for example, monitoring the attendance of personnel inside the factory; for example, identifying potential hidden dangers inside the factory and issuing early warnings.
[0096] The embodiments of the present application do not limit the number of first operating systems 110 and second operating systems 210 running on the control system 10. For example, the control system 10 may run multiple second operating systems 210, each corresponding to a piece of industrial equipment and controlling the corresponding piece of industrial equipment. In the control system 10, L2 may include multiple first operating systems 110, each corresponding to a production line and controlling the various industrial devices on the corresponding production line. In the control system 10, L3 may include multiple first operating systems 110, each of which is used to implement a function required by L3 and perform a specific type of task. For example, a first operating system 110 in L3 allocates working hours for each production line in a factory and interacts with L2 to instruct each production line to start or stop work. For another example, a first operating system 110 in L3 monitors the arrival of personnel within the factory. A first operating system 110 identifies potential hidden dangers within the factory and issues early warnings.
[0097] In the industrial control scenario, the control object of the second operating system 210 is industrial equipment and other equipment. The second operating system 210 needs to control the industrial equipment to start, stop, and execute some deterministic behaviors. For example, on the chip preparation production line, the second operating system 210 can control the industrial equipment to arrange devices on the chip substrate, package the chip, and other behaviors. The control of industrial equipment has high time requirements and needs to complete the corresponding control operations within a short time or a specified time. The second operating system 210 can adopt RTOS. The management object of the first operating system 110 is the second operating system 210. The first operating system 110 may also need to be user-oriented and receive user instructions. Therefore, the first operating system 110 usually needs to provide rich functions and also needs to adjust the management method according to actual needs (such as user needs). The first operating system 110 can adopt GTOS.
[0098] In the embodiment of the present application, only the application of the operating system to the industrial control scene is used as an example for illustration. In fact, the control system 10 provided in the embodiment of the present application is also applicable to other scenarios where multiple different types of operating systems need to be deployed at the same time. For example, the control system 10 provided in the embodiment of the present application is applicable to the intelligent driving scene, and the second operating system 210 can control the devices on the vehicle (such as the engine, brake device, turn signal, horn, audio). The first operating system 110 can manage the running status of the second operating system 210. For another example, the control system 10 provided in the embodiment of the present application is applicable to the smart home scene, and the second operating system 210 can control the household appliances in the house (such as televisions, audio, sweepers, washing machines, refrigerators, air conditioners), and the first operating system 110 can manage the running status of the second operating system 210.
[0099] From a business perspective, a first business is running on the second operating system 210, which is used to execute tasks related to the first business. A second business is running on the first operating system 110. The first operating system 110 manages the operating status of the second operating system 210 according to the operating requirements of the second business. The second operating system 210 can start executing tasks related to the first business (i.e., start the second operating system 210) and stop executing tasks related to the first business (i.e., stop the second operation) under the management of the first operating system 110. The first operating system 110 can also create a new second operating system 210 or cancel the started second operating system 210.
[0100] The first service runs on the second operating system 210 and may be a real-time service with a higher latency requirement. The second service runs on the first operating system 110 and may be a non-real-time service with a lower latency requirement.
[0101] The specific content of the first and second services is related to the scenario in which the control scenario is applied. Taking the industrial control scenario as an example, the second operating system 210 acts as L1. The first service running on the second operating system 210 is the control of industrial equipment. Accordingly, the tasks related to the first service are the control tasks of industrial equipment, such as controlling the movement of industrial equipment, controlling industrial equipment to start working, controlling industrial equipment to stop working, etc. The first operating system 110 can act as L2 or / L3. The second service running on the first operating system 110 is the management service of L2 or / L3. The management service of L2 is the management of L1. The operating requirements of the management service of L2 are reflected in the user's specific requirements for the operating status of the second operating system 210 (that is, the user's instructions), or in the management policy pre-set by the user for the operating status of the second operating system 210. The management service of L3 is the management of the overall operating status of the industrial production line. The operating requirements of the management service of L3 are reflected in the user's specific requirements for the operating status of the industrial production line, or in the management policy pre-set by the user for the operating status of the industrial production line.
[0102] The first operating system 110 and the second operating system 210 run on different processors. The first operating system 110 runs on the first processor 100 , and the second operating system 210 runs on the second processor 200 .
[0103] In this control system 10, the second operating system 210 is no longer deployed on the same processor as the first operating system 110. There is no resource competition between the first and second operating systems 110, which can reduce the computing pressure on the first processor 100. Furthermore, the second operating system 210 can run independently on the second processor 200, ensuring that the second operating system 210 can promptly utilize the computing power of the second processor 200 to execute tasks related to the first service, thus enabling the second operating system 210 to have strong real-time performance.
[0104] The following describes the functional implementation and operation of the first operating system 110 and the second operating system 210 respectively.
[0105] 1. First operating system 110 .
[0106] (1) The operation mode of the first operating system 110.
[0107] In the embodiment of the present application, the first operating system 110 can run on the first processor 100. The first processor 100 can be a central processing unit (CPU) or other processors. Any processor that can run the first operating system 110 can serve as the first processor 100.
[0108] Two operating modes of the first operating system 110 are listed below.
[0109] Mode 1: The first operating system 110 runs on the computing instance 130 formed based on the first processor 100 .
[0110] As shown in Figure 2, it is a schematic diagram of running the first operating system 110 on the first processor 100. A computing instance 130 and a computing instance management module 120 are deployed on the first processor 100. The first operating system 110 can run in the computing instance 130. When multiple computing instances 130 are deployed on the first processor 100, one first operating system 110 can run on each computing instance 130.
[0111] The computing instance 130 has an independent operating environment. The first operating system 110 runs on the computing instance 130. The computing instance 130 occupies a processor core of the first processor 100 and can perform management operations for the second operating system 210 based on the occupied processor core. The computing instances 130 are independent of each other and do not affect each other. In this case, multiple first operating systems 110 can run simultaneously on the first processor 100, and the multiple first operating systems 110 are independent of each other.
[0112] The computing instance management module 120 is used to manage the computing instance 130. The computing instance management module 120 can virtualize the underlying hardware (such as the processor core of the first processor 100 and the memory and other hardware of the computing device where the first processor 100 is located) to provide an operating environment for the computing instance 130. There are many ways for the computing instance management module 120 to provide the operating environment to the computing instance 130. For example, the computing instance management module 120 can simulate the operating environment for the computing instance 130 through software. For another example, the computing instance management module 120 can directly pass the underlying hardware to the computing instance 130.
[0113] The computing instance management module 120 is located between the first operating system 110 and the underlying hardware. When the first operating system 110 performs management operations on the second operating system 210, all instructions issued to the second operating system 210 will first reach the computing instance management module 120, and then be transmitted by the computing instance management module 120 to the second processor 200 where the second operating system 210 is located.
[0114] When the computing instance 130 is a virtual machine, the computing instance 130 management unit includes a virtual machine monitor (VMM).
[0115] Method 2: The first operating system 110 runs directly on the first processor 100 .
[0116] In this approach, the first operating system 110 does not run on the compute instance 130, and calls from the first operating system 110 to resources on the first processor 100 no longer need to be implemented through the compute instance management module 120. Instructions issued by the first operating system 110 to the second operating system 210 do not need to be passed through the compute instance management module 120. In other words, the first operating system 110 and the first processor 100 can interact directly, without the involvement of the compute instance management module 120. The first operating system 110 runs directly on the first processor 100, without the need for virtualization technology.
[0117] As shown in Figure 3, it is a schematic diagram of the first operating system 110 running on the first processor 100. The first operating system 110 interacts directly with the first processor 100, and the first operating system 100 directly uses the first processor 100 to complete the management operation of the second operating system 210. In other words, the first processor 100 can directly call the computer program instructions related to the first operating system 110, so that the first operating system 110 runs directly on the first processor 100. In this case, only one first operating system 110 is usually running on the first processor 100. For the first operating system 110, it can monopolize the first processor 100, and the working efficiency of the first operating system 110 is relatively high. However, there may be idle resources on the first processor 100, that is, the operation of the first operating system 110 only occupies part of the processor cores of the first processor 100, and the resource utilization rate of the first processor 100 is relatively low.
[0118] In addition, the embodiment of the present application does not limit the number of first processors 100 in the control system 10. As shown in FIG3 , two first processors 100 are exemplarily shown. A first operating system 110 is run on each first processor 100, and the two first processors 100 can interact with each other. For example, the two first operating systems 110 can cooperate with each other to complete the management operation of the second operating system 210. Taking the industrial control scenario as an example, one of the first operating systems 110 can act as L2 and directly manage the second operating system as L1. The other first operating system 110 can act as L3 to manage the first operating system as L2 and transmit some management commands to the first operating system as L2.
[0119] In actual applications, the two first processors 100 may not interact with each other. For example, the two first operating systems 110 independently complete their respective management operations for the second operating system 210. Taking the industrial control scenario as an example, one of the first operating systems 110 can be part of L2 and directly manage the second operating system on an industrial production line as L1. The other first operating system 110 is also part of L2 and directly manages the second operating system on another industrial production line as L1. The two first operating systems 110 are independent of each other and do not interfere with each other's management operations.
[0120] It can be seen that the first processors 100 in the control system 10 can be connected, but whether the first processors 100 interact with each other is related to the content of the specific management operations that the first operating system 100 running on the first processor 100 needs to perform.
[0121] (2) Functional implementation of the first operating system 110.
[0122] In the control system 10, the primary function of the first operating system 110 is to manage the operating status of the second operating system 210. The operating status of the second operating system 210 includes, but is not limited to, starting, stopping, creating, and deregistering. Starting means the second operating system 210 begins operation; stopping means the second operating system 210 stops operation and enters a standby state; creating means adding a new second operating system 210, and deregistering means deleting a second operating system 210. The first operating system 110 can also instruct the second processor 200 to allocate resources to the second operating system 210. These resources include the processor core 201 of the second processor 200 and the storage space within the second processor 200.
[0123] When the first operating system 110 needs to start, stop, or deregister the running state of the second operating system 210 while managing the running state of the second operating system 210, the first operating system 110 may send a management instruction to the second processor 200. The management instruction is used to start, stop, or deregister the running state of the second operating system 210. For example, for a started second operating system 210, the management instruction may instruct to stop or deregister the second operating system 210. For another example, for a stopped second operating system 210, the management instruction may instruct to start or deregister the second operating system 210.
[0124] When the first operating system 110 creates the second operating system 210, the first operating system 110 may send a resource allocation instruction to the second processor 200. The resource allocation instruction is used to instruct the allocation of processor cores 201 and storage space for the second operating system 210 to be created. The resource allocation instruction may include the number of processor cores 201 to be configured and the size of the storage space. The resource allocation instruction may also not include the number of processor cores 201 to be configured and the size of the storage space. In this case, the second processor 200 may allocate processor cores 201 and storage space to the second operating system 210 based on its own resource usage.
[0125] The first operating system 110 allocates processor cores 201 and storage space to the second operating system 210 to be created by sending a resource allocation instruction to the second processor 200. The resource allocation instruction may include the number of processor cores 201 to be configured and the size of the storage space. The resource allocation instruction may also not include the number of processor cores 201 to be configured and the size of the storage space. In this case, the second processor 200 may allocate processor cores 201 and storage space to the second operating system 210 based on its own resource usage.
[0126] Two functional implementations of the first operating system 110 are listed below.
[0127] Function Implementation Method 1: The first operating system 110 manages the running status of the second operating system 210 based on a preset management policy. The management policy describes the number of second operating systems 210 that need to be run and the running time of the second operating system 210 (such as start time and stop time).
[0128] The first operating system 110 can manage the running state of the second operating system 210 based on the management policy. The first operating system 110 can create or deregister second operating systems 210 according to the number of second operating systems 210 that need to be run as described in the management policy, so that the number of second operating systems 210 running in the control system 10 meets the number described in the management policy. The first operating system 110 can also control the startup and shutdown of the second operating system 210 based on the runtime of the second operating system 210 described in the management policy.
[0129] Function implementation method 2: the first operating system 110 manages the running state of the second operating system 210 based on the user's instruction.
[0130] The first operating system 110 can provide users with management services for the operating status of the second operating system 210. Users can issue instructions to the first operating system 110, which are used to control the operating status of the second operating system 210. After receiving the user's instructions, the first operating system 110 controls the operating status of the second operating system 210 according to the user's instructions. For example, the first operating system 110 can generate corresponding management instructions based on the user's instructions, and the management instructions are used to instruct to start, stop, or log off the second operating system 210, and send the management instructions to the second processor 200 where the second operating system 210 is located. For another example, the first operating system 110 can create the second operating system 210 based on the user's instructions, and the second processor 200 sends resource allocation instructions.
[0131] The embodiments of the present application do not limit the manner in which a user issues instructions to the first operating system 110. For example, the first operating system 110 can provide a visual management interface for the user, in which the user can browse the operating status of each second operating system 210 and change the operating status of the second operating system 210 on the management interface. For example, the user can start or stop a second operating system 210 on the management interface. For another example, the user can instruct on the management interface to create or deregister a particular operating system.
[0132] As shown in FIG4 , an embodiment of the present application provides a user-oriented visual management interface. In this management interface, information such as the name, running time, and startup time of each currently running second operating system 210 is displayed. In this management interface, for each running second operating system 210, an option to modify the running status is also provided. By clicking this modification option, the second operating system 210 can be stopped or logged off.
[0133] In the management interface, a creation option for creating a second operating system 210 is also provided. By clicking the creation option, a new second operating system 210 can be created and a name can be given to the second operating system 210 .
[0134] In the management interface, the user can issue instructions to the first operating system 110 by operating the management interface. For example, by clicking the Modify option, the user can issue an instruction to the first operating system 110 to stop or log off the second operating system 210. For another example, by clicking the Create option, the user can issue an instruction to the first operating system 110 to create the second operating system 210.
[0135] The first operating system 110 detects the user's operation on the management interface, receives the instruction issued by the user, and controls the running state of the second operating system 210 according to the instruction issued by the user.
[0136] The above-mentioned method of the user issuing instructions to the first operating system 110 through the visual management interface is only an example. In actual applications, the user can also issue instructions to the first operating system 110 through other methods. For example, the user can send instructions to the first operating system 110 through his own terminal device (such as a mobile phone, portable notebook computer, smart watch, etc.).
[0137] The above only lists two functional implementation methods of the first operating system 110. The embodiment of the present application does not limit the implementation method adopted by the first operating system 110 when managing the second operating system 210. Any method that can manage the running status of the second operating system 210 is applicable to the embodiment of the present application.
[0138] In actual applications, the management function of the second operating system 210 implemented on the first operating system 110 can be implemented by an application running on the first operating system 110. At least one application can be run on the first operating system 110, and the application has the management function of the second operating system 210. Different applications can implement a management function for the second operating system 210. For example, an application running on the first operating system 110 can collect and monitor data on the second operating system 210, and an application can monitor the power consumption and loss status of industrial equipment through the second operating system 210. An application is used to monitor, track and control the workflow of the entire production line in real time. When these applications implement their respective functions, they can implement their respective functions according to the two function implementation methods mentioned above.
[0139] In an embodiment of the present application, the first operating system 110 can generate management instructions or resource allocation instructions on its own. The first operating system 110 can also generate management instructions or resource allocation instructions with the help of a specific application. Here, the specific application is referred to as a management module. All management operations of the first operating system 110 on the second operating system 210 need to be implemented through the management module. The management module can parse commands from the first operating system 110 and manage the operating status of the second operating system 210. For example, when it is necessary to start, stop, or deregister the second operating system 210, the first operating system 110 can generate a command instructing to start, stop, or deregister, and send the command to the management module. The management module generates a management instruction that can be processed by the second processor 200 based on the command from the first operating system 110, and sends the management instruction to the second processor 200. For another example, when creating the second operating system 210, the first operating system 110 can generate a command instructing to create the second operating system 210, and send the command to the management module. The management module can generate a resource allocation instruction based on the command of the first operating system 110.
[0140] The management module mentioned here is different from the applications running on the first operating system 110 mentioned above. The applications running on the first operating system 110 mentioned above are primarily user-facing or provide interfaces for user interaction, and are applicable at the application level. The management module, on the other hand, is the underlying application that the first operating system 110 relies on to manage the running status of the second operating system 210. This application is not user-facing, but rather serves as a tool required by the first operating system 110 to perform management operations.
[0141] This application does not limit the deployment location of the management module. For example, the management module can run directly on the first operating system 110. For another example, the management module can also run on a fourth operating system other than the first operating system 110. The fourth operating system can run on the first processor 100. The operation mode of the fourth operating system on the first processor 100 is similar to the operation mode of the first operating system 110 on the first processor 100, which will not be described in detail here. For another example, the management module runs on a third processor, which can be a processor of the same type as the first processor 100. For another example, the management module can run on the computing instance management module 120 as a component of the computing instance management module 120.
[0142] As shown in Figure 5, a deployment intention of a management module provided in an embodiment of the present application is shown. The management module is an application installed on the first operating system 110 and runs on the first operating system 110 or on the computing instance management module 120.
[0143] 2. Second operating system 210.
[0144] (1) The operation mode of the second operating system 210.
[0145] In an embodiment of the present application, the second operating system 210 can run on the second processor 200. The second processor 200 can be a data processing unit (DPU), a graphics processing unit (GPU), a tensor processing unit (TPU), or a neural network processing unit (NPU). The second processor 200 can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
[0146] As shown in Figure 6, it is a structural diagram of the second processor 200 provided in an embodiment of the present application. The second processor 200 includes multiple processor cores 201 and a storage module 202. The processor core 201 (core) is a hardware module in the second processor 200. The processor core 201 can be an advanced RISC machine (ARM) or a microprocessor without interlocked pipeline stages (MIPS). The storage module 202 has a storage function for computer program instructions and data. For example, the storage module 202 is used to store the computer program instructions of the second operating system 210 and the data generated during the operation of the second operating system 210. It can also store the computer program instructions of the operating system of the second processor 200 itself (that is, the third operating system) and the data generated during the operation of the second operating system 210. The storage module 202 can be a dynamic random access memory (DRAM). In addition to DRAM, the memory module may also be other random access memories, such as static random access memory (SRAM), storage class memory (SCM), etc. In addition, the storage module 202 may also be a read-only memory (ROM). As for the read-only memory, for example, it may be a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), etc. The memory may also be a dual in-line memory module or a dual-line memory module (DIMM), a flash memory medium (FLASH), a hard disk drive (HDD), or a solid state drive (SSD).
[0147] In the embodiment of the present application, the second operating system 210 can run directly on the second processor 200. That is, the second operating system 210 can directly interact with the second processor 200 and directly use the processor cores 201 and storage space of the second processor 200 to perform tasks related to the first service. The second operating system 210 can occupy part of the processor cores 201 and part of the storage space of the second processor 200.
[0148] In addition to running the second operating system 210, the second processor 200 can also run its own operating system. For the sake of convenience, the operating system of the second processor 200 is referred to as the third operating system. The third operating system can manage the processor core 201 and storage space of the second processor 200.
[0149] In the embodiment of the present application, since the second operating system 210 needs to run on the second processor 200, the third operating system can reserve a portion of the processor cores 201 and storage space for the second operating system 210 in advance. The third operating system can communicate with the first operating system 110, receive instructions for the second operating system 210 issued by the first operating system 110 (or receive instructions for the second operating system 210 issued by the first operating system 110 through the management module), process the instructions, and control the running state of the second operating system 210 according to the instructions. For example, the third operating system allocates processor cores 201 and storage space from the reserved processor cores 201 and storage space to the second operating system 210 to be created according to the resource allocation instructions issued by the first operating system 110 (or the resource allocation instructions issued by the first operating system 110 through the management module). For another example, the third operating system can also change the running state of the second operating system 210 according to the management instructions issued by the first operating system 110 (or the first operating system 110 issues management instructions through the management module), such as starting the second operating system 210, logging off the second operating system 210, and stopping the running of the second operating system 210.
[0150] As shown in Figure 7, a schematic diagram of a second operating system 210 and a third operating system running on a second processor 200 provided by the present application is shown. In Figure 7, a third operating system and at least one second operating system 210 are running on the second processor 200. The third operating system and the at least one second operating system 210 respectively occupy different processor cores 201 on the second processor 200, and the third operating system and the at least one second operating system 210 respectively occupy part of the storage space on the second processor 200. The third operating system and the at least one second operating system 210 respectively occupy one or more processor cores 201 on the second processor 200, and the third operating system and the at least one second operating system 210 have exclusive occupation of the processor cores 201.
[0151] The third processing system is capable of processing instructions issued by the first operating system 110 for the second operating system 210. When the instruction is a resource allocation instruction, the third operating system can allocate processor cores 201 and storage space to the second operating system 210 according to the resource allocation instruction. If the resource allocation instruction carries the number of processor cores 201 and the amount of storage space required for the second operating system 210, the third operating system can allocate processor cores 201 and storage space to the second operating system 210 based on the number of processor cores 201 and the amount of storage space carried in the resource allocation instruction. If the resource allocation instruction does not carry the number of processor cores 201 and the amount of storage space required for the second operating system 210, the third operating system can select an unoccupied processor core 201 and storage space from the processor cores 201 and storage space reserved for the second operating system 210 based on the current resource usage of the second processor 200, allocate the processor core 201 and storage space to the created second operating system 210, and load computer program instructions related to the second operating system 210 into the storage space.
[0152] When the instruction is a management instruction, the third operating system can change the operating state of the second operating system 210 according to the management instruction. For example, when the management instruction instructs to create the second operating system 210, the third operating system can control the processor core 201 configured for the second operating system 210 to read the computer program instructions related to the second operating system 210 from its storage space, run the second operating system 210, and the second operating system 210 starts working to control the industrial device. For another example, when the management instruction instructs to stop the second operating system 210, the third operating system can instruct the second operating system 210 to stop working, and the second operating system 210 can stop controlling the industrial device under the instruction of the third operating system. For another example, when the management instruction instructs to cancel the second operating system 210, the third operating system can reclaim the processor core 201 and storage space configured for the second operating system 210.
[0153] The structure of the third operating system is described below from the perspective of logical functions. As shown in FIG7 , the third operating system includes a control module and a transmission module.
[0154] The transmission module is configured to communicate with the first operating system 110 , receive instructions for the second operating system 210 from the first operating system 110 , and transmit the received instructions (such as resource allocation instructions and management instructions) to the control module.
[0155] The control module is used to control the running state of the second operating system 210 according to the instructions received by the transmission module. The control module can change the running state of the second operating system 210 according to the management instructions, and allocate resources to the second operating system 210 to be created according to the resource allocation instructions, such as allocating processor cores 201 and storage space, to complete the creation of the second operating system 210.
[0156] From the description of the different operating systems and processors running on the control system 10, it can be seen that the control system 10 can implement integrated deployment of different operating systems, and that different operating systems occupy different processors in the control system 10. The second operating system 210 that controls the industrial equipment occupies the second processor 200, which can effectively ensure the real-time performance of the second operating system 210.
[0157] Regarding the first processor 100 and the second processor 200 included in the control system 10 , the embodiment of the present application does not limit the deployment locations of the first processor 100 and the second processor 200 .
[0158] As shown in Figure 8A, the control system 10 adopts a "centralized" deployment method, and the first processor 100 and the second processor 200 are concentrated in one computing device, that is, one computing device can run the first operating system 110 and the second operating system 210 at the same time. Inside the computing device, the first operating system 110 runs on the first processor 100, and the second operating system 210 runs on the second processor 200.
[0159] There are many different deployment locations for the first processor 100 and the second processor 200 within the computing device, and this application does not limit the deployment locations of the first processor 100 and the second processor 200. For example, the first processor 100 and the second processor 200 can be centrally deployed on the computing device's motherboard, serving as the computing device's own processors. In another example, the first processor 100 can be deployed on the computing device's motherboard, while the second processor 200 can serve as an offload card for the computing device and be inserted into the computing device.
[0160] As shown in FIG8B , the control system 10 adopts a “distributed” deployment mode. The control system 10 can be distributed across multiple computing devices. For any computing device among the multiple computing devices, the computing device can include a first processor 100 and a second processor 200, or the computing device can include only the first processor 100 or the second processor 200. The multiple computing devices can be connected via a network.
[0161] FIG8B exemplarily illustrates three computing devices. For ease of distinction, the three computing devices are labeled computing device A, computing device B, and computing device C, respectively. Computing device A includes a first processor 100 and a second processor 200. Computing device B includes the first processor 100. Computing device C includes the second processor 200.
[0162] For computing device A, the first operating system 110 on the first processor 100 of computing device A can manage the running state of the second operating system 210 running on the second processor 200 of computing device C. Instructions issued by the first operating system 110 to the second operating system 210 can be transmitted via the connection between computing device A and computing device C. The first operating system 110 on the first processor 100 of computing device A can also manage the running state of the second operating system 210 running on the second processor 200 of computing device A. Instructions issued by the first operating system 110 to the second operating system 210 can be transmitted via the internal circuit of the computing device.
[0163] For computing device B, the first operating system 110 on the first processor 100 of computing device B can manage the running state of the second operating system 210 running on the second processor 200 of computing device C. Instructions issued by the first operating system 110 for the second operating system 210 can be transmitted via the connection between computing device B and computing device C. The first operating system 110 on the first processor 100 of computing device B can also manage the running state of the second operating system 210 running on the second processor 200 of computing device A. Instructions issued by the first operating system 110 for the second operating system 210 can be transmitted via the internal circuits of the computing device.
[0164] Regarding the interior of the computing device, the deployment position of the first processor 100 or the second processor 200 is similar to the deployment position of the first processor 100 and the second processor 200 in the embodiment shown in FIG8A . For details, please refer to the above description and will not be repeated here.
[0165] The control method provided in the embodiment of the present application is described below with reference to FIG9 . The method includes:
[0166] Step 900: The third operating system reserves a processor core 201 and memory space on the second processor 200 for the second operating system 210. In this step, the third operating system only performs resource reservation so that when a processor core 201 and memory space are subsequently allocated to the second operating system 210, the third operating system can select the processor core 201 and memory space to be allocated to the second operating system 210 from the reserved processor cores 201 and memory space.
[0167] Step 901: The first operating system 110 sends a resource allocation instruction to the third operating system. The resource allocation instruction is used to instruct the third operating system to allocate resources to the second operating system 210 to be created.
[0168] When the first operating system 110 determines that the second operating system 210 needs to be created based on a preset management policy, or when the first operating system 110 receives a user instruction to determine that the second operating system 210 needs to be created, the first operating system 110 can generate a resource allocation instruction and send the resource allocation instruction to the second processor 200.
[0169] Step 902: The third operating system receives the resource allocation instruction, selects a processor core 201 and a memory space from the reserved processor cores 201 and memory spaces, and allocates the selected processor core 201 and memory space to the second operating system 210. The third operating system may load computer program instructions related to the second operating system 210 into the selected memory space.
[0170] Step 903 : The first operating system 110 sends a management instruction to the third operating system. The management instruction is used for the running state of the second operating system 210 .
[0171] Step 904: The third operating system receives the management instruction and starts, stops or cancels the operation state of the second operating system 210 according to the management instruction. The manner in which the third operating system controls the operation state of the second operating system 210 according to the management instruction can be found in the above description and will not be repeated here.
[0172] The above embodiments can be implemented in whole or in part through software, hardware, firmware, or any other combination. When implemented using software, the above embodiments can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded or executed on a computer, the processes or functions described in accordance with the embodiments of the present invention are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that contains a collection of one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, hard disk, tape), an optical medium (e.g., a DVD), or a semiconductor medium. The semiconductor medium can be a solid state drive (SSD).
[0173] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0174] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the present application. It should be understood that each flow and / or box in the flow chart and / or block diagram, as well as the combination of the flow chart and / or box in the flow chart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for implementing the functions specified in one or more flow charts and / or one or more boxes in the block diagram.
[0175] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0176] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0177] Obviously, those skilled in the art may make various changes and modifications to the present application without departing from the scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations.
Claims
1. A control system, characterized in that: The control system comprises a first processor and a second processor, a first operating system is run on the first processor, and a second operating system is run on the second processor; wherein the first processor and the second processor are of different types, and the first operating system and the second operating system are of different types; The first operating system is used to manage the running state of the second operating system; The second operating system is used to execute tasks related to the first business.
2. The system according to claim 1, characterized in that The first processor is a central processing unit CPU, and the second processor is part or all of the following: a data processing unit DPU, a graphics processor GPU, a tensor processor TPU, a neural network processor NPU, a field programmable gate array FPGA, and an application-specific integrated circuit ASCI.
3. The system according to claim 1 or 2, characterized in that: A second service is running on the first operating system; When managing the running state of the second operating system, the first operating system is specifically used to: The operating state of the second operating system is managed according to the operating requirements of the second service.
4. The system according to any one of claims 1 to 3, characterized in that: The first operating system is a general purpose operating system GPOS, and the second operating system is a real-time operating system RTOS.
5. The system according to claim 4, characterized in that The second service running on the first operating system is a non-real-time service, and the first service is a real-time service.
6. The system according to any one of claims 1 to 5, characterized in that: When managing the running state of the second operating system, the first operating system is used to: Do some or all of the following: Starting the second operating system; stopping the second operating system; creating the second operating system; Log out of the second operating system.
7. The system according to claim 6, characterized in that A third operating system is also running on the second processor; The third operating system is used to manage the processor core and storage space on the second processor, and reserve the processor core and storage space for the second operating system; When creating the second operating system, the first operating system is used to: Sending a resource allocation instruction to the third operating system, wherein the resource allocation instruction is used to instruct to configure a processor core and a storage space for the second operating system; The third operating system is used to configure a processor core and a storage space for the second operating system according to the resource allocation instruction.
8. The system according to claim 7, characterized in that When the first operating system starts, stops or logs off the second operating system, the first operating system is used to: Sending a management instruction to the third operating system on the second processor, wherein the management instruction is used to instruct to start, stop or deregister the second operating system; The third operating system is used for: The second operating system is started, stopped or deregistered according to the management instruction.
9. The system according to claim 7 or 8, characterized in that A computing instance and a computing instance management module are deployed on the first processor, and the first operating system runs on the computing instance; When the first operating system sends an instruction to the third operating system, the first operating system is specifically used to: send an instruction to the third operating system through the computing instance management module; The computing instance management module is used to manage the computing instance, receive instructions sent by the first operating system to the third operating system, and transmit the instructions to the third operating system.
10. The system according to any one of claims 1 to 9, characterized in that: When managing the running state of the second operating system, the first operating system is used to: The running state of the second operating system is managed by a management module, wherein the management module runs on the first operating system or on a fourth operating system; wherein the fourth operating system runs on the first processor; or The fourth operating system runs on a third processor, and the third processor is of the same type as the first processor.
11. The system according to any one of claims 1 to 10, characterized in that: The second processor includes multiple processor cores, and the second operating system exclusively occupies one or more processor cores among the multiple processor cores.
12. The system according to any one of claims 1 to 11, characterized in that: The first processor and the second processor are distributed on the same computing device, or on different computing devices.
13. A control method, characterized in that: The method comprises: A first operating system running on a first processor sends an instruction for a second operating system to a second processor, the instruction being used to manage an operating state of the second operating system, the second operating system running on the second processor, wherein the first processor and the second processor are of different types, and the first operating system and the second operating system are of different types; The second processor manages the running state of the second operating system according to the instruction.
14. The method according to claim 13, characterized in that The first processor is a central processing unit CPU, and the second processor is part or all of the following: a data processing unit DPU, a graphics processor GPU, a tensor processor TPU, a neural network processor NPU, a field programmable gate array FPGA, and an application-specific integrated circuit ASCI.
15. The method according to claim 13 or 14, characterized in that The first operating system runs a second service; the first operating system running on the first processor sends an instruction for the second operating system to the second processor, including: The first operating system sends instructions for the second operating system to the second processor according to the operating requirements of the second service.
16. The method according to any one of claims 13 to 15, characterized in that: The first operating system is a general purpose operating system GPOS, and the second operating system is a real-time operating system RTOS.
17. The method according to claim 16, characterized in that The second service running on the first operating system is a non-real-time service, and the first service is a real-time service.
18. The method according to any one of claims 13 to 17, characterized in that: The managing the running state of the second operating system includes part or all of the following: Starting the second operating system; stopping the second operating system; creating the second operating system; Log out of the second operating system.
19. The method according to claim 18, characterized in that When creating the second operating system, the second processor manages the running state of the second operating system according to the instruction, including: The third operating system running on the second processor reserves a processor core and a storage space of the second processor for the second operating system; The third operating system receives a resource allocation instruction from the first operating system, where the resource allocation instruction is used to instruct to configure a processor core and a storage space for the second operating system; The third operating system configures a processor core and a storage space for the second operating system according to the resource allocation instruction.
20. The method of claim 19, wherein: When starting, stopping or logging off the second operating system, the second processor manages the running state of the second operating system according to the instruction, including: The third operating system running on the second processor receives a management instruction from the first operating system, wherein the management instruction is used to instruct to start, stop or log off the second operating system; The third operating system starts, stops or deregisters the second operating system according to the management instruction.
21. The method according to claim 19 or 20, characterized in that A computing instance and a computing instance management module are deployed on the first processor, and the first operating system runs on the computing instance; the first operating system sends an instruction for the second operating system to the second processor, including: The first operating system sends the instruction for the second operating system to the computing instance management module; The computing instance management module transmits the instruction for the second operating system to the third operating system.
22. The method according to any one of claims 13 to 21, characterized in that: The second processor includes multiple processor cores, and the second operating system exclusively occupies one or more processor cores among the multiple processor cores.
23. The method according to any one of claims 13 to 22, characterized in that: The first processor and the second processor are distributed on the same computing device, or on different computing devices.
24. A computing device, characterized in that The computing device is equipped with a control system as claimed in any one of claims 1 to 12.
25. A computing device cluster, characterized in that: The computing device cluster is deployed with a control system as claimed in any one of claims 1 to 12.
Citation Information
Patent Citations
Operating systems
CN101052949A
Plug-in running system, plug-in running method and electronic equipment
CN114327437A
