预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共45页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第6章设备管理6.1I/O硬件概念6.1.2设备控制器(I/O部件)PCI总线控制器控制器的任务是在外部设备与CPU(内存)之间完成比特流(外部信号)和字节流(块)之间的转换。每个控制器都有一些用来与CPU通信的I/O寄存器。操作系统通过向这些寄存器写命令字来执行I/O功能。6.1.3I/O控制方式向I/O部件发读命令(2)中断控制方式(3)DMA方式CPU直接控制外部设备6.2设备输入/输出子系统在UNIX中可以用如下的系统调用将数据直接写入软盘中:fd=open(“/dev/fd0”O_RDRW);申请软盘/dev/fd0代表软盘。lseek(fd10240);将软盘当前I/O位置定位到1024字节位置。Write(fdbuffer36);将用户缓冲区buffer中的36个字节写入软盘1024~1059字节。……close(fd);释放软盘。二、独占式使用设备如打印机三、分时式共享使用设备独占式使用设备时设备利用率很低。分时式共享:以一次I/O为单位分时使用设备不同进程的I/O操作请求以排队方式分时地占用设备进行I/O。注:针对一个逻辑上完整的数据的I/O操作。如:终端设备磁盘设备。请求设备产生的条件:I/O中断;通道;磁盘。SPOOLing(并发的外部设备联机操作)的基本思想:用磁盘设备作为主机的直接输入/输出设备即主机从磁盘选取作业并运行结果也存在磁盘中。相应的通道则负责磁盘与慢速外设的传输。利用通道和中断机制作业的输入/输出与作业在处理机上的运行可很好地并行起来。通道例如:所有输出数据已经写到文件当中并排到打印输出队列打印进程申请占用打印机后成批读出文件中数据并送打印机打印出去。6.2.2I/O层次结构用户进程一、用户层I/O二、设备无关的I/O三、设备驱动与中断处理6.2.3设备驱动程序二、设备管理有关的数据结构描述设备、控制器等部件的表格:系统中常常为每一个部件、每一台设备分别设置一张表格常称为设备表或部件控制块。这类表格具体描述设备的类型、标识符、进行状态以及当前使用者的进程标识符等。建立同类资源的队列:通常在设备表的基础上通过指针将相同物理属性的设备连成队列(称设备队列)。面向进程I/O请求的动态数据结构:每当进程发出块I/O请求时系统建立一张表格(称I/O请求包)。将此次I/O请求的参数填入表中同时也将该I/O有关的系统缓冲区地址等信息填入表中。I/O请求包随着I/O的完成而被删除。建立I/O队列:如请求包队列。设备表引入原因:(1)可以改善进程运行速度与I/O传输速度之间的速差矛盾。(2)减少中断CPU的次数。(3)提高CPU和I/O设备之间的并行性。块设备字符设备:一次一行方式:打印机显示器一次一字节方式:传感器控制杆二、双缓冲三、循环缓冲6.3存储设备6.3.1常见存储外设存取装置光学存储设备CD-ROM;CD-RCD-RW。6.3.2磁盘调度一、减少寻找时间(寻道时间)的方法磁盘调度策略其他调度策略假设磁盘有200个磁道磁盘请求队列中是一些随机请求。被请求的磁道按接收顺序分别为:55、58、39、18、90、160、150、38、184当前磁头在100磁道处FCFS策略磁头臂的移动轨迹如下:假设磁盘有200个磁道磁盘请求队列中是一些随机请求。被请求的磁道按接收顺序分别为:55、58、39、18、90、160、150、38、184当前磁头在100磁道处SSTF策略磁头臂的移动轨迹如下:假设磁盘有200个磁道磁盘请求队列中是一些随机请求。被请求的磁道按接收顺序分别为:55、58、39、18、90、160、150、38、184当前磁头在100磁道处SCAN策略磁头臂的移动轨迹如下:假设磁盘有200个磁道磁盘请求队列中是一些随机请求。被请求的磁道按接收顺序分别为:55、58、39、18、90、160、150、38、184当前磁头在100磁道处C-SCAN策略磁头臂的移动轨迹如下:调度策略的比较二、减少延迟时间的方法