A high priority
setter 102 writes the first priority (high priority) of a specific task #1 recorded in a specific task table 110 every time interval T, as the priority of the task #1 in a task priority table 111. Thereafter, when a
time duration TH shorter than the time interval T elapsed, a low priority
setter 103 writes the second priority (low priority) of the specific task #1 recorded in the specific task table 110, as the priority of the task #1 in the task priority table 111. The second priority is set lower than the first priority. A task selector 101 selects a task whose priority is set the highest among the tasks 10 recorded in the task priority table 111, as a specific task to be executed. Thus, the
processing of the specific task #1 is securely executed during the
time duration TH every time interval T, and the execution of the specific task #1 is allowed to continue if it is judged that there is no other task to be executed during the rest of the time interval T other than the
time duration TH, by setting the first priority sufficiently high.