文档介绍:1. 设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后在搬到缓冲区B2中,并在打印机上印出,问:
①系统要设几个进程来完成这个任务?各自的工作是什么?
②这些进程间有什么样的相互制约关系?
③用P、V操作写出这些进程的同步算法。
解:
①系统可设三个进程来完成这个任务:R进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;C进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区B2中;P进程负责从缓冲区B2中取出信息,并在打印机上印出。
②R进程受C进程影响,B1放满信息后R进程要等待——等C进程将其中信息全部取走,才能继续读入信息;C进程受R进程和P进程的约束:B1中信息放满后C进程才可从中取出它们,且B2被取空后C进程才可将加工结果送入其中;P进程受C进程的约束:B2中信息放满后P进程才可从中取出它们,进行打印。
③信号量含义及初值:
B1full——缓冲区B1满,初值为0;(B1full=1表示B1满)
B1empty——缓冲区B1空,初值为1;(B1empty=1表示B1空)
B2full——缓冲区B2满,初值为0;(B2full=1表示B21满)
B2empty——缓冲区B2空,初值为1;(B2empty=1表示B2空)
R进程 C进程 P进程
P(B2full)
从B2中取出信息进行打印
V(B2empty)
P(B1full)
P(B2empty)
取B1送入B2
V(B1empty)
V(B2full)
P(B1empty)
输入信息写入B1
V(B1full)
2、现有一个作业,在段式存储管理的系统中已为其主存分配,建立的段表内容如下:
段号
主存起始地址(段基址)
段长度
0
120
40
1
760
30
2
480
20
3
370
20
计算逻辑地址(2,15),(0,60),(3,18)的绝对地址是多少?
注:括号中第一个元素为段号,第二个元素为段内地址。
解:
段式存储管理的地址转换过程为:(1)根据逻辑地址中的段号查段表的相应栏目;(2)根据段内地址<段长度,检查地址是否越界;(3)若不越界,则绝对地址=该段的主存起始地址+段内地址。
逻辑地址(2,15)查段表得段长度为20,段内地址15<20,地址不越界,段号2查表得段首地址为480,于是绝对地址为480+15=495。
逻辑地址(0,60)查段表得段长度为40,段内地址60>40,地址越界,系统发出“地址越界”中断。
逻辑地址(3,18)查段表得段长度为20,段内地址18<20,地址不越界,段号3查表得段首地址为370,于是绝对地址=370+18=388。
,44,40,4,80,12,76,假设每移动一个柱面需要3毫秒时间,移动臂当前位于40号柱面,请按下列算法分别计算为完成上述各次访问总共花费的寻找时间。
 (1)先来先服务算法;  
(2)最短寻找时间优先算法。
解(1)3毫秒×292=876毫秒(2)3毫秒×120=360毫秒
(注:各算法使移动臂的移动次序和移动的柱面数如下:
(1)40 → 20 → 44