五、六章习题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个磁盘块.
今天下午遇到一个网友聊到他昨天新注册的一个域名,今天在去使用的时候发现域名居然不见。开始怀疑他昨天是否付款扣费,以及是否有实名认证过,毕竟我们在国内域名注册平台注册域名是需要实名认证的,大概3-5天内如果不验证那是不可以使用的。但是如果注册完毕的域名找不到那也是奇怪。同时我也有怀疑他是不是忘记记错账户。毕竟我们有很多朋友在某个商家注册很多账户,有时候自己都忘记是用哪个账户的。但是我们去找账户也不办...
zji怎么样?zji是一家老牌国人主机商家,公司开办在香港,这个平台主要销售独立服务器业务,和hostkvm是同一样,两个平台销售的产品类别不一平,商家的技术非常不错,机器非常稳定。昨天收到商家的优惠推送,目前针对香港邦联四型推出了65折优惠BGP线路服务器,性价比非常不错,有需要香港独立服务器的朋友可以入手,非常适合做站。zji优惠码:月付/年付优惠码:zji 物理服务器/VDS/虚拟主机空间订...
RAKsmart机房将于7月1日~7月31日推出“年中大促”活动,多重惊喜供您选择;爆款I3-2120仅30美金秒杀、V4新品上市,活动期间5折抢购、爆款产品持续热卖、洛杉矶+硅谷+香港+日本站群恢复销售、G口不限流量产品超低价热卖。美国VPS、日本VPS及香港VPS享全场7折优惠;爆款VPS $ 1.99/月限量秒杀,10台/天,售完即止, VPS 7折优惠码:VPS-TP-disRAKsmar...
物理内存为你推荐
php虚拟主机求php虚拟主机提供商。。。哪里的 好,价格也优惠的域名代理怎样通过卖域名赚钱?php虚拟空间普通网站需要多大空间?本人新手php学习者,想买个虚拟空间用来放自己做的一些企业站,只是练习用途网站空间商域名空间商怎么做虚拟主机系统什么是虚拟主机?山东虚拟主机济宁梦网科技大连虚拟主机大连华企智源是做网站的吗?虚拟主机mysql我申请的虚拟主机 ,是MYSQL数据库,但是我安装好网页后,需要更改的数据库地址是我默认的还是找卖家咨询?域名解析什么是域名解析,为什么要域名解析域名邮箱有谁知道域名邮箱是干什么的啊?有什么作用吗?
已备案域名出售 paypal认证 permitrootlogin 轻博客 php免费空间 个人域名 架设服务器 域名转接 徐正曦 稳定免费空间 net空间 lamp是什么意思 hostease netvigator 免费赚q币 脚本大全 蓝队云 phpinfo WHMCS 文件传输 更多