免费智能真题库 > 历年试卷 > 软件设计师 > 2019年上半年 软件设计师 上午试卷 综合知识
  第27题      
  知识点:   进程的控制   进程间的通信   操作系统
  关键词:   PV   操作系统   原语        章/节:   计算机软件知识       

 
PV操作是操作系统提供的具有特定功能的原语。利用PV操作可以( )。
 
 
  A.  保证系统不发生死锁
 
  B.  实现资源的互斥使用
 
  C.  提高资源利用率
 
  D.  推迟进程使用共享资源的时间
 
 
 

 
  第27题    2015年下半年  
   49%
在如下所示的进程资源图中,(27)。
  第28题    2016年上半年  
   23%
进程P1、P2、P3、P4和P5的前趋图如下图所示:
  第25题    2018年下半年  
   28%
进程P1、P2、P3、P4和P5的前趋图如下所示:
   知识点讲解    
   · 进程的控制    · 进程间的通信    · 操作系统
 
       进程的控制
        进程控制就是对系统中所有进程从创建到消亡的全过程实施有效的控制。为此,操作系统设置了一套控制机构,该机构的主要功能包括创建一个新进程,撤销一个已经运行完的进程,改变进程的状态,实现进程间的通信。进程控制是由操作系统内核中的原语实现的。内核是计算机系统硬件的首次延伸,是基于硬件的第一层软件扩充,它为系统对进程进行控制和管理提供了良好的环境。
        原语是指由若干条机器指令组成的,用于完成特定功能的程序段。原语的特点是在执行时不能被分割,即原子操作——要么都做,要么都不做。内核中所包含的原语主要有进程控制原语、进程通信原语、资源管理原语以及其他方面的原语。属于进程控制方面的原语有进程创建原语、进程撤销原语、进程挂起原语、进程激活原语、进程阻塞原语以及进程唤醒原语等。不同的操作系统内核所包含的功能不同,但大多数操作系统的内核都包含支撑功能和资源管理的功能。
 
       进程间的通信
               同步与互斥
               同步是合作进程间的直接制约问题,互斥是申请临界资源进程间的间接制约问题。
               1)同步
               相互合作的进程需要在某些确定点上协调它们的工作,当一个进程到达这些点后,除非另一个进程已经完成某些操作;否则就不得不停下来等待这些操作结束。这就是进程间的同步。
               2)互斥
               在多道程序系统中,各进程可以共享各类资源,但有些资源一次只能供一个进程使用,称为临界资源。这就产生了进程间的间接制约问题——互斥。
               3)临界区管理的原则
               临界区是进程中对临界资源实施操作的那段程序。互斥临界区管理的原则是:有空即进,无空则登;有限等待,让权等待。
               信号量与P、V操作
               信号量机制主要有整型信号量、记录性信号量、信号量集机制。
               1)整型信号量与P、V操作
               信号量是一个整型变量,根据控制对象的不同赋予不同的值。信号量可分为以下两类。
               (1)公用信号量。实现进程间的互斥,初值为1或资源的数目。
               (2)私用信号量。实现进程间的同步,初值为0或某个正整数。
               信号量S的物理意义为:S≥0,表示某资源的可用数;S<0,其绝对值表示阻塞队列中等待该资源的进程数。P、V操作是实现进程同步与互斥的常用方法。
               P操作定义:S:=S-1,若S≥0,则执行P操作的进程继续执行;否则,若S<0,则置该进程为阻塞状态,并将其插入阻塞队列。
               V操作定义:S:=S+1,若S>0,则执行V操作的进程继续执行;否则,若S≤0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,执行V操作的进程继续执行。
               2)利用P、V操作实现进程的互斥
               令信号量的初值为1,当进程进入临界区时执行P操作,退出临界区时执行V操作。则进入临界区的代码段如下。
               
               3)利用P、V操作实现进程的同步
               进程的同步是由于进程间合作而引起的相互制约问题。要实现进程的同步,可用一个信号量与消息联系起来。当信号量的值为0时表示消息未产生,当信号量的值为非0时表示希望的消息已经存在。假定用信号量S表示某条消息,进程可以通过调用P操作测试消息是否达到,调用V操作通知消息已经准备好。
               高级通信原语
               P、V操作是用来协调进程间关系的,编程较困难、效率低,通信对用户不透明,生产者每次只能向缓冲区放一个消息,消费者只能从缓冲区中取一个消息。所以交换的信息量多时要引入高级通信原语。进程高级通信的类型主要有以下几种。
               (1)共享存储系统。相互通信的进程共享某些数据结构或存储区,以实现进程之间的通信。
               (2)消息传递系统。进程间的数据交换以消息为单位,程序员直接利用系统提供的一组通信命令(原语)来实现通信,如Send(A)、Receive(A)。
               (3)管道通信。管道是指用于连接两个进程之间的一个打开的共享文件(pipe文件)。向管道(共享文件)提供输入的发送进程(即写进程),以字符流的形式将大量的数据送入管道;而接收进程可从管道的另一端接收大量的数据。由于通信时采用管道,所以叫管道通信。
 
       操作系统
        编写嵌入式软件有两种选择:一是自己编写内核;二是使用现成的操作系统。如果嵌入式软件只需要完成一项非常小的工作,例如在电动玩具、空调中,就不需要一个功能完整的操作系统。但如果系统的规模较大、功能较复杂,那么最好还是使用一个现成的操作系统。可用于嵌入式系统软件开发的操作系统有很多,但关键是如何选择一个适合开发项目的操作系统,可以从以下几点进行考虑:
        (1)操作系统提供的开发工具。有些实时操作系统只支持该系统供应商的开发工具,因此,还必须从操作系统供应商处获得编译器、调试器等;而有的操作系统应用广泛,且有第三方工具可用,因此选择的余地比较大。
        (2)操作系统向硬件接口移植的难度。操作系统到硬件的移植是一个重要的问题,是关系到整个系统能否按期完工的一个关键因素。因此,要选择那些可移植性程度高的操作系统,以避免因移植带来的种种困难。
        (3)操作系统的内存要求,有些操作系统对内存有较大要求。
        (4)操作系统的可剪裁性、实时性能等。
   题号导航      2019年上半年 软件设计师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第27题    在手机中做本题