【操作系统-大题】 计算物理地址
计算物理地址步骤
- 求出页号
- 对照页表
- 计算地址
例题
例题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)上述指令和存数地址分别在几号页内?对应的物理地址又分别为多少?
解析:
-
主存容量最大可为多少K?分为多少块?每块有多大?
-
主存容量最大为2的18次方,即256K
-
可分为2的7次方块,即128块
-
每块大小为2的11次块,即2K
-
-
上述指令和存数地址分别在几号页内?对应的物理地址又分别为多少?
-
相对地址为1500,没有超出一页的长度,所以指令所在页号为0号,数据存储在2500单元,页号为1号。
-
指令的物理地址为:2×2048+1500=5596
-
数据的物理地址为:2×2048+2500=6596
-
例题3:
在UNIX系统中,为使文件的索引表较小又能允许组织大文件,采用直接索引与多次间接索引(多级索引)方式,给出一个文件的所有磁盘的块号,如下图。假设每个磁盘块大小为1024字节,并且每个间接块容纳256个块号,试问:
(1)如某进程要读取某文件的字节偏移量为9000处的数据,应如何找到它所在的磁盘块及块内位移量?
(2)如想要存取350000处,又将如何?
解析:
-
根据9000/1024=8.8,故该字节在文件索引8(从0开始计)直接块中,于是可从表目项中读出内容为367,即该字节在磁盘块号为367的盘块中;再根据9000mod1024=808,查表在367号磁盘块的808字节即为文件的9000字节。
-
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道大题供大家练习。