免费智能真题库 > 历年试卷 > 系统架构设计师 > 2018年下半年 系统架构设计师 上午试卷 综合知识
第1题      
知识点   移臂调度   磁盘   进程   调度算法   磁盘调度
关键词   磁盘   进程   移臂调度算法   柱面   算法      分类   操作系统       

 
磁盘调度管理中,应先进行移臂调度,再进行旋转调度。假设磁盘移动臂位于21号柱面上,进程的请求序列如下表所示。如果采用最短移臂调度算法,那么系统的响应序列应为( )。
 
 
  A.  ②⑧③④⑤①⑦⑥⑨
 
  B.  ②③⑧④⑥⑨①⑤⑦
 
  C.  ①②③④⑤⑥⑦⑧⑨
 
  D.  ②⑧③⑤⑦①④⑥⑨
 
 
 

  相关试题     操作系统    更多>  
 
  第3题    2014年下半年  
   36%
某文件系统文件存储采用文件索引节点法。假设磁盘索引块和磁盘数据块大小均为1KB,每个文件的索引节点中有8个地址项iaddr[0]~ia..
  第2题    2010年下半年  
   43%

若操作系统文件管理程序正在将修改后的(2)文件写回磁盘时系统发生崩溃,对系统的影响相对较大。

  第3题    2018年下半年  
   26%
某计算机系统中的进程管理采用三态模型,那么下图所示的PCB(进程控制块)的组织方式采用(2),图中(3)。
 


   知识点讲解    
   · 移臂调度    · 磁盘    · 进程    · 调度算法    · 磁盘调度
 
       移臂调度
        移臂调度有若干策略,“电梯调度”算法是简单而实用的一种算法。按照这种策略每次总是选择沿臂的移动方向最近的那个柱面;如果沿这个方向没有访问的请求时,就改变臂的移动方向,使用移动频率极小化。每当要求访问磁盘时,操作系统查看磁盘机是否空闲。如果空闲就立即移臂,然后将当前移动方向和本次停留的位置都登记下来。如果不空,就让请求者等待并把它要求访问的位置登记下来,按照既定的调度算法对全体等待者进行寻查定序,下次按照优化的次序执行。如果有多个盘驱动器的请求同时到达时,系统还必须有优先启动哪一个盘组的I/O请求决策。
 
       磁盘
        在磁表面存储器中,磁盘的存取速度最快,且具有较大的存储容量,是目前广泛使用的外存储器。磁盘存储器由盘片、驱动器、控制器和接口组成。盘片的两面用来存储信息。驱动器用于驱动磁头(读/写头)沿盘面作径向运动以寻找目标磁道位置,驱动盘片以额定速率稳定旋转,通常是5400~15000r/min(Revolution Per Minute,RPM),并且控制数据的写入和读出。控制器接收主机发来的命令,将它转换成磁盘驱动器的控制命令,并实现主机和驱动器之间数据格式的转换及数据传送,以控制驱动器的读/写操作。一个控制器可以控制一台或多台驱动器。接口是主机和磁盘存储器之间的连接逻辑。
        磁盘存储器也称为硬盘存储器。硬盘存储器具有存储容量大,使用寿命长,存取速度较快的特点。硬盘存储器的硬件包括硬盘控制器(适配器)、硬盘驱动器以及连接电缆。硬盘控制器(Hard Disk Controller,HDC)对硬盘进行管理,并在主机和硬盘之间传送数据。硬盘控制器以适配卡的形式插在主板上或直接集成在主板上,然后通过电缆与硬盘驱动器相连。硬盘驱动器(Hard Disk Drive,HDD)中有盘片、磁头、主轴电机(盘片旋转驱动机构)、磁头定位机构、读/写电路和控制逻辑等。
        为了提高单台驱动器的存储容量,在硬盘驱动器内使用了多个盘片,它们被叠装在主轴上,构成一个盘组;每个盘片的两面都可用作记录面,所以一个硬盘的存储容量又称为盘组容量。
        硬盘的接口方式可以说是硬盘另一个非常重要的技术指标,这点从SCSI硬盘和IDE硬盘的巨大差价就能体现出来,接口方式直接决定硬盘的性能。现在最常见的接口有IDE(ATA)和SCSI两种,此外还有一些移动硬盘采用了PCMCIA或USB接口。
        .IDE(Integrated Drive Electronics):IDE接口最初由CDC、康柏和西部数据公司联合开发,由美国国家标准协会(ATA)制定标准,所以又称ATA接口。普通用户家里的硬盘几乎全是IDE接口的。IDE接口的硬盘可细分为ATA-1(IDE)、ATA-2(EIDE)、ATA-3(Fast ATA-2)、ATA-4(包括UItraATA、Ultra ATA/33、Ultra ATA/66)与Serial ATA(包括Ultra ATA/100及其他后续的接口类型)。基本IDE接口数据传输率为4.1Mb/s,传输方式有PIO和DMA两种,支持总线为ISA和EISA。后来为提高数据传输率、增加接口上能连接的设备数量、突破528MB限制及连接光驱的需要,又陆续开发了ATA-2、ATAPI和针对PCI总线的FAST-ATA、FAST-ATA2等标准,数据传输率达到了16.67MB/s。
        .小型计算机系统接口(Small Computer System Interface,SCSI):SCSI并不是专为硬盘设计的,实际上它是一种总线型接口。由于独立于系统总线工作,所以它的最大优势在于其系统占用率极低,但由于其昂贵的价格,这种接口的硬盘大多用于服务器等高端应用场合。
 
       进程
        简单而言,一个进程就是一个正在运行的程序。一般来说,一个进程至少应该包括以下几个方面的内容。
        .相应的程序:进程既然是一个正在运行的程序,当然需要有相应程序的代码和数据。
        .CPU上下文:指程序在运行时,CPU中各种寄存器的当前值,包括:程序计数器,用于记录将要取出的指令的地址;程序状态字,用于记录处理器的运行状态信息;通用寄存器,用于存放数据或地址;段寄存器,用于存放程序中各个段的地址;栈指针寄存器,用于记录栈顶的当前位置。
        .一组系统资源:包括操作系统用来管理进程的数据结构、进程的内存地址空间、进程正在使用的文件等。
        进程有动态性、独立性和并发行三个特性。
        (1)动态性。进程是一个正在运行的程序,而程序的运行状态是在不断地变化的。例如,当一个程序在运行的时候,每执行完一条指令,PC寄存器的值就会增加,指向下一条即将执行的指令。而CPU中用来存放数据和地址的那些通用寄存器,它们的值肯定也不断地变化。另外,堆和栈的内容也在不断地变化,每当发生一次函数调用时,就会在栈中分配一块空间,用来存放此次函数调用的参数和局部变量。而当函数调用结束后,这块栈空间就会被释放掉。
        (2)独立性。一个进程是一个独立的实体,是计算机系统资源的使用单位。每个进程都有自己的运行上下文和内部状态,在它运行的时候独立于其他的进程。
        (3)并发性。从宏观上来看,在系统中同时有多个进程存在,它们相互独立地运行。
        下图表示四个进程A、B、C、D在系统中并发地运行。从中可以看出,虽然从宏观上来说,这四个进程都是在系统中运行,但从微观上来看,在任何一个特定的时刻,只有一个进程在CPU上运行。从时间上来看,开始是进程A在运行,然后是进程B在运行,然后是进程C和进程D。接下来又轮到了进程A去运行。因此,在单CPU的情形下,所谓的并发性,指的是宏观上并发运行,而微观上还是顺序运行,各个进程轮流去使用CPU资源。
        
        四个进程在并发运行
        在具体实现上,以CPU中的程序计数器PC为例,真正物理上的PC寄存器只有一个。当四个进程在轮流执行时,PC取值的运动轨迹是先在进程A内部流动,然后再到进程B的内部流动,再到进程C和D。从进程的独立性角度来说,每个进程都有“自己”独立的PC寄存器,即逻辑上的PC寄存器,它们的取值相互独立、互不影响。所谓的逻辑PC,其实就是一个内存变量。例如,在上图中,当进程A要执行的时候,就把A的逻辑PC的值拷贝到物理PC中,然后开始运行。当轮到B运行的时候,先把物理PC的当前值保存到A的逻辑PC中,然后再把B的逻辑PC的值装入到物理PC中,即可运行。这样就实现了各个进程的轮流运行。
 
       调度算法
        常用的进程调度算法有先来先服务、时间片轮转、优先级调度和多级反馈调度算法。
        (1)先来先服务(FCFS)。FCFS按照作业提交或进程成为就绪状态的先后次序分配CPU,即进程调度总是将就绪队列队首的进程投入运行。FCFS的特点是比较有利于长作业,而不利于短作业;有利于CPU繁忙的作业,而不利于I/O繁忙的作业。FCFS算法主要用于宏观调度。
        (2)时间片轮转。时间片轮转算法主要用于微观调度,其设计目标是提高资源利用率。通过时间片轮转提高进程并发性和响应时间特性,从而提高资源利用率。时间片的长度可以从几毫秒到几百毫秒,选择的方法一般分为固定时间片和可变时间片两种。
        (3)优先级调度。该算法是让每一个进程都拥有一个优先数,数值大的表示优先级高,系统在调度时总选择优先数大的占用CPU。优先级调度分为静态优先级和动态优先级两种。
        (4)多级反馈调度。多级反馈队列调度算法是时间片轮转算法和优先级算法的综合与发展。其优点有三个方面:第一,照顾了短进程以提高系统吞吐量,缩短了平均周转时间;第二,照顾I/O型进程以获得较好的I/O设备利用率和缩短响应时间;第三,不必估计进程的执行时间,动态调节优先级。
 
       磁盘调度
        磁盘是可被多个进程共享的设备。当有多个进程请求访问磁盘时,为了保证信息的安全,系统在每一时刻只允许一个进程启动磁盘进行I/O操作,其余的进程只能等待。因此,操作系统应采用一种适当的调度算法,使各进程对磁盘的平均访问(主要是寻道)时间最小。磁盘调度分为移臂调度和旋转调度两类,并且是先进行移臂调度,然后进行旋转调度。由于访问磁盘最耗时的是寻道时间,因此,磁盘调度的目标是使磁盘的平均寻道时间最少。
               磁盘驱动调度
               常用的磁盘调度算法如下:
               (1)先来先服务(First-Come First-Served,FCFS)。这是最简单的磁盘调度算法,它根据进程请求访问磁盘的先后次序进行调度。此算法的优点是公平、简单,且每个进程的请求都能依次得到处理,不会出现某进程的请求长期得不到满足的情况。但此算法由于未对寻道进行优化,致使平均寻道时间可能较长。
               (2)最短寻道时间优先(Shortest Seek Time First,SSTF)。该算法选择这样的进程,其要求访问的磁道与当前磁头所在的磁道距离最近,使得每次的寻道时间最短。但这种调度算法不能保证平均寻道时间最短。
               (3)扫描算法(SCAN)。扫描算法不仅考虑到要访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向。例如,当磁头正在由里向外移动时,SCAN算法所选择的下一个访问对象应是其要访问的磁道既在当前磁道之外,又是距离最近的。这样由里向外地访问,直到再无更外的磁道需要访问时才将磁臂换向,由外向里移动。这时,同样也是每次选择在当前磁道之内,且距离最近的进程来调度。这样,磁头逐步地向里移动,直到再无更里面的磁道需要访问。显然,这种方式避免了饥饿现象的出现。在这种算法中,磁头移动的规律颇似电梯的运行,故又常称为电梯调度算法。
               (4)单向扫描调度算法(CSCAN)。SCAN存在这样的问题:当磁头刚从里向外移动过某一磁道时,恰有一进程请求访问此磁道,这时该进程必须等待,待磁头从里向外,再从外向里扫描完所有要访问的磁道后才处理该进程的请求,致使该进程的请求被严重地推迟。为了减少这种延迟,算法规定磁头只做单向移动。
               旋转调度算法
               当移动臂定位后,有多个进程等待访问该柱面时,应当如何决定这些进程的访问顺序?这就是旋转调度要考虑的问题。显然,系统应该选择延迟时间最短的进程对磁盘的扇区进行访问。当有若干等待进程请求访问磁盘上的信息时,旋转调度应考虑如下情况:
               (1)进程请求访问的是同一磁道上不同编号的扇区。
               (2)进程请求访问的是不同磁道上不同编号的扇区。
               (3)进程请求访问的是不同磁道上具有相同编号的扇区。
               对于(1)和(2),旋转调度总是让首先到达读/写磁头位置下的扇区先进行传送操作;对于(3),旋转调度可以任选一个读/写磁头位置下的扇区进行传送操作。
               可以看出,当读出记录R1并处理结束后,磁头刚好转至R2记录的开始处,立即就可以读出并处理,因此处理10个记录的总时间为10×(2ms(读记录)+4ms(处理记录))=10× 6ms=60ms。


 题号导航      2018年下半年 系统架构设计师 上午试卷 综合知识   本试卷我的完整做题情况 
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
↓第1题