Responding to service requests using minimal system-side context in a multiprocessor environment
First Claim
1. In a data processing and handling system having one or more processing units coupled to a multiplicity of sharable components, all operable in conjunction with both a system-side context and a user-side context, for performing data processing and handling tasks in response to service-requesting events which have priority level information associated therewith, and wherein the system has a temporary data storing means including a plurality of separately addressable data storage areas, a method for responding to occurrences of service-requesting events comprising the steps of:
- designating one of the data storage areas as a zero level storage area having a higher priority level than all remaining data storage areas;
responding to an occurrence of a service-requesting event by moving service-handling program code having minimal system-side context to said zero level storage area, said minimal system-side context containing information identifying a task associated with said service-requesting event, as well as an assigned priority associated with said service-requesting event;
suspending a first process in a receiving processing unit whenever said zero level storage area is loaded;
preserving a minimal system-side context of said first suspended process which is less than an entire context of said suspended first process into said sharable system components in order that said receiving processing unit is ready to handle said minimum system-side context of said service-handling program code;
determining whether said priority level assigned to said service-requesting event is higher than a priority level assigned to said first suspended process;
saving said entire context of said first suspended process in order to commence processing of tasks of said service-requesting event in response to a result of said determining step indicating that said priority level assigned to said suspended processing is not higher than said priority level assigned to said service-requesting event; and
placing a service request indicator in a storage area different from said zero level storage area in response to a result of said determining step indicating that said priority level assigned to said first suspended process is higher than said priority level assigned to said service-requesting event.
8 Assignments
0 Petitions
Accused Products
Abstract
A method of providing fast and efficient kernel functions including those usually performed by kernel daemons and other kernel processes such as those which service interrupts. The method consists of using minimal-context processes that carry only the system-related information needed to do the work they are created to do. Compared to the full-context processes presently used to do kernel functions, minimal-context processes are created quickly and switch economically. If associated with a work queue, the minimal-context process performs a series of tasks within a single active session. If no queue is used, a minimal-context process can wake up and accomplish a single task rapidly. The method generally relates to kernel-based operating systems.
-
Citations
9 Claims
-
1. In a data processing and handling system having one or more processing units coupled to a multiplicity of sharable components, all operable in conjunction with both a system-side context and a user-side context, for performing data processing and handling tasks in response to service-requesting events which have priority level information associated therewith, and wherein the system has a temporary data storing means including a plurality of separately addressable data storage areas, a method for responding to occurrences of service-requesting events comprising the steps of:
-
designating one of the data storage areas as a zero level storage area having a higher priority level than all remaining data storage areas; responding to an occurrence of a service-requesting event by moving service-handling program code having minimal system-side context to said zero level storage area, said minimal system-side context containing information identifying a task associated with said service-requesting event, as well as an assigned priority associated with said service-requesting event; suspending a first process in a receiving processing unit whenever said zero level storage area is loaded; preserving a minimal system-side context of said first suspended process which is less than an entire context of said suspended first process into said sharable system components in order that said receiving processing unit is ready to handle said minimum system-side context of said service-handling program code; determining whether said priority level assigned to said service-requesting event is higher than a priority level assigned to said first suspended process; saving said entire context of said first suspended process in order to commence processing of tasks of said service-requesting event in response to a result of said determining step indicating that said priority level assigned to said suspended processing is not higher than said priority level assigned to said service-requesting event; and placing a service request indicator in a storage area different from said zero level storage area in response to a result of said determining step indicating that said priority level assigned to said first suspended process is higher than said priority level assigned to said service-requesting event. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method to process service requests in a data processing system including a plurality of general processing units comprising the steps of:
-
supplying a signal identifying a requested service to be processed; suspending execution of a first program being executed on a receiving processing unit to which said identifying signal is supplied; starting execution of a service process corresponding to said service request by said receiving processing unit; transferring control of said execution of said service process to an available processing unit in said system that is executing a lower priority program; resuming execution of said first program by said receiving processing unit when said transfer of said service process is complete; executing the service process by said available processing unit; and resuming execution of said lower priority program by said available processing unit when execution of said service process is complete. - View Dependent Claims (7, 8, 9)
-
Specification