页号和页框号为什么不一样
‘壹’ 页号和页内偏移量的问题,麻烦大佬们讲解的时候详细一点,萌新不太懂这些
3BADH=0011 1011 1010 1101
由页的大小为2KB,可以得到页内偏移为12位(低地址)
故页号0011(3H)
页内偏移1011 1010 1101(BADH)
例如:
电脑主流是八位的,内存寻址只有16位,也就是64K。当年PC机刚出的时候,还不完全是16位电脑,是个20位电脑。但是地址线由两部分组成,一部分叫做段地址,一部分叫做偏移量,就类似单元楼住址,可以叫单元,这个某编号住户。
由这两个的叠加,形成一个地址。算法是,段地址占高20-4位,偏移量占16-0位,加起来。
(1)页号和页框号为什么不一样扩展阅读:
在实模式中,内存比保护模式中的结构更令人困惑。内存被分割成段,并且,操作内存时,需要指定段和偏移量。
段-寄存器这种格局是早期硬件电路限制留下的一个伤疤。地址总线在当时有20-bit。然而20-bit的地址不能放到16-bit的寄存器里,这意味着有4-bit必须放到别的地方。因此,为了访问所有的内存,必须使用两个16-bit寄存器。
这一设计上的折衷方案导致了偏移量格局。最初的设计中,其中一个寄存器只有4-bit有效,然而为了简化程序,两个寄存器都是16-bit有效,并在执行时求出加权和来标识20-bit地址。
‘贰’ 页表项物理地址和页框号有关系吗
进程的逻辑地址空间分为若干个页,主存空间分为若干个块,也称为页框。主存的物理地址就是由两个部分组成的。低位表示页内偏移,而高位即为页框号。所以页表项的物理地址和页框号当然有着紧密的关系啦。页表项的物理地址的高位就表示该页表项是存于哪个页框内的啊,而低位则表示从该页框的起始地址开始向下偏移了多少。
‘叁’ 页号和页码是一样吗
你是指WORD里吗?不一定一样。因为WORD可以设置从任意一页重新编排页码
‘肆’ 页面大小,页表项,页表项大小,各种大小都是什么意思啊!!!!分不清啊!!!!
页相当于一个数组,页表项是数组的元素类型。也就是一个页有许多页表项。页的大小和页框(页帧,或者叫物理页)的大小一样,页表项存的是物理地址的页框号,还有一些标记位。一般32位的系统,页大小为4kb,4kb=2^12,这12位叫做页内偏移。而物理地址总共32位,剩下的20位就是页框号,标记位会有几个,所以页表项一般设置为4byte。一页是4kb,一项是4byte,所以一页总共有4k/4b=1024项。
‘伍’ 请教下,操作系统里分页存储的页框和页号有什么区别啊
假设你要运行一个4MB的游戏,为了方便易懂,不妨把这个游戏叫做扫雷。
现在是2021年,早已是大内存时代,16GB的内存已经司空见惯。
但是现在我们假设我们的内存并不大,只有16MB。
你的游戏本来存储在硬盘中,操作系统划分了一部分硬盘中的区域,假设是16MB,和内存构成了一个看起来比较大的存储器,总共32MB。
但其实你没这么大的空间。
操作系统按照事先定好的页面大小(这里假设是1MB)把你的游戏分割成了4MB/1MB=4页。
未调入内存中运行,在虚拟存储系统中,你总共有4页,这4页,就叫页号。
操作系统把真正的内存空间,16MB,也按页划分,总共有16页,现在可以分给你的扫雷用的,有2页。
你的扫雷运行时,并不是时时刻刻都需要4MB的完整数据,假如你正在玩第一关,你就只需要前面的数据。
按照这样的思想,就可以先调入你刚刚分好的4页中的前2页,进入内存,这样你的扫雷就可以跑了,也不需要占据太多空间,导致别的程序用不了。
而被调入的2页,占了真正内存中的2页,内存中的页,就叫页框。
当你需要用到本来4页中的第2页中的某个数据时,他已经在内存中了,你可以随时用。
但如果你要用第3页的里的某个数据,他不在内存,只能先从硬盘中调入第3页到内存中分配给你的2个页框中的某一个,再访问这个数据。
这个就叫缺页。
为了区分说的页是内存中的页,还是虚拟存储系统中的页,就有了两个叫法。
那为什么要这么干呢?因为你需要同时做很多事情。
你需要玩扫雷,还要挂着迅雷,同时上着QQ聊天,可能还用着网易云听歌。
如果扫雷、迅雷、QQ、网易云全部调入主存,很多数据是用不着的。
比如你在玩扫雷第三关,你并不需要第一关的数据。
那全都调入,就很浪费内存。需要调入,不需要调出,这样,你的程序能跑,而且还能跑很多个。
你的存储器看起来比原来大了,因为你本来的内存是无法同时跑这4个程序,现在靠着这个假的存储器就可以了,这个所谓假的存储器就叫虚拟存储器。
‘陆’ 页目录号,页号,页表项,页大小,页框号都是什么关系
在按确定插入目录前,按修改按钮对各级目录的字号进行设置。
‘柒’ 为什么word里面显示的页码和页数不一样啊
1、设置了奇偶页不页,这样如果只设置了奇数页页码,那偶数页是不显的。
‘捌’ 页面置换算法淘汰某一页后的页框号怎么处理
我也是刚刷题看到的,想了一下,有些见解,有误还望指正。
1.操作系统调出页面0到外存
2.页面1调入内存(我想这里把页面1的内容放到了101H这个地址)
因此页号1对应的页框号是101h
‘玖’ 操作系统,页号,页面号和块号怎么区别 页面号是不是就是块号
1、页和块的对象不同:页是对逻辑地址进行分页存储,块是对实际地址进行分块存储。
2、页号是虚拟地址的划分,指向程序中的某一页,每个页号对应一个页面号。
3、块号是实际地址的划分,指向内存空间中某一个物理块。
4、页面号不是块号。
(9)页号和页框号为什么不一样扩展阅读
分页存储
1、分页存储管理是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,并为各页加以编号,从0开始,如第0页、第1页等。
2、相应地,也把内存空间分成与页面相同大小的若干个存储块,称为(物理)块或页框(frame),也同样为它们加以编号,如0#块、1#块等等。
3、在为进程分配内存时,以块为单位将进程中的若干个页分别装入到多个可以不相邻接的物理块中。由于进程的最后一页经常装不满一块而形成了不可利用的碎片,称之为“页内碎片”。
分段存储
1、在分段存储管理方式中,作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。例如,有主程序段MAIN、子程序段X、数据段D及栈段S等。
2、每个段都有自己的名字。为了实现简单起见,通常可用一个段号来代替段名,每个段都从0开始编址,并采用一段连续的地址空间。
3、段的长度由相应的逻辑信息组的长度决定,因而各段长度不等。整个作业的地址空间由于是分成多个段,因而是二维的,亦即,其逻辑地址由段号(段名)和段内地址所组成。
参考文献:网络-存储管理
‘拾’ 页和页框的区别是什么
进程中的块称为页(Page),
内存中的块称为页框(Page Frame)。
区别在于:
你写程序时,你不会考虑到将来你的数据存放得天南地北,比如你声明了一个函数a,后面就要使用到函数a,进行各种各样的操作,在你的眼里,这两段代码是连续的,
但事实上,你的程序被调入主存工作时,他们可能分开了,甚至隔得很远,
那就要加以区别。