📜  实时任务的相对截止时间和绝对截止时间的区别(1)

📅  最后修改于: 2023-12-03 15:09:27.052000             🧑  作者: Mango

实时任务的相对截止时间和绝对截止时间的区别

在实时操作系统中,任务往往被设计成实时任务。实时任务可以被分为两类:硬实时任务和软实时任务。其中,硬实时任务的绝对截止时间是固定的,软实时任务的相对截止时间是动态的。

相对截止时间

相对截止时间是指任务需要在规定的时间内完成。这个时间通常是在任务开始执行之后确定的。相对截止时间需要程序员在编写程序时显式地给出。

在实时系统中,任务通常由一个周期性执行的定时器驱动。在这种情况下,相对截止时间就是任务需要在每个周期内完成的时间长度,也就是任务的周期长度。

任务的相对截止时间是一个相对于任务开始时间的时间点,通常是以毫秒为单位来计算。例如,如果一个任务从它被调度的时间开始有10ms的相对截止时间,那么这个任务必须在调度后的10ms内完成。

相对截止时间通常用于软实时任务,因为它允许任务的执行时间在每个周期内有一定的变化范围。同时,相对截止时间也可以通过任务的优先级来动态调整,使得高优先级任务的执行时间更快。

绝对截止时间

绝对截止时间是指任务必须在某个时间点之前完成。这个时间点通常在任务调度之前就已经确定好了,也就是任务的参数中已经包含了绝对截止时间。

任务的绝对截止时间是一个与任务开始时间无关的时间点,通常也是以毫秒为单位来计算。例如,如果一个任务在调度时被赋予了一个绝对截止时间为100ms的参数,那么这个任务必须在100ms以内完成,无论它是何时被调度运行的。

绝对截止时间通常用于硬实时任务,因为它要求任务必须在固定的时间内完成,否则会导致系统出现严重问题。

总结

实时任务的相对截止时间和绝对截止时间是两种截止时间的概念。相对截止时间是动态的,由任务开始时间和优先级来决定;绝对截止时间是静态的,由任务参数事先确定。需要根据实际情况选择相应的截止时间,以保证实时任务的正确执行。