第6章 设备管理(概要)
1.I/O设备通常大致可分为哪两大类?各自传输的信息单位有什么特点?
I/O设备分类:块设备、字符设备
字符设备:人机交互设备。是以字符为单位发送和接收数据的,通信速度比较慢
块设备:外部存储器。以块为单位传输数据。常见块尺寸:512B~32KB
2.常用的四种数据传输方式。
程序查询方式(polling)、中断方式、直接存储器访问(DMA)方式、通道控制方式。
3.根据设备的使用方式,设备被分为几种类型?何为虚拟设备?它是通过什么技术实现的?
设备的类型:输入设备、输出设备、输入/输出设备、虚拟设备。
虚拟设备:是指设备本身是独占设备,经过虚拟技术处理,可以把它改造成共享设备。
实现方式:Spooling技术是实现虚拟设备的一种技术。它利用可共享的磁盘空间,来模拟独占的I/O设备。以空间换出时间。
4.按照设备管理的层次结构,I/O软件划分为几层?各层主要实现哪些功能?
5层:用户层的I/O接口、独立于设备的软件、设备驱动程序、中断处理程序、I/O硬件。
用户层的I/O接口:大部分I/O软件都包含在操作系统中;有一小部分是由与用户程序连接在一起的库函数构成的
独立于设备的软件:
-设备命名:
-负责把设备的符号名映射到正确的设备驱动程序
-UNIX,终端设备名/dev/tty01ài节点à主设备号(用来确定终端设备驱动程序),次设备号(用来确定要读/写的是哪一台终端)
-设备的独立性:是指用户程序不受系统配置的具体设备类型和设备台号的影响。用户只是使用逻辑设备,具体的映射由操作系统完成。
-设备保护:将所有的I/O指令定义为特权指令,用户通过系统调用命令使用设备。
-提供与设备无关的块尺寸
-应向上层软件提供大小统一的块尺寸
-上层软件只与抽象设备打交道,使用等长的逻辑块。
-缓冲技术
-缓和CPU与I/O设备间速度不匹配的矛盾,每个缓冲区有一个缓冲控制块,以空间换取时间
-单缓冲:OS为I/O请求分配一个缓冲区
-双缓冲:建立两个缓冲区,可以平滑I/O设备和进程之间的数据流,改善系统效率
-多缓冲和缓冲池:多进程共享缓冲池;当内核收到I/O请求时,首先检查缓冲池里是否有负责
-负责设备分配
-静态分配:进程运行前分配设备。动态分配:在进程运行过程中,分配设备。设备利用率高。
-虚拟设备:是指设备本身是独占设备,经过虚拟技术处理,可以把它改造成共享设备;Spooling技是实现虚拟设备的一种技术。它利用可共享的磁盘空间,来模拟独占的I/O设备。以空间换出时间。
-出错处理
-绝大多数错误是与设备密切相关的,一般由设备驱动程序来处理
-设备驱动程序处理不了的错误(重试几次操作后,仍有错误),上传至调用者
设备驱动程序:初始化设备;启动设备传输数据;中断处理。
中断处理程序:
-进程在启动一个I/O操作后阻塞起来,I/O操作完成,设备控制器产生一个中断。
-CPU响应中断,执行中断处理程序检查设备状态
-若正常完成,就唤醒等待的进程。然后检查是否还有待处理的I/O请求,有就启动
-若传输出错,再发启动命令重新传输;或向上层报告“设备错误”信息
-返回被中断的进程,或转进程调度
I/O硬件:
-同步I/O:进程发出I/O请求后阻塞等待,直到数据传输完成后被唤醒,访问被传输的数据。
-异步I/O:允许进程发出I/O请求后继续运行。将来I/O完成后的通知方式:设置进程地址空间内的某变量;通过触发信号或软件中断;进程执行流之外的某个回调函数。
5.何为设备的独立性?
设备独立性是指用户及用户程序不受系统配置的设备类型和具体设备的台号的影响。用户只是使用逻辑设备,具体的映射由操作系统完成。
6.什么是SPOOLING技术?以输出为例,说明它的实现原理。(SPOOLING技术是以空间换时间)
Spooling技术是实现虚拟设备的一种技术。它利用可共享的磁盘空间,来模拟独占的I/O设备。
以打印机假脱机输出为例:
-进程要打印时,系统并不为它分配打印机,而是把待打印的数据缓存到一个磁盘文件上,形成待打印文件队列。
-之后,Spooling系统一次一个地将打印队列上的文件送打印机打印。
-这种技术又叫缓输出技术。
7.一个特定磁盘上的信息如何进行编址?盘面号、磁道号 和扇区号(或柱面号、磁头号和扇区号)。
磁盘上数据的编址通常使用柱面号、磁头号和扇区号(有时称为磁头号、磁道号和扇区号)的组合来唯一标识数据存储的位置。
柱面号:表示同一位置的多个盘面上的磁道。
磁头号:标识具体的盘面(磁头),每个盘面有一个磁头。
扇区号:表示磁道上的具体数据存储单元。
8.要将磁盘上一个块的信息传输到主存需要系统花费哪些时间?
寻道时间、旋转延迟时间、读/写传输时间
9.常用的磁盘调度算法:先来先服务、最短寻道时间优先、扫描法(SCAN, C_SCAN, LOOK, C_LOOK)。
先来先服务FCFS:最简单,易实现,又公平合理。
最短寻道时间优先SSTF:磁头寻道时,总是选择移动距离最小的磁道,可能“饥饿”
扫描法SCAN:
-磁头由磁盘一端向另一端移动时,随时处理所到达磁道上的服务请求
-SCAN:扫描
-C-SCAN:循环扫描
-LOOK:查询
-C-LOOK:循环查询