"第七周课件:IO方式与内核空间IO软件1详解及示例演示"
本周我们学习了关于IO方式和内核空间IO软件的知识。在CPU处于开中断状态时,当一条指令执行完毕后,至少要有一个未被屏蔽的中断请求才能触发中断。通过关中断(“中断允许位” 清0)使CPU处于“禁止中断”状态,以防止中断发生。在IO操作中,主要有三种基本方式,包括程序直接控制方式、I/O Interrupt中断I/O方式和Direct Memory Access DMA方式。 程序直接控制方式是最简单的IO方式,包括无条件传送和条件传送。无条件传送是对简单外设定时进行数据传送,而条件传送则是CPU主动查询外设状态,也称为程序查询或轮询方式。这种方式简单直接,但CPU需要不断查询外设状态,效率较低。 中断I/O方式是几乎所有系统都支持的IO方式,当一个I/O设备需要CPU干预时,会通过中断请求通知CPU。CPU会中止当前程序的执行,调出操作系统中的中断处理程序来执行,处理结束后再返回到被中止的程序继续执行。这种方式能够提高系统的并发性和响应速度。 DMA方式则是用于高速外设如磁盘等设备的数据传输,需要专门的DMA控制器,它能够直接控制总线完成数据传送,而无需CPU参与数据传输过程,提高了数据传输的效率。 以hello程序为例,说明通过不同的IO方式实现对外设的操作。在程序直接控制方式下,CPU需要不断查询外设状态来确定何时可以进行数据传输,效率较低;而在中断I/O方式下,当外设需要CPU干预时,会通过中断请求通知CPU,CPU会中止当前程序的执行,调出中断处理程序来处理外设的请求,提高了系统的并发性和响应速度;而在DMA方式下,数据传输过程无需CPU参与,提高了数据传输的效率,特别适用于对高速外设的数据传输操作。 总的来说,在IO操作中,选择合适的IO方式可以提高系统的效率和响应速度,不同的IO方式适用于不同的应用场景,我们需要根据实际需求选取最合适的方式来进行IO操作,以提高系统的性能和稳定性。
![](https://csdnimg.cn/release/download_crawler_static/86316906/bg6.jpg)
![](https://csdnimg.cn/release/download_crawler_static/86316906/bg7.jpg)
剩余32页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/fe51bf52ce7e4e4fa00d943f5e2d7f47_weixin_35734296.jpg!1)
- 粉丝: 17
- 资源: 327
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)