第二章习题42835备课讲稿.docx

上传人:b****6 文档编号:5545817 上传时间:2022-12-19 格式:DOCX 页数:10 大小:35.22KB
下载 相关 举报
第二章习题42835备课讲稿.docx_第1页
第1页 / 共10页
第二章习题42835备课讲稿.docx_第2页
第2页 / 共10页
第二章习题42835备课讲稿.docx_第3页
第3页 / 共10页
第二章习题42835备课讲稿.docx_第4页
第4页 / 共10页
第二章习题42835备课讲稿.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

第二章习题42835备课讲稿.docx

《第二章习题42835备课讲稿.docx》由会员分享,可在线阅读,更多相关《第二章习题42835备课讲稿.docx(10页珍藏版)》请在冰豆网上搜索。

第二章习题42835备课讲稿.docx

第二章习题42835备课讲稿

 

第二章习题42835

●假定一个阅览室最多可容纳100人,读者进入和离开阅览室时都必须在阅览室门口的一个登记表上进行登记,而且每次只允许一人进行登记操作,请用记录型信号量机制实现上述问题的同步。

定义信号量sum,mutex,初值分别为100,1。

(3分)则第i个读者的活动描述为:

procedurePi(i=1,2,3……)

begin

wait(sum);

wait(mutex);

登记;

signal(mutex);

进入阅览室;

阅读;

wait(mutex);

登记;

signal(mutex);

离开阅览室;

signal(sum);

end

●请用信号量解决以下的“过独木桥”问题:

同一方向的行人可连续过桥,当某一方向有人过桥时,另一方向的行人必须等待;当某一方向无人过桥时,另一方向的行人可以过桥。

将独木桥的两个方向分别标记为A和B;并用整形变量countA和countB分别表示A、B方向上已在独木桥上的行人数,初值为0;再设置三个初值都1的互斥信号量:

SA用来实现对countA的互斥访问,SB用来实现对countB的互斥访问,mutex用来实现两个方向的行人对独木桥的互斥使用。

则具体描述如下:

VarSA,SB,mutex:

semaphore:

=1,1,1;

CountA,countB:

integer:

=0,0:

begin

parbegin

processA:

begin

wait(SA);

if(countA=0)thenwait(mutex);

countA:

=countA+1;

signal(SA);

过独木桥;

wait(SA);

countA:

=countA-1;

if(countA=0)thensignal(mutex);

signa(SA);

end

processB:

begin

wait(SB);

if(countB=0)thenwait(mutex);

countB:

=countB+1;

signal(SB);

过独木桥;

wait(SB);

countB:

=countB-1;

if(countB=0)thensignal(mutex);

signa(SB);

end

parend

end

 

●设公共汽车上,司机和售票员的活动分别是:

司机的活动:

启动车辆;正常行车;到站停车;售票员的活动:

关车门;售票;开车门;请用记录型信号量机制实现上述问题的同步。

Vars1,s2:

semaphore:

=0,0;/*s1表示是否允许司机启动汽车,s2表示是否允许售票员开门*/

begin

parbegin

driver:

begin

repeat

wait(s1);

启动车辆;

正常行车;

到站停车;

signal(s2);

untilfalse;

end

busman:

begin

repeat

关车门;

signal(s1);

售票;

wait(s2);

开车门;

上下乘客;

untilfalse;

end

parend

end

●有三个进程PA、PB和PC合作解决文件打印问题:

PA将文件记录从磁盘读入主存的缓冲区1,每执行一次读一个记录;PB将缓冲区1的内容复制到缓冲区2,每执行一次复制一个记录;PC将缓冲区2的内容打印出来,每执行一次打印一个记录。

缓冲区的大小等于一个记录大小。

解释P、V操作的含义,并用P、V操作来保证文件的正确打印。

(1)P、V操作是两条原语,定义如下:

P操作:

P操作记为P(S),其中S为一信号量,它执行时主要完成下述动作:

S=S-1

若S>=0,则进程继续运行。

若S<0,则该进程被阻塞,并将它插入该信号量的等待队列中。

V操作:

V操作记为V(S),其中S为一信号量,它执行时主要完成下述动作:

S=S+1

若S>0,则进程继续运行。

若S<=0,则从信号量的等待队列中移出队首进程。

使其变为就绪状态。

 

(2)描述如下:

Varempty1,empty2,full1,full2:

semaphore:

=1,1,0,0;

begin

parbegin

process1:

begin

repeat

从磁盘读一个记录;

P(empty1);

将记录存入缓冲区1;

V(full1);

untilfalse;

end

process2:

begin

repeat

P(full1);

从缓冲区1取出纪录;

V(empty1);

P(empty2);

将记录存入缓冲区2;

V(full2);

untilfalse;

end

process3:

begin

repeat

P(full2);

从缓冲区2取出纪录;

V(empty2);

打印记录;

untilfalse;

end

parend

●假如一个程序的段表如下,其中存在位为1表示段在内存,对于下面指令,在执行时会产生什么样的结果。

(1)STORER1,[0,70]

(2)STORER1,[1,20]

(3)LOADR1,[3,50]

(4)LOADR1,[3,100]

(5)JMP[2,150]

(1)由于第0段的存在位为0,表示该段未装入内存,因此产生缺段中断。

(2)从段表第1项可看到,指令中逻辑地址合法,段也已经在内存,但存取控制字段不符,故产生保护性中断信号。

(3)逻辑地址合法,存取方式合法,形成物理地址8050后,执行指定操作。

(4)逻辑地址中段内地址超长,产生越界中断信号。

(5)逻辑地址及访问方式合法,形成物理地址3150,指令执行后,将条转到内存单元3150处继续执行。

 

●现有一请求分页的虚拟存储器,内存最多容纳4个页面,对于下面的引用串:

1,2,3,4,5,3,4,1,6,7,8,7,8,9,7,8,9,5,4,5,4,2分别采用FIFO,LRU,OPT页面替换算法,各将产生多少次缺页中断?

3.FIFO:

1

2

3

4

5

3

4

1

6

7

8

7

8

9

7

8

9

5

4

5

4

2

1

1

1

1

5

5

5

5

5

5

8

8

8

8

8

8

8

8

8

8

8

2

2

2

2

2

2

2

1

1

1

1

1

1

9

9

9

9

9

9

9

9

9

3

3

3

3

3

3

6

6

6

6

6

6

6

6

6

5

5

5

5

5

4

4

4

4

4

4

7

7

7

7

7

7

7

7

7

4

4

4

4

 

LRU

1

2

3

4

5

3

4

1

6

7

8

7

8

9

7

8

9

5

4

5

4

2

1

1

1

1

2

2

2

5

3

4

1

1

1

6

6

6

6

7

8

8

8

9

2

2

2

3

4

5

3

4

1

6

6

6

7

8

9

7

8

9

9

9

5

3

3

4

5

3

4

1

6

7

8

7

8

9

7

8

9

5

4

5

4

4

5

3

4

1

6

7

8

7

8

9

7

8

9

5

4

5

4

2

OPT

1

2

3

4

5

3

4

1

6

7

8

7

8

9

7

8

9

5

4

5

4

2

1

1

1

1

1

1

1

1

6

6

8

8

8

8

8

8

8

8

8

8

8

2

2

2

2

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

3

3

3

3

3

3

3

7

7

7

7

7

7

7

7

7

4

4

4

4

4

4

4

4

4

4

4

4

4

4

9

9

9

9

9

9

9

9

9

FIFO共13次缺页中断,LRU也要13次缺页中断,OPT要11次缺页中断。

2.已知某分页系统,主存容量为64K,页面大小为1K,对一个4页大的作业,其0、1、2、3页分别被分配到主存的2、4、6、7块中。

(1)将十进制的逻辑地址1023、2500、3500、4500转换成物理地址。

(2)以十进制的逻辑地址1023为例画出地址变换过程图。

2.

3.假设一个可移动磁头的磁盘具有200个磁道,其编号为0~199,当前位于第143道,假设系统当前I/O请求队列如下:

86,147,91,177,94,150,102,175,130

试对以下的磁盘I/O调度算法而言,满足以上请求队列,磁头寻道顺序如何?

寻道总长度是多少?

(1)先来先服务算法(FCFS)

(2)最短寻道时间优先调度(SSTF)(3)扫描算法(SCAN)(4)循环扫描算法(CSCAN)

●有三个进程PA、PB和PC合作解决文件打印问题:

PA将文件记录从磁盘读入主存的缓冲区1,每执行一次读一个记录;PB将缓冲区1的内容复制到缓冲区2,每执行一次复制一个记录;PC将缓冲区2的内容打印出来,每执行一次打印一个记录。

缓冲区的大小等于一个记录大小。

解释P、V操作的含义,并用P、V操作来保证文件的正确打印。

2.在一个请求分页系统中,假如一个作业的页面走向---为7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1当分配给该作业的物理块数为3时,分别采用LRU、OPT页面置换算法时,试计算访问过程中所发生的中断次数。

3.设作业A的页面映象表如下图所示:

(一页=一块=1024字节)

页号

块号

中断位

访问位

修改位

辅存地址

 8

 1 

 1 

 1 

1000

 5

 1 

 0 

 0 

3000

 7

 1 

 1 

 0 

5000

 

 0 

 0 

 0 

8000

问:

①指出页表中中断位、访问位、修改位、辅存地址的含义?

②当执行到1000单元的指令“LOAD1,1800”时,系统是怎样进行地址变换(即1800在主存的哪个单元中)

③当执行到1500单元指令(LOAD1,3600)时,会发生什么现象?

4.在两道环境下有四个作业,已知它们进入系统的时间、估计运行时间,系统分别采用短作业优先作业调度算法(可抢占式)和最高响应比优先调度算法(可抢占式),分别给出这四个作业的执行时间序列,并计算出平均周转时间及带权平均周转时间。

●假设有4道作业,它们提交的时刻及执行时间由下表给出,计算在单道程序环境下,采用先来先服务调度算法、最短作业优先算法、最高响应比优先算法的平均周转时间和平均带权周转时间,并指出它们的调度顺序。

作业

提交时间

运行时间

1

8.0

2.0

2

8.5

0.5

3

9.0

0.1

4

9.5

0.2

 

先来先服务调度算法

作业

提交时间

运行时间

开始时间

完成时间

周转时间

带权周转时间

1

8.0

2.0

8.0

10.0

2.0

1.0

2

8.5

0.5

10.0

10.5

2.0

4.0

3

9.0

0.1

10.5

10.6

1.6

16.0

4

9.5

0.2

10.6

10.8

1.3

6.5

T=1.725 W=6.875

最短作业优先算法

作业

提交时间

运行时间

开始时间

完成时间

周转时间

带权周转时间

1

8.0

2.0

8.0

10.0

2

1

2

8.5

0.5

10.3

10.8

2.3

4.6

3

9.0

0.1

10.0

10.1

1.1

11

4

9.5

0.2

10.1

10.3

0.8

4

T=1.55 W=5.15

 

最高响应比优先算法

响应比Rp=作业响应时间/运行时间=作业等待时间+作业运行时间

=1+作业等待时间/作业运行时间

作业

提交时间

运行时间

开始时间

完成时间

Rp

周转时间

带权周转时间

1

8.0

2.0

8.0

10.0

1

2

1

2

8.5

0.5

10.1

10.6

3.2

2.1

4.2

3

9.0

0.1

10.0

10.1

10

1.1

11

4

9.5

0.2

10.6

10.8

5.5

1.3

6.5

T=1.625 W=5.675

●有3个进程P1、P2和P3并发执行。

进程P1需使用资源r3和r1,进程P2需使用资源r1和r2,进程P3需使用资源r2和r3。

⑴若对资源分配不加限制,会发生什么情况,为什么?

⑵为保证进程能执行到结束,应采用怎样的资源分配策略?

(1)会发生死锁。

因为,如果进程P1获得资源r1,等待r3,进程P2获得资源r2,等待r1,进程P3获得资源r3,等待r2,这样三个进程将相互等待,发生死锁。

(2)应该采用“静态分配法”,一次性地要么把进程所需资源全部分配给进程,要么就一个资源也不分配,或者采用“有序分配法”,摒弃产生死锁的“环路等待”条件,或每次分配资源的时候用“银行家算法”看这次分配会不会使系统进入不安全状态,如果不会再分配。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1