Library prosa.model.task.preemption.fully_nonpreemptive
Fully Non-Preemptive Task Model
Consider any type of tasks with WCET bounds.
In the fully non-preemptive model, no job can be preempted until its
completion. The maximal non-preemptive segment of a job j has length
job_cost j, which is bounded by task_cost tsk.
Definition fully_nonpreemptive_task_model : TaskMaxNonpreemptiveSegment Task :=
fun tsk : Task ⇒ task_cost tsk.
End FullyNonPreemptiveModel.
fun tsk : Task ⇒ task_cost tsk.
End FullyNonPreemptiveModel.
Run-to-Completion Threshold
Consider any type of tasks.
In the fully non-preemptive model, no job can be preempted prior to its
completion. In other words, once a job starts running, it is guaranteed
to finish. Thus, we can set the task-level run-to-completion threshold
to ε.
#[local] Instance fully_nonpreemptive_rtc_threshold : TaskRunToCompletionThreshold Task :=
constant ε.
End TaskRTCThresholdFullyNonPreemptive.
constant ε.
End TaskRTCThresholdFullyNonPreemptive.