操作系统-课后自测

一、设有5个进程P1、P2、P3、P4和P5,它们到达时间和要求服务时间如下表(单位为ms),请按时间片轮转调度算法完成,时间片大小为3。  

             

Process:        P1    P2     P3    P4    P5

到达相对时刻:   0     3      5     9     13

执行或服务时间: 7     6      10    8     2


(1)写出进程的实际调度序列:____,____,____,____,____,____,____,____,____,____,____,____,____。

(2)计算平均带权周转时间(保留两位小数)____________。

解答:

甘特图为

0 3 6 9 12 15 18 19 22 24 27 30 32 33
  P1 P2 P1 P3 P2 P4 P1 P3 P5 P4 P3 P4 P3

(1)进程的实际调度序列为: P1   P2   P1   P3   P2   P4   P1   P3   P5   P4   P3   P4   P3

(2)平均带权周转时间 = [ ( 19 - 0 )/7 + ( 15 - 3 )/6 + ( 33 - 5 )/10 + ( 32 - 9 )/8 + ( 24 - 13 )/2 ]/5

                      = ( 19/7 + 12/6 + 28/10 + 23/8 + 11/2 )/5

                      = 15.88 / 5

                      = 3.176

                      ≈ 3.18

注:周转时间 = 进程完成时间 - 进程相对到达时间

    带权周转时间 = 周转时间 / 服务时间

  平均带权周转时间 = 所有进程周转时间之和 / 进程数

二、设有两个进程P、Q,P的优先级高于Q,同时进入就绪队列。各自运行的程序段如下所示:

进程P                           进程Q

P1  Y=12                        Q1   X=18

P2  Y=A+Y                       Q2   A=X+A

P3  P(S1)                     Q3   V(S1)

P4  A=Y+X                       Q4   X=A+Y

P5  V(S2)                     Q5   P(S2)

P6  X=Y+A                       Q6   A=X-Y

其中S1、S2为信号量,初值为0;已知X、Y、A为共享变量,X的初值为83,Y初值为35,A初值为38;若调度程序执行的策略为抢占式优先权原则,试问:

(1)执行序列(用编码Pi、Qi表示,每空填写一个编码)_____、_____、_____、_____、_____、_____、_____、_____、_____、_____、_____、_____

 

(2)变量X、Y、A的运行结果依次是_______、______、_______。

解答:

初值: X = 83    Y = 35    A = 38    S1 = 0    S2 = 0

执行序列:

P1  Y = 12

P2  Y = A + Y = 38 + 12 = 50

P3  P(S1)  S1 → -1

Q1  X = 18

Q2  A = X + A = 18 + 38 = 56

Q3  V(S1) S1 → 0

P4  A= Y + X = 50 + 18 = 68

P5  V(S2)  S2 → 1

P6  X = Y + A = 50 + 68 = 118

Q4  X = A + Y = 68 + 50 = 118

Q5  P(S2)  S2 → 0

Q6  A = X - Y = 118 - 50 = 68

(1)P1 P2 P3 Q1 Q2 Q3 P4 P5 P6 Q4 Q5 Q6

(2)X = 118    Y = 50    A = 68

 
注:P操作的主要动作是: 
    ①S-1;
    ②若S-1>=0,则进程继续执行;
    ③若S-1<=0,则该进程被阻塞后放入等待该信号量的等待队列中,然后转进程调度。
    V操作的主要动作是: 
    ①S+1;
    ②若S+1>0,则进程继续执行;
    ③若S+1<=0,则从该信号的等待队列中释放一个等待进程,然后再返回原进程继续执行或转进程调度。
 
三、 假定系统中有五个进程(P0, P1, P2, P3, P4)和四种类型的资源(A, B, C, D), 全部资源的数量(Vector)为(3, 12, 14, 14);
    在T0时刻的资源分配情况如下表。

 

Process

Max

Allocation

A

B

C

D

A

B

C

D

P0

0

0

4

4

0

0

3

2

P1

2

7

5

0

1

0

0

0

P2

3

5

9

8

1

3

4

4

P3

0

8

8

4

0

3

3

2

P4

0

6

6

11

0

0

1

4

 

(1)此时系统中的可利用资源向量ABCD为__________。(所有数字之间不留空格)

(2)用银行家算法判断T0时刻系统状态是否安全?______(填A或B: A安全  B不安全)如为安全状态给出按P0-P4循环的安全序列__________。(安全序列中不留空格,如不安全填B)

(3)若进程P2提出请求Request(0,1,1,0),系统能否将资源分配给它?__________(填A或B:A能  B不能)

解答:

Process Max Allocation Need Available
A B C D A B C D A B C D A B C D
P0 0 0 4 4 0 0 3 2 0 0 1 2 1 6 3 2
P1 2 7 5 0 1 0 0 0 1 7 5 0        
P2 3 5 9 8 1 3 4 4 2 2 5 4        
P3 0 8 8 4 0 3 3 2 0 5 5 2        
P4 0 6 6 11 0 0 1 4 0 6 5 7        

已分配资源(A, B, C, D) = (2, 6, 11, 12)

(1)

当前可用资源  =  资源总数(3, 12, 14, 14) - 当前已分配(2, 6, 11, 12)

               = (1, 6, 3, 2)

(2)

安全序列: P0 P3 P1 P2 P4

当前可用资源(1, 6, 3, 2)  能满足P0  Need(0, 0, 1, 2),P0完成后当前可用资源为(1, 6, 6, 4)

当前可用资源(1, 6, 6, 4)不能满足P1  Need(1, 7, 5, 0),继续向下进行判断

当前可用资源(1, 6, 6, 4)不能满足P2  Need(2, 2, 5, 4),继续向下进行判断

当前可用资源(1, 6, 6, 4)  能满足P3  Need(0, 5, 5, 2),P3完成后当前可用资源为(1, 9, 9, 6)

当前可用资源(1, 9, 9, 6)不能满足P4  Need(0, 6, 5, 7),继续向下进行判断,返回P1

当前可用资源(1, 9, 9, 6)  能满足P1  Need(1, 7, 5, 0),P1完成后当前可用资源为(2, 9, 9, 6)

当前可用资源(2, 9, 9, 6)  能满足P2  Need(2, 2, 5, 4),P2完成后当前可用资源为(3, 12, 13, 10)

当前可用资源(3, 12, 13, 10)能满足P4 Need(0, 6, 5, 7),P4完成后当前可用资源为(3, 12, 14, 14)

(3)

进程P2提出请求Request(0,1,1,0),系统执行银行家算法进行检查。

Request(0,1,1,0)<= P2 Need(2, 2, 5, 4);

Request(0,1,1,0)<= Available(1, 6, 3, 2);

系统进行假分配,

修改当前可用资源Available(1, 5, 2, 2)

修改P2 Allocation(1, 4, 5, 4)

修改P2 Need(2, 1, 4, 4)

仍能找到安全序列

答案:1、1 6 3 2

      2、A   P0 P3 P1 P2 P4

      3、A

四、在请求分页系统中,假设系统为进程P分配4个物理块,并将页面5, 7, 3预先装入主存且访问位A为1, 0, 0,

    页面访问串如下,采用Clock页面置换算法。说明:低物理地址优先,替换指针开始指向最低地址的物理块。

6,5,2,5,6,3,0,5,6,1,0,7,6,5,2

(1)缺页中断次数______次。 

(2)页面置换次数______次,依次被置换的页面为(页号之间不留空格)________________,最后主存中的页面P及对应的访问位A的值(用PA形式表示,如51)_______、_______、       _______、_______(PA之间不留空格)。

 

6

5

2

5

6

3

0

5

6

1

0

7

6

5

2

51*

5

51

51

51

51

51*

01

01

01

01*

01*

71

71

71

71*

7

61

61

61

61

61

61

6*

51

51

51

51

5*

5*

51*

5

3

3*

3*

21

21

21

21

2

2*

61

01

61

6

61

61

6

 

 

 

*

*

*

31

3

3

3*

11

11

1

1

1

21

 

 

 

 

 

 

 

 

7

 

3

 

 

 

5

6

2

3

 

0

 

 

1

答案:1、

      2、   

          73562301 

          71, 50, 60, 21 

猜你喜欢

转载自www.cnblogs.com/rhgaiymm/p/11791460.html