设备分配

在设备分类中有简单提到设备分配的特性,设备分配的目的是视设备为资源进行分配,也就牵扯到了分配的算法。详见处理机调度算法的先来先服务算法优先级高有限服务算法

设备无关性

目标:应该使编写出的程序可以访问任意的I/O设备而无需事先指定设备

设备驱动

  • 通常,设备驱动程序与设备类型是一一对应的。
  • 主设备号(设备类型)表示设备类型,而次设备号表示该类型的一个设备
  • 设备驱动程序层的目的是对核心I/O子系统隐藏设备控制器的差别 @import "./.src/pic/imageX.png"

构建与设备无关的io软件

  • 设备驱动程序统一接口
  • 设备缓冲技术
  • 设备异常报告与处理方式
  • 设备接管(分配与释放)
  • 提供与设备无关的块大小

设备调度

  • 监视设备状态
  • 驱动与响应
  • 缓冲、地址转换等功能
  • 磁盘管理
  • linux系统设备管理

磁盘调度算法

  • 先来先服务法
  • 最短寻道时间优先法
  • 电梯法

Linux系统设备管理

基于文件系统,每个设备都对应文件系统中的一个索引节点,都有一个文件名。设备驱动程序是系统内核的一部分,内核为开发者提供统一接口。通过系统的接口打开设备文件,利用标准的内核服务,接受分配调度。

UNIX/Linux对磁盘块的读操作有两种方式:

  • 立即读(bread)
  • 预读(breada)。

对磁盘块的写操作有三种方式:

  • 立即写(bwrite)
  • 异步写(bawrite)
  • 延迟写(bdwrite)。

results matching ""

    No results matching ""