文档介绍:操作系统计算题————————————————————————————————作者:————————————————————————————————日期: 计算题:生产消费者问题 为解决生产者消费者问题,应该设两个同步信号量,一个说明空缓冲区的数目,用S1 表示,初值为有界缓冲区的大小N,另一个说明已用缓冲区的数目,用S2表示,初值 为0。由于在此问题中有M个生产者和N个消费者,它们在执行生产活动和消费活动中要对有界缓冲区进行操作。由于有界缓冲区是一个临界资源,必须互斥使用,所以,另外还需要设置一个互斥信号量mutex,其初值为1。P:i=0;while(1){生产产品;P(S1);P(mutex);往Buffer[i]放产品;i=(i+1)%n;V(mutex);V(S2);};Q:j=0;while(1){P(S2);P(mutex);从Buffer[j]取产品;j=(j+1)%n;V(mutex);V(S1);消费产品;};地址转换例1:若在一分页存储管理系统中,某作业的页表如下所示。已知页面大小为1024字节,试将逻辑地址1011,2148,3000,4000,5012转化为相应的物理地址。页号块号02132136解:本题中,为了描述方便,设页号为P,页内位移为W,逻辑地址为A,页面大小为L,则:p=int(A/L)w=AmodL对于逻辑地址1011p=int(1011/1024)=0w=1011mod1024=1011查页表第0页在第二块,所以物理地址为3059。对于逻辑地址2148p=int(2148/1024)=2w=2148mod1024=100查页表第2页在第1块,所以物理地址为1124。对于逻辑地址3000p=int(3000/1024)=2w=3000mod1024=928查页表第2页在第1块,所以物理地址为1796。对于逻辑地址4000p=int(4000/1024)=3w=4000mod1024=928查页表第3页在第6块,所以物理地址为7072。对于逻辑地址5012p=int(5012/1024)=4w=5012mod1024=916因页号超过页表长度,该逻辑地址非法。例2:在一分页存储管理系统中,逻辑地址长度为16位,页面大小为4096字节,现有一逻辑地址为2F6AH,且第0,1,2页依次存放在物理块5,10,11中,问相应的物理地址为多少?解:由题目所给给条件可知,本页式系统的逻辑地址结构为:逻辑地址2F6AH的二进制表示如下:由此可知逻辑地址2F6AH的页号为2,该页存放在第11号物理块中,用十六进制表示志号为B,:设文件索引节点中有7个地址项,其中4个地址项为直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引,每个地址项大小为4字节,若磁盘索引块和盘块大小均为256字节,则可表示的单个文件的最大长度是多少?解答:本题的文件结构属混合索引分配方式。每个地址项大小为4字节,索引块和盘块大小为256字节,每个索引块中的项目数=256B/4B=64个。4个地址项为直接地址索引,对应的文件大小为4×256B=1KB。2个地址项是一级间接地址索引,对应的文件大小是2×64×256B=32KB,一个地址项是二级间接地址索引,对应的文件大小为1×64×64×256B=1024KB。所以单个文件的最大长度=1KB+32KB+1024KB=1057KB。磁盘调度算法:先来先服务FCFS最短寻道时间优先SSTFSCAN算法循环扫描(CSCAN)算法例:假设一个活动头磁盘有200道,编号从0-,(磁道号):86,147,91,177,94,150,102,175,130试给出采用下列算法后磁头移动的顺序和移动总量(总磁道数).(1).先来先服务(FCFS)磁盘调度算法.(2).最短寻道时间优先(SSTF)磁盘调度算法.(3).扫描法(SCAN)磁盘调度算法.(假设沿磁头移动方向不再有访问请求时,磁头沿相反方向移动.)答案:三、(1)86,147,91,177,94,150,102,175,130(2)当前磁头在143道上:147,150,130,102,94,91,86,175,177(3)当前磁头在143道上,并且刚刚完成125道的请求147,150,175,177,130,102,94,91,86调度算法(求周转时间,加权周转时间):该算法按照进程进入就绪队列的先后顺序选择最先进入该队列的进程,把处理机分配给它,使之投入运行。:总是选择具有最高优先级的进程首先使用处理机。在这种算法 中,首先考虑的问题是如何确定进程的