操作系统-怎么理解“操作系统是中断驱动的”这句话?
我在想会不会主要是说RTOS。
对这句话,我有一些自己的理解。
其实对于一个计算机系统来说,同一时刻只能跑一个进程(单核CPU),那么在这个基础下,一个操作系统,我们不知道能不能理解为初始化之后,就是一个while(1){;},于是,当这个操作系统要管理其他任何的东西的时候,比如管理文件、设备、进程调度等,那么就是中断这个while(1){;},然后去处理用户或者系统希望其处理的事情。由于这样的机制,就可以称之为是中断驱动的。
这句话是在一本讲操作系统的书上看到的,也不是很肯定是不是百分百正确。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
计算机中加入‘中断’这个东西,最主要就是为了"提高处理器效率",从这个角度出发,理解“操作系统是中断驱动”就较好理解了。因为操作系统负责管理系统资源(对数据的移动、存储和处理,以及对这些功能的控制),让CPU更有效的执行指令。而处理器自身也是一个资源,操作系统必须决定在运行一个特定的用户程序时,可以分配给多少处理时间;在这就要由操作系统负责中断了。
可以类比下用户层写线程调度时,某线程阻塞导致调度器自己也死掉,而操作系统的进程调度则可以通过时钟中断从别的阻塞进程手中夺回CPU的控制权。时钟中断感觉就像脉搏一样。
这个我觉得应该这样理解:操作系统的多任务是靠每个任务运行一段时间来实现的,比如每个任务运行一个时间片,然后再多个任务间切换,任务的切换就靠定时器中断来实现,在每个定时器中断中会运行调度函数看是否需要调度新的进程,定时器中断就相当于人的脉搏一样,驱动操作系统的运行。