博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于中断处理程序的运行问题
阅读量:5110 次
发布时间:2019-06-13

本文共 551 字,大约阅读时间需要 1 分钟。

     在一次面试的时候,遇到了一个关于中断处理程序运行的问题。当时并不是很清楚答案,最后终于在一本linux内核的书中找到了。问题是:“当中断处理程序运行时,能不能将其状态变成阻塞?”

     这涉及到了操作系统相关的知识,有关于进程的状态以及中断处理程序方面的知识。在面试时,我的想法是:不能使得中断处理程序阻塞,这将会使得CPU处于一个空闲的状态。我也将自己的想法告诉了面试官,但显然答案并不是如此,或者说原因并不是我说的那样。    
     面试结束后,我回学校查了当时看过的操作系统书中的相关章节,书中大都没有清楚的描述有关类似的问题。几周后,在我阅读到《linux内核设计与实现》中有关中断的章节,找到了该问题的答案。
     书中给出的描述是:“中断上下文和进程并没有什么瓜葛,与current宏也是不相干的。因为没有后备进程,所以中断上下文不可以睡眠,否则又怎能再对它重新调度呢?” 这句话涉及了书中之前章节关于对进程的相关知识的描述。对于书中的这句话,我的理解是,如果中断处理程序进入睡眠状态,将没有方式将其状态转换为运行状态。所以那个问题的答案是:否。
     当然这些观点都是我自己所理解的,肯定会有不够完善的地方,仅供参考。

转载于:https://www.cnblogs.com/alants/p/4245957.html

你可能感兴趣的文章
Swift3.0服务端开发(三) Mustache页面模板与日志记录
查看>>
【转】 FPGA设计的四种常用思想与技巧
查看>>
EntityFrameWork 实现实体类和DBContext分离在不同类库
查看>>
新手算法学习之路----二叉树(在一个二叉查找树中插入一个节点)
查看>>
autopep8
查看>>
GIT在Linux上的安装和使用简介
查看>>
基于C#编程语言的Mysql常用操作
查看>>
s3c2440实验---定时器
查看>>
MyEclipse10安装SVN插件
查看>>
[转]: 视图和表的区别和联系
查看>>
Regular Experssion
查看>>
图论例题1——NOIP2015信息传递
查看>>
uCOS-II中的任务切换-图解多种任务调度时机与问题
查看>>
CocoaPods的安装和使用那些事(Xcode 7.2,iOS 9.2,Swift)
查看>>
Android 官方新手指导教程
查看>>
幸运转盘v1.0 【附视频】我的Android原创处女作,请支持!
查看>>
UseIIS
查看>>
集合体系
查看>>
vi命令提示:Terminal too wide
查看>>
引用 移植Linux到s3c2410上
查看>>