作业帮 发表于 2021-2-17 11:06:21

大工21春《操作系统概论》复习资料十四

《操作系统概论》辅导资料十四主 题:第5章设备管理(第3—5节)
学习时间:2020年6月29日--7月5日 “不忘初心、牢记使命”主题理论学习:我们党要始终成为时代先锋、民族脊梁,始终成为马克思主义执政党,自身必须始终过硬。全党要更加自觉地坚定党性原则,勇于直面问题,敢于刮骨疗毒,消除一切损害党的先进性和纯洁性的因素,清除一切侵蚀党的健康肌体的病毒,不断增强党的政治领导力、思想引领力、群众组织力、社会号召力,确保我们党永葆旺盛生命力和强大战斗力。
摘选自《决胜全面建成小康社会,夺取新时代中国特色社会主义伟大胜利》内 容:
第5章设备管理
这周我们将学习课件第5章中的第3—5节,下面整理出的理念框架供同学们学习。
本篇的基本要求:
1.了解缓冲技术
2. 掌握磁盘调度算法
重点掌握内容:
1. 单缓冲、双缓冲
2. 磁盘调度算法5.3缓冲技术
缓冲引入:
(1)缓和CPU与I/O设备间速度不匹配的矛盾
(2)提高CPU和I/O设备之间的并行性
缓冲实现方法:
(1)采用专门的硬件缓冲器,如设备控制器中的数据缓冲寄存器。
(2)在内存中开辟一段存储区作为缓冲区。
系统提供的缓冲区类型:单缓冲、双缓冲、循环缓冲、缓冲池1单缓冲和双缓冲
(1)单缓冲:
在CPU与设备之间设置一个缓冲区。设置单缓冲区后,当CPU与设备之间交换数据时,需先将被交换的数据写入缓冲区,然后再由需要数据的设备或CPU从缓冲区中取走数据。
由于缓冲区属于临界资源,不允许多个进程同时对缓冲区进行访问,因此,单缓冲只能缓和CPU与设备在处理速度上不匹配的矛盾,不能通过它来实现输入/输出的并行操作。
2)双缓冲
称为缓冲对换,指在CPU与设备之间设置两个缓冲区。设置双缓冲后,设备输入时,先将数据送入第一个缓冲区,第一个缓冲区满后,再转向第二个缓冲区输入,此时操作系统可以从第一个缓冲区中取出数据传给用户进程;当第一个缓冲区的数据被操作系统全部取走后,设备又可以重新转向第一个缓冲区输入,而此时,操作系统又可以从第二个缓冲区中取走数据;依此重复进行,直至输入结束。
与单缓冲相比,使用双缓冲可以明显提高设备的输入/输出速度,提高CPU和设备之间的并行性和提高设备的利用率。
2循环缓冲
现代计算机系统中广泛采用了多缓冲技术。将多缓冲中的多个缓冲区组织成循环队列,称为循环缓冲。3缓冲池
专用缓冲只能用在特定的生产者和消费者之间。当系统存在大量外设时,在诸设备与CPU之间使用专用缓冲要占用大量内存空间,且各缓冲的利用率不高。为了提高缓冲区的利用率,操作系统中广泛使用公用缓冲池技术。
公用缓冲池中的缓冲区根据其状态可以分为三种类型:
(1)空缓冲区
(2)装满输入数据的缓冲区
(3)装满输出数据的缓冲区
公用缓冲池中三种缓冲区队列:
(1)空缓冲区队列(记为EmQ)
(2)输入缓冲区队列(记为InQ)
(3)输出缓冲区队列(记为OutQ)5.4虚拟设备
虚拟设备
用一个物理设备模拟出的多个逻辑上存在的设备。利用磁盘和软件技术来模拟独占设备工作,从而使每个用户进程都觉得获得了供自己独占使用的I/O设备,且使用该“设备”输入/输出的速度与磁盘输入/输出一样快。在提供虚拟设备的系统中,用户进行输入/输出时,不是直接面对物理的独占设备,而是面对虚拟的独占设备。
虚拟设备常采用SPOOLing技术实现。SPOOLing技术又称为假脱机操作技术,它在联机情况下实现脱机输入/输出功能。即用一道程序模拟外围输入控制机,将用户进程需要的数据从慢速设备预先输到磁盘上,用户进程需要数据时直接从磁盘读入;用另一道程序模拟外围输出控制机,用户进程将输出数据传输到磁盘上,暂存在磁盘上的数据再在程序模拟的外围输出控制机的控制下,由慢速设备逐字符地输出
实现SPOOLing系统必须获得硬件和软件支持。
硬件:系统必须配备大容量磁盘以及CPU与设备能 够并行工作;
软件:操作系统必须采用多道程序设计技术
为了实现虚拟设备,要在磁盘上划出两块存储区域:
(1)输入井,用来预先存放多个进程需要的数据,即慢速设备将进程需要的数据预先传输到输入井中。
(2)输出井,用来暂存每个进程的输出数据,慢速设备输出的数据取自输出井中。
设置输入井和输出井后,用户进程需要数据时可以直接从输入井读入,不需要直接启动低速设备读数据;而用户进程需要输出数据时,可以将数据输出到输出井中,而不必直接启动慢速设备输出。
实现SPOOLing系统的软件模块包括:
(1)预输入程序
用于预先把数据从慢速设备输入到磁盘输入井中,以便用户进程需要数据时直接从输入井读入,从而避免了用户进程等待慢速设备输入。
(2)缓输出程序
定期查看输出井,确定是否存在等待输出的数据;若存在,则启动慢速输出设备输出。由于用户进程是将输出数据传送到输出井中,再由缓输出程序控制在慢速设备上输出,因而避免了用户进程等待慢速设备输出。
(3)井管理程序
当用户进程请求输入/输出时,操作系统便调用该程序,在输入时把从设备输入转换成从输入井输入,在输出时把让设备输出转换成向输出井写入。
SPOOLing技术实现虚拟打印机
由SPOOLing系统创建输出值班进程和SPOOLing目录。当用户进程请求打印输出时,操作系统并不直接把打印机分配给用户进程使用,而是由输出值班进程在输出井中为它申请一块空闲区,再将要打印的数据写入其中,同时,输出值班进程建立一张请求打印表,填入用户的打印要求,再将该表排入SPOOLing目录的请求打印队列。至此,用户进程的打印输出在逻辑上已完成,于是,用户进程便可以转向执行进程的其他部分,而不必等待真正打印完成。
输出值班进程会按照SPOOLing目录中的请求打印队列顺序,逐个打印输出。即当打印机空闲时,输出值班进程便取下请求打印队列队首的请求打印表,根据表中的要求将数据从输出井传送到打印缓冲区,由打印机进行打印。5.5磁盘存储器管理
一、存储设备概述
1.硬盘
硬盘具有容量大、存取速度快等优点,是现代计算机系统最主要的存储设备。硬盘属于直接存取设备(即随机存取设备),它的每个物理盘块具有唯一的地址,允许系统直接存取盘中的任意一个物理盘块。硬盘分为固定头硬盘和移动头硬盘两类。
/
目前微机上配备的硬盘都属于移动头硬盘。对移动头硬盘访问的时间由寻道时间、旋转延迟时间(即将欲访问的扇区旋转到磁头下所需的时间)、数据传输时间三部分构成。这三部分时间中,通常情况下寻道操作花费的时间最多,因此,硬盘访问时间一般主要由寻道时间长短决定。
2.磁带
磁带是一种典型的顺序存取设备,只能存放顺序文件。信息以物理块为单位存放在磁带上,物理块之间存在间隙,一个物理块是进行一次读/写操作的基本单位。
/
顺序存取设备的存取特点是只有前面的物理块被访问后,才能访问后续物理块的内容,访问磁带上某物理块所需的时间与该物理块到磁头的当前距离有很大关系,。磁带的存取速度与物理块的信息密度、带速以及物理块之间间隙的大小有关,若信息密度大、带速高、块间间隙小,则存取速度高。
磁带具有存储容量大、文件卷可拆卸、便于保存等优点,因此被广泛用作保存档案文件的存储介质。
3.光盘
光盘是另一种随机存取设备,信息在光盘上的存储方式和对信息的访问方式与硬盘类似。光盘不是用磁性材料存储信息,而是用激光将信息刻录在光盘介质表面上,因此它除了具有硬盘的优点外,还具有防潮、防磁、防震、便于长期保存、价格便宜等优点。光盘有只读光盘和可读写光盘之分。只读光盘只能刻录一次,刻写好的光盘可供多次读取,因此是长期保存信息的首选存储介质。可读写光盘可以进行多次读/写操作,是一种动态保存信息的理想存储介质。
/
4.闪存
闪存是目前使用最方便的可移动存储介质,已完全替代了软盘使用。闪存是不易丢失存储器中的一种,之所以将它称为闪存,是因为信息在一瞬间被记录下来后,即使除去电源,其中保存的信息也不会丢失,这与易失性存储器(如DRAM、SRAM)有明显不同。闪存具有以下优点:可反复读/写,支持随机存取,寿命长,可靠性高,使用方便,没有任何机械运动部件,读/写速度比较快,使用时不需要额外电源,存储密度高等。
/
二、 磁盘调度
磁盘是在一段时间内可以同时提供给多个进程使用的共享设备。当多个进程都要求访问磁盘时,应采用适当的调度算法,对各个进程访问磁盘的先后顺序进行合理安排,使所有进程对磁盘的平均访问时间最少。由于磁盘的访问时间主要由寻道时间决定,因此,也可以认为磁盘调度的目标是使所有进程的平均寻道时间最少。
1.先来先服务调度算法
先来先服务算法(FCFS)根据进程请求访问磁盘的先后次序进行调度。
优点:简单、公平。
缺点:没有对寻道过程进行优化,致使平均等待时间可能较长。
FCFS算法仅适用于请求磁盘输入/输出的进程数目较少的场合。
例:访问序列 95,180,38,120,15,125,66,70(当前位于100)
/2.最短寻道时间优先调度算法
根据请求进程要访问的磁道离当前磁头位置的远近来决定调度顺序。这种调度算法保证了每次寻道距离最短,但并没有保证平均寻道距离最短。
例:访问序列 95,180,38,120,15,125,66,70(当前位于100)
3.扫描调度算法
又称为电梯调度算法,其基本思想是:没有访问请求时磁头不动,有访问请求时磁头来回扫描,每次选择磁头移动方向上离当前磁头位置最近的访问请求进行处理;扫描过程中,若磁头移动方向上仍有访问请求,则继续向同一个方向扫描;当磁头移动方向上不存在访问请求时则向相反方向扫描。
例:访问序列 95,180,38,120,15,125,66,70(当前位于100),最初向磁道号增加的方向
/
4.循环扫描调度算法
循环扫描调度算法与扫描调度算法的不同之处是将来回扫描改为单向扫描。
例:访问序列 95,180,38,120,15,125,66,70(当前位于100)扫描方向自里向外三、独立磁盘冗余阵列
为了缓和磁盘与CPU和内存速度不匹配的矛盾,提高磁盘的访问速度和提高系统的可靠性,将一组硬盘,在磁盘阵列控制器的统一管理和控制下,采用并行交叉存取技术和数据冗余技术,组成一个高度可靠的大容量磁盘系统。该磁盘系统称为独立磁盘冗余阵列(Redundant Array of Independent Disk),简称RAID。
并行交叉存取技术指将原来保存在一个磁盘块中的数据,以数据块(一个磁盘块中的数据被分成若干数据块)为单位或以位为单位分别存储到几个磁盘的相同位置上,当需要将这些数据传送到内存时,借助多个磁盘可以并行访问的特点,采用并行传输方式,将各个磁盘中保存的数据部分同时向内存传输。
这种技术成倍地提高数据输入/输出的速度。数据冗余技术指使用一组或多组附加存储介质存储数据的副本,其目的是提高数据的可靠性。重要考点
一、填空题
1、虚拟设备是通过________技术把________设备变成能为若干用户共享的设备。
答案:SPOOL独享
解析:虚拟设备技术:通过共享设备模拟独占型设备的动作,使独占型设备成为共享设备,提高设备利用率和系统的效率。二、简答题
1、假定一磁盘有200个柱面,编号为0-199,当前读写头处于143号磁道,若磁盘请求队列的先后顺序为86,147,91,177,94,150,102,175,130。当采用先来先服务算法完成上述队列的请求,写出磁头移动的顺序,并计算移动总量为多少柱面?
答案: (1) 磁头移动顺序为143→86→147→91→177→94→150→102→175→130。(2)移动总量为:
(143-86)+(147-86)+(147-91)+(177-91)+(177-94)+(150-94)+(150-102)+(175-102)+(175-130)=565
解析:先来先服务的移动磁头是根据先后顺序进行移动的,移动总量是磁头之间的差值南开答案可以联系QQ 761296021

页: [1]
查看完整版本: 大工21春《操作系统概论》复习资料十四