A safety controller comprising: a hardware resource including at least one processor; and a system program for controlling allocation of an execution time of the processor with respect to (a) a safety monitoring task for monitoring occurrence of an abnormality related to a control target, (b) a normal control task related to a control of the control target during normal time, and (c) a safety control task related to the control of the control target upon occurrence of an abnormality, wherein the system program includes: a partition scheduler that selects and decides a time partition to be subsequently scheduled in accordance with a scheduling pattern including: (d) a first time partition in which the execution time is allocated to the safety monitoring task; (e) a second time partition in which the execution time is allocated to the normal control task; and (f) a third time partition in which the execution time is allocated to the safety control task; a first task scheduler for scheduling the safety monitoring task in the first time partition; a second task scheduler for scheduling the normal control task in the second time partition; and a third task scheduler for scheduling the safety control task in the third time partition, the processor executes the system program to cause the partition scheduler to operate periodically, and upon receiving a notification of an execution result indicating that an abnormality has been detected by the safety monitoring task executed in the first time partition, the partition scheduler skips time partitions other than the third time partition in a subsequent scheduling. a hardware resource including at least one processor; and a system program for controlling allocation of an execution time of the processor with respect to (a) a safety monitoring task for monitoring occurrence of an abnormality related to a control target, (b) a normal control task related to a control of the control target during normal time, and (c) a safety control task related to the control of the control target upon occurrence of an abnormality, wherein the system program includes: a partition scheduler that selects and decides a time partition to be subsequently scheduled in accordance with a scheduling pattern including: (d) a first time partition in which the execution time is allocated to the safety monitoring task; (e) a second time partition in which the execution time is allocated to the normal control task; and (f) a third time partition in which the execution time is allocated to the safety control task; a first task scheduler for scheduling the safety monitoring task in the first time partition; a second task scheduler for scheduling the normal control task in the second time partition; and a third task scheduler for scheduling the safety control task in the third time partition, the processor executes the system program to cause the partition scheduler to operate periodically, and upon receiving a notification of an execution result indicating that an abnormality has been detected by the safety monitoring task executed in the first time partition, the partition scheduler skips time partitions other than the third time partition in a subsequent scheduling.