读书人

发一个关于UNIX过程的帖子

发布时间: 2013-01-08 14:02:14 作者: rapoo

发一个关于UNIX进程的帖子
最近阅读《UNIX操作系统设计》。这本书中说到,进程在核心态下执行的时候是不允许做进程调度的。

我的问题是,当进程在用户态执行了一段时间,然后发出系统调用进入了核心态,然后在核心态执行的时候进程分配的时间片用完了。那这个时候也不会进行进程调度么?如果是这样,那是否可能存在这样的情况,由于某项系统调用需要较长时间来处理,会使得一个进程一直在核心态运行,从而导致其它进程无法运行?进程在核心态运行的时候,是否算到进程已经运行的时间之中?
[解决办法]
在核心态时间片用完后,应该会有个中断信号,然后保护这个进程的周边情况(变量,代码,寄存器信息等等),然后根据OS进程调度的方法,从进程等待(wait)队列选取下一个将要执行的进程,将cpu分配给它。
[解决办法]

引用:
在核心态时间片用完后,应该会有个中断信号,然后保护这个进程的周边情况(变量,代码,寄存器信息等等),然后根据OS进程调度的方法,从进程等待(wait)队列选取下一个将要执行的进程,将cpu分配给它。

我觉得应该会有一个核心态时间片!

读书人网 >UNIXLINUX

热点推荐