I/O子系统

目录

一、I/O特点

1.设备接口类型

1.1字符设备

1.2块设备

1.3网络设备

2.同步与异步I/O

2.1阻塞I/O

2.1非阻塞I/O

2.3异步I/O

二、I/O结构

1.一个实际例子

2.CPU与设备的连接

3.I/O指令和内存映射I/O

4.内核I/O

5.I/O生命周期

三、I/O数据传输

1.CPU与设备控制器的数据传输:程序控制I/O、DMA

2.I/O设备通知操作系统的机制

2.1轮询

2.2设备中断

3.设备中断I/O处理流程

四、磁盘调

1.磁盘工作机制和性能参数度

2.磁盘I/O传输时间

3.磁盘调度算法

3.1 先进先出(FIFO)算法

3.2 最短服务时间优先(SSTF)

3.3 扫描算法(SCAN)

3.4 循环扫描算法(C-SCAN)

3.5 C-LOOK算法

3.6 N步扫描算法、双队列扫描算法

五、磁盘缓存

1.磁盘缓存定义

2.单缓存与双缓存

3.访问频率置换算法


一、I/O特点

1.设备接口类型

1.1字符设备

  • 访问特征:以字节为单位顺序访问
  • I/O命令:get()、put()等,通常使用文件访问接口和语义。

1.2块设备

  • 访问特征:均匀的数据块访问。
  • I/O命令:原始I/O或者文件系统接口、内存映射文件访问。

1.3网络设备

  • 访问特征:格式化报文交换。
  • I/O命令:send/receive网络报文、通过网络节后支持多种网络协议。

 

2.同步与异步I/O

2.1阻塞I/O

首先I/O请求——(通过系统调用)内核的设备驱动——内核的硬件控制数据传输——中断处理——内核设备驱动——I/O请求获取数据

2.1非阻塞I/O

2.3异步I/O

 

 

二、I/O结构

1.一个实际例子

北桥连接高速设备,南桥连接I/O设备

2.CPU与设备的连接

CPU与设备通信的三种方式:轮询、设备中断和DMA

  • 轮询:CPU直接访问设备端口或者直接访问设备对应的内存地址空间
  • 设备中断:外部时间需要经过中断才能到CPU
  • DMA:外部设备需要直接把数据放到内存中,通过CPU读然后放到内存中去,在DMA控制器的作用下把数据从I/O设备直接到内存单元。

 

3.I/O指令和内存映射I/O

 

4.内核I/O

 

5.I/O生命周期

 

 

三、I/O数据传输

1.CPU与设备控制器的数据传输:程序控制I/O、DMA

DMA的流程:

 

2.I/O设备通知操作系统的机制

2.1轮询

2.2设备中断



3.设备中断I/O处理流程

CPU在执行指令的过程中产生了I/O请求,设备驱动会初始化这个I/O请求,设备驱动中的I/O控制器会初始化I/O操作,然后由设备进行相应的操作。操作完成或者出错都会产生中断,CPU在完成I/O请求初始化之后就可以干别的事情了,但是在每执行一条指令之后都会检查是否有中断请求。收到中断请求后转到中断处理,并分发给相应的中断服务例程进行处理,处理完成之后CPU恢复被中断的进程的执行。

四、磁盘调

1.磁盘工作机制和性能参数度

 

2.磁盘I/O传输时间

 

3.磁盘调度算法

3.1 先进先出(FIFO)算法

3.2 最短服务时间优先(SSTF)

 

3.3 扫描算法(SCAN)

3.4 循环扫描算法(C-SCAN)

3.5 C-LOOK算法


3.6 N步扫描算法、双队列扫描算法

 

五、磁盘缓存

1.磁盘缓存定义

是放在内存里的磁盘数据缓存

2.单缓存与双缓存

3.访问频率置换算法

LRU:最近最久未使用算法

LFU:最近最少使用算法

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值