问题 单项选择题

2007年安徽省规模以上工业增加值
指 标 绝对数(亿元) 比上年增长(%)
规模以上工业 2364.8 24.5
其中:轻工业 682.7 24.7
重工业 1682.1 24.5
其中;国有企业 284.0 13.7
集体企业 36.3 16.4
股份合作企业 17.2 26.3
股份制企业 1605.5 25.9
外商及港澳台商投资企业 353.1 26.3
其中:国有及国有控股企业 1114.5 15.3
大中型工业企业 1567.1 17.0

以下判断正确的是( )。

A.集体企业增加值增速最慢

B.国有企业增加值最少

C.外商及港澳台商投资企业与股份合作企业的增加值相同

D.股份制企业增加值最多

答案

参考答案:D

解析: 集体企业增加值的增长速率为16.4,大于国有及国有控股企业的增长速度15.3.故A错误;国有企业的增加值为284.0,比股份合作企业的增加值多,故B错误;外商及港澳台投资企业的增加值为353.1,股份合作企业的增加值为17.2,故C项错误;股份制企业的增加值为1605.5,高于其他企业,D项正确,故选D。

单项选择题
问答题

[说明]
操作系统中,死锁(Deadlock)是指多个进程在运行的过程中因争夺资源而造成的一种僵局。当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。
面对死锁问题有两个解决方案:预防死锁和避免死锁。
预防死锁是一种较简单和直观的事先预防方法。该方法是通过设置某些限制条件,去破坏产生死锁的四个必要条件中的一个或多个,以此来预防死锁的发生。预防死锁由于较易实现,已被广泛应用,但由于所施加的限制条件往往太严格,可能会导致系统资源利用率和系统吞吐量的降低。
避免死锁同样是属于事先预防的策略,但它无须事先采取各种限制措施去破坏产生死锁的四个必要条件,而是在资源分配过程中,用某种方法去防止系统进入不安全状态,从而避免发生死锁。
银行家算法(Banker’s algorithm)是Dijkstra于1965年提出的一个经典的避免死锁的算法。形象地描述银行发放贷款不能使有限可用资金匮乏而导致整个银行无法运转的思路,也就是说每次请求贷款,银行要考虑他能否凭着贷款完成项目,并还清贷款使银行运转正常。令Request(i)是进程P(i)请求向量,如果Request(i)[j]=k则进程P(i)希望请求j类资源k个。具体算法步骤如下:
(1)如果Request(i)>Need(i)则出错(请求量超过申报的最大量),否则转到(2);
(2)如果Request(i)>Available则P(i)等待,否则转(3);
(3)系统对P(i)所请求的资源实施试探分配,并更改数据结构中的数值;
(4) Available = Available - Request(i):
Allocation(i) = Allocation(i) + Request(i);
Need(i) = Need(i) - Request(i);
(5)执行安全性算法,如果是安全的,则承认试分配,否则废除试分配,让进程P(i)继续等待。
所谓系统是安全的,是指系统中的所有进程能够按照某一种次序分配资源,并且依次运行完成,这种进程序P1, P2, …, Pn就是安全序列。如果存在这样一个安全序列,则系统是安全的;如果系统不存在这样一个安全序列,则系统是不安全的。

简述产生死锁的四个必要条件。