in reply to designing layout of a program

Oops, somehow missed the scheduling question.

Scheduling is an operating system service, that is, it handles certain things so that you don't have to. That's usally a good thing :-) Again it takes out something that is essentially data (periodicity of your run) and wraps it up so that no coding is needed to change that aspect of your system's behavior. That is a good thing.

Another advantage of having the OS do scheduling for you is that if one of your runs failed due to a transient error, you don't need to write a watchdog to restart the process.

A possible disadvantage of system scheduling is that the admins might not want to use it: perhaps it makes deployment more difficult if you don't want to invest in the installer doing it automatically, or maybe they need to edit a config file anyway and want THAT parameter to be in the same place as the other parameters.

Another possible aspect is permissions: who is allowed to change the period of runs? Is this something to worry about?