【linux内核分析与应用-陈莉君】中断机制概述
目录
1.中断是什么?
2.为什么引入中断?
3.CPU什么时候响应中断?
4.中断模型
5.中断子系统
6.中断源-中断向量的类型
7.中断描述符表
8.动手实践与参考资料
1.中断是什么?
中断是CPU对系统发生的某个事件作出的一种反应,当中断发生的时候,CPU暂停正在执行的程序,
保留现场后自动转去执行相应事件的处理程序,处理完成后,返回到断点,继续处理被打断的程序.
听起来很简单,实际上中断是操作系统的脉搏,是并发处理的基础,远远不像概念说的这么简单.
2.为什么引入中断?
中断的引入是为了支持CPU和设备之间的并行操作.当CPU启动设备进行输入输出后,
设备便可以独立地工作了,CPU就转去处理自己的事情,当设备完成输出后,通过向
CPU发出中断报告此次输入输出的结果,让CPU决定如何处理之后的事情.
3.CPU什么时候响应中断?
CPU收到中断信号以后并不立即响应,而是在执行每条指令周期的最后一个时间周期,
一旦检测到中断有效并且中断允许标志位置为1的时候CPU才会在当前指令执行完以后
转入中断响应周期.
4.中断模型
5.中断子系统
6.中断源-中断向量的类型
7.中断描述符表
8086实地址模式中,CPU把内存中从0开始的1K字节作为一个中断向量表,
表中的每个表项占4个字节,由两个字节的段地址和两个字节的偏移量组成,
这样组成的地址便是相应中断处理程序的入口地址.
但是在保护模式下由4个字节表项构成的中断向量表显然满足不了要求,
这是因为:
1.除了两个字节的段地址外,偏移量必须用四个字节来表示;
2.要有反应模式切换的信息.
8.动手实践与参考资料
【linux内核分析与应用-陈莉君】中断机制概述相关推荐
- 【linux内核分析与应用-陈莉君】动手实践-编写一个文件系统
目录 0.一些链接 1.一些数据结构 2.编写一个文件系统的过程 3.用到的一些数据结构及函数的原型 3.1 struct file_system_type-文件系统类型 3.2 register_ ...
- 【Linux内核分析与应用-陈莉君老师】动手实践-把虚拟内存转换成物理地址
目录 1.地址转换 2.Linux4级页表 3.64位线性地址 4.实际观察寻页的过程 1.地址转换 进程中不直接对物理地址直接操作,CPU在运行时指定的地址需要经过内存管理单元MMU 转换后才能访 ...
- 【linux内核分析与应用-陈莉君】Linux内存管理机制
目录 1.内存层次 2.虚拟内存实现机制 3.进程的虚拟地址空间和地址空间布局 4.如何用数据结构描述进程的用户空间 5.mm_struct 6.vm_area_s ...
- 【linux内核分析与应用-陈莉君】进程的一生
目录 1.进程与线程 2.TASK_STRUCT结构的统一性与多样性 3.进程API的实现 4.do_fork()的代码流程 5.进程的生命周期 1.进程与线程 2.TASK_STRUCT结构的统一性 ...
- 《Linux内核完全剖析-基于0.12内核》书评之陈莉君
<Linux内核完全剖析-基于0.12内核>书评之陈莉君 <Linux内核完全剖析-基于0.12内核>一书出版之后,机械工业出版社编辑希望我就此书抽空写一个书评.在我拿到这本书 ...
- LINUX内核分析第二周学习总结——操作系统是如何工作的
LINUX内核分析第二周学习总结--操作系统是如何工作的 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course ...
- Linux内核分析作业第二周
操作系统是如何工作的 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.函数调用堆栈 1.计算机工作三 ...
- 期末总结:LINUX内核分析与设计期末总结
朱国庆原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一,心得体会 关于网上听课这 ...
- Linux内核分析:完成一个简单的时间片轮转多道程序内核代码
PS.贺邦 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 1.m ...
- linux 内核 核心代码,8分钟掌握Linux内核分析的核心科技
原标题:8分钟掌握Linux内核分析的核心科技 作者: OUYANG_LINUX007 来源: http://blog.csdn.net/ouyang_linux007/article/details ...
最新文章
- spring上下文是什么意思_Java程序员只会CRUD连Spring事务传播机制都不懂?
- Linux系统下统计目录及其子目录文件个数
- 对3维数组中间一维进行操示例
- c++interesting转换为uint_1.6运算符及数据类型转换
- 9.3 域名解析与网页爬虫
- 数据库事务原理详解-事务的嵌套
- 微信小程序 - 按照官网文档构建npm包 - 提示【没有找到可以构建的npm】
- KubeSphere对于已经部署的服务进行修改后重新进行部署
- P1828 香甜的黄油 (spfa)
- 小米adb驱动_腾讯口袋阅、小米多看等电子阅读器如何安装第三方软件!
- 《C陷阱与缺陷》读书笔记与总结
- 阿里云产品介绍(一):云服务器ECS
- 【神经网络与深度学习-TensorFlow实践】-中国大学MOOC课程(七)(数字图像基础))
- android后台定时执行任务,后台执行的定时任务
- 微服务+异步工作流+Serverless,Netflix 决定弃用稳定运行7年的旧平台
- 贪吃蛇html对战,贪吃蛇.html
- STL string容器 构造,查找,替换,拼接,比较,截取,插入删除
- git命令大全(非常齐全)
- CRM(客户关系管理)项目总结
- GBDT(MART)概念简介
热门文章
- YYC蜻蜓S系统v1.9版本更新-增加任务功能-增加观看记录-下载记录-消息提醒等
- 如何使用4G模块通过MQTT协议传输温湿度数据到onenet
- WGCLOUD部署对服务器硬件配置的一些建议
- Symmetric Matrices
- python基础篇{数据类型}
- 大学电子竞赛及项目~总贴
- DH(Diffie-Hellman)算法本元根(原根)求法
- JNI 手动释放内存(避免内存泄露)
- android o bln-al10,华为荣耀BLN-AL10是什么型号
- 手机卫星定位系统_为什么手机支持北斗导航,却不知道如何开启?