2.某虚拟存储器的用户空间共有32个页面,每页1KB,主存16KB。假定某时刻系统为用户的第0、1、2、3页分配的物理块号为5、10、4、7,而该用户作业的长度为6页,试将 (1)八进制的虚拟地址100、110转换成物理地址
时间: 2023-08-31 14:47:38 浏览: 321
根据题目所述,该用户空间共有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页,试将十六进制虚拟地址0A5C,103C,1A5C转换成物理地址。
好的,这道题需要我们了解虚拟地址和物理地址的转换方式。下面我来分步回答你的问题。
首先,我们需要知道每个页面在主存中的起始地址。因为每个页面大小为1KB,所以第n个页面在主存中的起始地址为n*1024。
接下来,我们需要将虚拟地址转换成页号和页内偏移量。因为每页大小为1KB,所以一个十六进制地址对应着一个字节,而一个页面有1024个字节,所以每个虚拟地址的高10位表示页号,低10位表示页内偏移量。
所以,对于0A5C,其高10位为0A,转换成十进制为10,表示该地址所在的页号为10;其低10位为5C,表示该地址在所在页内的偏移量为92字节。
同理,对于103C,其高10位为10,转换成十进制为16,表示该地址所在的页号为16;其低10位为3C,表示该地址在所在页内的偏移量为60字节。
对于1A5C,其高10位为1A,转换成十进制为26,表示该地址所在的页号为26;其低10位为5C,表示该地址在所在页内的偏移量为92字节。
然后,我们需要知道每个物理块在主存中的起始地址。因为主存大小为16KB,而物理块大小为1KB,所以共有16个物理块,每个物理块大小为1024字节,其起始地址为n*1024。
因为用户的第0,1,2,3页分配的物理块号为5,10,4,7,所以这四个页面在主存中的起始地址分别为5*1024,10*1024,4*1024,7*1024。
最后,我们需要将虚拟地址转换成物理地址。因为该用户作业的长度为6页,所以最多有6个页面在主存中。对于每个虚拟地址,我们需要先找到其所在的页面在主存中的起始地址,然后加上其在页面内的偏移量,得到其在主存中的物理地址。
对于0A5C,其所在的页面为10页,而10页在主存中的起始地址为5*1024,所以该地址在主存中的物理地址为5*1024+92=5284。
对于103C,其所在的页面为16页,而16页不在主存中,所以需要进行页面置换。假设我们使用LRU算法,那么需要选择最近最少使用的页面进行替换,而在这个例子中,可以选择5页或者7页进行替换。假设我们选择5页进行替换,那么10页将被替换出去,而16页将被调入主存中的5页中。所以103C在主存中的物理地址为5*1024+60=5180。
对于1A5C,其所在的页面为26页,而26页不在主存中,所以需要进行页面置换。假设我们仍然使用LRU算法,那么需要选择最近最少使用的页面进行替换,而在这个例子中,可以选择10页或者7页进行替换。假设我们选择10页进行替换,那么5页将被替换出去,而26页将被调入主存中的10页中。所以1A5C在主存中的物理地址为10*1024+92=10372。
综上所述,三个地址在主存中的物理地址分别为:5284,5180,10372。
某虚拟存储器的用户空间共有32个页面,每页1 KB,主存16KB。假定某时刻系统为用户的第0,1,2,3页分配的物理块号为5,10,4,7,而该用户作业的长度为6页,试将十六进制虚拟地址0A5C,103C,1A5C转换成物理地址。
首先,需要知道每个页面的大小为1KB,即2^10字节,所以一个页面可以存放2^10/2 = 512个16位的字。
由于用户空间共有32个页面,所以用户空间最大的地址为31页 x 2^10 = 31KB。
假设用户作业的起始地址为0,那么它的结束地址为5页,即5 x 2^10 = 5KB。
因此,用户作业的长度为6页,即6 x 2^10/2 = 1536个16位字。
现在可以根据分配的物理块号来计算虚拟地址0A5C,103C,1A5C对应的物理地址了。
对于虚拟地址0A5C(即10进制的2620),它所在的页面为第2页,物理块号为4,物理地址为:
4 x 2^10 + (2620 mod 2^10) = 4096 + 556 = 4652
对于虚拟地址103C(即10进制的4140),它所在的页面为第4页,物理块号为7,物理地址为:
7 x 2^10 + (4140 mod 2^10) = 7168 + 396 = 7564
对于虚拟地址1A5C(即10进制的6748),它所在的页面为第6页,但是该页没有被分配物理块,因此该虚拟地址无法转换为物理地址。
阅读全文