打印
[嵌入式linux]

关于Linux进程调度学习过程中的问题

[复制链接]
5518|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
#21ic问答#
各位前辈们,我在学习进程调度过程中遇到一个问题。
假如有四个进程A,B,C,D,A会运行50ms,B会运行100ms,C会运行200ms,D会运行200ms。
进程调度策略为时间片轮询,时间片为100ms。
调度的过程:
1. 时间0-50ms:
- 任务A运行并完成
- 调度器立即调度任务B运行
2.时间50-100ms:
- 任务B正在运行
- 定时器中断触发,任务B时间片未使用完,继续调用任务B
3.时间100-150ms:
- 任务B在150ms完成
- 调度器调度任务C运行
4.时间150-200ms:
- 任务C正在运行
- 200ms触发定时器中断,继续执行任务C。
5.时间200-250ms:
- 任务C时间片用完,此时会调用任务D。

我的问题是:在第5步的时候,没有定时器中断触发,操作系统是怎么知道任务的时间片用完了呢?

使用特权

评论回复

相关帖子

沙发
阿可知道怎么做|  楼主 | 2024-6-9 21:38 | 只看该作者
任务A B可以理解为调用了exit,相当于有个“系统中断”。但对于一个运行中的进程是怎么在没有系统中断和定时器中断的情况下告诉操作系统自己的时间片用完了呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝