Method, apparatus and program storage device that provides a user mode device interface
First Claim
1. A computing device, comprising:
- a processor configured to operate an operating system in a user mode and a privileged mode;
a user memory coupled to the processor; and
a kernel memory coupled to the processor, the kernel memory storing a user mode device interface configured for;
storing software functions implemented in the privileged mode,enabling applications running in the user mode to access the software functions implemented in the privileged mode,receiving requests, from a user side object configured for operating in the user mode, to use the software functions implemented in the privileged mode, andperforming, by a server side object configured for operating in the user mode, the request and forwarding a response to the user side object based on the request, wherein;
the software functions implemented in the privileged mode are only stored in the kernel memory and are unavailable outside the kernel memory,the user memory is dedicated for storing the applications operating in the user mode,the software functions were previously available to the processor in the privileged mode,the software functions transition to be currently available to the processor in the user mode in response to the requests, such that the software functions are no longer available to the processor in the privileged mode, andthe user mode device interface maintains the software functions without any changes when the software functions transition from being available to the processor in the privileged mode to being available to the processor in the user mode.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, apparatus and program storage device that provides a user mode device interface for enabling software reuse. The user mode device interface allows device interface requests to be sent and received, including commands and data structures, via socket communication. A device state machine on the client side is implemented in a set of shared functions that can be incorporated by all applications that want to communicate to a particular service provider. The service provider offers the software functions over a user mode device interface via socket communication. The device state machine on the service provider side is embedded in the socket server implementation. The interaction between the state machines on both client and server sides ensures a device interface request is properly handled.
30 Citations
11 Claims
-
1. A computing device, comprising:
-
a processor configured to operate an operating system in a user mode and a privileged mode; a user memory coupled to the processor; and a kernel memory coupled to the processor, the kernel memory storing a user mode device interface configured for; storing software functions implemented in the privileged mode, enabling applications running in the user mode to access the software functions implemented in the privileged mode, receiving requests, from a user side object configured for operating in the user mode, to use the software functions implemented in the privileged mode, and performing, by a server side object configured for operating in the user mode, the request and forwarding a response to the user side object based on the request, wherein; the software functions implemented in the privileged mode are only stored in the kernel memory and are unavailable outside the kernel memory, the user memory is dedicated for storing the applications operating in the user mode, the software functions were previously available to the processor in the privileged mode, the software functions transition to be currently available to the processor in the user mode in response to the requests, such that the software functions are no longer available to the processor in the privileged mode, and the user mode device interface maintains the software functions without any changes when the software functions transition from being available to the processor in the privileged mode to being available to the processor in the user mode. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computing system, comprising:
-
a processor including an operating system configured to operate in a user mode and a privileged mode; a user memory coupled to the processor; and a kernel memory coupled to the processor, the kernel memory including program code, executing by the processor, for providing a user mode device interface, the user mode device interface configured for; storing software functions implemented in the privileged mode, enabling applications running in the user mode to access the software functions implemented in the privileged mode, and processing requests from a first application running on the processor in the user mode to use a software function of the software functions implemented in the privileged mode running on a second application running on the processor in the privileged mode, wherein; the software functions implemented in the privileged mode are only stored in the kernel memory and are unavailable outside the kernel memory, the user memory is dedicated for storing applications operating in the user mode, the software functions were previously available to the processor in the privileged mode, the software functions transition to be currently available to the processor in the user mode in response to the requests, such that the software functions are no longer available to the processor in the privileged mode, and the user mode device interface maintains the software functions without any changes when the software functions transition from being available to the processor in the privileged mode to being available to the processor in the user mode.
-
-
10. A non-transitory computer-readable storage medium, comprising:
-
program instructions executed by a processing device to perform operations for storing software functions implemented in a user mode; program instructions executed by the processing device to perform operations for enabling applications running in the user mode to access the software functions implemented in the user mode; program instructions executed by the processing device to perform operations for storing software functions implemented in a privileged mode; program instructions executed by the processing device to perform operations for enabling the applications running in the user mode to access the software functions implemented in the privileged mode; program instructions executed by the processing device to perform operations for providing a user mode device interface for enabling software reuse, the operations comprising; receiving requests, from a user side object configured to operate in the user mode, to use the software functions implemented in the privileged mode, performing, by a server side object configured to operate in the user mode, the request, and forwarding a response to the user side object based on the request, wherein; the software functions implemented in the privileged mode are only stored in a kernel memory, the software functions implemented in the privileged mode are unavailable outside the kernel memory, the software functions were previously available to the processor in the privileged mode, the software functions transition to be currently available to the processor in the user mode in response to the requests, such that the software functions are no longer available to the processor in the privileged mode, and the user mode device interface maintains the software functions without any changes when the software functions transition from being available to the processor in the privileged mode to being available to the processor in the user mode. - View Dependent Claims (11)
-
Specification