免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2020年下半年 数据库系统工程师 上午试卷 综合知识
  第19题      
  知识点:   进程调度   操作系统
  章/节:   计算机软件基础知识       

 
操作系统中,短期调度指的是( )。
 
 
  A.  作业调度
 
  B.  进程调度
 
  C.  线程调度
 
  D.  CPU调度
 
 
 

 
  第23题    2015年上半年  
   47%
进程P1、P2、P3、P4和P5的前趋图如下所示:
  第26题    2011年上半年  
   67%
系统中有R类资m源个,现有n个进程互斥使用。若每个进程对R资源的最大需求为w,那么当m、n、w分别取下表中的值时,对于表中的①&#..
  第18题    2018年上半年  
   53%
假设铁路自动售票系统有n个售票终端,该系统为每个售票终端创建一个进程Pi(i=1,2,…,n)管理车票销售过程。..
   知识点讲解    
   · 进程调度    · 操作系统
 
       进程调度
        进程调度方式是指当有更高优先级的进程到来时如何分配CPU。调度方式分为可剥夺和不可剥夺两种。可剥夺式是指当有更高优先级的进程到来时,强行将正在运行进程的CPU分配给高优先级的进程;不可剥夺式是指当有更高优先级的进程到来时,必须等待正在运行进程自动释放占用的CPU,然后将CPU分配给高优先级的进程。
               三级调度
               在某些操作系统中,一个作业从提交到完成需要经历高、中、低三级调度。
               (1)高级调度。高级调度又称“长调度”“作业调度”或“接纳调度”,它决定处于输入池中的哪个后备作业可以调入主系统做好运行的准备,成为一个或一组就绪进程。在系统中一个作业只需经过一次高级调度。
               (2)中级调度。中级调度又称“中程调度”或“对换调度”,它决定处于交换区中的哪个就绪进程可以调入内存,以便直接参与对CPU的竞争。在内存资源紧张时,为了将进程调入内存,必须将内存中处于阻塞状态的进程调出至交换区,以便为调入进程腾出空间。这相当于使处于内存的进程和处于盘交换区的进程交换了位置。
               (3)低级调度。低级调度又称“短程调度”或“进程调度”,它决定处于内存中的哪个就绪进程可以占用CPU。低级调度是操作系统中最活跃、最重要的调度程序,对系统的影响很大。
               调度算法
               常用的进程调度算法有先来先服务、时间片轮转、优先级调度和多级反馈调度算法。
               (1)先来先服务(FCFS)。FCFS按照作业提交或进程成为就绪状态的先后次序分配CPU,即进程调度总是将就绪队列队首的进程投入运行。FCFS的特点是比较有利于长作业,而不利于短作业;有利于CPU繁忙的作业,而不利于I/O繁忙的作业。FCFS算法主要用于宏观调度。
               (2)时间片轮转。时间片轮转算法主要用于微观调度,其设计目标是提高资源利用率。通过时间片轮转提高进程并发性和响应时间特性,从而提高资源利用率。时间片的长度可以从几毫秒到几百毫秒,选择的方法一般分为固定时间片和可变时间片两种。
               (3)优先级调度。该算法是让每一个进程都拥有一个优先数,数值大的表示优先级高,系统在调度时总选择优先数大的占用CPU。优先级调度分为静态优先级和动态优先级两种。
               (4)多级反馈调度。多级反馈队列调度算法是时间片轮转算法和优先级算法的综合与发展。其优点有三个方面:第一,照顾了短进程以提高系统吞吐量,缩短了平均周转时间;第二,照顾I/O型进程以获得较好的I/O设备利用率和缩短响应时间;第三,不必估计进程的执行时间,动态调节优先级。
               进程优先级确定
               优先级确定需要考虑如下情况:
               (1)对于I/O型进程,让其进入最高优先级队列,以及时响应需要I/O交互的进程。通常执行一个小的时间片,在该时间片内要求可处理完一次I/O请求的数据,然后转入到阻塞队列。
               (2)对于计算型进程,每次都执行完时间片后进入更低级队列。最终采用最大时间片来执行,以减少调度次数。
               (3)对于I/O次数不多,主要是CPU处理的进程,在I/O完成后,返回优先I/O请求时离开的队列,以免每次都回到最高优先级队列后再逐次下降。
               (4)为适应一个进程在不同时间段的运行特点,I/O完成时,提高优先级;时间片用完时,降低优先级。
 
       操作系统
        编写嵌入式软件有两种选择:一是自己编写内核;二是使用现成的操作系统。如果嵌入式软件只需要完成一项非常小的工作,例如在电动玩具、空调中,就不需要一个功能完整的操作系统。但如果系统的规模较大、功能较复杂,那么最好还是使用一个现成的操作系统。可用于嵌入式系统软件开发的操作系统有很多,但关键是如何选择一个适合开发项目的操作系统,可以从以下几点进行考虑:
        (1)操作系统提供的开发工具。有些实时操作系统只支持该系统供应商的开发工具,因此,还必须从操作系统供应商处获得编译器、调试器等;而有的操作系统应用广泛,且有第三方工具可用,因此选择的余地比较大。
        (2)操作系统向硬件接口移植的难度。操作系统到硬件的移植是一个重要的问题,是关系到整个系统能否按期完工的一个关键因素。因此,要选择那些可移植性程度高的操作系统,以避免因移植带来的种种困难。
        (3)操作系统的内存要求,有些操作系统对内存有较大要求。
        (4)操作系统的可剪裁性、实时性能等。
   题号导航      2020年下半年 数据库系统工程师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第19题    在手机中做本题