Simplified microkernel application programming interface
First Claim
1. An operating system architecture, said operating system architecture configured to provide a user space and a kernel space, comprising:
- a plurality of tasks, wherein said tasks are executed in said user space;
a message;
a microkernel wherein said microkernel is executed in said kernel space, said microkemel supports an application programming interface configured to support only thread manipulation directives, data transfer directives, and message-passing directives, said microkernel is configured to support inter-task communication by virtue of being configured to pass said message from a first one of said tasks to a second one of said tasks, and said microkernel configured to pass said message from said first one of said tasks to said second one of said tasks by virtue of said application programming interface being configured to support message-passing directives.
2 Assignments
0 Petitions
Accused Products
Abstract
An operating system architecture is disclosed. The operating system architecture is configured to provide a user space and a kernel space. The operating system architecture comprises a number of tasks, a message, and a microkernel. The tasks are executed in the user space, while the microkernel is executed in the kernel space. The microkernel supports an application programming interface (API) that is configured to support a limited number of directives, the limited number of directives being substantially fewer in number than a number of directives supported by an application programming interface of a traditional operating system. The microkernel is configured to pass the message from a first one of the tasks to a second one of the tasks by virtue of the application programming interface being configured to support message-passing directives. The microkernel is configured to support inter-task communication by virtue of being configured to pass the message from a first one of the tasks to a second one of the tasks. The application programming interface may also support thread manipulation directives and/or data transfer directives. In one aspect of the embodiment, the operating system architecture employs a client/server architecture, in which the first task acts as a client task and the second task acts as a server task.
27 Citations
28 Claims
-
1. An operating system architecture, said operating system architecture configured to provide a user space and a kernel space, comprising:
-
a plurality of tasks, wherein said tasks are executed in said user space;
a message;
a microkernel wherein said microkernel is executed in said kernel space, said microkemel supports an application programming interface configured to support only thread manipulation directives, data transfer directives, and message-passing directives, said microkernel is configured to support inter-task communication by virtue of being configured to pass said message from a first one of said tasks to a second one of said tasks, and said microkernel configured to pass said message from said first one of said tasks to said second one of said tasks by virtue of said application programming interface being configured to support message-passing directives. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An operating system architecture, said operating system architecture configured to provide a user space and a kernel space, comprising:
-
a kernel wherein said kernel is executed in said kernel space, said kernel supports an application programming interface configured to support only thread manipulation directives, data transfer directives, and message-passing directives. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A computer system comprising:
-
a processor;
computer readable medium coupled to said processor; and
computer code, encoded in said computer readable medium, configured as an operating system, wherein said operating system provides an application programming interface, said application programming interface supporting only;
thread manipulation directives, data transfer directives, and message-passing directives. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A computer program product encoded in computer readable media, said computer program product comprising:
-
a first set of instructions, executable on a computer system, configured as a operating system, wherein said first set of instructions consists of;
a first subset of instructions, executable on said computer system, configured to facilitate thread manipulation, a second subset of instructions, executable on said computer system, configured to facilitate data transfer, and a third subset of instructions, executable on said computer system, configured to facilitate message passing;
a second set of instructions, executable on a computer system, configured as a first task; and
a third set of instructions, executable on a computer system, configured as a second task,
whereinsaid operating system provides a kernel space and a user space, said operating system is executed in said kernel space, said first and said second tasks are executed in said user space, and said third subset of instructions supports inter-task communication between said first and said second tasks. - View Dependent Claims (22, 23, 24)
said second subset of instructions supports data transfer to and from said first and said second tasks, and said second subset of instructions provide data transfer directives comprising a fetch directive and a store directive.
-
-
23. The computer system of claim 21, wherein:
said third subset of instructions provide message-passing directives comprising a send directive, a receive directive and a reply directive.
-
24. The computer system of claim 21, wherein:
said first subset of instructions provide thread manipulation directives comprising a create thread directive and a destroy thread directive.
-
25. A microkernel, consisting of:
-
thread manipulation directives configured to execute in a kernel space, said kernel space provided by an operating system;
data transfer directives configured to execute in said kernel space; and
message-passing directives configured to execute in said kernel space, wherein said message-passing directives are further configured to enable a first task to communicate with a second task using separate areas of memory, and wherein said first task and said second task are configured to execute in a user space provided by said operating system. - View Dependent Claims (26, 27, 28)
-
Specification