某系统采用页式存储管理策略,拥有逻辑空间32页,每页为2KB,拥有物理空间1MB。若不考虑访问权限等,进程的页表有多少项?每项至少有多少位?如果物理空间减少一半,页表结构应相应作怎样的改变?给出尽可能详细的解答步骤
时间: 2024-03-19 14:39:55 浏览: 258
根据题目描述,该系统采用的是页式存储管理策略,每页大小为2KB,逻辑空间为32页,物理空间为1MB,因此物理空间中可以存放的页数为:1MB/2KB = 512页。
根据页表的定义,每个进程都有一个页表,用于记录该进程的逻辑地址空间中的页面在物理地址空间中的位置。因此,当进程的页表被创建时,每一项都需要记录该页在物理地址空间中的位置,也就是对应的物理页号。因为物理空间中可以存放的页数为512页,所以每个页表中有32页,每页大小为2KB,因此页表中的每一项可以记录一个物理页号,即可表示2KB的物理空间。
因此,进程的页表有32项,每项需要记录一个物理页号,因此每项需要多少位?因为物理空间中可以存放的页数为512页,所以需要log2(512) = 9位二进制数来表示一个物理页号。因此,每一项至少需要9位二进制数。
如果物理空间减少一半,即变为512KB,则物理空间中可以存放的页数变为256页。因此,进程的页表结构应相应作如下改变:
1. 页表中的每一项需要调整为存储一个8位二进制数表示物理页号,因为物理空间中可以存放的页数为256页,而256可以用8位二进制数表示。
2. 在页表中,需要增加一位来表示该页是否在物理内存中。因为物理空间减少了一半,进程的页面可能会被换出到磁盘上,因此需要记录该页是否在物理内存中。
3. 因为页表中的每一项现在只需要存储一个8位二进制数,因此页表的总大小也减少了一半,变为16个页,每页大小为2KB。
以上就是对该问题的详细解答步骤。
相关问题
10、某系统采用页式存储管理策略,拥有逻辑空间32页,每页2KB,拥有物理空间1MB。 (1)写出逻辑地址的格式。 (2)若不考虑访问权限等,进程的页表有多少项?每项至少有多少位? (3)如果物理空间减少一半,页表结构应相应作怎样的改变?
(1) 逻辑地址格式为:页号 + 页内偏移量,其中页号占5位,页内偏移量占11位,共16位。
(2) 进程的页表有32项,每项占4位(因为物理空间有1MB,可以表示为2^20B,每页2KB,所以有2^20/2^11=2^9=512页,而每页需要4位来表示页表项)。
(3) 如果物理空间减少一半,即只有512KB的物理空间,那么每页只能存储1KB的数据,页表结构应相应作如下改变:每页只需要2位来表示页表项,进程的页表有1024项。
某系统采用页式(Paging)存储管理策略,拥有逻辑空间32页,每页2KB;拥有物理空间1MB。 (1)写出逻辑地址的格式。 (2)若不考虑访问权限位,进程的页表有多少项(Entry)?每项至少多少位(bit)? (3)如果物理空间减少一半,页表结构应做怎样的改变?
(1) 逻辑地址格式为:页号 + 页内偏移量,其中页号和页内偏移量均为非负整数。
(2) 进程的页表有32项(对应32页逻辑空间),每项至少需要5位(对应1MB物理空间能够存放的512个页面)。具体的,每个页表项需要包含以下信息:
- 有效位(1 bit):表示该页是否被加载到了物理内存中;
- 物理页框号(20 bit):表示该页对应的物理页框号;
- 访问权限位(例如读、写、执行等,若不考虑则不需要)。
(3) 如果物理空间减少一半,则需要减少物理页框的数量,同时需要重新组织页表结构。具体的,可以采用以下两种方式之一:
- 降低每个页表项中物理页框号所占的位数。假设现在物理空间减少到512KB,即只能容纳256个页面。则每个页表项中的物理页框号只需要15位来表示即可($2^{15}=32768>256\times2$)。这种方案的缺点是,每次访问内存时需要进行一次额外的位运算,将逻辑地址中的页号映射到物理页框号上。
- 减少页表的大小。由于物理空间减半,最多只能容纳512个页面,因此页表中只需要有512个项即可。这种方案的缺点是,如果进程的逻辑空间比物理空间大很多,那么很多页表项将是空闲的,浪费了空间。