免费智能真题库 > 历年试卷 > 系统分析师 > 2017年上半年 系统分析师 上午试卷 综合知识
  第47题      
  知识点:   CPU   操作系统   进程   进程调度
  关键词:   CPU   操作系统   计算机系统   进程调度   进程        章/节:   操作系统       

 
在一个单CPU的计算机系统中,采用可剥夺式(也称抢占式)优先级的进程调度方案,且所有任务可以并行使用I/O设备。下表列出了三个任务T1、T2 、T3 的优先级、独立运行时占用CPU和I/O设备的时间。如果操作系统的开销忽略不计,这三个任务从同时启动到全部结束的总时间为(47)ms ,CPU的空闲时间共有(48)ms 。
 
 
  A.  41
 
  B.  71
 
  C.  90
 
  D.  123
 
 
 

 
  第50题    2022年上半年  
   40%
程P1、P2、P3、P4、P5和P6的前趋图如下所示:

若用PV操作控制进程PI、P2、P3、P4、P5和P6并发执行的过程,则需要..
  第50题    2017年上半年  
   43%
进程P1、P2、P3、P4、P5和P6 的前趋图如下所示:
  第49题    2016年上半年  
   48%
进程P1、P2、P3、P4、P5和P6的前趋图如下所示:
   知识点讲解    
   · CPU    · 操作系统    · 进程    · 进程调度
 
       CPU
        CPU即中央处理器,它是计算机系统的核心部分。刚才所列的系统性能评价指标都是围绕CPU的。当然,这些指标的评价结果是建立在CPU与其他系统部件(如内存)的协同工作的基础上的。单就CPU而言,考察它在系统中的工作性能要关注CPU利用率、队列长度、每秒中断次数,等。
 
       操作系统
        编写嵌入式软件有两种选择:一是自己编写内核;二是使用现成的操作系统。如果嵌入式软件只需要完成一项非常小的工作,例如在电动玩具、空调中,就不需要一个功能完整的操作系统。但如果系统的规模较大、功能较复杂,那么最好还是使用一个现成的操作系统。可用于嵌入式系统软件开发的操作系统有很多,但关键是如何选择一个适合开发项目的操作系统,可以从以下几点进行考虑:
        (1)操作系统提供的开发工具。有些实时操作系统只支持该系统供应商的开发工具,因此,还必须从操作系统供应商处获得编译器、调试器等;而有的操作系统应用广泛,且有第三方工具可用,因此选择的余地比较大。
        (2)操作系统向硬件接口移植的难度。操作系统到硬件的移植是一个重要的问题,是关系到整个系统能否按期完工的一个关键因素。因此,要选择那些可移植性程度高的操作系统,以避免因移植带来的种种困难。
        (3)操作系统的内存要求,有些操作系统对内存有较大要求。
        (4)操作系统的可剪裁性、实时性能等。
 
       进程
        简单而言,一个进程就是一个正在运行的程序。一般来说,一个进程至少应该包括以下几个方面的内容。
        .相应的程序:进程既然是一个正在运行的程序,当然需要有相应程序的代码和数据。
        .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中,即可运行。这样就实现了各个进程的轮流运行。
 
       进程调度
        进程调度即处理机调度,它的主要功能是确定在什么时候分派处理机,并确定分给哪一个进程。在一些操作系统中,一个作业从提交到完成需要经历高、中、低3级调度。
        .高级调度:又称"长调度""作业调度"或"接纳调度",它决定处于输入池中的哪个后备作业可以调入主系统做好运行的准备,成为一个或一组就绪进程。系统中一个作业只需经过一次高级调度。
        .中级调度:又称"中程调度"或"对换调度",它决定处于交换区中的哪个就绪进程可以调入内存,以便直接参与对CPU的竞争。在内存资源紧张时,为了将进程调入内存,必须将内存中处于阻塞状态的进程调至交换区,以便为调入进程腾出空间。
        .低级调度:又称"短程调度"或"进程调度",它决定处于内存中的哪个就绪进程可以占用CPU,是操作系统中最活跃、最重要的调度程序,对系统的影响很大。
               调度方式
               调度方式是指当有更高优先级的进程到来时如何分配CPU。调度方式分为可剥夺式和不可剥夺式两种。可剥夺式是指当有更高优先级的进程到来时,强行将正在运行的进程所占用的CPU分配给高优先级的进程;不可剥夺式是指当有更高优先级的进程到来时,必须等待正在运行的进程自动释放占用的CPU,然后将CPU分配给高优先级的进程。
               进程调度算法
               常用的进程调度算法有:先来先服务、时间片轮转、优先级调度和多级反馈调度算法。
               1)先来先服务
               先来先服务(FCFS)是按照作业提交或进程变为就绪状态的先后次序,分配CPU。即每当进入进程调度时,总是将就绪队列队首的进程投入运行。FCFS的特点比较有利于长作业,而不利于短作业;有利于CPU繁忙的作业,而不利于输入/输出繁忙的作业。
               2)时间片轮转
               FCFS算法主要用于宏观调度,时间片轮转算法主要用于微观调度,通过时间片轮转,提高进程并发性和响应时间,从而提高资源利用率。
               时间片轮转的实现过程是将系统中所有的就绪进程按照FCFS原则,排成一个队列。每次调度时将CPU分派给队首进程,让其执行一个时间片。时间片的长度从几毫秒到几百毫秒。在一个时间片结束时,发生时钟中断,调度程序据此暂停当前运行进程的执行,将其送到就绪队列的末尾,并通过上下文切换执行当前的队首进程。进程可以未使用完一个时间片,就出让CPU(如阻塞)。
               时间片长度的确定主要考虑以下4个方面。
               .时间片长度变化的影响:时间片过长,退化为FCFS算法,进程在一个时间片内都执行完,造成响应时间长;时间片过短,用户的一次请求需要多个时间片才能处理完,上下文切换次数增加,系统效率降低,同样造成响应时间增长。
               .对响应时间的要求:T(响应时间)=N(进程数目)×q(时间片)。
               .就绪进程的数目:数目越多,时间片越小。
               .系统的处理能力:应当使用户输入在一个时间片内能处理完,否则会使响应时间、平均周转时间和平均带权周转时间延长。
               3)优先级调度
               优先级调度分为静态优先级和动态优先级两种。
               .静态优先级:进程的优先级是在创建时就已确定好了的,直到进程终止都不会改变。确定优先级的依据主要有:进程类型(系统进程优先级较高)、对资源的需求(对CPU和内存需求较少的进程优先级较高)、用户要求(紧迫程度和付费多少)。
               .动态优先级:在创建进程时赋予一个优先级,在进程运行过程中还可以改变,以便获得更好的调度性能。进程每执行一个时间片,就降低其优先级,从而一个进程持续执行时,其优先级可能会降低到出让CPU为止。
               4)多级反馈调度
               多级反馈调度算法是时间片轮转算法和优先级算法的综合与发展。其优点是:照顾了短进程、提高了系统吞吐量、缩短了平均周转时间;照顾输入/输出型进程,获得较好的输入/输出设备利用率和缩短响应时间;不必估计进程的执行时间,动态调节优先级。
   题号导航      2017年上半年 系统分析师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第47题    在手机中做本题