14、一个进程的大小占 5 个页面,每页的大小为 1K,系统为它分配了 3 个物理块。当前进 程的页表如图所示: 有那些页面不在内存? 请分别计算进程中虚地址为(1025)D、(2049)D 单元的物理地址(用十进制表示)。 块号 存在位 P 访问位 R 修改位 M 001C 1 1 0 000A 1 1 1 — 0 0 0 000D 1 0 0 — 0 0 0 里面对应的页号是怎么来的
时间: 2023-12-31 07:06:50 浏览: 172
根据页表可以得知,进程中的页面号为 1、2、3、12、13。
而当前只有 1、2、3 三个页面在内存中,页面 12 和 13 不在内存中。
对于虚地址 (1025)D,其对应的页号为 1,页内偏移量为 1。由于页面 1 存在于内存中,可以得到物理块号为 001C,页内偏移量为 1,因此它对应的物理地址为 (1 * 1024 + 1)D = 1025D。
对于虚地址 (2049)D,其对应的页号为 2,页内偏移量为 1。由于页面 2 存在于内存中,可以得到物理块号为 000A,页内偏移量为 1,因此它对应的物理地址为 (2 * 1024 + 1)D = 2050D。
页号的计算是通过将虚地址的高位(第一位为最高位)除以页面大小得到的,即:
- 对于虚地址 (1025)D,其高位为 0000 0100,除以页面大小 1K 得到 4,即它对应的页号为 4 + 1 = 5。
- 对于虚地址 (2049)D,其高位为 0000 1000,除以页面大小 1K 得到 8,即它对应的页号为 8 + 1 = 9。
相关问题
14、一个进程的大小占 5 个页面,每页的大小为 1K,系统为它分配了 3 个物理块。当前进 程的页表如图所示: 有那些页面不在内存? 请分别计算进程中虚地址为(1025)D、(2049)D 单元的物理地址(用十进制表示)。 块号 存在位 P 访问位 R 修改位 M 001C 1 1 0 000A 1 1 1 — 0 0 0 000D 1 0 0 — 0 0 0
根据页表中的存在位 P,可以知道页面 2 不在内存中。
虚地址 (1025)D 对应的页号为 1,页内偏移量为 1,因此需要访问页面 1。
虚地址 (2049)D 对应的页号为 2,页内偏移量为 1,但是页面 2 不在内存中,需要进行页面置换。
计算物理地址:
- 对于虚地址 (1025)D,页号为 1,页内偏移量为 1,可以得到以下计算过程:
物理块号 = 001C2 = (28)10
物理地址 = 28 × 1K + 1 = 28673
因此,虚地址 (1025)D 对应的物理地址为 28673。
- 对于虚地址 (2049)D,页号为 2,页内偏移量为 1,需要进行页面置换。根据题目中给出的页面情况,可以发现页面 1 和页面 3 都已经在内存中,因此需要选择其中一个页面进行置换。根据最近最少使用算法 (LRU),选择页面 1 进行置换。
页面 1 的修改位 M 为 0,因此不需要进行写回操作。将页面 1 的内容写入到物理块号为 000D2 的物理块中,同时更新页表和页面的相关信息。
物理块号 = 000D2 = (13)10
物理地址 = 13 × 1K + 1 = 13313
因此,虚地址 (2049)D 对应的物理地址为 13313。
已知某个分页系统,页面大小为1K,某一个作业有5个页面,分别装入到主存的第1、2、4、7、9块中,求逻辑地址2049(十进制)对应的物理地址。
假设该分页系统采用的是基本的简单分页存储管理方式,即将一个作业的逻辑地址空间分为大小相等的页面,然后再将这些页面映射为物理内存中的页框,具体的映射方式由页表来维护。假设每个页框的大小也为1K,那么一个逻辑地址可以分解为两部分:页号和页内偏移量。其中,页号表示这个逻辑地址所在的页面在页表中的索引,页内偏移量表示这个逻辑地址在页面内的偏移量。
在这个例子中,每个页面的大小为1K,因此一个页可以存放1024个字节。第2049个字节位于第3个页面内(2049/1024 = 2,向下取整),对应的页号为3。在页表中查找页号为3的页表项,可以得到它对应的物理页框号为9。因此,逻辑地址2049对应的物理地址为:
物理地址 = 9 * 1K + 2049 % 1K = 9217(十进制)
其中,2049 % 1K = 25 表示逻辑地址在页面内的偏移量。因此,逻辑地址2049(十进制)对应的物理地址为9217(十进制)。
阅读全文