1.在分页存储管理系统中,页内地址为12位,一次内存访问时间为10ns,查询快表时间为Ins.缺页处理时间为1000ns。现系统开始执行一进程,第3号逻辑页面已在内存中,并连续访向SESFH、3E4FH、43SFH、3EA4H、7E41H、6B41H、431AH、3E40H、7D88H逻辑地址上的数据。假设:该进程的驻留集为4,采用局部置换策略,缺页处理后指令重新开始执行,快表容量足够大。若采用LRU页面置换算法,则求: (1)页面大小是多少? (2)这个进程会依次访问哪些逻辑页面? (3)访问上述地址序列时,哪些地址发生了缺页中断?共发生了几次?请写出分析过程。 (4)访问地址SESFH、3E4FH、3EA4H的数据需要的时间是多少?请列式说明。
时间: 2024-03-01 11:49:26 浏览: 471
这是一道较为复杂的题目,需要详细的分析计算,我会尽力给您解答。
1. 页面大小计算
由于页内地址为12位,即一页可存储 $2^{12}$ 个字节的数据。
同时,一个进程的驻留集为4,即系统中最多同时存在4个页面。
因此,系统的物理内存大小为 $4 \times 2^{12}$ 个字节。
2. 逻辑页面访问顺序
根据题目描述,该进程连续访问的逻辑页面依次为:
3号页面、
SESFH 页面、
3E4FH 页面、
43SFH 页面、
3EA4H 页面、
7E41H 页面、
6B41H 页面、
431AH 页面、
3E40H 页面、
7D88H 页面。
3. 缺页中断情况分析
对于每个访问的逻辑页面,系统需要判断该页面是否在内存中。
如果在内存中,则直接访问该页面中的数据。
如果不在内存中,则需要进行缺页处理,将该页面从磁盘读取到内存中。
根据题目描述,采用LRU页面置换算法,因此当内存中的页面已满时,需要选择最久未使用的页面进行置换。
在本题中,进程的驻留集为4,因此前4个页面的访问都不会发生缺页中断。
从第5个页面开始,每个页面的访问都需要判断该页面是否在内存中。
对于第5个页面(3EA4H),由于它不在内存中,会发生一次缺页中断。
此时,系统需要进行缺页处理,将该页面从磁盘读取到内存中。
由于缺页处理时间为1000ns,因此在这段时间内,程序无法继续执行。
当缺页处理完成后,程序重新开始执行,并从刚才发生缺页的指令处重新执行。
对于第6-9个页面,均不在内存中,因此会发生4次缺页中断。
需要注意的是,由于采用LRU页面置换算法,每次置换页面时都需要更新页面的使用时间。
因此,在第5个页面发生缺页中断后,3号页面会被置换出去,因此在后续的访问中,3号页面也有可能发生缺页中断。
因此,总共会发生5次缺页中断。
4. 访问数据所需时间计算
根据题目描述,一次内存访问时间为10ns。
因此,访问SESFH、3E4FH、3EA4H的数据所需时间均为10ns。
综上所述,答案为:
(1) 页面大小为 $2^{12}$ 个字节
(2) 逻辑页面访问顺序为:
3号页面、
SESFH 页面、
3E4FH 页面、
43SFH 页面、
3EA4H 页面、
7E41H 页面、
6B41H 页面、
431AH 页面、
3E40H 页面、
7D88H 页面
(3) 发生缺页中断的地址为:
3EA4H、
7E41H、
6B41H、
431AH、
3E40H,共发生了5次缺页中断
(4) 访问SESFH、3E4FH、3EA4H的数据所需时间均为10ns
阅读全文