Dynamic alteration of operating system kernel resource tables
First Claim
1. A computer executed method for dynamically altering one or more operating system kernel resource control tables for a specified subsystem in response to a request from an application program wherein at least one of said resource control tables, referred to as the specified resource control table, has a plurality of entries, each entry having associated therewith an existing kernel identifier, said method comprising:
- (a) imposing a modification lock to said specified subsystem;
(b) modifying said one or more kernel resource control tables associated with said specified subsystem;
wherein said modifying operation includes the following actions;
(1) creating a new resource control table having a plurality of entries, each entry having a new kernel identifier that identifies specific resource control data;
(2) copying, from the specified resource control table to the new resource control table, those entries in said specified table that represent in-use resource control data;
(3) creating a mapping table having respective entries, referred to as mapping-table entries, wherein each mapping-table entry includes the existing kernel identifier for a specific in-use resource control data and the new kernel identifier for that in-use resource control data;
(4) intercepting a function call that includes a reference to a kernel identifier;
(5) determining whether the function call includes a reference to a specified one of said existing kernel identifiers, and if so, then replacing said reference with a reference to the new kernel identifier that corresponds to said specified one of said existing kernel identifiers; and
(c) releasing said modification lock.
9 Assignments
0 Petitions
Accused Products
Abstract
A method to dynamically alter the availability or characteristics of specified system resources (e.g. interprocess communications facilities or tuning variables that control operating efficiency) is described. The inventive method is unique in that it allows the modification of system resources without the need to rebuild and re-initialized (i.e., reboot) the operating system. If required by the specific alteration being performed, creation of new kernel control structures may require that one or more of a kernel'"'"'s static-type data structures be converted to dynamic-type data structures.
67 Citations
7 Claims
-
1. A computer executed method for dynamically altering one or more operating system kernel resource control tables for a specified subsystem in response to a request from an application program wherein at least one of said resource control tables, referred to as the specified resource control table, has a plurality of entries, each entry having associated therewith an existing kernel identifier, said method comprising:
-
(a) imposing a modification lock to said specified subsystem; (b) modifying said one or more kernel resource control tables associated with said specified subsystem;
wherein said modifying operation includes the following actions;(1) creating a new resource control table having a plurality of entries, each entry having a new kernel identifier that identifies specific resource control data; (2) copying, from the specified resource control table to the new resource control table, those entries in said specified table that represent in-use resource control data; (3) creating a mapping table having respective entries, referred to as mapping-table entries, wherein each mapping-table entry includes the existing kernel identifier for a specific in-use resource control data and the new kernel identifier for that in-use resource control data; (4) intercepting a function call that includes a reference to a kernel identifier; (5) determining whether the function call includes a reference to a specified one of said existing kernel identifiers, and if so, then replacing said reference with a reference to the new kernel identifier that corresponds to said specified one of said existing kernel identifiers; and (c) releasing said modification lock. - View Dependent Claims (6)
-
-
2. A computer executed method for dynamically altering one or more operating system kernel resource control tables for a specified subsystem in response to a request from an application program wherein at least one of said resource control tables is a static type data structure, referred to as the specified resource control table, has a plurality of entries, said method comprising:
-
(a) imposing a modification lock to said specified subsystem; (b) modifying said one or more kernel resource control tables associated with said specified subsystem;
wherein said modifying operation includes the following actions;(1) creating a new dynamic type resource control table having a plurality of entries, said new dynamic type resource control table having an address; (2) copying, from the specified resource control table to the new dynamic type resource control table, those entries in said specified table that represent in-use resource control data; (3) locating in said application program an instruction that provides an address to said specified resource control table; (4) modifying said located instruction from an address-generating-instruction to a load-from-generated-address instruction; (5) placing the address of the new dynamic type resource control table into the location specified by modified instruction; and (c) releasing said modification lock.
-
-
3. A computer executed method for dynamically altering one or more operating system kernel resource control tables for a specified subsystem in response to a request from an application program wherein at least one of said resource control tables is a static type data structure, referred to as the specified resource control table, has a plurality of entries, each entry having associated therewith an existing kernel identifier said method comprising:
-
(a) imposing a modification lock to said specified subsystem; (b) modifying said one or more kernel resource control tables associated with said specified subsystem;
wherein said modifying operation includes the following actions;(1) creating a new dynamic type resource control table having a plurality of entries, each entry having a new kernel identifier that identifies specific resource control data; (2) copying, from the specified resource control table to the new dynamic type resource control table, those entries in said specified table that represent in-use resource control data; (3) creating a mapping table having respective entries, referred to as mapping-table entries, wherein each mapping-table entry includes the existing kernel identifier for a specific in-use resource control data and the new kernel identifier for that in-use resource control data; (4) intercepting a function call that includes a reference to a kernel identifier; (5) determining whether the function call includes a reference to a specified one of said existing kernel identifiers, and if so, then replacing said reference with a reference to the new kernel identifier that corresponds to said specified one of said existing kernel identifiers; (6) locating in said application program an instruction that provides an address to said specified resource control table; (7) modifying said located instruction from an address-generating-instruction to a load-from-generated-address instruction; (8) placing the address of the new dynamic type resource control table into the location specified by modified instruction; and (c) releasing said modification lock.
-
-
4. A computer executed method to convert a static type data structure used by an application program to a dynamic type data structure, said static type data structure having been created at compile time of said application program, said method comprising:
-
(a) acquiring a synchronization lock to prevent another application program from accessing said static type data structure; (b) creating a new dynamic type data structure, said new dynamic type data structure having an address; (c) locating in said application program an instruction that provides an address to said static type data structure; (d) modifying said located instruction from an address-generating-instruction to a load-from-generated-address instruction; and (e) placing the address of the new dynamic type data structure into the location specified by the modified instruction. - View Dependent Claims (5)
-
-
7. A computer executed method for dynamically altering an operating system kernel resource control table having a plurality of entries, each entry having associated therewith an existing kernel identifier, for a specified subsystem in response to a request from an application program, said method comprising:
-
(a) imposing a modification lock to said specified subsystem; (b) modifying said kernel resource control tables associated with said specified subsystem by; (1) creating a new resource control table having a plurality of entries, each entry having a new kernel identifier that identifies specific resource control data; (2) copying, from the specified resource control table to the new resource control table, those entries in said specified table that represent in-use resource control data; (3) creating a mapping table having respective entries, referred to as mapping-table entries, wherein each mapping-table entry includes the existing kernel identifier for a specific in-use resource control data and the new kernel identifier for that in-use resource control data; (4) intercepting a function call that includes a reference to a kernel identifier; and (5) determining whether the function call includes a reference to a specified one of said existing kernel identifiers, and if so, then replacing said reference with a reference to the new kernel identifier that corresponds to said specified one of said existing kernel identifiers; (c) releasing said modification lock.
-
Specification