某虚拟存储器的用户空间共有32个页面,每页1KB,主存16KB。试问: (1)逻辑地址至少需要多少位(二进制位数)? (2)物理地址至少需要多少位(二进制位数)? (3)假定某时刻系统为用户的第0、1、2、3页分别分配的物理块号是5、10、4、7,求逻辑地址093C对应的物理地址。
时间: 2023-07-15 09:10:15 浏览: 120
(1) 由于有32个页面,每页1KB,所以用户空间的大小为32KB。因为 2^15 = 32768 > 32KB,所以逻辑地址至少需要15位。
(2) 主存大小为16KB,所以物理地址不能超过16KB。因为 2^14 = 16384 > 16KB,所以物理地址至少需要14位。
(3) 逻辑地址093C对应的页面号为9,即二进制的 001001。页内偏移量为 3C,即二进制的 00111100。根据页面与物理块的对应关系,可以得到物理块号为5的页面对应的物理地址范围是 0x5000 - 0x5FFF,物理块号为10的页面对应的物理地址范围是0xA000 - 0xAFFF,物理块号为4的页面对应的物理地址范围是0x4000 - 0x4FFF,物理块号为7的页面对应的物理地址范围是0x7000 - 0x7FFF。因为页面大小为1KB,所以逻辑地址的页内偏移量转换成物理地址的偏移量是相同的。因此,逻辑地址093C对应的物理地址为:
物理块号为5,物理地址为 0x53C
物理块号为10,物理地址为 0xA3C
物理块号为4,物理地址为 0x43C
物理块号为7,物理地址为 0x73C
相关问题
2.某虚拟存储器的用户空间共有32个页面,每页1KB,主存16KB。假定某时刻系统为用户的第0、1、2、3页分配的物理块号为5、10、4、7,而该用户作业的长度为6页,试将 (1)八进制的虚拟地址100、110转换成物理地址
根据题目所述,该用户空间共有32个页面,每页1KB,因此虚拟地址空间的大小为32KB。同时,主存大小为16KB,因此最多可以同时存储16个页面。
根据题目所述,用户的第0、1、2、3页分别分配了物理块号为5、10、4、7。因此,这些页面的物理地址可以计算出来:
- 用户第0页的物理地址为5 * 1KB = 5KB
- 用户第1页的物理地址为10 * 1KB = 10KB
- 用户第2页的物理地址为4 * 1KB = 4KB
- 用户第3页的物理地址为7 * 1KB = 7KB
根据题目所述,该用户作业的长度为6页,因此需要分配6个物理块来存储该作业。假设操作系统采用的是页替换算法,当需要分配新的物理块时,需要将一个物理块替换出来。这里假设采用的是最近最少使用(LRU)算法。
现在来回答问题:
1. 八进制的虚拟地址100对应的十进制地址为64,因此该地址所在的页面是第0页。由于该页面已经被分配了物理块,因此该地址的物理地址为(5 + 64 mod 16)KB = 9KB。
2. 八进制的虚拟地址110对应的十进制地址为72,因此该地址所在的页面是第1页。由于该页面已经被分配了物理块,因此该地址的物理地址为(10 + 72 mod 16)KB = 10KB。
某虛拟存储器的用户空间共有32个页面,每页1KB,主存16KB。假定某时刻 系统为用户的第0、1、2、3页分配的物理块号为5、10、4、7,而该用户作业 的长度为6页,试将十六进制的虛拟地址OA5C、103C、1A5C转换成物理地址
根据题意,我们可以知道该虚拟存储器采用的是分页存储管理方式,每个页面的大小为1KB,主存大小为16KB,因此主存可以容纳16个页面。该用户空间共有32个页面,因此存在部分页面不在主存中,需要使用虚拟存储器来访问。
对于物理块号和页面号的分配,我们可以建立一个页表来记录。假设该用户的页表如下:
| 虚拟页面号 | 物理块号 |
|------------|----------|
| 0 | 5 |
| 1 | 10 |
| 2 | 4 |
| 3 | 7 |
因此,对于虚拟地址OA5C,我们可以将其分解为页面号和页内偏移量:
```
OA5C = 1010 0101 1100 1100
页面号 页内偏移量
```
其中,页面号为10,页内偏移量为5C。由于页面大小为1KB,因此页内偏移量转换为十进制为92,即该地址在页面中的偏移量为92字节。根据页表,该页面对应的物理块号为5,因此物理地址为:
```
物理地址 = 5 * 页面大小 + 页内偏移量
= 5 * 1KB + 92
= 508C
```
因此,虚拟地址OA5C对应的物理地址为508C。
同理,对于虚拟地址103C,我们可以将其分解为页面号和页内偏移量:
```
103C = 0001 0000 0011 1100
页面号 页内偏移量
```
其中,页面号为1,页内偏移量为03C。由于页面大小为1KB,因此页内偏移量转换为十进制为60,即该地址在页面中的偏移量为60字节。根据页表,该页面对应的物理块号为10,因此物理地址为:
```
物理地址 = 10 * 页面大小 + 页内偏移量
= 10 * 1KB + 60
= 284C
```
因此,虚拟地址103C对应的物理地址为284C。
对于虚拟地址1A5C,我们可以将其分解为页面号和页内偏移量:
```
1A5C = 0001 1010 0101 1100
页面号 页内偏移量
```
其中,页面号为1A,页内偏移量为5C。由于页面大小为1KB,因此页内偏移量转换为十进制为92,即该地址在页面中的偏移量为92字节。根据页表,该页面不在主存中,因此需要使用虚拟存储器来访问,物理地址无法确定。