若当前需要访问两个逻辑地址,分别为[C,410K] ,[B,13K],第一部分为段名,第二部分为段内地址,假设当前内存已满,编写程序实现请求分段式系统的分段对换及地址重定位,输出两逻辑地址对应物理地址,修改段表并输出。
时间: 2024-01-27 20:05:33 浏览: 61
划分24c64为多个存储区,通过提供的逻辑地址访问多个存储区。
5星 · 资源好评率100%
为了方便起见,假设当前系统中已经有三个段,分别为 A、B、C,每个段大小为 512K,且每个段已经被分配到了不连续的物理地址上。
假设当前需要访问的两个逻辑地址分别为 [C,410K] 和 [B,13K],我们需要进行以下步骤来实现请求分段式系统的分段对换及地址重定位:
1. 找到需要被替换出去的段,并将其保存到磁盘上。这里我们假设需要替换出去的是段 A。
2. 将需要访问的两个逻辑地址转换为物理地址。由于段 C 的起始物理地址为 0,所以物理地址为 410K;而段 B 的起始物理地址为 1024K(即两个段的大小之和),所以物理地址为 1024K+13K=1037K。
3. 修改段表,将段 A 的信息删除,并将段 C 和 B 的信息更新为它们的新的物理地址和长度。新的段表如下:
```
段名 | 起始物理地址 | 长度
----|-------------|-----
B | 1024K | 512K
C | 0 | 512K
```
4. 输出两个逻辑地址对应的物理地址,并输出修改后的段表。
```
[C,410K] 对应的物理地址为 410K
[B,13K] 对应的物理地址为 1037K
修改后的段表如下:
段名 | 起始物理地址 | 长度
----|-------------|-----
B | 1024K | 512K
C | 0 | 512K
```
阅读全文