Chinaunix
标题:
问个操作系统进程方面的问题
[打印本页]
作者:
simonsoft
时间:
2007-11-02 23:41
标题:
问个操作系统进程方面的问题
最近在看操作系统概念 有个地方不懂。
进程那一章,有个地方说,进程先进入就绪对列,开始执行,然后可能需要请求磁盘IO,于是进程进入磁盘IO队列,等完成磁盘IO后,进程再回到就绪队列。
书上图大概是:
--->ready queue --------->cpu
| |
----<----IO ------<IO queue<--
问个弱点的问题 , IO的时候不需要CPU吗?cpu 只从ready queue选进程执行,如果IO需要CPU,那图的循环不是错了?这里搞不懂,希望有人帮忙解答下
[
本帖最后由 simonsoft 于 2007-11-2 23:54 编辑
]
作者:
bluesky_jxc
时间:
2007-11-03 09:04
标题:
回复 #1 simonsoft 的帖子
这里所说的就绪队列是指可以运行的进程队列,IO队列是指等待IO任务完成的进程队列
由于IO很慢(相对CPU),因此进程等待IO时都会把自己的状态置为不可运行状态,然后将自己移到IO 等待队列。这个时候进程仅仅是等待IO完成,不需要CPU参与的。
当IO完成(中断信号通知),中断处理函数将相应的进程唤醒,然后这个进程再将自己的状态置为可运行状态,并且再加入到就绪队列中,等待调度程序调度执行
作者:
simonsoft
时间:
2007-11-03 17:21
那就是说IO操作时不需要CPU?是不是忘磁盘写文件什么的都不用CPU参与?
作者:
Solaris12
时间:
2007-11-04 21:15
原帖由
simonsoft
于 2007-11-3 17:21 发表
那就是说IO操作时不需要CPU?是不是忘磁盘写文件什么的都不用CPU参与?
楼主要知道有DMA这回事地....
作者:
mjdcl
时间:
2007-11-05 07:58
DMA+中断完成磁盘操作。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2