软考(软件设计师)--操作系统基础知识之设备管理(一)

计算机系统的一个重要组成部分师I/O系统。

I/O系统包括:

  • 输入、输出折百
  • 存储功能的设备
  • 设备控制器

一、设备管理的概念

设备管理程序提供下述功能

  • 提供和进程管理系统的接口
  • 进行设备分配
  • 实现设备和设备之间、设备和CPU之间的并行操作
  • 进行缓冲区管理。

二、I/O控制方式

  1. 程序II/O方式
  2. 终端控制I/0方式
  3. 直接存储器访问(DMA)方式
  4. I/0通道控制方式:
    字节多路通道;选择通道;成组多路通道

三、缓存管理

  • 单缓冲
  • 多缓冲
  • 循环缓冲
  • 缓冲池(Buffer Pool)

引入 缓冲区的主要原因归结为以下几点:

  • 缓和CPU与I/O设备间速度不匹配的矛盾
  • 减少对CPU的中断频率,放款对CPU中断响应时间的限制
  • 提高CPU和I/O设备之间的并行性。

单缓冲:
在单缓冲情况下,每当用户进程发出一I/O请求时,OS便在主存中为之分配一缓冲区。
在字符设备输入时,缓冲区用于暂存用户输入的一行数据,在输入期间,用户进程被挂起以等待数据输入完毕;在输出时,用户进程将一行数据输入到缓冲区后,继续执行处理。当用户进程已经有第二行数据输出时,如果第一行数据尚未被提取完毕,则此时用户进程阻塞。

双缓冲:
为了加快输入和输出速度,提高设备利用率,人们又引入了双缓冲区机智,也称为缓冲对换。在设备输入时,先将数据送入第一缓冲区,装满后便装满后便转向第二缓冲区。此时OS可以从第一缓冲区中移出数据,并送入用户进程。

循环缓冲
循环缓冲有多个大小相同的缓冲区,缓冲区有三种类型:

  • 用于装输入数据的空缓冲区R
  • 已装满数据的缓冲区G
  • 计算进程正在使用的现行工作缓冲区C
    在这里插入图片描述

缓冲池
对于既可输入又可输出的公用缓冲区,至少应含有三种类型缓冲区:

  1. 空缓冲区;
  2. 装满输入数据的缓冲区
  3. 装满输出数据的缓冲区

四、设备的分配

设备分配原则:

  1. 静态分配
  2. 动态分配(会发生死锁)

设备分配策略

  1. 先请求先分配
  2. 优先级高者先分配
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章