操作系统:求解页式存储管理物理地址

一:物理地址与逻辑地址的计算方法:

         物理地址=块号*块长(等于页面大小)+页内地址

         逻辑地址=页号+页内地址  

二:逻辑地址转换为物理地址

     1:十进制逻辑地址转物理地址

              步骤如下:

                        (1) 求逻辑地址的页号 =逻辑地址/页面大小(“/”表示整除,只取商,不取余数)

                         (2)求页内地址=逻辑地址%页面大小(“%”表示取余,只取余数,不取商)

                         (3) 产生页表

                         (4)根据逻辑地址的页号查页表,查出物理地址的物理块号              

                         (5)求物理地址公式:

                                   物理地址=块号*页面大小+页内地址

 例:已知某个分页系统、页面大小为2K、即2048个字节。某一个作业有4个页面,分别装入到主存的第3、4、6、8块中。求逻辑地址2500对应的物理地址。

    解: (1):求逻辑地址的页号

                  2500/2048=1

                   即页号为1

             (2):求页内地址

                   2500%2048=452

                   即页内地址为452

            (3):产生页表

                   页号       物理块号

                      0           3

                      1           4

                      2           6

                      3           8

         (4):根据页号1得到物理地址物理块号为3

         (5):求物理地址

                 物理地址=3*2048+452=6596

2:十六进制逻辑地址转物理地址

       步骤如下:

                  (1)将十六进制转为十进制

                  (2) 按上述十进制逻辑地址转换为物理地址

                  (3)将得到的十进制转为十六进制

   

 例:一分页存储管理系统中逻辑地址长度为16位,页面大小为1KB字节,现有一逻辑地址0A5C,且第0、1、2、3页依次存放在物理块5、10、4、7中。则相应的物理地址是什么?

       解:(1):将0A5C转为十进制

                0A5C=C*16^0+5*16^1+A*16^2+0*16^3         =12*16^0+5*16^1+10*16^2

                    =2652

                 注:16进制中A、B、C、D、E、F对应值为10、11、12、13、14、15

             (2):按上述十进制逻辑地址转换为物理地址

                    1:求页号

                         页号=2652/1024=2

                    2: 求页内地址

                         页内地址=2652%1024=604

                    3:产生页表

                         页号          物理块号

                          0                  5

                           1                 10

                           2                  4

                           3                  7

                  4:根据页号2得到物理地址物理块号为4

                  5:求物理地址

                        物理地址=4*1024+604=4700

       (3):将得到的十进制转为十六进制

                                         商     余数

                        4700/16=293.....12
                           293/16=18.......5

                             18/16=1.........2

                             1/16=0...........1

             故0A5C的物理地址为 125C

                 

你可能感兴趣的:(CSDN团队成员SFF,p2p,linq,tv)