操作系统复习计算题

 

某段式存储管理系统中,有一作业的段表如下表所示,求逻辑地址[0,65],[1,55],[2,90],[3,20]对应的主存地址(按十进制)。(其中方括号中的第一个元素为段号,第二个元素的段内地址。)

0       200      600    0

1        50      850    0

2       100     1000    0

3       150      —     1

8.解:逻辑地址[0,65],对应的主存地址为600+65=665。

逻辑地址[1,55],因为段内地址超过段长,所以产生段地址越界中断。

      逻辑地址[2,90],对应的主存地址为 1000+90=1090。

逻辑地址[3,20],因状态为1,即该段在辅存中,故产生缺段中断。

在一个盒子里,混装了数量相同的围棋白子和黑子。现要由进程 把白子和黑子分开。拣白子,拣黑子,规定每个进程每次只拣一子,当一进程不在拣子时,不允许另一个进程去拣,当一进程拣了一子时,必须让另一进程接着去拣。试用P.V操作写出这两个进程正确执行的程序

2.解:由规定,每进程每次只拣一子,且每次只能一进程拣子,故两进程互斥进入,但每进程拣一子后,另一进程必须进入拣子。则其实是同步问题,故设置两信号量S1、S2,如果先让P1拣白子,则信号量初值S1=1,S2=0,两并发进程程序如下:

进程P1 进程P2

   P(S1)     P(S2)

  拣一白子    拣一黑子

 V(S2)                              V(S1)

3.桌上有一只盘子,每次只能放入一个水果,进程 向盘中放苹果,进程向盘中放桔子,进程取走盘中苹果,进程取走盘中桔子。试用P,V操作写出它们能正确执行的程序。

3.解:设信号量S的初值1,信号量的S1 S2初值均为0。程序如下:

进程P1 进程P2

  

 P(S)                P(S)

   向盘中放苹果      向盘中放桔子

   V(S1)     V(S2)     

进程P3  进程P4

 P(S1)              P(S2)

  取盘中苹果         取盘中桔子

   V(S)   V(S)


版权声明:本文为weixin_46432435原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。