针对一些网友的疑惑,谈谈操作系统是如何得到CPU的控制权

weixin_38050219 2003-07-19 07:52:39

有些网友不知道操作系统是如何分配时间片给进程的,比如20毫秒后,操作系统就切换进程,使CPU运行下一个进程?举个极端的例子来说:如果一个进程运行死循环了,它有可能一直运行下去,而操作系统将永远得不到控制权,所以时间片的控制和进程切换将不能依靠软件控制,只能由cpu硬件时钟定时中断来强制退出当前进程程序,而硬件定时中断会强迫cpu跳转到cpu内部的RAM里的一个固定地址执行程序,这时候,操作系统的会在这个地址放一条跳转指令,使CPU再跳转到操作系统的进程切换管理程序,这时操作系统就可以按照一定的算法来切换进程。这只是一个原理,其中还涉及到堆栈操作等等,原理不算复杂,只是算法复杂点,但是如果你不在乎进程切换的效率,那么完全可以自己编一个进程切换程序,或者是个小操作系统。,不知道这里有没有立志自己写个小操作系统的朋友,我们可以探讨一下的:)
...全文
57 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复

477

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧