- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.5 设备分配(P186) 通常用户不指定特定的设备,而指定逻辑设备,使得用户作业和物理设备独立开来,再通过其它途径建立逻辑设备和物理设备之间的对应关系,称这种特性为“设备独立性”。 用户与物理的外围设备无关,系统增减或变更外围设备时程序不必修改;易于对付输入输出设备的故障。 一、设备独立性 独占设备指在一段时间内只允许一个用户(进程)访问的设备,大多数低速的I/O设备。如用户终端、打印机等属于这类设备。因为独占设备属于临界资源,所以多个并发进程必须互斥地访问独占设备。 一般采用静态分配方式,能防止死锁,但会降低设备的利用率。 二、设备分配 (2)共享设备的分配: 共享设备指在一段时间内允许多个进程同时访问的设备。显然,共享设备必须是可寻址的和可随机访问的设备,典型的共享设备是磁盘。 一般不必进行分配或采用静态分配方式(降低存储空间的利用率)。 (1)独占设备的分配: 设备类表和设备表 为了有效实现设备地分配,系统中设有设备分配的数据结构:设备类表和设备表。 设备类表:系统中有一张设备类表,每类设备对应于设备类表中的一栏,通常包括以下内容:设备类、总台数、空闲台数和设备起始地址等。 设备表:每类设备都有各自的设备表,用来登记这类设备中每台设备的状态,通常包括以下内容:物理设备名、逻辑设备名、占有设备的进程号、已分配/未分配、好/坏等。 根据设备分配的数据结构,即设备类表和设备表中的信息,就可以设计出I/O设备的分配/去配流程,实现设备分配。 5.6 虚拟设备(P189) 早期的计算机只能由一个用户独占,后来,随着分时系统的出现,允许由多个用户共享一台主机。 类似的,一台只允许一个用户使用的独享设备能否通过某种技术把它改造成由多个用户共享的设备呢? 采用联机同时外围设备操作(又称作假脱机操作),使得每个作业感到各自拥有独占使用的设备若干台。 通过虚拟技术将一台独占设备变换为若干台供多个用户(进程)共享的逻辑设备。Spooling技术就是将一台独享设备改造成共享设备比较有效的虚拟技术。 一、SPOOLing系统 全名是(SPOOLing, Simultaneous Peripheral Operation On Line,联机同时外围操作,也称为虚拟设备技术),是关于慢速字符设备如何与计算机主机交换信息的一种技术。也叫:假脱机技术。 定义:spooling系统是OS中采用的一项可以把独享设备转变成具有共享特征的虚拟设备的技术,从而提高设备利用率。 脱机输入输出技术 为了解决人机矛盾及CPU和I/O设备间速度不匹配的矛盾,20世纪50年代末出现了该技术。 事先将装有用户程序和数据的纸带(卡片)装入纸带输入机,在一台外围机的控制下把纸带上的数据(程序)输入到磁带上。当CPU需要这些数据时再从磁带上高速的调入内存。 类似的,当CPU需要输出时可由CPU直接高速的把数据从内存送到磁带上,然后再在另一台外围机的控制下,将磁带上的结果通过相应的输出设备输出。 输入设备 外围机 磁盘 磁盘 磁盘 外围机 主机 磁盘 输出设备 由于程序和数据的输入和输出都是在外围机的控制下完成的,或者说他们是在脱离主机的情况下进行的,所以称为脱机输入输出方式。 脱机I/O示意图 SPOOLing系统的组成 (1)输入井和输出井: 这是在磁盘上开辟出来的两个存储区域。 输入井模拟脱机输入时的磁盘,用于收容I/O设备输入的数据。 输出井模拟脱机输出时的磁盘,用于收容用户程序的输出数据。 (2)输入缓冲区和输出缓冲区: 这是在内存中开辟的两个缓冲取区。 输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井。输出缓冲区用于暂存从输出井送来的数据,以后再传送到输出设备。 斯普林系统示意图 输入进程 SP i 输入进程 SP o 输入缓冲区 B i 输出缓冲区 B o 输入井 输出井 磁盘 输入设备 输出设备 (3)输入进程和输出进程: 输入进程模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井。当CPU需要输入数据时,直接从输入井读如内存。输出进程模拟脱机输出时的外围控制机,把用户要求输出的数据,先从内存送到输入井,待输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备上。 实现Spooling系统要设计的程序及功能 Spooling系统由三部分程序组成,即:预输入程序、井管理程序、缓输出程序。 在作业执行前,操作系统已将作业信息通过独占设备预先输入到辅助存储器上存放,称为预输入,此后,作业执行使用数据时不必再启动独占设备输入,而只要从辅助存储器上输入。 作业执行中也不必直接启动独占设备输出数据,而只要将输出数据写入
文档评论(0)