【发布时间】:2015-07-22 14:55:00
【问题描述】:
下面的伪代码显示了一个典型的循环软件架构。如果每个设备需要 20 毫秒来服务,而 UpdateLCD() 需要 10 毫秒来执行,那么最坏情况下的响应时间是多少?
void main (void) {
while(1) {
if (!! Device A needs Service) {
!! Handle Device A
}
if (!! Device B needs Service) {
!! Handle Device B
}
. . . .
if (!! Device D needs Service) {
!! Handle Device D
}
UpdateLCD();
}
}
由于总共有 4 个设备(A、B、C、D),如果在维修设备 A 后,设备 A 需要维修,这里最坏情况的响应时间应该是 20+20+20+10 = 70ms (假设设备 B、C 和 D 也需要维修)。
但是,在答案选择中,只有:85ms、110ms、35ms 和 25ms。我想我需要帮助来理解循环架构。谢谢!
【问题讨论】: