ZKX's LAB

页表控制位信息 页式存储管理中为什么要设置页表

2020-07-21知识5

在请求分页系统中,页表中的访问位是供( )参考的? 答案选择 A!页表项(页描述子)中各个位的作用:1.页号2.块号(页框号)3.中断位:用于判断该页是不是在内存中,如果是0,表示该页面不在内存中,会引起一个缺页中断4.保护位(存取控制位):用于指出该页允许什么类型的访问,如果用一位来标识的话:1表示只读,0表示读写5.修改位(脏位):用于页面的换出,如果某个页面被修改过(即为脏),在淘汰该页时,必须将其写回磁盘,反之,可以直接丢弃该页6.访问位:不论是读还是写(get or set),系统都会设置该页的访问位,它的值用来帮助操作系统在发生缺页中断时选择要被淘汰的页,即用于页面置换7.高速缓存禁止位(辅存地址位):对于那些映射到设备寄存器而不是常规内存的页面有用,假设操作系统正在循环等待某个I/O设备对其指令进行响应,保证硬件不断的从设备中读取数据而不是访问一个旧的高速缓存中的副本是非常重要的。即用于页面调入。在请求分页系统中,页表中的访问位是供( )参考的。 答案选择 A!页表项(页描述子)中各个位的作用:1.页号2.块号(页框号)3.中断位:用于判断该页是不是在内存中,如果是0,表示该页面不在内存中,会引起一个缺页中断4.保护位(存取控制位):用于指出该页允许什么类型的访问,如果用一位来标识的话:1表示只读,0表示读写5.修改位(脏位):用于页面的换出,如果某个页面被修改过(即为脏),在淘汰该页时,必须将其写回磁盘,反之,可以直接丢弃该页6.访问位:不论是读还是写(get or set),系统都会设置该页的访问位,它的值用来帮助操作系统在发生缺页中断时选择要被淘汰的页,即用于页面置换7.高速缓存禁止位(辅存地址位):对于那些映射到设备寄存器而不是常规内存的页面有用,假设操作系统正在循环等待某个I/O设备对其指令进行响应,保证硬件不断的从设备中读取数据而不是访问一个旧的高速缓存中的副本是非常重要的。即用于页面调入。什么是页表项? 以x86的机器为例,当允许paging的时候:页表分了两级,32位地址被划分为10,10,12CR3寄存器装了第一级页表(也叫页目录)的物理地址,这个地址一定是对齐到一个页框的边界的。这个对应的页框将装着第一级页目录,也就是说,页目录用掉了4KB,其中含有1024个页目录项,每个项占4Byte。这每个4byte就是你所要问的东西了。每个项有20位是下一级的一个页表的位置(为什么是20位呢?因为intel设计的页表是对其到4KB的边界的,于是只要20位地址,再左移12位就得到了这个地址)。而另外的12位用于存放一些控制位,常见的有present,user,dirty,accessed,r/w等,具体的查intel的开发者手册,上面讲的很详细。页表项和页目录项内容差不多,稍有区别。为了定位一个虚拟地址(在x86里应该是分段后的地址,叫线性地址),先拆出前10位,配合CR3找到相应的页目录项,然后得到了对应页表的地址,在没有错误的情况下再把线性地址的中间10位拿出来找到相应的页表项,然后就读出了20位(还没左移12位,页框肯定是对齐到4KB的边界的)的这个线性地址对应的页框,再加上12位就得到了物理地址。页式存储管理中为什么要设置页表 存储管理的基本原理内存管理方法内存管理主要包括内存分配和回收、地址变换、内存扩充、内存共享和保护等功能。下面主要介绍连续分配存储管理、覆盖与交换技术以及页式与段式存储管理等基本概念和原理。1.连续分配存储管理方式连续分配是指为一个用户程序分配连续的内存空间。连续分配有单一连续存储管理和分区式储管理两种方式。(1)单一连续存储管理在这种管理方式中,内存被分为两个区域:系统区和用户区。应用程序装入到用户区,可使用用户区全部空间。其特点是,最简单,适用于单用户、单任务的操作系统。CP/M和DOS 2.0以下就是采用此种方式。这种方式的最大优点就是易于管理。但也存在着一些问题和不足之处,例如对要求内存空间少的程序,造成内存浪费;程序全部装入,使得很少使用的程序部分也占用—定数量的内存。(2)分区式存储管理为了支持多道程序系统和分时系统,支持多个程序并发执行,引入了分区式存储管理。分区式存储管理是把内存分为一些大小相等或不等的分区,操作系统占用其中一个分区,其余的分区由应用程序使用,每个应用程序占用一个或几个分区。分区式存储管理虽然可以支持并发,但难以进行内存分区的共享。分区式存储管理引人了两个新。某系统采用页式存储管理策略,拥有逻辑地址空间32页,每页2K,拥有物理空间1M。1M的物理空间可以分为29块?希望能详细的解释。页式存储管理该技术近年来已广泛用于微机系统中,。页表项中块号和页号可以不等长? 很多书上都拿32位系统和4k页大小来举例,这种情况下一般都取页表项大小4b,共有32bit,其中页号占20bit,…什么是操作系统页表项? 以x86的机器为例,当允许paging的时候:1、页表分了两级,32位地址被划分为10,10,122、CR3寄存器装了第一级页表(也叫页目录)的物理地址,这个地址一定是对齐到一个页框的边界的。这个对应的页框将装着第一级页目录,也就是说,页目录用掉了4KB,其中含有1024个页目录项,每个项占4Byte。每个项有20位是下一级的一个页表的位置。而另外的12位用于存放一些控制位。3、为了定位一个虚拟地址,先拆出前10位,配合CR3找到相应的页目录项,然后得到了对应页表的地址,在没有错误的情况下再把线性地址的中间10位拿出来找到相应的页表项,然后就读出了20位的这个线性地址对应的页框,再加上12位就得到了物理地址。在分页系统中,为每个进程配置了一张页表,进程逻辑地址空间中的每一页,在页表中都对应有一个页表项。因为题中说逻辑空间32页,所以对应最多为32个页表项;逻辑空间每页的大小和物理空间每页大小是相同的,所以物理块数=物理空间大小/页大小=1M/1K=2^9,故每个页表项至少有9位;物理块跟页表项关系。

#存储管理#页表#关系逻辑#地址#物理

随机阅读

qrcode
访问手机版