您好,欢迎访问三七文档
试全面比较连续分配方式和离散分配方式。连续分配方式和离散分配方式的区别主要在于:1、连续分配方式要求进程必须分配到一片连续的内存区域中,而离散分配方式则没有此限制条件,即可把一个进程分散地分配到许多不相邻接的内存区域中。2、连续分配方式会形成许多无法利用的碎片(外零头),以致内存利用率较低;当然也可通过紧凑技术实现碎片的拼接和利用,但系统开销不容忽视。离散分配方式则把碎片的发生限制到了相对较少的程度,提高了内存利用率。3、连续分配方式关于代码或数据访问的地址转换过程较为简单,而离散分配方式则需要由专门的地址转换硬件机构来支持相关过程且较为复杂。4、连续分配方式无法实现信息共享,而离散分配方式则可以实现信息共享。5、离散分配方式可用于虚拟存储器系统,而连续分配方式则不行。银行家算法,安全序列见习题解答地址变换错误较多某虚拟存储器的用户空间共有4个页面,每页1KB,主存16KB。假定某时刻系统为用户的第0、1、2、3页分别分配的物理块号为5、10、4、7,试将虚拟地址0A5C和1A5C变换为物理地址。方法2:每页为1KB,故逻辑地址页内地址应占用低10位,11位以上为页号。①虚拟地址(0A5C)16=[(0)(10|10)2(5)(C)]16于是,页号为[(0)(10)2]16=(2)10,对应物理块号为(4)10=[(0001)2(00)2]16;所以,物理地址为[(0001)2(00|10)2(5)(C)]16=(125C)16②虚拟地址(1A5C)16=[(0001)(10|10)2(5)(C)]16于是,页号为[(0110)2]16=(6)10,对应物理块号不存在,该页失效!1.利用记录型信号量解决哲学家进餐问题放在桌子上的筷子是临界资源,在一段时间内只允许一个哲学家使用。为实现对筷子的互斥使用,用一个信号量表示一只筷子,五个信号量构成信号量数组。semaphorechopstick[5]={1,1,1,1,1},counter=4;第i位哲学家的活动可描述为:do{wait(counter);wait(chopstick[i]);wait(chopstick[(i+1)%5]);…//eat;…signal(chopstick[i]);signal(chopstick[(i+1)%5]);signal(counter);…//think;}while(TRUE);Semaphoremutex=1,apple=0,orange=0;Main(){cobeginFather();son();daugher();Coend}Father(){while(true){p(mutex);将苹果放入盘子;If(放入桔子)v(orange);elsev(apple);}}son(){while(true){p(orange);从盘子取桔子;v(mutex);吃桔子;}}daugher(){while(true){p(apple);从盘子取苹果;v(mutex);吃苹果;}}返回爸爸,妈妈,儿子,女儿Varmutex,apple,banana:Semaphore:=1,0,0;Main(){cobeginFather();mother();son();daugher();Coend}Father(){while(true){p(mutex);将苹果放入盘子;v(apple);}}Mother(){while(true){p(mutex);将香蕉放入盘子;v(banana);}}son(){while(true){p(banana);从盘子取香蕉;v(mutex);吃香蕉;}}daugher(){while(true){p(apple);从盘子取苹果;v(mutex);吃苹果;}}返回爸爸,妈妈,儿子,女儿习题:第一章p251,3,9,(10,11,12,13)第二章p682,4,6,7,13,16,27,28,34,38(19,20,24)第三章p1011,2,6,7,16,18,,20第四章p1425,9,12,14,15,16,18,23第五章p1819,13,15,18,19第六章p2194,10,19,20
本文标题:习题课2
链接地址:https://www.777doc.com/doc-4734288 .html