Periodic process scheduling method
First Claim
1. A periodic process scheduling method of a computer system, said computer system including a plurality of process groups, each of said process groups including at least one periodically executed process, said plurality of process groups being executed in parallel, said periodic process scheduling method comprising the steps of:
- specifying a wakeup interval period and a required CPU time per period for each of said process groups;
securing a CPU allocation time so as to prevent collision between a CPU allocation time of a specified process group and a CPU allocation time of another specified process group, and adjusting said CPU allocation time and said wakeup period so as to maintain the wakeup interval period of each of said specified process groups;
creating a table for registering therein an order of said process groups to which CPU time is allocated by utilizing a time slot as a unit;
selecting a process group so as to allocate time slots to process groups in order starting from a process group having a shorter wakeup period;
extracting adjacent empty time slots within the wakeup interval period of the selected process group;
responding to the existence of adjacent empty time slots having a size of at least a required CPU time, obtaining, from adjacent empty time slots corresponding to at least the required CPU time and having a minimum size, adjacent empty time slots corresponding to the required CPU time beginning from the head thereof, and allocating the obtained adjacent empty time slots to the selected process group; and
responding to the nonexistence of adjacent empty time slots having a size of at least a required CPU time, allocating all time slots belonging to adjacent empty time slots having a maximum size to the selected process group, and allocating a remaining time equivalent to the required CPU time minus the allocated time slots to said process group by using the previous responding step and the present responding step.
2 Assignments
0 Petitions
Accused Products
Abstract
A scheduling method of a periodic process of a computer system for keeping the execution interval of each process group constant as far as possible in the case where a plurality of process groups including periodically executed processes are executed in parallel. If a group master process of each process group specifies a wakeup interval period and a required CPU time per period and requests allocation of a CPU time, then a CPU allocation time of a specified process group is secured so as not to collide with a CPU allocation time of another process group, and a scheduling table is created so as to maintain the specified wakeup interval period. In response to arrival of time when one of the process groups should be waked up, a kernel process or a scheduler conducts wakeup by changing execution priority of a process belonging to this process group to highest priority ("raised") in the system, and thereafter maintains the highest priority for CPU allocation time consecutively allocated.
110 Citations
9 Claims
-
1. A periodic process scheduling method of a computer system, said computer system including a plurality of process groups, each of said process groups including at least one periodically executed process, said plurality of process groups being executed in parallel, said periodic process scheduling method comprising the steps of:
-
specifying a wakeup interval period and a required CPU time per period for each of said process groups; securing a CPU allocation time so as to prevent collision between a CPU allocation time of a specified process group and a CPU allocation time of another specified process group, and adjusting said CPU allocation time and said wakeup period so as to maintain the wakeup interval period of each of said specified process groups; creating a table for registering therein an order of said process groups to which CPU time is allocated by utilizing a time slot as a unit; selecting a process group so as to allocate time slots to process groups in order starting from a process group having a shorter wakeup period; extracting adjacent empty time slots within the wakeup interval period of the selected process group; responding to the existence of adjacent empty time slots having a size of at least a required CPU time, obtaining, from adjacent empty time slots corresponding to at least the required CPU time and having a minimum size, adjacent empty time slots corresponding to the required CPU time beginning from the head thereof, and allocating the obtained adjacent empty time slots to the selected process group; and responding to the nonexistence of adjacent empty time slots having a size of at least a required CPU time, allocating all time slots belonging to adjacent empty time slots having a maximum size to the selected process group, and allocating a remaining time equivalent to the required CPU time minus the allocated time slots to said process group by using the previous responding step and the present responding step. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable recording medium for storing a program for ordering periodic process scheduling of a computer system, said computer system including a plurality of process groups, each of said process groups including at least one periodically executed process, said plurality of process groups being executed in parallel, said program comprising:
-
program means for specifying a wakeup interval period and a required CPU time per period for each of the process groups; program means for securing a CPU allocation time so as to prevent collision between a CPU allocation time of a specified process group and a CPU allocation time of another process group, and adjusting said CPU allocation time and said wakeup period so as to maintain the wakeup interval period of each of specified process groups; registering means for creating a table to register therein an order of said process groups to which CPU time is allocated by utilizing a time slot as a unit; selecting means for selecting a process group so as to allocate time slots to process groups in order starting from a process group having a shorter wakeup period; extracting means for extracting adjacent empty time slots within the wakeup interval period of the selected process group; means for responding to the existence of adjacent empty time slots having a size of at least a required CPU time, obtaining, from adjacent empty time slots corresponding to at least the required CPU time and having a minimum size, adjacent empty time slots corresponding to the required CPU time beginning from head thereof, and allocating the obtained adjacent empty time slots to the selected process group; and means for responding to the nonexistence of adjacent empty time slots having a size of at least a required CPU time, allocating all time slots belonging to adjacent empty time slots having a maximum size to the selected process group, and allocating a remaining time equivalent to the required CPU time minus the allocated time slots to said process group by using the previous responding means and the present responding means. - View Dependent Claims (9)
-
Specification