我们已经看到较大的页面表大小会导致额外的开销, 因为我们必须将该表划分为多个页面, 然后将其存储到主内存中。
我们所关心的必须是执行进程而不是执行页表。页表为线程的执行提供了支持。页表越大, 开销越大。
我们知道,
Page Table Size = number of page entries in page table X size of one page entry Let's consider an example, Virtual Address Space = 2 GB = 2 X 2 ^ 30 Bytes Page Size = 2 KB = 2 X 2 ^ 10 Bytes Number of Pages in Page Table = (2 X 2 ^ 30)/(2 X 2 ^ 10) = 1 M pages
将有100万页, 这是一个很大的数字。但是, 尝试使页面大小变大, 例如2 MB。
然后, 页表中的页数=(2 X 2 ^ 30)/(2 X 2 ^ 20)= 1 K页。
【寻找最佳页大小】如果比较这两种情况, 我们可以发现页面表大小与页面大小成反比例。
在分页中, 最后一页总是浪费。如果虚拟地址空间不是页面大小的倍数, 则将剩余一些字节, 我们必须为这些字节分配一个完整的页面。这只是开销。
考虑一下
Page Size = 2 KB Virtual Address Space = 17 KBThen number of pages = 17 KB / 2 KB
页数将为9, 尽管第9页仅包含1个字节, 其余页将被浪费。
一般来说,
If page size = p bytes Entry size = e bytes Virtual Address Space = S bytes Then, overhead O = (S/p) X e + (p/2)
平均而言, 虚拟空间中的浪费页面数为p / 2(总页面数的一半)。
因为, 最小的开销,
?O/?p = 0 -S/(p^2) + ? = 0p = √ (2.S.e) bytes
因此, 如果页面大小为√(2.S.e)字节, 则开销将最小。
推荐阅读
- 自由空间管理
- 文件系统结构介绍
- 磁盘分配之文件分配表
- 文件系统介绍
- 系统FCFS与开销
- FCFS调度算法
- 不能错过的最佳白板动画软件下载推荐合集(哪个最好用())
- Mac的7个最佳天气应用程序下载推荐合集(你最喜欢哪个())
- iPhone的最佳IPTV应用程序下载推荐合集(哪款最好用())