Control system, method and equipment
By using different processors to run real-time operating systems and general operating systems in industrial control systems, the problem of resource competition is solved, real-time and task execution efficiency are improved, and lower latency and higher resource utilization are achieved.
Patent Information
- Application Number
- CN202311090765.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-06-28
- Filing Date
- 2023-08-25
- Publication Date
- 2024-12-31
AI Technical Summary
In industrial control scenarios, resource competition between real-time operating systems and general operating systems leads to limited real-time limitations, and the delay in task execution cannot be effectively guaranteed.
By using two different types of processors in the computing system, the real-time operating system and the general operating system are respectively run, to avoid resource competition, and to use the first operating system to manage the operating status of the second operating system, ensuring real-time and resource allocation.
It effectively improves the real-time performance of the real-time operating system, ensures the delay in task execution, and improves resource utilization and management efficiency.
Smart Images

Figure CN119225823A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to Chinese patent application No. 202310781442.3 filed on June 28, 2023, with invention name “A Computing System”, 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 in order to reduce costs and improve hardware utilization.
[0005] Taking the industrial control scenario as an example, two different types of operating systems need to be deployed on the management platform related to industrial control. One type is a real-time operating system that is closer to the industrial production line. The real-time operating system has a lower latency and can control the industrial production line in real time and complete some business-related tasks, such as controlling the robotic arms on the industrial production line. The other type is a general-purpose operating system for upper-level management. Based on different management functions and management layers, the general-purpose operating system can be specifically refined into a general-purpose operating system for implementing different management functions, such as a general-purpose operating system for monitoring a single industrial production line and a general-purpose operating system for task scheduling for multiple industrial production lines. Compared with real-time operating systems, general-purpose operating systems have a larger latency.
[0006] Multiple real-time operating systems and at least one general-purpose operating system need to be deployed on the management platform related to industrial control in order to realize a complete industrial management system. To this end, with the help of virtualization technology, multiple computing instances are deployed on the processor of the computing device, and each computing instance can run a real-time operating system and a general-purpose operating system.
[0007] However, since both the real-time operating system and the general-purpose operating system run on the same processor based on the computing instance, there will inevitably be resource competition between the real-time operating system and the general-purpose operating system. Taking the real-time operating system as an example, the resources on the processor that any real-time operating system can call will be affected by the general-purpose operating system and other real-time operating systems running on the processor, and its real-time performance cannot be well guaranteed. Summary of the invention
[0008] The present application provides a control system, method and device for improving the real-time performance of a real-time operating system.
[0009] In a first aspect, an embodiment of the present application provides a control system, which includes at least two different types of processors. For the convenience of distinction, the two different types of processors are respectively referred to as a first processor and a second processor.
[0010] 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.
[0011] 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.
[0012] 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 guarantee the delay of task execution.
[0013] In a possible implementation, the first processor is a CPU, and the second processor is part or all of the following: DPU, GPU, TPU, NPU, FPGA, ASCI.
[0014] Through the above system, there are many types of processors that can be used as the second processor, which are suitable for different application scenarios.
[0015] In a possible implementation, a second service is running on the first operating system; when managing the running state of the second operating system, the first operating system can manage the running state of the second operating system according to the running requirements of the second service. The running requirements of the second service can be reflected as user instructions or management policies pre-configured by the user.
[0016] Through the above system, the management of the running state of the second operating system by the first operating system is more in line with the running requirements of the actual business, and the effectiveness of the management of the running state of the second operating system by the first operating system is ensured.
[0017] In a possible implementation, the first operating system is GPOS, and the second operating system is RTOS.
[0018] 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 to ensure that the second operating system can have lower latency when executing services related to the first task.
[0019] In a possible implementation manner, the second service running on the first operating system is a non-real-time service, and the first service is a real-time service.
[0020] 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.
[0021] In a possible implementation, when the first operating system manages the running state of the second operating system, the first operating system may execute part or all of the following:
[0022] Start the second operating system, stop the second operating system, create the second operating system, and deregister the second operating system.
[0023] 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.
[0024] In a possible implementation manner, a third operating system is also running on the second processor.
[0025] The third operating system can 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 the first operating system creates the second operating system, it can send a resource allocation instruction to the third operating system, and the resource allocation instruction is used to instruct to configure the processor core and storage space for the second operating system. The third operating system receives the resource allocation instruction and configures the processor core and storage space for the second operating system according to the resource allocation instruction.
[0026] 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.
[0027] In a 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, where the management instruction is used to instruct 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.
[0028] 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 out of the first operating system according to the management instructions of the first operating system, thereby achieving effective control of the running status of the second operating system.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] In a possible implementation, when the first operating system manages the running state of the second operating system, the running state of the second operating system can be managed by a management module, and the management module runs on the first operating system or on a fourth operating system; this application does not limit the running mode of the fourth operating system. For example, the fourth operating system can run on the first processor; the fourth operating system can also run on the third processor, and the third processor is of the same type as the first processor.
[0034] 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 function of the independent management module is more targeted and can assist the first operating system to efficiently manage the running status of the second operating system.
[0035] In a possible implementation manner, the second processor includes multiple processor cores, and the second operating system exclusively occupies one or more processor cores among the multiple processor cores.
[0036] Through the above system, the second operating system has exclusive occupancy of the processor core, thereby avoiding competition between second operating systems for resources of the second processor.
[0037] In a possible implementation, the first processor and the second processor are distributed on the same computing device, or on different computing devices.
[0038] 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.
[0039] 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.
[0040] A first operating system running on a first processor sends instructions for a second operating system to a second processor, the instructions 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.
[0041] The second processor manages the running state of the second operating system according to the instruction.
[0042] In a possible implementation, the first processor is a CPU, and the second processor is part or all of the following: DPU, GPU, TPU, NPU, FPGA, ASCI.
[0043] 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 running requirements of the second service.
[0044] In a possible implementation, the first operating system is GPOS, and the second operating system is RTOS.
[0045] In a possible implementation manner, the second service running on the first operating system is a non-real-time service, and the first service is a real-time service.
[0046] In a possible implementation, managing the running state of the second operating system includes part or all of the following:
[0047] Start the second operating system, stop the second operating system, create the second operating system, and deregister the second operating system.
[0048] 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.
[0049] 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.
[0050] The third operating system configures a processor core and a storage space for the second operating system according to the resource allocation instruction.
[0051] 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.
[0052] 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.
[0053] In a possible implementation manner, the second processor includes multiple processor cores, and the second operating system exclusively occupies one or more processor cores among the multiple processor cores.
[0054] In a possible implementation, the first processor and the second processor are distributed on the same computing device, or on different computing devices.
[0055] In a third aspect, the present application further 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 are not repeated here.
[0056] 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.
[0057] In a fifth aspect, the present application also provides a computer-readable storage medium, in which instructions are stored, and when the computer-readable storage medium is run on a computer, the computer executes the methods in the above-mentioned second aspect and various possible implementations of the first aspect.
[0058] 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.
[0059] In a seventh aspect, the present application also provides a computer chip, which is connected to a memory, and the chip 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 implementation methods of the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0060] Figure 1 A schematic diagram of the structure of a control system provided for this application;
[0061] Figure 2 A deployment diagram of a first operating system provided in this application;
[0062] Figure 3 A schematic diagram of another deployment of a first operating system provided in this application;
[0063] Figure 4 A schematic diagram of a visual interface provided by a first operating system provided in this application to a user;
[0064] Figure 5 A schematic diagram of the deployment of a management module provided for this application;
[0065] Figure 6 A schematic diagram of the structure of a second processor provided in this application;
[0066] Figure 7 A schematic diagram of the deployment of a first operating system, a second operating system, and a third operating system provided in this application;
[0067] Fig. 8A A schematic diagram of the structure of a computing device provided for this application;
[0068] Figure 8B A schematic diagram of the structure of a computing device cluster provided for this application;
[0069] Fig. 9 A schematic diagram of a control method provided in this application. DETAILED DESCRIPTION
[0070] Before introducing a control system and a device provided in an embodiment of the present application, some concepts involved in the present application are explained:
[0071] (1) Virtualization technology, computing instance, container, virtual machine (VM).
[0072] Virtualization is a resource management technology that abstracts and transforms the host's physical resources, such as processors, memory, and interfaces, and presents them. Virtualization is a resource configuration method from a logical perspective and is a logical abstraction of physical resources.
[0073] The host can form a software module with an independent operating environment on the host by means of virtualization technology. In the embodiment of the present application, the software module with an independent operating environment formed by means of resources such as the first processor is referred to as a computing instance. The computing instance can be a virtual machine or a container.
[0074] A virtual machine is a "complete computer" that runs in a completely isolated environment and has complete hardware system functions, simulated by virtualization technology. All the work that can be done in a physical computer can be done in a virtual machine. A virtual machine has a processor (the processor is also called a virtual processor), memory, hard disk and other components. The processor, memory, hard disk and other components of the virtual machine are virtualized by the processor, memory, hard disk and other components of the host. An operating system is installed on the virtual machine, and the operating system on the virtual machine is independent of the operating system of the host itself. In order to distinguish between these two different operating systems, the operating system on the host is usually called the host operating system (hostOS), and the operating system on the virtual machine is usually called the guest operating system (guestOS).
[0075] A container is an independent operating environment simulated by virtualization technology. A container is similar to a lightweight sandbox that shields software and hardware outside the container. The container implements virtualization at the operating system level and directly reuses the host's operating system.
[0076] For the host, a computing instance is considered a special "process". This "process" will perform computing tasks and occupy the host's processor (such as the processor core in the processor), memory, hard disk and other resources.
[0077] For example, the host operating system will configure a memory space dedicated to the computing instance, and the computing instance will occupy the memory space to support the computing tasks that the computing instance needs to perform.
[0078] In the embodiment of the present application, the first operating system 110 can be run on the first processor 100 by means of the first processor 100 in the computing device, and the first operating system 110 can be directly run 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 client operating system.
[0079] (2) Hierarchical management in industrial control scenarios.
[0080] Management in industrial control scenarios involves the control of individual industrial equipment, production lines, factories, and enterprises. Industrial control scenarios usually adopt a hierarchical management approach.
[0081] Hierarchical management in industrial control scenarios can include five layers, namely L0, L1, L2, L3, and L4. Among them, L0 refers to industrial equipment on industrial production lines, such as robotic arms or CNC machine tools. L1 is the field control layer, which is responsible for realizing the control of multiple industrial equipment. For example, L1 may include at least one controller, which can control multiple industrial equipment, such as monitoring the working status of industrial equipment, controlling the start and stop of industrial equipment, etc. L2 is the process monitoring layer, which is responsible for managing and monitoring the control layer. L3 is the production management layer, which is mainly 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.
[0082] This hierarchical management logically divides the management operations that need to be performed in industrial control scenarios. From the perspective of the physical location of each layer, L0 is directly located on the industrial production line. L1 can be set near industrial equipment, L2 can be set next to the industrial production line, and L3 can also 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 cloud.
[0083] L1~L3 can be deployed on the control system 10 mentioned in the embodiment of the present application to realize the joint deployment of L1~L3. On the one hand, the joint deployment of L1~L3 facilitates the interaction between L1~L3 and improves management efficiency. On the other hand, the joint deployment of L1~L3 can effectively simplify the difficulty of building a management platform in an industrial control scenario. In other words, when L1~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.
[0084] (3) General Purpose Operating System (GPOS) and Real Time Operating System (RTOS).
[0085] RTOS and GPOS are two types of operating systems designed for different purposes. RTOS has the advantages of determinism and high performance. RTOS can achieve precise timing and execute deterministic behavior. Common RTOS include Free RTOS. GPOS can provide multi-tasking, resource sharing, and rich services and function sets. Common GPOS include Windows or Linux. Usually, GPOS can also add applications with different functions according to actual needs.
[0086] Given the characteristics of RTOS and GPOS, RTOS and GPOS can be applied to industrial control scenarios. In hierarchical management in industrial control scenarios, since L1 has strict time requirements for the control of industrial equipment, and the control of industrial equipment is a deterministic behavior (that is, the control of industrial equipment is usually some fixed behavior patterns), RTOS is usually applied in L1. GPOS can be applied to L2 and L3.
[0087] In the embodiment of the present application, L1 to L3 may 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.
[0088] like Figure 1 As shown, a control system 10 provided in an embodiment of the present application includes a plurality of processors, and the plurality of processors includes at least two different types of processors. In the embodiment of the present application, the plurality of processors includes two different types of processors as an example for explanation. For the convenience of distinction, one type of processor is referred to as a first processor 100, and the other type of processor is referred to as a second processor 200. The first processor 100 and the second processor 200 can communicate with each other.
[0089] Two different types of operating systems can be run on the control system 10. For the sake 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 be run on different processors.
[0090] The operating system mentioned in the embodiment of the present application running on the processor means that the processor calls the computer program instructions related to the operating system, so that the processor can implement the functions required by the operating system according to the computer program instructions, and the processor is the hardware execution subject. Specifically, inside the processor, the operating system can 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.
[0091] Of course, when the operating system runs on the processor, it also needs the support of other components in the computing device where the processor is located, such as the memory of the computing device 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 other components in the computing device are also needed during the operation of the first operating system 110 and the second operating system 210 in the embodiment of the present application. 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 the second processor 200 to provide a processor core 201 itself, and also requires 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.
[0092] 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.
[0093] The second operating system 210 executes tasks related to the first service.
[0094] 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 the 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 working; for example, monitoring the arrival of personnel within the factory; for example, identifying potential hidden dangers within the factory and issuing early warnings.
[0095] The embodiment of the present application does not limit the number of the first operating system 110 and the second operating system 210 running on the control system 10. Exemplarily, multiple second operating systems 210 can be run in the control system 10, each second operating system 210 corresponds to an industrial equipment and controls the corresponding industrial equipment. In the control system 10, L2 may include multiple first operating systems 110, each first operating system 110 corresponds to an industrial production line, and controls each industrial device on the corresponding industrial production line. In the control system 10, L3 may include multiple first operating systems 110, each first operating system 110 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 time for each production line in the factory, and interacts with the L2 layer to instruct each production line to start or stop working. For another example, a first operating system 110 in L3 monitors the arrival of personnel inside the factory. A first operating system 110 identifies potential hidden dangers inside the factory and issues an early warning.
[0096] 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 use RTOS. The management object of the first operating system 110 is the second operating system 210, and the first operating system 110 may also need to face the user and receive the user's 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 use GTOS.
[0097] In the embodiment of the present application, only the operating system is applied to the industrial control scene as an example for explanation. In fact, the control system 10 provided in the embodiment of the present application is also applicable to other scenes 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, and audio). The first operating system 110 can manage the operating state 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 household appliances (such as televisions, audio, sweepers, washing machines, refrigerators, and air conditioners) in the house, and the first operating system 110 can manage the operating state of the second operating system 210.
[0098] 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 deregister the started second operating system 210.
[0099] 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.
[0100] The specific contents of the first service and the second service are related to the scenario in which the control scenario is applied. Still taking the industrial control scenario as an example, the second operating system 210 is L1, and the first service running on the second operating system 210 is the control of industrial equipment. Correspondingly, the tasks related to the first service are the control tasks of industrial equipment, such as controlling the movement of industrial equipment, controlling the start of industrial equipment, and controlling the stop of industrial equipment. The first operating system 110 can be L2 or / L3, and 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, and the operation requirements of the management service of L2 are reflected in the specific requirements of the user for the operation status of the second operating system 210 (that is, the user's instructions), or in the management policy set by the user in advance for the operation status of the second operating system 210. The management service of L3 is the management of the overall operation status of the industrial production line, and the operation requirements of the management service of L3 are reflected in the specific requirements of the user for the operation status of the industrial production line, or in the management policy set by the user in advance for the operation status of the industrial production line.
[0101] 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 .
[0102] In the control system 10, the second operating system 210 is no longer deployed on the same processor as the first operating system 110, and there is no resource preemption between the first operating system 110 and the second operating system 210, which can reduce the computing pressure of the first processor 100. In addition, the second operating system 210 can run independently on the second processor 200, ensuring that the second operating system 210 can call the computing power of the second processor 200 in time to perform tasks related to the first business, so that the second operating system 210 can have strong real-time performance.
[0103] The function implementation and operation of the first operating system 110 and the second operating system 210 are described below.
[0104] 1. First operating system 110 .
[0105] (1) The operation mode of the first operating system 110.
[0106] In the embodiment of the present application, the first operating system 110 may run on the first processor 100. The first processor 100 may be a central processing unit (CPU) or other processors. Any processor capable of running the first operating system 110 may serve as the first processor 100.
[0107] Two operating modes of the first operating system 110 are listed below.
[0108] Mode 1: The first operating system 110 runs on a computing instance 130 formed based on the first processor 100 .
[0109] like Figure 2 As shown, 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.
[0110] The computing instance 130 has an independent operating environment, and the first operating system 110 runs on the computing instance 130. The computing instance 130 occupies the processor core 201 of the first processor 100, and can perform management operations for the second operating system 210 based on the occupied processor core 201. The computing instances 130 are independent of each other and do not affect each other. In this case, multiple first operating systems 110 can be run simultaneously on the first processor 100, and the multiple first operating systems 110 are independent of each other.
[0111] 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 201 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 an operating environment for the computing instance 130. For example, the computing instance management module 120 can simulate the operating environment for the computing instance 130 by software. For another example, the computing instance management module 120 can pass the underlying hardware directly to the computing instance 130.
[0112] 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.
[0113] When the computing instance 130 is a virtual machine, the computing instance 130 management unit includes a virtual machine monitor (VMM).
[0114] Mode 2: The first operating system 110 runs directly on the first processor 100 .
[0115] In this way, the first operating system 110 does not run on the computing instance 130, and the first operating system 110 no longer needs to call the resources on the first processor 100 through the computing instance management module 120. The instructions issued by the first operating system 110 to the second operating system 210 do not need to be transmitted by the computing instance management module 120. In other words, the first operating system 110 and the first processor 100 can "directly interact", that is, the computing instance management module 120 does not need to be involved. The first operating system 110 runs directly on the first processor 100 and does not need to use virtualization technology.
[0116] like Figure 3 As shown, it is a schematic diagram of running the first operating system 110 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 in the first processor 100. In this case, usually only one first operating system 110 runs 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, but 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 201 of the first processor 100, and the resource utilization rate of the first processor 100 is relatively low.
[0117] In addition, the embodiment of the present application does not limit the number of the first processors 100 in the control system 10. Figure 3 Two first processors 100 are shown as an example, and a first operating system 110 is respectively 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.
[0118] 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. Still taking the industrial control scenario as an example, one of the first operating systems 110 can be used as part of L2 to directly manage the second operating system as L1 on an industrial production line. The other first operating system 110 is also used as part of L2 to directly manage the second operating system as L1 on another industrial production line. The two first operating systems 110 are independent of each other and do not interfere with each other's management operations.
[0119] 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 operation that the first operating system 100 running on the first processor 100 needs to perform.
[0120] (2) Functional implementation of the first operating system 110.
[0121] In the control system 10, the main function of the first operating system 110 is the management function for the running state of the second operating system 210. The running state of the second operating system 210 includes but is not limited to: start, stop, create, and log out. Among them, start means that the second operating system 210 starts to work; stop means that the second operating system 210 stops working and is in a standby state; create means adding a new second operating system 210, and log out means deleting the second operating system 210. The first operating system 110 can also instruct the second processor 200 to allocate resources for the second operating system 210, and the resources include the processor core 201 of the second processor 200 and the storage space in the second processor 200.
[0122] When the first operating system 110 needs to start, stop or deregister the running state of the second operating system 210 during the process of 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, and the management instruction is used to start, stop or deregister the running state of the second operating system 210. For example, for the started second operating system 210, the management instruction may instruct to stop or deregister the second operating system 210. For another example, for the stopped second operating system 210, the management instruction may instruct to start or deregister the second operating system 210.
[0123] 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, and the resource allocation instruction may carry the number of processor cores 201 to be configured and the size of the storage space. The resource allocation instruction may also not carry 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 according to the occupancy of its own resources.
[0124] 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 carry the number of processor cores 201 to be configured and the size of the storage space. The resource allocation instruction may also not carry 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 according to the occupation of its own resources.
[0125] Two functional implementations of the first operating system 110 are listed below.
[0126] Function Implementation Mode 1: The first operating system 110 manages the running state 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).
[0127] 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 a second operating system 210 or cancel a second operating system 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 start and stop of the second operating system 210 according to the running time of the second operating system 210 described in the management policy.
[0128] 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.
[0129] The first operating system 110 can provide management services for the running state of the second operating system 210 to the user, and the user can give instructions to the first operating system 110, and the instructions are used to control the running state of the second operating system 210. After receiving the instructions from the user, the first operating system 110 controls the running state of the second operating system 210 according to the instructions of the user. For example, the first operating system 110 can generate corresponding management instructions according to the instructions of the user, 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 according to the instructions of the user, and the second processor 200 sends a resource allocation instruction.
[0130] The embodiment of the present application does not limit the way in which the 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 running status of each second operating system 210, and the user can also change the running status of the second operating system 210 on the management interface. For example, the user can start or stop a second operating system 210 in the management interface. For another example, the user can instruct to create or cancel a certain operating system on the management interface.
[0131] like Figure 4 As shown, a user-oriented visual management interface provided by an embodiment of the present application is provided, in which the name, running time, startup time and other information of each currently running second operating system 210 are displayed. In the management interface, for each running second operating system 210, a modification option of the running status is also provided, and by clicking the modification option, the second operating system 210 can be stopped or logged off.
[0132] 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 the second operating system 210 can also be named.
[0133] 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.
[0134] The first operating system 110 detects the user's operation on the management interface, receives the instruction sent by the user, and controls the running state of the second operating system 210 according to the instruction sent by the user.
[0135] The above-mentioned method of the user sending instructions to the first operating system 110 through the visual management interface is only an example. In actual applications, the user can also send instructions to the first operating system 110 in other ways. For example, the user can send instructions to the first operating system 110 through his own terminal device (such as a mobile phone, a portable laptop, a smart watch, etc.).
[0136] 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.
[0137] 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 functional implementation methods mentioned above.
[0138] In the embodiment of the present application, the first operating system 110 can generate management instructions or resource allocation instructions by itself. 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 the commands from the first operating system 110 and manage the running state 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 indicating the start, stop, or deregistration, and send the command to the management module. The management module generates a management instruction that can be processed by the second processor 200 according to 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 indicating the creation of the second operating system 210, and send the command to the management module. The management module can generate a resource allocation instruction according to the command of the first operating system 110.
[0139] The management module mentioned here is different from the aforementioned application running on the first operating system 110. The aforementioned application running on the first operating system 110 is mainly an application that can face users or provide an interface for interaction with users, and is an application applicable at the application level. The management module is the underlying application that the first operating system 110 needs to use when implementing management operations on the running status of the second operating system 210. The application is not user-oriented, but a tool required by the first operating system 110 to implement management operations.
[0140] The present 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 repeated here. For another example, the management module runs on a third processor, and the third processor 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.
[0141] like Figure 5As shown, a deployment intention of a management module provided in an embodiment of the present application is provided. 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.
[0142] 2. The second operating system 210.
[0143] (1) The operation mode of the second operating system 210.
[0144] In the 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 gates or transistor logic devices, discrete hardware components, etc.
[0145] like Figure 6As shown, it is a structural diagram of the second processor 200 provided in an embodiment of the present application, and 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, and the processor core 201 can be an advanced reduced instruction set machine (advanced RISC machine, ARM) or a microprocessor without internal interlocked pipeline stages (microprocessor without interlocked pipeline stages, MIPS). The storage module 202 has a storage function, which is used for computer program instructions and data, such as 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, and 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 (dynamic random access memory, DRAM). In addition to DRAM, the memory module can also be other random access memories, such as static random access memory (SRAM), storage class memory (SCM), etc. In addition, the storage module 202 can also be a read-only memory (ROM). As for the read-only memory, for example, it can be a programmable read only memory (PROM), an erasable programmable read only memory (EPROM), etc. The memory can 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), etc.
[0146] 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, directly use the processor core 201 and storage space of the second processor 200 to perform tasks related to the first service, and the second operating system 210 can occupy part of the processor core 201 and part of the storage space of the second processor 200.
[0147] 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.
[0148] 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 part of the processor core 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 from 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 for 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.
[0149] like Figure 7 FIG. 1 is 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. Figure 7 In the embodiment, 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 core 201.
[0150] The third processing system can process the instructions for the second operating system 210 issued by the first operating system 110. 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 size of the storage space required to be configured for the second operating system 210, the third operating system can allocate processor cores 201 and storage space to the second operating system 210 according to the number of processor cores 201 and the size of the storage space carried in the resource allocation instruction. If the resource allocation instruction does not carry the number of processor cores 201 and the size of the storage space required to be configured for the second operating system 210, the third operating system can select unoccupied processor cores 201 and storage space from the processor cores 201 and storage space reserved for the second operating system 210 according to the current occupation of its own resources on the second processor 200, allocate the processor cores 201 and storage space to the created second operating system 210, and load computer program instructions related to the second operating system 210 in the storage space.
[0151] When the instruction is a management instruction, the third operating system can change the running 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 to work and 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.
[0152] The structure of the third operating system is described below from the perspective of logical functions. Figure 7 As shown, the third operating system includes a control module and a transmission module.
[0153] The transmission module is used 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.
[0154] 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.
[0155] From the description of different types of operating systems and processors running on the control system 10, it can be found that different types of operating systems can be integrated and deployed in the control system 10, and different types of operating systems occupy different processors in the control system 10. The second operating system 210 for controlling the industrial equipment occupies the second processor 200, which can better ensure the real-time performance of the second operating system 210.
[0156] With respect to 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 positions of the first processor 100 and the second processor 200 .
[0157] like Fig. 8A As shown, the control system 10 adopts a "centralized" deployment method, and the first processor 100 and the second processor 200 are concentrated in a computing device, that is, the first operating system 110 and the second operating system 210 can be run simultaneously in one computing device. 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.
[0158] There are many deployment locations of the first processor 100 and the second processor 200 inside the computing device, and the present 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 motherboard of the computing device and are the processors of the computing device itself. For another example, the first processor 100 is deployed on the motherboard of the computing device, and the second processor 200 is inserted into the computing device as an offload card of the computing device.
[0159] like Figure 8B As shown, the control system 10 adopts a "distributed" deployment mode, and the control system 10 can be distributed on multiple computing devices. For any computing device on the multiple computing devices, the computing device can include a first processor 100 and a second processor 200, or the computing device can only include the first processor 100 or the second processor 200. The multiple computing devices can be connected via a network.
[0160] exist Figure 8B, three computing devices are exemplarily shown. For the convenience of distinction, the three computing devices are respectively identified as computing device A, computing device B, and computing device C, wherein 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.
[0161] 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, and the instructions issued by the first operating system 110 for the second operating system 210 can be transmitted through 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, and the instructions issued by the first operating system 110 for the second operating system 210 can be transmitted through the internal line of the computing device.
[0162] 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, and the instructions issued by the first operating system 110 for the second operating system 210 can be transmitted through 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, and the instructions issued by the first operating system 110 for the second operating system 210 can be transmitted through the internal lines of the computing device.
[0163] Regarding the inside of the computing device, the deployment location of the first processor 100 or the second processor 200 is different from Fig. 8A In the illustrated embodiment, the deployment positions of the first processor 100 and the second processor 200 are similar, and details may be found in the above description, which will not be repeated here.
[0164] Combine the following Fig. 9 The control method provided in the embodiment of the present application is described, and the method includes:
[0165] Step 900: The third operating system reserves the processor core 201 and the storage 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 the processor core 201 and the storage space need to be allocated to the second operating system 210 later, the processor core 201 and the storage space that need to be allocated to the second operating system 210 can be selected from the reserved processor core 201 and the storage space.
[0166] Step 901: the first operating system 110 sends a resource allocation instruction to the third operating system, where the resource allocation instruction is used to instruct the allocation of resources to the second operating system 210 to be created.
[0167] 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 receiving a user's 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.
[0168] Step 902: The third operating system receives the resource allocation instruction, selects a processor core 201 and a storage space from the reserved processor cores 201 and storage spaces, and configures the selected processor core 201 and storage space to the second operating system 210. The third operating system can load computer program instructions related to the second operating system 210 into the selected storage space.
[0169] Step 903 : the first operating system 110 sends a management instruction to the third operating system, where the management instruction is used for the running state of the second operating system 210 .
[0170] 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 referred to in the above description and will not be repeated here.
[0171] The above embodiments can be implemented in whole or in part by software, hardware, firmware or any other combination. When implemented by 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 process or function described in the embodiment of the present invention is 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 computer-readable storage medium. For example, the computer instructions can be transmitted from one website site, computer, server or data center to another website site, computer, server or data center by 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 one or more available media sets. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium. The semiconductor medium can be a solid state drive (SSD).
[0172] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may 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 may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.
[0173] 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 process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart 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 generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0174] These computer program instructions may also be stored in a computer readable memory capable of directing 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 an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0175] 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, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0176] Obviously, those skilled in the art can 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 also intended to include these 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.
