关于地址转换在计算机操作系统中,地址转换是存储管理的一个主要功能
所谓地址转换就是将用户的逻辑地址转换成内存的物理地址,完成地址重定位
需要指出的是,地址转换是操作系统的地址变换机构自行完成的,无需用户干预,这样我们使用操作系统时,才方便而可靠
在这一章里,介绍的存储管理有分区管理(包括固定分区和可变分区)、分页管理、分段管理和段页式管理,其中分页管理的地址转换是重点和难点
下面,我们结合三个例题对地址转换作详细地分析
【例 1】考虑一个由 8 个页面,每页有 1024 个字节组成的逻辑空间,把它装入到有32 个物理块的存储器中,问: (1)逻辑地址需要多少二进制位表示
(2)物理地址需要多少二进制位表示
分析 在分页存储管理中,逻辑地址结构如下图所示
它由两个部分组成:前一部分表示该地址所在页面的页号 p;后一部分表示页内地址(页内位移)d
页号的地址位数决定了页的多少,假设页号有 20 位,则地址空间中最多可容纳的页面数为 220,即 1MB 个页面
页内地址位数确定了每页的大小,若页内地址为12 位,则每页大小为 212,即 2KB
同理,物理地址中块号的地址位数决定了块的数量
由于页式存储管理内存空间块的大小与页面大小相同,所以物理地址中块内地址与逻辑地址中的页内地址位数相同
解 因 为 页 面 数 为 8=23 , 故 需 要 3 位 二 进 制 数 表 示
每 页 有 1024 个 字 节 ,1024=210,于是页内地址需要 10 位二进制数表示
32 个物理块,需要 5 位二进制数表示(32=25)
(1)页的逻辑地址由页号和页内地址组成,所以需要 3+10=13 位二进制数表示
(2)页的物理地址由块号和页内地址的拼接,所以需要 5+10=15 位二进制数表示
【例 2】若在一分页存储管理系统中,某作业的页表如下所示
已知页面大小为1024 字节