某虚拟存储器的用户空间共有32个页面,每页1KB,内存16KB。假定某时刻系统为用户的第0、1、2、3页分配的物理块号为5、10、4、7,而该用户作业的长度为6页,试将十六进制的逻辑地址0A5C、103C、1A5C变换成物理地址。
时间: 2023-12-28 21:15:25 浏览: 86
根据题目可知,每个页面大小为1KB,即2^10B,所以每个页面内部的地址范围是0x000~0x3FF(十进制为0~1023)。因此,逻辑地址的前五位表示页面号,后十位表示页面内的偏移量。
根据题目,系统为用户的第0、1、2、3页分配的物理块号为5、10、4、7,可以得到以下页表:
| 页面号 | 物理块号 |
| ------ | ------- |
| 0 | 5 |
| 1 | 10 |
| 2 | 4 |
| 3 | 7 |
现在来看三个逻辑地址:
1. 0A5C
逻辑地址转化为二进制为:0000 1010 0101 1100
页面号为0A(二进制为1010),对应的物理块号为5,所以物理地址的前五位为0101。
偏移量为5C(十进制为92),转化为二进制为:0101 1100
因此,物理地址为:0101 1100 0101 = 5C5(十六进制)
2. 103C
逻辑地址转化为二进制为:0001 0000 0011 1100
页面号为10(二进制为1010),对应的物理块号为未定义。
因为该虚拟存储器只有32个页面,所以这是一个非法访问,应该抛出异常。
3. 1A5C
逻辑地址转化为二进制为:0001 1010 0101 1100
页面号为26(二进制为11010),对应的物理块号为未定义。
因为该虚拟存储器只有32个页面,所以这是一个非法访问,应该抛出异常。
相关问题
2、某虚拟存储器的用户空间共有32个页面,每页1KB,内存16KB。假定某时刻系统为用户的第0、1、2、3页分配的物理块号为5、10、4、7,而该用户作业的长度为6页,试将十六进制的逻辑地址0A5C、103C、1A5C变换成物理地址。
根据题意,每个页面大小为1KB,因此32个页面共有32KB的虚拟地址空间,而内存大小为16KB,因此需要进行页面置换。
假定要访问的页面为0、1、2、3、4、5,其中页面0、1、2、3已经分配了物理块号,分别为5、10、4、7,而页面4、5需要进行页面置换。
根据题意,将虚拟地址空间分为4个区,每个区8KB,对应的物理地址空间也分为4个区,每个区4KB。具体的虚拟地址和物理地址的转换过程如下:
1. 将逻辑地址0A5C转换为虚拟地址:将地址0A5C表示为二进制数为0000101001011100,前5位为页面号,后11位为页内偏移量。因为每个页面大小为1KB,因此页内偏移量范围为0~1023,可以用十六进制表示。因此,逻辑地址0A5C所在的页面号为2,页内偏移量为5C。
2. 将虚拟地址0A5C转换为物理地址:因为页面2已经分配了物理块号4,因此将物理块号4和页内偏移量5C相加,得到物理地址为4005C。
3. 将逻辑地址103C转换为虚拟地址:将地址103C表示为二进制数为0001000000111100,前5位为页面号,后11位为页内偏移量。因为每个页面大小为1KB,因此页内偏移量范围为0~1023,可以用十六进制表示。因此,逻辑地址103C所在的页面号为4,页内偏移量为3C。
4. 将虚拟地址103C转换为物理地址:因为页面4需要进行页面置换,因此需要将页面4调入内存,替换掉当前内存中的某一页。假定当前内存中的页面为0、1、2、3,其中页面0对应物理块号5,页面1对应物理块号10,页面2对应物理块号4,页面3对应物理块号7。使用最简单的置换算法FIFO,将最先进入内存的页面页面0置换出去,将页面4调入物理块号5对应的内存位置。因此,将物理块号5和页内偏移量3C相加,得到物理地址为5003C。
5. 将逻辑地址1A5C转换为虚拟地址:将地址1A5C表示为二进制数为0001101001011100,前5位为页面号,后11位为页内偏移量。因为每个页面大小为1KB,因此页内偏移量范围为0~1023,可以用十六进制表示。因此,逻辑地址1A5C所在的页面号为6,页内偏移量为5C。
6. 将虚拟地址1A5C转换为物理地址:因为页面6需要进行页面置换,同样使用FIFO算法将页面1置换出去,将页面6调入内存,替换掉页面1。因此,将物理块号10和页内偏移量5C相加,得到物理地址为A05C。
因此,逻辑地址0A5C、103C、1A5C分别对应的物理地址为4005C、5003C、A05C。
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。
阅读全文