Chapter 12 I/O System
来源:互联网 发布:电脑装机配置大师软件 编辑:程序博客网 时间:2024/06/06 04:52
- I/O系统的组成
- 性能指标
- 数据传输速率
- 数据的传输单位
- 设备共享属性等
- 分类
- 按传输速率
- 低速设备
- 中速设备
- 高速设备
- 按信息交换的单位
- 块设备
- 信息的存取总是以数据块为单位
- 字符设备
- 用于数据的输入和输出
- 按共享属性
- 独占设备
- 共享设备
- 虚拟设备
- 缓冲技术
- 原因
- 缓和CPU与I/O设备间速度不匹配的矛盾
- 减少对CPU的中断频率,放宽对中断相应时间的限制
- 提高CPU和I/O设备之间的并行性
- OS提供以下几种缓冲形式
- 单缓冲
- 双缓冲
- 循环缓冲
- 缓冲池
- 属于专用缓冲
- 组成
- 空缓冲区
- 空缓冲队列
- 输入缓冲区:装满输入数据
- 输入队列
- 收容输入缓冲区
- 提取输入缓冲区
- 输出缓冲区:装满输出数据
- 输出队列
- 收容输出缓冲区
- 提取输出缓冲区
- I/O软件
- 按分层的思想构造软件
- 较低层的软件要使较高层的软件独立于硬件
- 较高层的软件则要向用户提供一个友好、规范、清晰的界面
- 层次
- 用户空间的I/O软件
- 与设备无关的I/O软件:完成与设备无关的I/O操作
- 向上层提供同一接口
- 分配和释放独占设备
- 设备分配时要考虑的因素
- 设备的固有属性
- 独占
- 静态分配
- 进程运行前,完成设备分配;运行结束时,收回设备
- 缺点
- 设备利用率低
- 动态分配
- 在进程运行过程中,当用户提出设备要求时,进行分配,一旦停止使用立即收回
- 优点
- 效率高
- 缺点
- 分配策略不好时,产生死锁
- 共享
- 把独占设备改造成虚拟设备
- 设备分配算法
- FCFS
- 优先级高者优先
- 设备分配的安全性
- 安全分配方式
- 每当进程发出I/O请求后,便进入阻塞状态,直到其I/O操作完成时才被唤醒
- 不安全的分配方式
- 进程发出I/O请求后仍继续执行,需要时又可发出第二个I/O请求、第三个I/O请求。仅当进程所请求的设备已被另一进程占用时,进程才进入阻塞状态
- 设备独立性
- 实现设备独立性等
- 设备驱动程序
- 中断处理程序
- SPOOLing:用于将一台独占设备改造成共享设备的技术
- SPOOLing系统是对脱机输入、输出工作的模拟,它必须有高速随机外存的支持,通常采用磁盘
- 组成
- 输入井和输出井
- 输入缓冲和输出缓冲
- 输入进程和输出进程
- 特点
- 提高了I/O速度
- 将独占设备改造为共享设备
- 实现了虚拟设备功能
0 0
- Chapter 12 I/O System
- chapter 3.4 I/O model
- Chapter 3 文件I/O
- Chapter 14 高级I/O
- chapter 8.5: I/O Queues
- chapter 9.1: I/O targets
- Chapter 20. I/O Redirection
- File I/O Chapter-3
- chapter 5 标准I/O库
- chapter 2.3: windows I/O 模型
- Chapter 5 标准I/O库
- chapter 8.1 I/O flow and dispatching
- chapter 8.2: I/O transfer types
- chapter 8.3: I/O request Flow
- chapter 8.4: I/O 请求对象
- chapter 8.7: 完成I/O请求
- chapter 8.10:self-managed I/O
- chapter 9.3: 创建I/O request
- 第五章:栅格系统
- day09
- [总结]C语言二维数组作为函数的参数
- matlab标定工具箱(calib_gui)使用角点点选择出错
- NSObject中的类方法copyWithZone问题
- Chapter 12 I/O System
- android中引用方法的时候,有时候要new一个对象才能引用,有时候直接.方法就可以了,为什么
- Chapter 13 Secondary-Storage
- spring中的注解
- 新的开始
- 1001. 害死人不偿命的(3n+1)猜想 (15)
- 25. Reverse Nodes in k-Group
- React Native在Windows下的环境搭建
- struts2导入js,css文件无法生效