当前位置:  技术问答>linux和unix

关于中断与进程的切换问题

    来源: 互联网  发布时间:2017-05-29

    本文导语:  本帖最后由 u011564456 于 2014-09-13 10:59:26 编辑 大家好,我最近在看《一个操作系统的实现》,看到第六章 “进程” 的时候,感觉有点吃力,有一个问题始终不理解,所以想大家请教,希望各路大神帮帮我!!!感激...

本帖最后由 u011564456 于 2014-09-13 10:59:26 编辑
大家好,我最近在看《一个操作系统的实现》,看到第六章 “进程” 的时候,感觉有点吃力,有一个问题始终不理解,所以想大家请教,希望各路大神帮帮我!!!感激不尽!

我的问题时,《一个操作系统的实现》这本书的进程的实现中,TestA()是这样的:
void TestA()
{
        int i = 0;
        while(1){
                 disp_str( "A" );
                 disp_str( "i++" );
                 delay(1);
}


我的问题就是,既然进程 TestA 是一个死循环,那么中断与进程是如何切换的?

|
楼主可以这样简单的形象化这个问题

cpu是一个运行程序的硬件, 当前在testa 中死循环, 时钟中断发生的时候cpu的运行被强行打断去运行一段特殊的代码,这个动作由硬件完成所以testa无法阻止,只能被打断
中断处理程序运行在更高权限上所以可以剥夺testa的运行权利,把另一个程序放到cpu上运行,完成程序切换
程序切换的本质就是程序运行环境的保存和恢复

这里的关键是硬件的支持,一个靠纯软件实现程序切换的系统不是没有(Cooperative multitasking), 但就需要每个程序配合,遇到testa这样的霸凌就没有办法了

    
 
 

您可能感兴趣的文章:

  • 操作系统:关于任务切换,中断
  • 中断上下文,进程上下文 ,内核抢占,用户抢占,中断
  • 问专家们 一个问题,为什么在中断嵌套过程中或者中断处理过程中不能发生进程的调度?
  • 求教:一进程执行过程中被同一外部中断程序大量反复中断会不会引起内核栈溢出?
  • 书上说,中断用自旋锁,进程,用信号量,但是,为什么中断不能用信号量?
  • 在linux中,中断处理是否作为单独的进程执行?
  • 含中断的驱动程序唤醒进程的问题?
  • 关于linux中的进程上下文和中断上下文!
  • 中断恢复现场时怎样判断进程运行到那一步,如何无缝连续运行的呢?
  • 急!!急!!如何中断进程
  • 在程序中如何设定可用^C或^D中断进程 ??????
  • 求助:信号 --13 进程中断
  • 关于中断处理的问题:为什么schedule()后不直接跳到进程执行?而要再判断一次?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • c/c++ iis7站长之家
  • Linux 系统中的中断是不是没有中断优先级
  • 请问软件中断的中断号与端口号是什么关系?
  • 求助,ADS调试中断2440无法进入中断服务。。。
  • 除零中断那些中断是怎么工作的?
  • 傻傻得问,如果两个设备共享一个中断线,中断响应程序怎么区分?
  • kernel 什么时候可以中断 什么时候不可以中断
  • 在Linux驱动中如何开中断和关中断?
  • LINUX下系统调用是不能中断的,要怎么改造成可以中断系统调用?
  • 中断延迟和中断响应、调度延迟的关系?谁来讲讲?
  • linux内核中的中断向量号是如何与硬件的中断Pin关联的?
  • ucosII 移植到arm 用ads,关于关中断、开中断
  • 检测不到中断,无法进入中断处理程序。
  • linux中断处理 如何调用内核的中断操作
  • 关于中断共享的问题:ADC 与触摸屏的中断共享
  • Linux驱动中注册的中断号与实际的硬件中断号的关系
  • 中断函数用法的问题
  • 内核会丢中断吗?
  • 为什么这个中断会一直响应呢????
  • 中断的问题???


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3