五、六章习题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个磁盘块.
Webhosting24是一家始于2001年的意大利商家,提供的产品包括虚拟主机、VPS、独立服务器等,可选数机房包括美国洛杉矶、迈阿密、纽约、德国慕尼黑、日本、新加坡、澳大利亚悉尼等。商家VPS主机采用AMD Ryzen 9 5950X CPU,NVMe磁盘,基于KVM架构,德国机房不限制流量,网站采用欧元计费,最低年付15欧元起。这里以美国机房为例,分享几款套餐配置信息。CPU:1core内存...
spinservers怎么样?spinservers大硬盘服务器。Spinservers刚刚在美国圣何塞机房补货120台独立服务器,CPU都是双E5系列,64-512GB DDR4内存,超大SSD或NVMe存储,数量有限,机器都是预部署好的,下单即可上架,无需人工干预,有需要的朋友抓紧下单哦。Spinservers是Majestic Hosting Solutions,LLC旗下站点,主营美国独立...
vpsdime怎么样?vpsdime是2013年成立的国外VPS主机商,以大内存闻名业界,主营基于OpenVZ和KVM虚拟化的Linux套餐,大内存、10Gbps大带宽、大硬盘,有美国西雅图、达拉斯、新泽西、英国、荷兰机房可选。在上个月搞了一款达拉斯Linux系统VPS促销,详情查看:vpsdime夏日促销活动,美国达拉斯vps,2G内存/2核/20gSSD/1T流量,$20/年,此次推出一款Wi...
物理内存为你推荐
asp主机请问虚似主机和Asp服务器软件都是一个意思吗已备案域名查询如何查询网站的域名是否已经备案域名服务什么是域名服务?域名服务的主要作用是什么?100m虚拟主机万网和新网虚拟主机有100M的吗apache虚拟主机apache里面可以在虚拟主机里边设置虚拟目录吗?急,在线等!云南虚拟主机云南服务器托管安徽虚拟主机有没有免费使用的主机,网站刚做完,本地测试没有问题,想在线测试一下页面会不会跑版。有谁知道有没有免费的虚拟主机试用,两三天即可。域名停靠如何停靠域名,是免费的吗免费域名怎么申请免费个人域名?买域名买域名怎么买?
海外主机 虚拟主机试用30天 济南域名注册 国外vps租用 域名主机管理系统 泛域名解析 域名抢注工具 便宜建站 远程登陆工具 免费dns解析 百度云空间 阿里dns 宿迁服务器 存储服务器 免备案jsp空间 腾讯云平台 asp介绍 建站论坛 gotoassist 卡巴斯基免费下载 更多