逻辑设备名到物理设备名映射的实现
(一)逻辑设备表LUT
逻辑设备名、物理设备名、设备驱动程序的入口地址
(二)逻辑设备表设置问题
整个系统一张LUT
或每个用户一张LUT
⑥用户层的I/O软件
一、系统调用与库函数
(一)系统调用
使用系统调用I/O设备,用户态→内核态→用户态
(二)库函数
库函数与调用程序接在一起
二、假脱机系统
(一)假脱机技术
利用专门的外围控制机,先将低速I/O设备上的设局传送到高速磁盘上,或相反
(二)SPOOLing的组成
输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程、井管理程序
(三)SPOOLing系统的特点
提高I/O速度、将独占设备改造为共享设备、实现虚拟设备功能
(四)假脱机打印机系统
磁盘缓冲区、打印缓冲区、假脱机管理进程和假脱机打印进程
(五)守护进程
有个假脱机目录,由守望进程按目录文件依次完成各个进程设备的请求,就可以将一个独占设备改为多个进程共享设备
⑦缓冲区管理
一、缓冲的引入
(一)缓和CPU与I/O设备间速度不匹配的矛盾
速度有差距,都可以设置缓冲区
(二)减少对CPU的中断频率
(三)解决数据粒度不匹配的问题
生产者生产的数量和消费者消费的数量差距
(四)提高CPU和I/O设备之间的并行性
CPU和打印机可以并行工作呢
二、单缓冲区和双缓冲区
(一)单缓冲区
缓冲区也会阻塞
(二)双缓冲区
CPU执行第一行中的命令时,用户可以继续向第二缓冲区输入下一行数据
如果两台电脑只设置但缓冲,就要再设置一个接收缓冲区,一个发送缓冲区
三、环形缓冲区
(一)环形缓冲区的组成
空区R,装满的区G,正在使用的现行工作缓冲区C;另外还有多个指针
(二)环形缓冲区的使用
Getbuf和Releasebuf
(三)进程之间的同步问题
Nexti赶上Nextg:输入速度>处理速度
Nextg赶上Nexti:处理速度>输入速度
四、缓冲池
(一)缓冲池的组成
专为生产者-消费者设置的,包含一个管理数据结构和一组操作函数,管理多个缓冲区
包括空白缓冲队列、输入队列、输出队列
(二)Getbuf过程和Putbuf过程
设置MS(type)互斥访问缓冲池队列和RS(type)进程同步使用缓冲区
(三)缓冲区的工作方式
收容操作、提取输入、收容输出、提取输出
⑧磁盘存储器的性能和调度
一、磁盘性能简述
&
(一)逻辑设备表LUT
逻辑设备名、物理设备名、设备驱动程序的入口地址
(二)逻辑设备表设置问题
整个系统一张LUT
或每个用户一张LUT
⑥用户层的I/O软件
一、系统调用与库函数
(一)系统调用
使用系统调用I/O设备,用户态→内核态→用户态
(二)库函数
库函数与调用程序接在一起
二、假脱机系统
(一)假脱机技术
利用专门的外围控制机,先将低速I/O设备上的设局传送到高速磁盘上,或相反
(二)SPOOLing的组成
输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程、井管理程序
(三)SPOOLing系统的特点
提高I/O速度、将独占设备改造为共享设备、实现虚拟设备功能
(四)假脱机打印机系统
磁盘缓冲区、打印缓冲区、假脱机管理进程和假脱机打印进程
(五)守护进程
有个假脱机目录,由守望进程按目录文件依次完成各个进程设备的请求,就可以将一个独占设备改为多个进程共享设备
⑦缓冲区管理
一、缓冲的引入
(一)缓和CPU与I/O设备间速度不匹配的矛盾
速度有差距,都可以设置缓冲区
(二)减少对CPU的中断频率
(三)解决数据粒度不匹配的问题
生产者生产的数量和消费者消费的数量差距
(四)提高CPU和I/O设备之间的并行性
CPU和打印机可以并行工作呢
二、单缓冲区和双缓冲区
(一)单缓冲区
缓冲区也会阻塞
(二)双缓冲区
CPU执行第一行中的命令时,用户可以继续向第二缓冲区输入下一行数据
如果两台电脑只设置但缓冲,就要再设置一个接收缓冲区,一个发送缓冲区
三、环形缓冲区
(一)环形缓冲区的组成
空区R,装满的区G,正在使用的现行工作缓冲区C;另外还有多个指针
(二)环形缓冲区的使用
Getbuf和Releasebuf
(三)进程之间的同步问题
Nexti赶上Nextg:输入速度>处理速度
Nextg赶上Nexti:处理速度>输入速度
四、缓冲池
(一)缓冲池的组成
专为生产者-消费者设置的,包含一个管理数据结构和一组操作函数,管理多个缓冲区
包括空白缓冲队列、输入队列、输出队列
(二)Getbuf过程和Putbuf过程
设置MS(type)互斥访问缓冲池队列和RS(type)进程同步使用缓冲区
(三)缓冲区的工作方式
收容操作、提取输入、收容输出、提取输出
⑧磁盘存储器的性能和调度
一、磁盘性能简述
&