Method and apparatus for system call management
First Claim
1. A method for managing operating system calls during execution of a first computer program in a computer system, the computer system including a system vector and a first vector table, the first vector table including references to respective segments of operating system program code associated with operating system calls, the method comprising:
- establishing a second vector table, the second vector table including references to one or more respective segments of wrapper program code associated with segments of operating system program code; and
setting the system vector to reference the first vector table or the second vector table at selected times during execution of the first program, whereby segments of operating system code are executed in response to operating system calls made when the system vector references the first vector table, and segments of code referenced in the second vector table are executed when the system vector references the second vector table.
3 Assignments
0 Petitions
Accused Products
Abstract
Method and apparatus for managing operating system calls. In a computer system that includes a system vector and a first vector table, an alternative vector table is provided. The first vector table includes references to respective segments of operating system program code that are associated with operating system calls, and the alternative vector table includes references to one or more respective segments of wrapper program code associated with segments of operating, system program code. The system vector is set to reference the first vector table or the alternative vector table at selected times during execution of a user program. Thus, segments of operating system code are executed in response to operating system calls made when the system vector references the first vector table, and segments of code referenced in the alternative vector table are executed when the system vector references the alternative vector table.
36 Citations
19 Claims
-
1. A method for managing operating system calls during execution of a first computer program in a computer system, the computer system including a system vector and a first vector table, the first vector table including references to respective segments of operating system program code associated with operating system calls, the method comprising:
-
establishing a second vector table, the second vector table including references to one or more respective segments of wrapper program code associated with segments of operating system program code; and
setting the system vector to reference the first vector table or the second vector table at selected times during execution of the first program, whereby segments of operating system code are executed in response to operating system calls made when the system vector references the first vector table, and segments of code referenced in the second vector table are executed when the system vector references the second vector table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
setting the system vector to reference the first vector table upon execution of wrapper program code; and
setting the system vector to reference the second vector table upon completing execution of operating system code.
-
-
3. The method of claim 2, further comprising:
-
setting a first set of entries in the second vector table to reference respective segments of wrapper code; and
setting a second set of entries in the second vector table to reference respective segments of operating system code.
-
-
4. The method of claim 1, further comprising:
-
executing a segment of wrapper code associated with a first selected entry in the second vector table in response to a first system call;
reading a second selected entry from the first vector table that corresponds to the first selected entry of the second vector table while the system vector is set to reference the second vector table; and
executing a segment of operating system code referenced by the second selected entry from the first vector table.
-
-
5. The method of claim 1, further comprising:
-
setting a first set of entries in the second vector table to reference respective segments of wrapper code; and
setting a second set of entries in the second vector table to reference respective segments of operating system code.
-
-
6. The method of claim 1, further comprising updating in execution of the segments of wrapper code a histogram of system call invocations.
-
7. The method of claim 1, further comprising logging in execution of the segments of wrapper code system call invocations.
-
8. The method of claim 7, further comprising logging in execution of the segments of wrapper code states of parameters provided in system call invocations.
-
9. The method of claim 7, further comprising logging in execution of the segments of wrapper code states of error codes returned from system call invocations.
-
10. A method for managing operating system calls during execution of a first computer program in a computer system, the computer system including a system vector and a first vector table, the vector table including references to respective segments of operating system program code, the method comprising:
-
establishing an alternative vector table, the alternative vector table including references to one or more respective segments of wrapper program code associated with segments of operating system program code;
selectively associating a reference to the alternative vector table with the system vector at a first selected time during execution of the first program;
executing segments of wrapper program code via references in the second vector table in response to operating system calls when the system vector is associated with the reference to alternative vector table;
associating a reference to the first vector table with the system vector at a second selected time during execution of the segments of wrapper program code; and
executing segments of operating system code via references in the first vector table when the system vector is associated with the reference to first vector table. - View Dependent Claims (11, 12, 13, 14, 15)
setting a first set of entries in the alternative vector table to reference respective segments of wrapper code; and
setting a second set of entries in the alternative vector table to reference respective segments of operating system code.
-
-
12. The method of claim 10, further comprising updating in execution of the segments of wrapper code a histogram of system call invocations.
-
13. The method of claim 10, further comprising logging in execution of the segments of wrapper code system call invocations.
-
14. The method of claim 13, further comprising logging in execution of the segments of wrapper code states of parameters provided in system call invocations.
-
15. The method of claim 13, further comprising logging in execution of the segments of wrapper code states of error codes returned from system call invocations.
-
16. An apparatus for managing operating system calls during execution of a first computer program, comprising:
-
a first vector table arranged in a computer memory and including a plurality of addresses referencing respective segments of operating system program code;
a second vector table arranged in a computer memory and including one or more addresses referencing one or more respective segments of wrapper program code associated with the segments of operating system program code, respectively;
a system vector arranged for storage of an address that references either of the first or second vector tables;
a system call manager coupled to the first and second vector tables and to the system vector, the system call manager configured and arranged to selectively set the value of the system vector to the addresses of the first and second vector tables at selected times. - View Dependent Claims (17)
-
-
18. An apparatus for managing operating system calls during execution of a first computer program in a computer system, the computer system including a system vector and a first vector table, the first vector table including references to respective segments of operating system program code associated with operating system calls, the apparatus comprising:
-
means for establishing a second vector table, the second vector table including references to one or more respective segments of wrapper program code associated with segments of operating system program code; and
means for setting the system vector to reference the first vector table or the second vector table at selected times during execution of the first program, whereby segments of operating system code are executed in response to operating system calls made when the system vector references the first vector table, and segments of code referenced in the second vector table are executed when the system vector references the second vector table. - View Dependent Claims (19)
-
Specification