Drupal exposes hook_cron that you can call with cron.php from a system cron job. The problem with this is if you schedule the job, say every 15 minutes, any module that uses hook_cron will run that every 15 minutes. Here are some projects that aim to resolve this issue
http://drupal.org/project/elysia_cron
http://drupal.org/project/ultimate_cron
http://drupal.org/project/cronplus
And finally, a discussion about implementing a scheduling hook for D8 is here:
Cron should not remain monolithic (Implement a scheduling hook for cron)
http://drupal.org/node/154043

