操作系统笔记设备管理(I/O管理)

I/O管理概述

I/O设备

  • 字符设备
  • 块设备

I/O管理目标

  • 提高设备利用率
  • 合理分配设备
  • 提高设备与CPU、各外部设备之间的并行性
  • 方便用户的使用
  • 提供使用方便且独立于设备的界面
  • 统一:对各种不同的设备提供一致的界面
    对于一系列的操作设备,如磁盘、键盘等系统都提供统一的 read 操作界面。
  • 独立于设备:用户使用的设备与物理设备无关
    用户直接与逻辑设备进行交互,与设备的物理特性无关。

I/O管理功能

  • 跟踪设备状态:动态地记录各种设备的状态
  • 设备分配:独占设备;共享设备;虚拟设备
    • 静态分配 —— 应用程序级或作业级
      程序进入系统时进行分配,退出系统时收回全部资源
    • 动态分配 —— 进程级
      进程提出设备申请时进行分配,使用完毕后立即收回
      动态分配可以提高资源的利用率,但是存在着死锁的风险。
  • 缓冲管理:缓和CPU与设备间速度不匹配的矛盾
  • 设备控制:设备驱动+中断处理
  • 设备驱动:控制设备完成具体的IO操作
  • 中断处理:当这次的IO操作完成后用来处理这一次IO操作的中断工作。

I/O应用接口

I/O软件层次
I/O系统调用实现了统一的I/O接口,I/O系统调用封装了设备通用类型行为。
每个通用类型都可以通过一组标准函数(即接口)来访问 如块设备I/O系统调用包括磁盘,磁带,光盘等一系列块设备的read,write,seek。具体的I/O差别
被内核模块(设备驱动程序)所封装,这些设备驱动程序一方面可以定制以适用于各种设备,另一方面也提供了一组标准接口。
每个设备在逻辑上都有一个设备控制器
在这里插入图片描述

I/O控制方式

  • 程序I/O方式(循环等待方式)
  • 中断方式
  • DMA方式
  • 通道控制方式

I/O核心子系统(为系统调用提供服务)

由于I/O设备种类繁多,功能和传输速率差异巨大,需要多种方法来进行设备控制。这些方法共同组成了操作系统内核的I/O子系统,它将内核的其他方面从繁重的I/O设备管理中解放出来。I/O核心子系统提供的服务主要有:I/O调度、缓冲与高速缓存、设备分配与回收、假脱机、设备保护和差错处理等。

缓冲区与高速缓存

缓冲管理

设备分配

  • 设备分配方式
    • 独享方式
    • 共享方式
    • 虚拟方式
  • 设备分配算法
    • 先来先服务
    • 优先级高者优先
  • 设备分配的安全性
    • 安全分配方式
    • 不安全的分配方式
  • 设备独立性

假脱机技术(spooling)

设备分配细节和假脱机技术

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值