操作系统 进程页表

来源:百度知道 编辑:UC知道 时间:2024/05/06 04:15:35
2.假设当前在处理器上执行的进程的页表如下所示。所有数字为十进制数,每一项都是从0开始计数的,并且所有的地址都是存储器字节地址。页大小为1024个字节。(12分)
A.正确地描述CPU产生的虚地址通常是如何转化成一个物理主存地址的。
B.下列虚地址对应于哪个物理地址(即使有缺页也暂不处理)?
(ⅰ)1052 (ⅱ)2221 (ⅲ)5499
虚页号 有效位 访问位 修改位 页帧号
0 1 1 0 4
1 1 1 1 7
2 0 0 0 -
3 1 0 0 2
4 0 0 0 -
5 1 0 1 0
答对再给20.

答:对于一级页表,进行地址变换的步骤如下:
(1)虚地址计算出页号和页内偏移量。
(2)根据页号和进程的页表首址,找到对应的页表项,取出帧号. (3)(帧号*页面大小)+页内偏移 形成物理地址。
B答:p=INT(A/L) d=[A]mod L (A为虚地址,L为页面大小,p为页号,d为页内偏移)
(i) p=INT(1052/1024)=1 d=28
根据页号查页表得桢号为4,则该页帧的物理起始地址为: 4*1024=4096,再加页内偏移量28得物理地址为:4096+28=4124
(ii) p=INT(2221/1024)=2 d=173 该页不在内存中,将产生缺页中断。 (iii) p=INT(5499/1024)=5 d=379
根据页号查页表得桢号为0,则该页帧的物理起始地址为: 0*1024=0,再加页内偏移量379得物理地址为:0+379=379

不大明白