五、六章习题2018-12-5Chap5【4】分页式虚拟内存管理是如何实现内存管理的保护需求和共享需求的保护需求有两方面含义:隔离需求:即一个进程只能访问所分配的物理内存空间,不能跨越进程边界,访问另一个进程的物理内存空间;读写访问控制需求:一个物理内存分区/分段/分页作为一项资源,必须附加读写访问控制标识,对物理内存分区的访问必须受到访问控制的保护.
共享需求也有两方面含义:一是指整个物理内存空间被多个进程镜像所共享,从而在存储方面支持了多道程序设计;二是指,有时需要打破进程边界,让一些数据和代码被多个进程共享.
这样内存当中只有这些代码和数据的一个副本,从而节约了内存空间.
比如共享库(动态链接库)就是在多个进程间共享的代码,而共享内存(sharedmemory)就是多个进程共享同一数据的具体实现.
分页式虚拟内存管理通过进程控制块、页表、页表基址寄存器(PTBR)以及地址转换机制共同来实现保护需求.
具体过程如下:每个进程都有一个与之关联的页表,不同进程的页表存放在内存的不同区域,进程控制块(PCB)中保存着页表的基址.
由于不同进程的页表把虚拟页面映射到不同的物理页面,所以每个进程能够访问的物理内存空间仅仅局限在页表所限定的物理页面中,这就实现了进程的隔离需求.
另外,页表项中的读写控制位(《教材》图5-22)规定了对一个页面的读写操作许可位,限定了对一个虚拟(物理)页面的读写操作,进而实现了读写访问控制需求.
在实现代码和数据的共享时,只需要在进程的页表中,将相应的虚拟页面映射到同一物理页面即可实现单一副本共享(《教材》图5-22).
【13】解答:页面为4KB大小,则虚拟地址低12位为页面偏移,高20位为页面号.
因此有1M个页面,页表项有1M项.
由于程序和数据位于0号页面,堆栈位于最高页面,即1M-1号页面,其余页面均没有被分配出去,但是仍然在页表中占用页表项,因此很不经济.
如果采用二级页表,页目录占10位,二级页面号占10位,那么页目录项有1K个,每个二级页表的表项有1K个.
这样可以用一个页目录项表示1K个虚拟页面是否被分配,就比以及页表经济得多.
【14】虚拟地址空间物理地址空间哪段程序具有较好的局部性vaddr命中检查TLB20nsYes95%形成物理地址用物理地址访问内存80ns得到数据No5%一级页表访问一级页表80ns二级页表访问二级页表80ns得到页表项Validbit检查有效位形成物理地址validbit=190%触发缺页故障validbit=010%用物理地址访问内存80ns得到数据有空闲物理页面按照置换算法选择一个物理页面假定没有是否被更新过更新页表,更新TLB未更新过80%页面载入5000ns再次以vaddr访问TLB,这次能命中20ns形成物理地址用物理地址访问内存80ns更新过20%回写磁盘页面载入(5000*2)ns得到数据更新页表,更新TLB再次以vaddr访问TLB,这次能命中20ns形成物理地址用物理地址访问内存80nsCh6【8】谈谈文件的生命周期与打开文件的生命周期有什么不同答:文件存储在持久介质中,其生命周期跨越多次开机关机.
而打开文件对应内核中的一系列数据结构,这些数据结构随着进程打开一个文件而建立,随着进程关闭一个文件或者进程退出而消亡.
因此打开文件的生命周期存在于一个进程的生命周期中.
【11】假设UNIX系统已经在/path路径下挂载了一个文件系统.
那么一个应用程序为了读取/path/to/file的第一个字节,必须额外访问多少次磁盘答:要访问file的第一个字节,必然要进行一次磁盘访问,除此之外,还要根据路径名找到file文件,需要额外的磁盘访问.
找到file的文件内容需要经历下面几个步骤:1.
访问根目录"/"的i-node,需要访问一次磁盘;2.
根据i-node找到根目录的目录项列表;3.
在目录项列表中查找"path"对应的目录项,并得到path目录的i-node号,访问该i-node;4.
根据i-node得到path的目录项列表;5.
在path的目录项列表中查找"to"对应的目录项,并得到to的i-node号,访问该i-node;6.
根据i-node得到to的目录项列表;7.
在to的目录项列表中查找"file"对应的目录项,并得到file的i-node号,访问该i-node;8.
从i-node中得到file的文件内容磁盘分布,访问其第一个字节.
上述每个步骤都需要进行一次磁盘访问.
因此额外访问的次数是7次.
【14】设物理块大小为1K字节.
对于UNIX混合索引表,假设每个物理块最多可存放256个物理块号,请分别计算长度为7K字节、20K字节和50M字节的文件占用多少个数据块多少个直接索引块、多少个一级间接索引块、多少个二级间接索引块和多少个三级间接索引块对于50M大小的文件,共有50K个磁盘块,显然需要用到二级索引表,因为二级索引表可以表示256*256=64K个块,因此(50K-256-12)个块用二级索引来表示.
(50K-256-12)/256=198.
9.
一级索引表占一个块,二级索引表共有199个,即占199个块,因此二级索引表共占200个磁盘块.
数脉科技(shuhost)8月促销:香港独立服务器,自营BGP、CN2+BGP、阿里云线路,新客立减400港币/月,老用户按照优惠码减免!香港服务器带宽可选10Mbps、30Mbps、50Mbps、100Mbps带宽,支持中文本Windows、Linux等系统。数脉香港特价阿里云10MbpsCN2,e3-1230v2,16G内存,1T HDD 或 240G SSD,10Mbps带宽,IPv41个,...
虎跃科技怎么样?虎跃科技(虎跃云)是一家成立于2017年的国内专业服务商,专业主营云服务器和独立服务器(物理机)高防机房有着高端华为T级清洗能力,目前产品地区有:山东,江苏,浙江等多地区云服务器和独立服务器,今天虎跃云给大家带来了优惠活动,为了更好的促销,枣庄高防BGP服务器最高配置16核32G仅需550元/月,有需要的小伙伴可以来看看哦!产品可以支持24H无条件退款(活动产品退款请以活动规则为准...
digital-vm,这家注册在罗马尼亚的公司在国内应该有不少人比较熟悉了,主要提供VPS业务,最高10Gbps带宽,还不限制流量,而且还有日本、新加坡、美国洛杉矶、英国、西班牙、荷兰、挪威、丹麦这些可选数据中心。2020年,digital-vm新增了“独立服务器”业务,暂时只限“日本”、“新加坡”机房,最高也是支持10Gbps带宽... 官方网站:https://digital-vm.co...
物理内存为你推荐
美国vps服务器请问国外VPS服务器去哪里买呀,急求?拜托了各位 谢谢独立ip主机独立ip虚拟主机怎么样?是不是真的很好用,和vps有什么区别吗?海外域名怎样注册国外域名?成都虚拟空间五星网络隶属于成都冠一科技有限公司,虚拟空间购买了不到一个月不能访问2次,质量真差啊!重庆虚拟空间重庆那里可以租用VSP主机北京网站空间自己弄一个简单的网站,大概需要办理什么,大概需要多少钱?郑州虚拟主机请问郑州哪家公司可以做网站还有相应服务器服务的?天津虚拟主机天津哪个是新网互联代理呢,我打算购买邮局?windows虚拟主机win10用什么虚拟机好西安虚拟主机谁能推荐一个比较好西安网络公司?
免费vps服务器 域名备案中心 美国独立服务器 Vultr 美国主机网 win8升级win10正式版 警告本网站 免费ddos防火墙 浙江独立 100m免费空间 美国十次啦服务器 七夕快乐英文 泉州电信 四核服务器 购买国外空间 支持外链的相册 银盘服务是什么 美国独立日 smtp虚拟服务器 石家庄服务器托管 更多