Patent ID: 7735087

Claim:
A task switching apparatus for switching tasks to be executed in a processor by switching time slots to which a task is assigned, comprising: a first generating unit operable to assign, on a one-to-one basis, first time slots in a plurality of time slots within a period to each first task among a plurality of first tasks whose assignment time is specified, and generate time slot information including an assignment time of each first task corresponding to each of the first time slots; a second generating unit operable to assign a plurality of second tasks, each with a priority classification, to a single second time slot among the plurality of time slots within the period, and generate time slot information including an assignment time and at least one priority classification of at least one second task assigned to the second time slot; a time slot switching unit operable to switch time slots when an execution time of a task reaches an assignment time; a third generating unit operable to generate task management information including an address of each of tasks assigned to a time slot; a storing unit operable to store the generated time slot information and task management information in association with each other; a selecting unit operable to select time slot information stored in said storing unit at least once in the period; a control unit operable to allow an execution of a task indicating task management information corresponding to the time slot information when time slot information to which a first task is assigned is selected, select a task from a plurality of task management information corresponding to the time slot information according to priority classifications and allow an execution of the task indicated by the selected task management information when time slot information to which at least one second task is assigned is selected; a memory unit configured to store programs for causing said first generating unit, said second generating unit, said time slot switching unit, said third generating unit, said storing unit, said selecting unit, and said control unit to perform their respective functions; and a processor which executes the programs.