Method for processing interrupt requests in a computer system operating environment having different types of supervisor programs concerned with specified types of interrupt events
First Claim
1. An improved method, performed by a computer system executing a set of program instructions referred to as a transport-mechanism program, of processing an interrupt, wherein (i) said interrupt is generated by a user program executing in an operating environment of said computer system, (ii) said operating environment comprises one or more control blocks and one or more registers each having respective information contents that can be changed by said computer system in response to events occurring within said computer system, (iii) said operating environment has a state defined by said information contents, and (iv) said computer system has a memory in which a normal interrupt handling routine for processing said interrupt is stored;
- said method comprising;
(a) creating, in addressable storage, a memory model of said operating environment by copying the information contents of one or more said control blocks and of one or more of said registers to said addressable storage;
(b) setting a flag to indicate that the normal interrupt handling routine has not been executed;
(c) calling each of a plurality of supervisor programs in said computer system, referred to as polling said supervisor programs, each said supervisor program being configured to test whether the normal interrupt handling routine has been executed prior to attempting to call the normal interrupt handling routine, wherein each calling of a supervisor program includes;
(1) passing execution control of the computer system to said supervisor program;
(2) in response to any said supervisor program testing whether the normal interrupt handling routine has been executed and if not, then issuing a request to the transport mechanism program to call the normal interrupt handling routine;
(A) invoking the execution of an interrupt-execution routine, and(B) returning control to said supervisor program;
(3) said interrupt-execution routine including;
(A) determining whether the memory model still matches the state of the operating environment and if not, then altering the operating environment to a state that conforms to said memory model,(B) calling the normal interrupt handling routine,(C) updating the memory model to reflect any changes to the operating environment that occurred as a result of calling the normal interrupt handling routine, and(D) resetting said flag to indicate that the normal interrupt handling routine has been called;
(d) after said polling of said supervisor programs, determining whether said flag indicates that the normal interrupt handling routine has been called, and if not then;
(1) determining whether the memory model still matches the state of the operating environment and if not, then altering the operating environment to conform to said state, and(2) calling the normal interrupt handling routine; and
(e) returning execution control of the computer system to said user program.
11 Assignments
0 Petitions
Accused Products
Abstract
A transport mechanism system and method, implemented in software, that permits the coordinated supervision, by an arbitrary number of SUPERVISOR PROGRAMS, of the execution of indirect-addressed interrupt-handling routines in an operating system. The transport mechanism intercepts each call to a supervised interrupt handler, creates a MEMORY MODEL of the then-existing environment, and hands control in sequence to the SUPERVISOR PROGRAMs. Each SUPERVISOR PROGRAM can examine the MEMORY MODEL as well as modify it, and can call a transport mechanism service routine which results in turn in the calling of the normal interrupt-handling routine, but now in the context of the environment specified by the MEMORY MODEL. Such execution is followed by return of control to the calling SUPERVISOR PROGRAM. After all called SUPERVISOR PROGRAMs have completed their execution and returned control to the transport mechanism, the transport mechanism conforms the actual environment to that indicated by the MEMORY MODEL. If no SUPERVISOR PROGRAM has called for execution of the called interrupt, the transport mechanism does so. The transport mechanism then returns control to the program which originally initiated the interrupt event.
-
Citations
3 Claims
-
1. An improved method, performed by a computer system executing a set of program instructions referred to as a transport-mechanism program, of processing an interrupt, wherein (i) said interrupt is generated by a user program executing in an operating environment of said computer system, (ii) said operating environment comprises one or more control blocks and one or more registers each having respective information contents that can be changed by said computer system in response to events occurring within said computer system, (iii) said operating environment has a state defined by said information contents, and (iv) said computer system has a memory in which a normal interrupt handling routine for processing said interrupt is stored;
- said method comprising;
(a) creating, in addressable storage, a memory model of said operating environment by copying the information contents of one or more said control blocks and of one or more of said registers to said addressable storage; (b) setting a flag to indicate that the normal interrupt handling routine has not been executed; (c) calling each of a plurality of supervisor programs in said computer system, referred to as polling said supervisor programs, each said supervisor program being configured to test whether the normal interrupt handling routine has been executed prior to attempting to call the normal interrupt handling routine, wherein each calling of a supervisor program includes; (1) passing execution control of the computer system to said supervisor program; (2) in response to any said supervisor program testing whether the normal interrupt handling routine has been executed and if not, then issuing a request to the transport mechanism program to call the normal interrupt handling routine; (A) invoking the execution of an interrupt-execution routine, and (B) returning control to said supervisor program; (3) said interrupt-execution routine including; (A) determining whether the memory model still matches the state of the operating environment and if not, then altering the operating environment to a state that conforms to said memory model, (B) calling the normal interrupt handling routine, (C) updating the memory model to reflect any changes to the operating environment that occurred as a result of calling the normal interrupt handling routine, and (D) resetting said flag to indicate that the normal interrupt handling routine has been called; (d) after said polling of said supervisor programs, determining whether said flag indicates that the normal interrupt handling routine has been called, and if not then; (1) determining whether the memory model still matches the state of the operating environment and if not, then altering the operating environment to conform to said state, and (2) calling the normal interrupt handling routine; and (e) returning execution control of the computer system to said user program. - View Dependent Claims (2, 3)
- said method comprising;
Specification