我正在阅读操作系统并对页面故障服务时间有疑问?
平均内存访问时间=概率。没有页面错误(内存访问时间) + 概率。页面错误(页面错误服务时间)
我怀疑页面故障服务时间包括什么?
据我说,
TLB或Page表中存在第一个地址转换,但是当在页表中找不到条目时,表示发生了页面错误。因此,我必须从磁盘中获取并在TLB和页面表中更新所有条目。
因此,页面故障服务时间= TLB时间+页面表时间+从磁盘读取页面
有人确认了吗?
答案 0 :(得分:2)
你所描述的是学术公牛_____。有很多因素,像这样的简单方程没有描述访问时间。尽管如此,还是有一些愚蠢的操作系统书籍,这些书籍能够证明知识产权(以及教授喜欢考试的问题)。
这些白痴试图说的是页面引用将在内存中或不在内存中,两个概率加起来为1.0。这完全没有意义,因为相对概率是动态的。如果其他进程开始使用内存,则页面错误的可能性会增加,如果其他进程停止使用内存,则概率会下降。
然后你有内存访问时间。这也不是一成不变的。访问高速缓存的内存位置比非高速缓存的位置更快。访问由多个处理器共享并且互锁的内存较慢。这也不是一个常数。
然后你有页面错误服务时间。有软页面和硬页面错误。对于必须从磁盘加载的页面,请求零页面上的页面错误在时间上是不同的。磁盘访问是缓存还是未缓存?磁盘上有多少活动?
哦,页面表是否已分页?如果是这样,页面表或页面本身是否有页面错误?它甚至可能都是。
处理页面错误:
TLB与此没有任何关系,只是如果有问题的页表条目在TLB中,服务时间会略微加快。
因此,页面错误服务时间= TLB时间+页面表时间+从磁盘读取页面
完全没有。