操作系统笔记:I/O

操作系统笔记
原作者视频地址:https://www.bilibili.com/video/BV1YE411D7nH?spm_id_from=333.337.search-card.all.click
本人为自学整理的文档
1.I/O基本概念:将数据输入计算机,或接收计算机的数据输出到外部设备
2.I/O设备的构成:机械部件(硬件),电子部件(软件)—>I/O控制器,设备控制器
3.I/O控制器:
作用:接收并识别CPU命令、向CPU报告设备状态、数据交换、地址识别

I/O控制方式:
(1)程序直接控制方式(每次读/写一个字)
过程: CPU通过控制线向I/O控制器发送指令,然后I/O控制器启动I/O设备,
将对应的状态寄存器设置为1(表示设备未准备好数据),
输入设备将数据传入I/O控制器,报告自己的状态,
然后I/O控制器将数据传入数据寄存器,修改I/O寄存器状态为0(表示设备已就绪),
其次CPU将数据寄存器的内容读取到自己的寄存器,最后再到内存。
优点:实现简单,缺点:CPU和设备是串行,每次的轮巡检查状态寄存器,可能导致“忙等”,因此CPU利用率低
(2)中断驱动方式(每次读/写一个字)
过程:CPU通过控制线向I/O控制器发送指令,
CPU将此I/O进程阻塞,将对应的状态寄存器设置为1(表示设备未准备好数据),
输入设备将数据传入I/O控制器,报告自己的状态,
然后I/O控制器将数据传入数据寄存器,修改I/O寄存器状态为0(表示设备已就绪),
I/O控制器发送一个中断命令给CPU,CPU将数据寄存器的内容读取到自己的寄存器,最后再到内存。
优点:CPU和I/O设备可以并行工作,缺点:CPU在I/O操作前后干预,但每次都是按字读,实际也存在CPU频繁干预
(3)DMA方式(传输块)
过程:CPU通过控制线向I/O控制器发送指令以及一个内存地址,I/O控制器通知设备
设备传输一个块的数据暂存到数据寄存器,修改状态寄存器
DMA控制器将数据传到之前CPU给的内存,然后发送中断命令给CPU,告诉CPU已执行前面的指令

优点:CPU和I/O设备可以并行工作缺点:多个块必须是连续的,每个I/O指令操作一个块,离散块需要频繁中断
(4)通道控制方式(一组数据块)

通道是专门负责I/O的处理机,是硬件,区别于以前的管道(缓冲区,是软件)
I/O通道直接操作内存中的通道程序,将设备传入数据直接传到内存

4.I/O软件层次结构
(1)用户层软件:实现用户交互接口,通过库函数实现系统调用
(2)设备独立性软件:与硬件底层无关的操作,对上层的封装操作,向上一层提供调用接口,设备保护,容错处理,设备分配与回收,数据缓冲区管理,逻辑设备与物理设备映射映射
(3)设备驱动程序:CPU指令相同,负责控制硬件设备,将CPU指令转成设备操作,驱动程序以独立进程的形式存在
(4)中断处理程序(I/O中断的应答):IO完成后发送中断信号,执行中断处理程序,会直接操作硬件

5.假脱机技术
解决输入和输出效率不平衡的问题:缓冲思想,缓冲区满了才放到输入井

6.I/O设备的分配和回收(在设备独立性软件层处理)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜以冀北

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值