【自考】逻辑地址与物理地址

前言:

       最近在准备《操作系统概论》的考试,其中有一个知识点比较重要,考题中也多次出现,让我们好好总结一下~  

一、逻辑地址

       逻辑地址(LogicalAddress)是指由程序产生的与段相关的偏移地址部分。页式存储器的逻辑地址由两部分组成:页号和页内地址。其格式为:

页号 页内地址

       地址结构确定了主存储器的分块的大小,也就决定了页面的大小。

       地址总长度位数=页号占位数+页内地址占位数 

       逻辑地址中的页数=2的(页号位数)次幂

       一个页面(业内地址)大小=2的(页内地址位数)次幂

       在进行存储器分配时,总是以块为单位进行分配。一个作业的信息有多少页,把它装入主存时就给他分配多少块。

二、物理地址

       在存储器里以字节为单位存储信息,为正确地存放或取得信息,每一个字节单元给以一个唯一的存储器地址,称为物理地址(Physical Address),又叫实际地址或绝对地址。物理地址就是绝对地址。

三、转化过程

       1、绝对地址=块号*块长+页内地址

       由于分块和分页的大小是一致的,再利用二进制乘法的特性,所以只要把逻辑地址中的页内地址作为绝对地址中的低地址部分,而根据页号从页表中查得的主存块号作为绝对地址中的高地址部分,就能得到应访问的主存储器的绝对地址。   

       2、绝对地址(二进制)= 块号(转化为二进制)+页内地址(转化为二进制)

       这个“+”表示的不是数字的相加,而是连接的含义。

四、常用考点

1、求物理地址(绝对地址)长度

题目:在某个分页管理系统中,某一个作业有4个页面(0、1、2、3),被分别装入到主存的第3、4、6、8块中,假定页面和块大小均为1024字节,当作业在CPU上运行时,执行到其地址空间第500号处遇到一条传送命令:mov2100,3100,请计算出MOV指令中两个操作数的物理地址(以上地址均为十进制)。

答案:逻辑地址2100由十进制化为二进制为100000110100,由于页面是4个所以页号位等于2,对应的主存块为6,后10位是页内地址等于52,物理地址=6*1024+52=6196

同理,逻辑地址为3100的页号为3,页内地址为28,物理地址=8*1024+28=8220

2、地址转化问题

题目:某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:页号0、1、2、3分别对应块号5、10、4、7。则逻辑地址0868(H)所对应的物理地址是___(H)。

答案:将逻辑地址0868(H)转化为二进制为0000100001101000。由于是32(=2的五次方)个页面,所以页号是两位。由于每页为1KB(=2的十次方),所以页内地址应该为10位,所以页号为2,对应的物理块号为4。

物理地址的前两位是4转化为二进制是100,后面10位不变,是0001101000,所以是0001000001101000,转化为十六进制为1068(H)

小结:

       其实只要了解了内涵,搞懂了其中的逻辑关系,还是挺简单的。看清套路,就怎么考就都不怕不怕啦~~~

猜你喜欢

转载自blog.csdn.net/sz15732624895/article/details/79773339