Preempting tasks at a preemption point of a kernel service routine based on current execution mode
First Claim
1. An apparatus for dynamically controlling a preemption section of a kernel, wherein the preemption section is a section of the kernel in which a process currently being executed may be preempted to enable another process to be executed, the apparatus comprising:
- a processor;
a preemption manager configured to;
monitor whether a system context has changed; and
upon determining that the system context has changed, set a current preemptive mode according to the changed system context to dynamically control the preemption section of the kernel, wherein the current preemptive mode determines whether the apparatus will prioritize processing efficiency or real-time processing; and
a preemption point manager configured to determine, upon reaching a preemption point in execution of a kernel service routine of the kernel, whether to check whether a current thread needs to be rescheduled, based on the current preemptive mode; and
upon determining that the current thread needs to be rescheduled, reschedule the current thread.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus for dynamically controlling a preemption section includes a preemption manager configured to monitor whether a system context has changed, and if the system context has changed, set a current preemptive mode according to the changed system context to dynamically control a preemption section of a kernel. Therefore, even when an application requiring real-time processing, such as a health-care application, co-exists with a normal application, optimal performance may be ensured.
25 Citations
22 Claims
-
1. An apparatus for dynamically controlling a preemption section of a kernel, wherein the preemption section is a section of the kernel in which a process currently being executed may be preempted to enable another process to be executed, the apparatus comprising:
-
a processor; a preemption manager configured to; monitor whether a system context has changed; and upon determining that the system context has changed, set a current preemptive mode according to the changed system context to dynamically control the preemption section of the kernel, wherein the current preemptive mode determines whether the apparatus will prioritize processing efficiency or real-time processing; and a preemption point manager configured to determine, upon reaching a preemption point in execution of a kernel service routine of the kernel, whether to check whether a current thread needs to be rescheduled, based on the current preemptive mode; and
upon determining that the current thread needs to be rescheduled, reschedule the current thread. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of dynamically controlling a preemption section of a kernel, wherein the preemption section is a section of the kernel in which a process currently being executed may be preempted to enable another process to be executed, the method comprising:
-
monitoring whether a system context has changed; upon determining that the system context has changed, setting a current preemptive mode according to the changed system context to dynamically control the preemption section of the kernel, wherein the current preemptive mode determines whether processing efficiency or real-time processing will be prioritized; and determining, upon reaching a preemption point in execution of a kernel service routine of the kernel, whether to check whether a current thread needs to be rescheduled, based on the current preemptive mode; and
upon determining that the current thread needs to be rescheduled, reschedule the current thread. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification