阅读下面的描述,填空(1)-(9)。注意天空用大写字母,()使用英文的括号。
有两个并发执行的进程A和B。进程A每次读一个随机整数,由进程B统计读出的偶数个数。回答下列问题:
(1)并发进程A和B之间是同步还是互斥关系?( 1 )
(2)给出用PV操作管理时应定义的信号量及其初值。
( 2 )表示 是否可以读一个数;( 3 )表示是否统计偶数个数。
(3)将下列进程的程序结构中的方框位置填写完整,以保证进程能按要求正确地并发执行。
process A
process B
x: interger;
count: interger;
begin
count:=0;
L1: ( 4 ) ;
Begin
L2: x:=随机数;
L4: ( 8 ) ;
L3: if x mod 2 =0 then ( 5 ) ;
L5: count:=count+1;
else goto ( 6 ) ;
L6: ( 9 ) ;
goto ( 7 )
goto L4
end;
end;
有两个并发执行的进程A和B。进程A每次读一个随机整数,由进程B统计读出的偶数个数。回答下列问题:
(1)并发进程A和B之间是同步还是互斥关系?( 1 )
(2)给出用PV操作管理时应定义的信号量及其初值。
( 2 )表示 是否可以读一个数;( 3 )表示是否统计偶数个数。
(3)将下列进程的程序结构中的方框位置填写完整,以保证进程能按要求正确地并发执行。
process A
process B
x: interger;
count: interger;
begin
count:=0;
L1: ( 4 ) ;
Begin
L2: x:=随机数;
L4: ( 8 ) ;
L3: if x mod 2 =0 then ( 5 ) ;
L5: count:=count+1;
else goto ( 6 ) ;
L6: ( 9 ) ;
goto ( 7 )
goto L4
end;
end;
举一反三
- 有六组量子数: (1) n=3,l=1,m=-1;(2) n=3,l=0,m=0;(3) n=2,l=2,m=-1;(4) n=2,l=1,m=0;(5) n=2,l=0,m=-1;(6) n=2,l=3,m=2 其中正确的是( )。 A: (1)(3)(5) B: (2)(4)(6) C: (1)(2)(4) D: (1)(2)(3)
- The output of the following code is ____.<br/>count = 1; /* initialize count */ while (count <= 10) { printf("%d ",count); count++; /* increment count */ } A: 1 1 1 1 1 1 1 1 … B: 1 2 3 4 5 6 7 8 9 C: 1 2 3 4 5 6 7 8 9 10 D: 1 2 3 4 5 6 7 8 9 10 11
- 在下列六组量子数中,正确的是① n=3,l= 1,m=-1 ② n = 3,l= 0,m = 0③ n = 2,l= 2 ,m=-1 ④ n = 2, l = 1 ,m = 0 ⑤ n = 2,l = 0,m =-1 ⑥ n= 2,l = 3 , m= 2 A: (1),(2),(4) B: (2),(4),(6) C: (1),(2),(3) D: (1),(3),(5)
- 已知有 6 个进程共享一个互斥段,如果最多允许3 个进程同时进入互斥段,则信号量S 的变化范围是(1) ;若信号量S 的当前值为-2,则表示系统中有(2)个正在等待该资源的进程。 1() A: -5~1 B: -3~3 C: -2~4 D: -2~5
- 下列各组量子数哪些是不合理的,为什么? (1) n=2,l=1,m=0; (2) n=2,l=2,m=-1; (3) n=3,l=0,m=0; (4) n=3,l=1,m=+1; (5) n=2,l=0,m=-1; (6) n=2,l=3,m=+2