Method and apparatus for management of mapped and unmapped regions of memory in a microkernel data processing system
First Claim
1. A memory management method for a microkernel architecture data processing system, comprising the steps of:
- loading a microkernel into a memory of a data processing system, for creating task containers in said memory;
forming with said microkernel a template region as a special object in said memory, said template region having a set of attributes defining a virtual address space and having a template pointer to a memory object;
forming with said microkernel a task container in said memory having said set of attributes and having a task pointer to said template region, by means of mapping said template region into said task container;
said template pointer and said task pointer establishing a first relationship between said task container and said memory object;
performing virtual memory operations on said template region to modify said template pointer to said memory object, thereby establishing a second relationship between said task container and said memory object.
1 Assignment
0 Petitions
Accused Products
Abstract
A memory management method for a microkernel architecture and the microkernel itself feature template regions which are defined by the microkernel in the memory, as special objects. In the memory management method, after the microkernel is loaded into the memory of a data processing system, it begins creating task containers in the memory. It does this by forming template regions as special objects in the memory, the template regions having a set of attributes. Then, when the microkernel forms a task in the memory, it does so by mapping the template region into the task. The microkernel defines a virtual address space for the task based upon the template region. Later, when the microkernel conducts virtual memory operations on the template regions, the effect of the virtual memory operations is manifested in the task by means of the mapping relationship. In this manner, a single template region can be mapped into multiple tasks, simultaneously. By directing virtual memory operations to the template region on which they will take effect, the sharing of the virtual memory operations is much easier to accomplish since the changes are made to a template region, not to the mapping of the template region within each task.
178 Citations
57 Claims
-
1. A memory management method for a microkernel architecture data processing system, comprising the steps of:
-
loading a microkernel into a memory of a data processing system, for creating task containers in said memory; forming with said microkernel a template region as a special object in said memory, said template region having a set of attributes defining a virtual address space and having a template pointer to a memory object; forming with said microkernel a task container in said memory having said set of attributes and having a task pointer to said template region, by means of mapping said template region into said task container; said template pointer and said task pointer establishing a first relationship between said task container and said memory object;
performing virtual memory operations on said template region to modify said template pointer to said memory object, thereby establishing a second relationship between said task container and said memory object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A memory management method for a microkernel architecture data processing system, comprising the steps of:
-
loading a microkernel into in a memory of the data processing system, for creating task containers in said memory; forming with said microkernel a template base region as a special object in said memory, said template base region having a first size and a first set of attributes;
forming with said microkernel a task base container in said memory having said first size and said first set of attributes, by mapping said template base region into said task base container;forming with said microkernel a template user region as a special object in said memory, said template user region having a second size and a second set of attributes;
forming with said microkernel a task user container within said task base container in said memory, having said second size and said second set of attributes, by mapping said template user region into said task user container at a location within said task base container;performing virtual memory operations on said template base region; said virtual memory operations operative in said task base container by means of said mapping.
-
-
11. A microkernel architecture data processing system, comprising:
-
a microkernel in a memory of the data processing system, for creating task containers in said memory; a template region as a special object in said memory, said template region having a set of attributes defining a virtual address space and having a template pointer to a memory object; a task container in said memory having said set of attributes and having a task pointer to said template region, formed by means of mapping said template region into said task container; said template pointer and said task pointer establishing a first relationship between said task container and said memory object; means for performing virtual memory operations on said template region to modify said template pointer to said memory object, thereby establishing a second relationship between said task container and said memory object. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method of running a selected, operating system personality program in a microkernel architecture data processing system, comprising the steps of:
-
loading a microkernel into a memory of a data processing system, for creating task containers in said memory; loading a selected, operating system personality program into said memory of said data processing system; sending a call to said microkernel from said selected, operating system personality program, to form a template region as a special object in said memory, said template region having a set of attributes defining a virtual address space and having a template pointer to a memory object; forming with said microkernel a task container in said memory having said set of attributes and having a task pointer to said template region, by means of mapping said template region into said task container, said template pointer and said task pointer establishing a first relationship between said task container and said memory object; performing virtual memory operations on said template region to modify said template pointer to said memory object, thereby establishing a second relationship between said task container and said memory object. - View Dependent Claims (17, 18, 19)
-
-
20. A microkernel architecture data processing system, comprising:
-
a microkernel in a memory of the data processing system, for creating task containers in said memory; a selected operating system personality program in said memory of said data processing system, for sending a call to said microkernel to form a template region as a special object in said memory; a template region in said memory formed in response to said call, said template region having a set of attributes defining a virtual address space and having a template pointer to a memory object; a task container in said memory having said set of attributes and having a task pointer to said template region, formed by means of mapping said template region into said task container; said template pointer and said task pointer establishing a first relationship between said task container and said memory object; means for performing virtual memory operations on said template region to modify said template pointer to said memory object, thereby establishing a second relationship between said task container and said memory object.
-
-
21. A method of running a personality-neutral services program in a microkernel architecture data processing system, comprising the steps of:
-
loading a microkernel into a memory of a data processing system, for creating task containers in said memory; loading a personality-neutral services program into said memory of said data processing system; sending a call to said microkernel from said personality-neutral services program, to form a template region as a special object in said memory, said template region having a set of attributes defining a virtual address space and having a template pointer to a memory object; forming with said microkernel a task container in said memory having said set of attributes and having a task pointer to said template region, by means of mapping said template region into said task container; said template pointer and said task pointer establishing a first relationship between said task container and said memory object; performing virtual memory operations on said template region to modify said template pointer to said memory object, thereby establishing a second relationship between said task container and said memory object. - View Dependent Claims (22, 23, 24)
-
-
25. A microkernel architecture data processing system, comprising:
- a microkernel in a memory of the data processing system, for creating task containers in said memory;
a personality-neutral services program in said memory of said data processing system, for sending a call to said microkernel to form a template region as a special object in said memory; a template region in said memory formed in response to said call, said template region having a set of attributes defining a virtual address space and having a template pointer to a memory object; a task container in said memory having said set of attributes and having a task pointer to said template region, formed by means of mapping said template region into said task container; said template pointer and said task pointer establishing a first relationship between said task container and said memory object; means for performing virtual memory operations on said template region to modify said template pointer to said memory object, thereby establishing a second relationship between said task container and said memory object.
- a microkernel in a memory of the data processing system, for creating task containers in said memory;
-
26. A method of running an application program in a microkernel architecture data processing system, comprising the steps of:
-
loading a microkernel into a memory of a data processing system, 4 for creating task containers in said memory; loading an application program into said memory of said data processing system; sending a call to said microkernel from said application program, to form a template region as a special object in said memory, said template region having a set of attributes defining a virtual address space and having a template pointer to a memory object; forming with said microkernel a task container in said memory having said set of attributes and having a task pointer to said template region, by means of mapping said template region into said task container; said template pointer and said task pointer establishing a first relationship between said task container and said memory object; performing virtual memory operations on said template region to modify said template pointer to said memory object, thereby establishing a second relationship between said task container and said memory object. - View Dependent Claims (27, 28, 29)
-
-
30. A microkernel architecture data processing system, comprising:
- a microkernel in a memory of the data processing system, for creating task containers in said memory;
an application program in said memory of said data processing system, for sending a call to said microkernel to form a template region as a special object in said memory; a template region in said memory formed in response to said call, said template region having a set of attributes defining a virtual address space and having a template pointer to a memory object; a task container in said memory having said set of attributes and having a task pointer to said template region, formed by means of mapping said template region into said task container; said template pointer and said task pointer establishing a first relationship between said task container and said memory object; means for performing virtual memory operations on said template region to modify said template pointer to said memory object, thereby establishing a second relationship between said task container and said memory object.
- a microkernel in a memory of the data processing system, for creating task containers in said memory;
-
31. A microkernel architecture data processing system, comprising:
-
an auxiliary storage means for storing programmed instructions;
a memory means coupled to said auxiliary storage means, for storing a cache object, said auxiliary storage means paging into said cache object said programmed instructions;a template region in said memory means, said template region having a set of attributes defining a virtual address space and having a template pointer toward said cache object; a microkernel means in said memory means, for creating tasks in said memory means; a task in said memory means having said set of attributes and having a task pointer to said template region, formed by means of said microkernel means mapping said template region into said task; said template pointer and said task pointer establishing a first relationship between said task and said cache object; a processor means coupled to said memory means, for executing said programmed instructions; a thread object in said memory means associated with said task, for fetching said programmed instructions from said cache object using said first relationship, for execution in said processor means; means for performing virtual memory operations on said template region to modify said template pointer toward said cache object, thereby changing the relationship between said task and said cache object. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38)
-
-
39. A microkernel architecture data processing system, comprising:
-
a memory means, for storing a cache object containing programmed instructions; a template region in said memory means, having a set of attributes and having a template pointer toward said cache object; a microkernel means in said memory means, for creating tasks in said memory means by mapping said template region into a task; a task in said memory means formed by said microkernel means, having said set of attributes and having a task pointer to said template region; said template pointer and said task pointer establishing a first relationship between said task and said cache object; a processor means coupled to said memory means, for executing said programmed instructions; a thread in said memory means associated with said task, for fetching said programmed instructions from said cache object using said first relationship, for execution in said processor means. - View Dependent Claims (40, 41, 42, 43, 44, 45)
-
-
46. A microkernel architecture data processing system, comprising:
-
an auxiliary storage means for storing programmed instructions; a memory means coupled to said auxiliary storage means, for storing a cache object, said auxiliary storage means paging into said cache object said programmed instructions; a template region in said memory means, having a set of attributes and having a template pointer toward said cache object; a microkernel means in said memory means, for creating tasks in said memory means by mapping said template region into a task; a task in said memory means formed by said microkernel means, having said set of attributes and having a task pointer to said template region; said template pointer and said task pointer establishing a first relationship between said task and said cache object; a processor means coupled to said memory means, for executing said programmed instructions; a thread in said memory means associated with said task, for fetching said programmed instructions from said cache object using said first relationship, for execution in said processor means.
-
-
47. A microkernel architecture data processing system, comprising:
-
an auxiliary storage means for storing programmed instructions; a memory means coupled to said auxiliary storage means, for storing a cache object, said auxiliary storage means paging into said cache object said programmed instructions; a template region in said memory means, having a set of attributes and having a first template pointer and a second template pointer toward said cache object; a microkernel means in said memory means, for creating tasks in said memory means by mapping said template region into a task; a first task in said memory means formed by said microkernel means, having said set of attributes and having a first task pointer to said template region; said first template pointer and said first task pointer establishing a first relationship between said first task and said cache object; a first processor means coupled to said memory means, for executing said programmed instructions; a first thread in said memory means associated with said first task, for fetching said programmed instructions from said cache object using said first relationship, for execution in said first processor means; a second task in said memory means formed by said microkernel means, having said set of attributes and having a second task pointer to said template region; said second template pointer and said second task pointer establishing a second relationship between said second task and said cache object; a second processor means coupled to said memory means, for executing said programmed instructions; a second thread in said memory means associated with said second task, for fetching said programmed instructions from said cache object using said second relationship, for execution in said second processor means.
-
-
48. A microkernel architecture data processing system, comprising:
-
an auxiliary storage means for storing programmed instructions; a memory means coupled to said auxiliary storage means, for storing a cache object, said auxiliary storage means paging into said cache object said programmed instructions; a template region in said memory means, having a set of attributes and having a template pointer toward said cache object; a microkernel means in said memory means, for creating tasks in said memory means by mapping said template region into a task; a first task in said memory means formed by said microkernel means, having said set of attributes and having a first task pointer to said template region; a first template pointer and said task pointer establishing a relationship between said first task and said cache object; a first processor means coupled to said memory means, for executing said programmed instructions; a first thread in said memory means associated with said first task, for fetching said programmed instructions from said cache object using said relationship, for execution in said first processor means; a second task in said memory means formed by said microkernel means, having said set of attributes and having a second task pointer to said template region; said template pointer and said second task pointer establishing said relationship between said second task and said cache object; a second processor means coupled to said memory means, for executing said programmed instructions; a second thread in said memory means associated with said second task, for fetching said programmed instructions from said cache object using said relationship, for execution in said second processor means.
-
-
49. An article of manufacture for use in a computer system, comprising:
a computer useable medium having computer readable program code means embodied therein for providing a memory management method for a microkernel architecture data processing system, the computer readable program code means in said article of manufacture comprising; computer readable program code means for causing a computer to load a microkernel into a memory of a data processing system, for creating task containers in said memory; computer readable program code means for causing a computer to form with said microkernel a template region as a special object in said memory, said template region having a set of attributes defining a virtual address space and having a template pointer to a memory object; computer readable program code means for causing a computer to form with said microkernel a task container in said memory having said set of attributes and having a task pointer to said template region, by means of mapping said template region into said task container; said template pointer and said task pointer establishing a first relationship between said task container and said memory object; and computer readable program code means for causing a computer to perform virtual memory operations on said template region to modify said template pointer to said memory object, thereby establishing a second relationship between said task container and said memory object. - View Dependent Claims (50, 51, 52, 53, 54, 55, 56, 57)
Specification