- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统第八章输入输出管理详解
第八章 输入/输出管理;I/O设备的分类;I/O设备的分类;I/O设备的分类;二、I/O设备管理的功能
目标:方便用户的使用,提高设备利用率
1、状态跟踪 :由设备控制块(DCB)动态记录设备状态的变化及有关信息。
2、设备存取与分配
按照设备类型和相应的分配算法,决定将I/O设备分配给哪一个要求该设备的进程。
静态分配:作业进入系统时就进行分配,退出系统时就收回全部资源。
动态分配:进程需要使用某设备而提出申请时进行分配,使用完毕后立即将其收回。
3、设备控制
将用户的I/O请求转换为设备能识别的I/O指令,并实施设备驱动和中断处理工作。主要由设备驱动程序完成。
4、实现其它功能
缓冲区的管理
实现设备独立性;8.1.3设备独立性;例如:UNIX系统中,每一类物理设备都有一个设备文件与之对应,在/dev目录下。当使用某一设备时,只需使用与之对应的设备文件名即可。
……
fd1=open(“/dev/lp”,O_WRONLY);
fd1:返回的文件描述符
/dev/lp:打印机对应的设备文件名
O_WRONLY:只写方式
……
number=write(fd1,buf,count); //向打印机打印count个字符
number:返回打印的实际字节数
buf:字符串指针
count:传送的字节数;设备独立性的优点:;8.1.4设备控制块;8.1.4设备控制块;8.1.4设备控制块;8.2 缓冲技术;缓冲技术分为:;8.2.2 双缓冲
在这种方案下,为输入或输出分配两个缓冲区。
例:在输入时,输入设备首先填满buf1,进程P从buf1提取数据,进程P计算的同时,输入设备填充buf2.当buf1空、buf2满时,进程P又可以从buf2提取数据,然后计算的同时,输入设备又可以填充buf1。这两个缓冲区如此交替使用,使CPU与设备的并行操作进一步提高。;8.2.3缓冲池(buffer pool);系统把各缓冲区按使用情况分成三个队列。;8.3设备分配;8.3设备分配;动态分配分两种情况:;二.设备分配算法
1. 先请求先服务
当需要设备服务时,均要形成I/O请求块(iorb)。
iorb按请求的先后次序排成一个等待该设备的队列,当设备空闲时,它将处理队列中的第一个iorb。
2.优先级最高者优先
设备等待队列中的iorb按进程的优先级???行排序,因为进程的优先级高,它的I/O请求也赋予高的优先级。;8.3.4虚拟设备;SPOOL系统的组成:
;SPOOL系统的组成:
;SPOOL技术的特点:;多道程序系统中,供用户使用的内存空间有100KB,磁带机2台,打印机1台。
系统采用可变式分区分配方式管理内存,对磁带机和打印机采用静态分配方式,并假设输入/输出操作的时间忽略不计。现有一作业序列如下:
假设作业调度采用FCFS算法,优先分配内存的低地址区域且不准移动已在内存中的作业,在内存中的作业平分CPU时间,试问:
作业调度的次序是什么?
写出所有作业的周转时间。(10分)
;解:要求写出分析过程:
作业调度次序:1,3,4,2,5; (5分)
作业1的周转时间是8:30—8:00=30分
作业2的周转时间是9:15—8:20=55分
作业3的周转时间是9:00—8:20=40分
作业4的周转时间是9:10—8:30=40分
作业5的周转时间是9:30—8:35=55分 (5分)
?
;8.4输入/输出控制;8.4.3I/O子系统;设备驱动程序的实现方式:;例:设备驱动程序包括: ① I/O接口程序和② I/O处理进程;例:设备驱动程序包括: ① I/O接口程序和② I/O处理进程;例:设备驱动程序包括: ① I/O接口程序和② I/O处理进程;磁盘调度算法:
1、先???先服务(FCFS)
按进程访问磁道的先后次序进行调度。
缺点:未对寻道进行优化。
2、最短寻道时间优先(SSTF)
选择与当前磁头所在磁道距离最近的请求作为下一次服务的对象。
缺点:某些进程的请求总也得不到服务。
3、扫描算法(SCAN)
在磁头当前移动方向上选择与当前磁头所在磁道距离最近的请求作为下一次服务的对象。又称电梯调度算法。
4、循环扫描算法(CSCAN)
它规定磁头单向移动。;例如:在某个运行时刻,有如下表示的磁盘访问的请求队列,假设磁头当前在第15个柱面,磁头移动方向为从小到大:;①SSTF算法
;SCAN算法
文档评论(0)