- 1、本文档共78页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * 7.5.6 虚拟设备与假脱机技术 1.虚拟设备 2.假脱机技术:SPOOLING系统 3.假脱机系统的特点 1.虚拟设备 虚拟设备不是真正意义上的物理设备,它是指代替独享设备的那部分存储空间及有关的控制结构。 对虚拟设备采用的是虚拟分配,其过程是: 当进程请求独享设备时,系统将共享设备的一部分存储空间分配给它。进程与设备交换信息时,系统把要交换的信息存放在这部分存储空间,在适当的时候对信息作相应的处理。 例如打印时,把要打印的信息送到某个存储空间中,在打印机空闲时再将存储空间上的信息送到打印机上打印出来。 2.SPOOLING 系统 SPOOLING(Simultaneous Peripheral Operation On Line)也称同时联机的外围操作或是假脱机操作。 思想:利用一台高速共享设备(磁盘或磁鼓)将一台独占设备模拟成多台可并行操作的虚拟设备。这样一来,使每个用户都感到得到了系统中的一台独享设备。 这种技术产生在计算机技术发展到一定阶段,在硬件中出现了大容量的共享设备:磁盘,通道和中断技术,在软件中出现了多道程序技术的前提下。 (1)SPOOLING系统的组成: 一个完整的SPOOLING 系统中有硬件部分和软件部分,它们之间协调配合,共同实现了假脱机技术。 硬件部分: 这部分包含了在外存上设立的两区域:输入井和输出井,以及在内存中开辟出的两个缓冲区:输入缓冲区和输出缓冲区。 ? 输入井:用来存放来自于输入设备的信息。 ? 输出井:用来保存即将送到输出设备上的结果。 ? 输入缓冲区:暂时保存外设准备送入输入井的信息。 ? 输出缓冲区:暂时保存从输出井送出的结果。 内存 外存 (2)软件部分:包含 ? 预输入进程:将用户要求的输入到设备上的输入数据,经通道和输入缓冲区送入输入井(输入设备→输入井) ? 缓输出进程:将用户的输出结果在设备空闲时从输出井中,经输出缓冲区送上输出设备(输出井→输出设备) ? 输入井管理进程:将输入井中的数读入内存(CPU 输入井→内存) ? 输出井管理进程:将内存中的结果送输出井中(CPU内存→输出井) 3.假脱机系统的特点 (1)提高了I/O速度。从对低速I/O设备进行的I/O操作变为对输入井或输出井的操作,缓和了CPU与低速I/O设备速度不匹配的矛盾。 (2)设备并没有分配给任何进程。在输入井或输出井中,分配给进程的是一存储区和建立一张I/O请求表。 (3)实现了虚拟设备功能。多个进程同时使用一独享设备,而对每一进程而言,都认为自己独占这一设备,不过,该设备是逻辑上的设备。 7.6 I/O进程控制 1. I/O控制的引入 I/O控制:指从用户进程的I/O请求开始,给用户进程分配设备、启动有关设备进行I/O操作,以及在I/O操作完成之后响应中断,进行善后处理为止的整个系统控制过程。 2. I/O控制的功能 各子模块的功能: I/O请求处理模块:把用户进程的I/O请求变换为设备管理程序所能接受的信息(例如将I/O请求中的逻辑设备名转换为对应的物理设备名),并将I/O请求命令插入指向相应DCT 的I/O请求队列 设备分配程序:为I/O请求分配相应的设备、控制器和通道 缓冲区管理模块:为I/O传送申请必要的缓冲区,以保证I/O传送的顺利完成。 另外,在数据传送结束后,外设发出中断请求,I/O控制过程将根据中断原因调用中断处理程序,并做出中断响应。 3. I/O控制的实现方式 作为请求I/O操作的进程的一部分实现。 作为当前进程的一部分实现 让请求I/O操作的进程调用I/O操作控制部分,而让当前进程负责调用中断处理部分 I/O控制由专门的系统进程——I/O进程完成。在用户进程发出I/O请求命令之后,或者在外设发出中断请求之后,系统调度I/O进程执行,控制I/O操作或者响应中断。 I/O进程也可分为三种方式实现。即: 每类(个)设备设一专门的I/O进程,且该进程只能在系统态下执行。 整个系统设一I/O进程,全面负责系统的数据传送工作。 每类(个)设备设一个专门的I/O进程,但该进程既可在用户态也可在系统态下执行。 7.7 设备驱动程序 设备驱动程序是驱动物理设备和DMA控制器或I/O控制器等直接进行I/O操作的子程序的集合。 设备驱动程序负责设置相应设备有关寄存器的值,启动设备进行I/O操作,指定操作的类型和数据流向等。 系统设置有设备开关表DST(Device Switch Table)对驱动程序进行管理。 设备开关表中给出相应设备的各种操作子程序的入口地址,例如打开 / 关闭、读 / 写设备子程序的入口地址 一般设
文档评论(0)