cron は、すべてのスケジュール化されたジョブを実行するために、各イベントを時間順に並べたリストを保持しています。各イベントは、特定のジョブとそれを実行するのに必要な情報を表しています。cron は次の 2 種類のジョブ (cron_job および at_job) を実行します。
at によってスケジュール化される、将来の指定された時間に1度だけ実行される単一の実行ジョブ (at_job)
batch によってスケジュール化される単一の実行ジョブ (at_job)。batch は at(1) のフロントエンドスクリプトであり、システム負荷レベルが許すと即座にジョブ実行を依頼する。
crontab によってスケジュール化される、指定された時間間隔で繰り返し実行される周期的実行ジョブ (cron_jobs)。
cron_job および at_job は、それぞれ対応するスプールディレクトリに格納されている crontab または atjob ファイルを cron が読み込むことによりスケジュール化されます。これらのファイルを cron が読み込むタイミングは次のどちらかです。
cron 自身のプロセスの初期化時
crontab または atjob ファイルに変更が行われた後
crontab ファイルは、ユーザーアカウントまたは役割アカウントが crontab(1) コマンドを使うことにより生成されます (Trusted Solaris システムでは、crontab コマンドがアカウントの実行プロファイルにの 1 つに含まれていなければなりません)。crontab ファイルは、1 行ごとに書かれたコマンドから構成されており、これらのコマンドは各コマンド行の先頭部分に指定された時刻に自動的に実行されます。crontab ファイル内の各コマンド行を「cron_job」と呼びます。crontab ファイルは複数の cron_job を含むことができます。crontab ファイルのスプール空間は、/var/spool/cron/crontabs です。
atjob ファイルは、ユーザーアカウントまたは役割アカウントが at(1) または batch コマンドを使うことにより生成されます (これらのコマンドがアカウントの実行プロファイルの 1 つに含まれていなければなりません)。 コマンドが実行された時のユーザーの現在のプロセス環境もファイルに保存されます。これらの各ファイルは「at_job」として参照されます。atjob ファイルのスプール空間は /var/spool/cron/atjobs です。
Trusted Solaris システムでは、crontab および atjob ファイルのスプールディレクトリは MLD として実装されているため、これらのスプールディレクトリには異なる機密ラベルを持つジョブファイルが保持されることになります。スプールディレクトリが MLD であるため、1 人のユーザーは、crontab ディレクトリ内に異なる機密ラベルを持つ複数の crontab ファイルを持つことができます。同様に、1 人のユーザーは、atjobs ディレクトリ内に異なる機密ラベルを持つ複数の atjob ファイルを持つことができます。