← Back to context

Comment by eschaton

2 days ago

It’s not even a centralized task scheduler on its native UNIX: iI’s a centralized *userspace* task scheduler.

Mainframe and minicomputer operating systems support scheduling in the operating system itself, as part of their process/thread scheduler; their native queuing systems are built on top of the primitives their scheduler offers, for proper accounting and maximum resource utilization (including prioritization).

Only UNIX would just provide a way to run processes at a specified time or interval and call the job done.

Although you're right that Unix never really reached having the full three-level scheduling mechanisms of the mainframe operating systems, cron is not the actual Unix parallel of the high-level scheduler that keeps the running jobs list fed.

That is in fact batch (and atrun, although that's considered an implementation detail).

* https://pubs.opengroup.org/onlinepubs/9799919799/utilities/b...

Most implementations flesh out the "implementation-defined algorithms" stuff to be calculations based upon load averages, as on NetBSD.

* https://man.netbsd.org/batch.1

* https://man.netbsd.org/atrun.8

Or fairly primitive parallelism limits as on Illumos.

* https://illumos.org/man/1/batch

* https://illumos.org/man/5/queuedefs

Not quite JECL, is it? (-: