1
sujin190 2022-01-16 14:12:34 +08:00 via Android
没懂你在纠结啥,定时器是硬中断,到时间就会切换当前进程到等待调度,io 操作需等待的和临界区信号需等待的都是主动放弃时间进入等待状态,状态达成会重新进去等待调度,之后谁可以运行就看谁在前面谁优先级高了,中间又没有时间间隔
|
2
oyasumi 2022-01-16 14:56:03 +08:00 via Android 1
日语链接发下
|
3
crystale OP @sujin190 谢谢,我没有学过详细的课程,之前不知道 io 和临界区可以主动放弃时间。另外 io 进入的不是 blocked(sleep)状态吗?等到 blocked 结束后才进入等待状态吧?
|
4
crystale OP @jiangwenwenmodes 上传到了 dropbox
这是大一的期末考题 https://www.dropbox.com/s/dzw2e50z7v3330w/%E9%A2%98%E7%9B%AE.pdf?dl=0 |
5
sujin190 2022-01-16 15:45:42 +08:00
@crystale #3 这个 blocked 就是进程主动放弃运行状态进入等待的意思啊,cpu 指令执行是无法被阻塞或暂停的,单片机这样的系统会使用空指令死循环来占着时间等待 io 完成,windows 和 Linux 这种有操作系统的自然触发调度器切换进程了,如果没有任何进程可调度,那么此时 cpu 会有 idle 进程来执行死循环占着 cpu 时间,你用任务管理器看就能看到 idle 进程了
|
7
oyasumi 2022-01-16 19:31:36 +08:00
|
8
crystale OP @jiangwenwenmodes 谢谢,但是「老师已关闭该学期,无法查看」,似乎要等下半年了
|