1. 硬件和控制结构
- 分段和分页使得进程中的内存访问变成逻辑地址,且执行过程中,这些段或页不一定需要全部都在内存中。
- 虚存工作原理: 虚拟内存通常从磁盘中分配,用户将感受到一个更大的内存。如果访问到一个不再内存中的逻辑地址时,则会产生一个缺页中断,操作系统会通过I/O操作,将包含这个逻辑地址的块换入内存中。
- 优点: 虚存让能容纳的进程更多了,则处理器空闲的机会就更小,所以一定程度上提高了处理器的利用率。由于局部性原理,虚拟内存的可行性是可以的。
- 分页:
- 与简单分页的方式类似,可能页表中会多一些控制位,比如某一页是否在内存中。
- 读取机制也基本一样,从页号去找页表项,页表项中给出页框号,页框号加上偏移地址,就是实际地址。
- 由于一般每个页都不太大,假如一个进程的虚存空间达2GB,一个页是29 = 512字节,那么页表项则有222这么多。这太大了,所以采用多级页表,让页表结构更加合理,能够放在虚存中,通过查找多级页表来找到实际地址。
- TLB转换检测缓冲区,包含有最近用到的页表项,直接得到页框号而不用去页表中多层寻找。提高效率,类似高速缓存。
- 分段:
- 分段让程序员可以把内存分为多个段,长度不等。
- 地址访问与简单分段类似,段表中差的段号&#x