【操作系统-大题】 计算物理地址

计算物理地址步骤

  • 求出页号
  • 对照页表
  • 计算地址

例题


例题1:

在采用页式储存管理的系统中,某进程的逻辑地址空间为4页(每页2048字节),且已知该进程的页面映像表(页表)如下:

页号(Page number) 块号(Block number)
0 2
1 4
2 6
3 8

计算有效逻辑地址 4865 所对应的物理地址。

解析:

地址转换:绝对地址 = 块号 * 块长 + 块内地址

  • 求页号:d = 4865 % 2048 = 2 …… 769
  • 对页表:找到块号
  • 算地址:Physical address = 6 * 2048 + 769 = 13057

例题2:

  在采用分页存贮管理系统中,地址结构长度为18位,其中11至17位表示页号,0至10位表示页内位移量。若有一作业依次被放入2、3、7号物理块中,相对地址1500处有一条指令 store 1,2500。请问:

 (1)主存容量最大可为多少K?分为多少块?每块有多大?

 (2)上述指令和存数地址分别在几号页内?对应的物理地址又分别为多少?

解析:

  1. 主存容量最大可为多少K?分为多少块?每块有多大?

    • 主存容量最大为2的18次方,即256K

    • 可分为2的7次方块,即128块

    • 每块大小为2的11次块,即2K

  2. 上述指令和存数地址分别在几号页内?对应的物理地址又分别为多少?

    • 相对地址为1500,没有超出一页的长度,所以指令所在页号为0号,数据存储在2500单元,页号为1号。

    • 指令的物理地址为:2×2048+1500=5596

    • 数据的物理地址为:2×2048+2500=6596


例题3:

  在UNIX系统中,为使文件的索引表较小又能允许组织大文件,采用直接索引与多次间接索引(多级索引)方式,给出一个文件的所有磁盘的块号,如下图。假设每个磁盘块大小为1024字节,并且每个间接块容纳256个块号,试问:

  (1)如某进程要读取某文件的字节偏移量为9000处的数据,应如何找到它所在的磁盘块及块内位移量?

  (2)如想要存取350000处,又将如何?

alt

解析:

  1. 根据9000/1024=8.8,故该字节在文件索引8(从0开始计)直接块中,于是可从表目项中读出内容为367,即该字节在磁盘块号为367的盘块中;再根据9000mod1024=808,查表在367号磁盘块的808字节即为文件的9000字节。

  2. 350000/1024=341.8 ; 则该字节在文件的逻辑块号为341的块中

    故可知它必在二次间接寻址中(因为直接+1次间接可寻256+10=266块)。

    根据(341-266)/256=75/256=0.29(整数部分为0),

    可知其在二次间接块中0的表目上,又因为75mod256=75,可知在一次间接75表目处,

    从题表中可分别读出表目项内容为331和3333,可知在磁盘块3333中。

    由350000mod1024=816,得出文件的350000字节是3333磁盘块的816字节。

【已更新完毕】 为了让大家更熟练的面对考试,每种题型,在视频讲解题目的基础上增加了总计25道大题供大家练习。

全部评论
因为有一作业依次被放入2、3、7号物理块中,所以 页号0、1、2对应的块号为2、3、7 因为相对地址为1500,所以页号=1500/2K<1,即页号为0,对应的块号为2。 因为数据存储在2500单元,所以页号=2500/2K<2,即页号为1,对应的块号为3。 所以 指令的物理地址为:2×2048+1500=5596 数据的物理地址为:3×2048+2500 % 2048=6596
2 回复 分享
发布于 2023-02-13 23:21 山东
靓仔,能否看看这个第三问https://www.cnblogs.com/jycboy/p/5312840.html
点赞 回复 分享
发布于 2024-08-04 11:41 陕西

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务