A method for implementing interrupt service of a partition operating system in a tri-state system

By defining the name and partition number of interrupt services in a three-state system and using interrupt service configuration record information packets for parameter verification and status management, the problem of inflexible process triggering in a three-state partitioned operating system is solved, enabling flexible process triggering and multi-core data consistency, and improving the flexibility of system applications.

CN119829236BActive Publication Date: 2026-01-06XIAN AVIATION COMPUTING TECH RES INST OF AVIATION IND CORP OF CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411810296.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-10
Publication Date
2026-01-06
Estimated Expiration
2044-12-10

AI Technical Summary

Technical Problem

Existing technologies make it difficult to implement interrupt services for tri-state partitioned operating systems in the complex ARINC653 multi-partition structure, resulting in inflexible process triggering.

Method used

In a three-state system, the name and partition number of the interrupt service are defined. Parameter verification and status management are performed through the interrupt service configuration record information package, supporting multi-core data consistency and enabling the simultaneous execution of multiple interrupt services.

Benefits of technology

It improves the flexibility of processes in a tri-state partitioned operating system, enabling processes to be triggered directly through external events defined in the configuration record, thereby enhancing the flexibility of system applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119829236B_ABST
    Figure CN119829236B_ABST
Patent Text Reader

Abstract

The present application belongs to the technical field of computer system software, and particularly relates to a method for implementing interrupt service of a partition operating system in a tri-state system, wherein the name of the interrupt service and the partition number to which the interrupt service belongs are defined in a configuration record of the tri-state system, and then the configuration record is compiled to generate an interrupt service configuration record information package; subsequently, when the tri-state system is started, the interrupt service configuration record information package is shared to all partition operating systems in the system state; the present application can make a process be directly triggered by an external event defined by the configuration record in the tri-state partition operating system, and improve the flexibility of system application.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of computer system software technology, specifically relating to an interrupt service implementation method for a partitioned operating system in a three-state system. Background Technology

[0002] With the development of integrated and modular systems, operating systems conforming to the ARINC653 multi-partition structure are becoming increasingly widely used, and the partitioned applications running on them are becoming increasingly complex, urgently requiring an interrupt service implementation method for a partitioned operating system under three states. Summary of the Invention

[0003] In view of this, the present invention provides an interrupt service implementation method for a partitioned operating system in a three-state system. A series of interrupt service method logics in the three states are given to the user-state process, which enables the process to be directly triggered by predefined external events. The present invention implements a set of interrupt services to solve this problem.

[0004] The technical solution of this invention is as follows:

[0005] A method for implementing interrupt services in a partitioned operating system in a three-state system, wherein the three-state system conforms to the ARINC653 standard; the three-state system includes a kernel operating system in Hypervisor state, a partitioned operating system in system state, and a partitioned application in user state;

[0006] The method includes the following steps:

[0007] S101: Define the name and partition number of the interrupt service in the configuration record of the three-state system, and then compile the configuration record to generate the interrupt service configuration record information package;

[0008] S102: After the tri-state system starts, the interrupt service configuration record information packet will be shared with all system-state partition operating systems;

[0009] S103: In the user-mode partition application, the interrupt service creation interface is called to create an interrupt service. The validity of the parameters passed to the interrupt service creation interface is checked. If valid, the user-mode partition application makes a system call to enter the system mode and checks whether the interrupt service is legally configured. This is done by verifying the passed parameters with the interrupt service configuration record information packet, and then clearing the interrupt service status and initializing the waiting queue parameters.

[0010] Furthermore, after S103, the following is also included:

[0011] In the user-mode partition application, the interrupt service wait interface is called to wait for the interrupt service. The validity of the input parameters of the interrupt service wait interface is checked. If it is valid, the user-mode partition application makes a system call to enter the system mode and checks whether the interrupt service has a mutex. Then, the interrupt status is confirmed based on the interrupt service name and the partition number to which it belongs. If there is an interrupt notification sent from the Hypervisor, the wait is completed and returned successfully. Otherwise, the interrupt service caller is put into the waiting queue according to the set timeout and the process is suspended.

[0012] Furthermore, after S103, the following is also included:

[0013] In the core operating system, the interrupt service sending interface is called to send an interrupt service to a specific partition. The validity of the parameters passed to the interrupt service sending interface is checked according to the interrupt service configuration record information packet. If it is valid, an interrupt notification is sent to the specified partition and the interrupt bitmap information is updated.

[0014] Furthermore, after the interrupt bitmap information is updated, the partition operating system receives and processes the interrupt service signal sent by the kernel operating system. It obtains the interrupt service number by means of the incoming interrupt bitmap information; it determines whether the interrupt service number matches the interrupt service of this partition. If there is no match, it returns. If there is a match, it sets the interrupt status. If there are waiting processes in the waiting queue of this interrupt service, it performs dequeue processing of the process and sets the process to the ready state.

[0015] Furthermore, the interrupt bitmap information is protected by using 64-bit atomic read / write operations to ensure data consistency among multiple cores.

[0016] Furthermore, the implementation method supports the simultaneous execution of multiple interrupt services.

[0017] The beneficial effects of this invention are:

[0018] This invention enables processes to be directly triggered by external events defined in the configuration record under a three-state partitioned operating system, thereby improving the flexibility of system applications. Attached Figure Description

[0019] To more clearly illustrate the technical solutions of the embodiments of this disclosure, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0020] Figure 1 This is the overall architecture diagram for the service implementation method. Detailed Implementation

[0021] The embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.

[0022] The following specific examples illustrate the implementation of this disclosure. Those skilled in the art can easily understand other advantages and effects of this disclosure from the content disclosed in this specification. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not all of them. This disclosure can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of this disclosure. It should be noted that, in the absence of conflict, the following embodiments and features in the embodiments can be combined with each other. Based on the embodiments in this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.

[0023] It should be noted that various aspects of embodiments within the scope of the appended claims are described below. It will be apparent that the aspects described herein can be embodied in a wide variety of forms, and any particular structure and / or function described herein is merely illustrative. Based on this disclosure, those skilled in the art will understand that one aspect described herein can be implemented independently of any other aspect, and two or more of these aspects can be combined in various ways. For example, any number of aspects set forth herein can be used to implement the device and / or practice the method. Additionally, this device and / or method can be implemented using other structures and / or functionalities besides one or more of the aspects set forth herein.

[0024] It should also be noted that the illustrations provided in the following embodiments are only schematic representations of the basic concept of this disclosure. The illustrations only show the components related to this disclosure and are not drawn according to the number, shape and size of the components in actual implementation. In actual implementation, the form, quantity and proportion of each component can be arbitrarily changed, and the layout of the components may also be more complex.

[0025] Furthermore, specific details are provided in the following description to facilitate a thorough understanding of the examples. However, those skilled in the art will understand that the described aspects can be practiced without these specific details.

[0026] In one embodiment of the present invention, a method for implementing interrupt services in a partitioned operating system in a three-state system is proposed, see reference. Figure 1 The tri-state system conforms to the ARINC653 standard; the tri-state system includes a kernel operating system in Hypervisor state, a partition operating system in system state, and a partition application in user state;

[0027] The method includes the following steps:

[0028] S101: Define the name and partition number of the interrupt service in the configuration record of the three-state system, and then compile the configuration record to generate the interrupt service configuration record information package;

[0029] S102: After the tri-state system starts, the interrupt service configuration record information packet will be shared with all system-state partition operating systems;

[0030] S103: In the user-mode partition application, the interrupt service creation interface is called to create an interrupt service. The validity of the parameters passed to the interrupt service creation interface is checked. If valid, the user-mode partition application makes a system call to enter the system mode and checks whether the interrupt service is legally configured. This is done by verifying the passed parameters with the interrupt service configuration record information packet, and then clearing the interrupt service status and initializing the waiting queue parameters.

[0031] In this embodiment, the method further includes the following after S103:

[0032] In the user-mode partition application, the interrupt service wait interface is called to wait for the interrupt service. The validity of the input parameters of the interrupt service wait interface is checked. If it is valid, the user-mode partition application makes a system call to enter the system mode and checks whether the interrupt service has a mutex. Then, the interrupt status is confirmed based on the interrupt service name and the partition number to which it belongs. If there is an interrupt notification sent from the Hypervisor, the wait is completed and returned successfully. Otherwise, the interrupt service caller is put into the waiting queue according to the set timeout and the process is suspended.

[0033] In this embodiment, the method further includes the following after S103:

[0034] In the core operating system, the interrupt service sending interface is called to send an interrupt service to a specific partition. The validity of the parameters passed to the interrupt service sending interface is checked according to the interrupt service configuration record information packet. If it is valid, an interrupt notification is sent to the specified partition and the interrupt bitmap information is updated.

[0035] In this embodiment, after the interrupt bitmap information is updated, the partition operating system receives and processes the interrupt service signal sent by the core operating system. It obtains the interrupt service number by means of the incoming interrupt bitmap information; it determines whether the interrupt service number matches the interrupt service of this partition. If there is no match, it returns. If there is a match, it sets the interrupt status. If there is a waiting process in the waiting queue of this interrupt service, it performs dequeue processing of the process and sets the process to the ready state.

[0036] In this embodiment, the interrupt bitmap information is protected by using 64-bit atomic read / write operations to ensure data consistency among multiple cores.

[0037] In this embodiment, the implementation method supports the simultaneous execution of multiple interrupt services.

[0038] The beneficial effects of this invention are:

[0039] This invention enables processes to be directly triggered by external events defined in the configuration record under a three-state partitioned operating system, thereby improving the flexibility of system applications.

[0040] The specific steps of interrupt service in the partitioned operating system of this embodiment are as follows:

[0041] 1) Define the name of the interrupt service and its partition number in the configuration record, and then compile the configuration record to generate the interrupt service configuration record information package.

[0042] 2) After the system starts, the interrupt service configuration record information is shared with the system state of all partitions.

[0043] 3) In the user-mode partition, call the interrupt service creation interface to create the interrupt service and check the validity of the input parameters; after the system call, check whether the interrupt service is legally configured by verifying it with the interrupt service configuration record information in 2); then clear the interrupt service status and initialize the waiting queue parameters.

[0044] 4) In the user-mode partition, call the interrupt service wait interface to perform interrupt service wait, and check the validity of the input parameters; after making the system call, check whether the interrupt service has a mutex; then confirm the interrupt status. If there is an interrupt sent from the Hypervisor, wait and return successfully. If not, put the process into the waiting queue and suspend the task according to the set timeout.

[0045] 5) In Hypervisor mode, call the interrupt service sending interface to send interrupt services to specific partitions, and check the validity of the input parameters according to the interrupt service information in the configuration record; send the updated virtual interrupt bitmap information to the specified partitions.

[0046] 6) Receive interrupt service signals sent by Hypervisor in system mode and process them. Obtain the interrupt service number by means of the incoming virtual interrupt bitmap information; determine whether the interrupt service number matches the interrupt service of this partition. If there is no match, return; then set the interrupt status. If there are waiting tasks in the waiting queue of this interrupt service, perform task dequeue processing.

[0047] 7) Multiple interrupt services can be executed simultaneously. The execution method of interrupt services in other partitions is similar to processes 3) to 6).

[0048] The above description is merely a specific embodiment of this disclosure, but the scope of protection of this disclosure is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this disclosure should be included within the scope of protection of this disclosure. Therefore, the scope of protection of this disclosure should be determined by the scope of the claims.

Claims

1. A method for implementing interrupt service of partitioned operating system in a tri-state system, wherein the tri-state system complies with ARINC 653 standard; the tri-state system comprises a core operating system in Hypervisor state, a partitioned operating system in system state and a partitioned application in user state; the method comprises the following steps: S101: defining the name and the belonging partition number of the interrupt service in the configuration record of the tri-state system, and then compiling the configuration record to generate an interrupt service configuration record information package; S102: after the tri-state system is started, sharing the interrupt service configuration record information package to all partitioned operating systems in system state; S103: calling an interrupt service creation interface in the partitioned application in user state to create the interrupt service, checking the validity of the input parameters of the interrupt service creation interface, if valid, the partitioned application in user state makes a system call to enter the system state to check whether the interrupt service is configured legally, checking the input parameters and the interrupt service configuration record information package, and then clearing the interrupt service state and initializing the waiting queue parameters; calling an interrupt service waiting interface in the partitioned application in user state to wait for the interrupt service, checking the validity of the input parameters of the interrupt service waiting interface, if valid, the partitioned application in user state makes a system call to enter the system state to check whether the interrupt service occupies a mutex; then confirming the interrupt state based on the name and the belonging partition number of the interrupt service, if there is an interrupt notification sent by the Hypervisor state, returning successfully after waiting, if not, putting the calling interrupt service into the waiting queue and suspending the process according to the set timeout; calling an interrupt service sending interface in the core operating system to send the interrupt service to a specific partition, checking the validity of the input parameters of the interrupt service sending interface according to the interrupt service information of the interrupt service configuration record information package, if valid, sending an interrupt notification to the specified partition and then updating the interrupt bitmap information; after the interrupt bitmap information is updated, the partitioned operating system receives the interrupt service signal sent by the core operating system to process, obtaining the interrupt service number through the input interrupt bitmap information; judging whether the interrupt service number matches the interrupt service of the partition, if not, returning, if yes, setting the interrupt state, if the waiting queue of the interrupt service has waiting processes, processing the dequeuing of the processes and setting the processes to ready state; the interrupt bitmap information is protected by using 64-bit atomic read / write operation to ensure the data consistency among multiple cores; the implementation method supports simultaneous execution of multiple interrupt services. characterized in that 2. The method according to claim 1, wherein the interrupt bitmap information is protected by using 64-bit atomic read / write operation to ensure the data consistency among multiple cores; the implementation method supports simultaneous execution of multiple interrupt services. ​ ​ ​ ​ ​ 2. The method of claim 1, wherein the method further comprises: determining whether the interrupt is a system interrupt; and if the interrupt is a system interrupt, invoking a system interrupt service routine (SISR) of the partitioned operating system. ​ 3. The method of claim 2, wherein the method further comprises: determining whether the interrupt is a system interrupt; and if the interrupt is a system interrupt, invoking the system interrupt service routine. ​ 4. The method of claim 3, wherein the method further comprises: determining whether the interrupt is a system interrupt; and if the interrupt is a system interrupt, invoking the system interrupt service routine. ​

Citation Information

Patent Citations

  • RPC communication method based on ARINC653 partition

    CN114356602A

  • Inter-thread communication method and electronic equipment

    CN117407183A