【问题标题】:Operating Systems Virtual Memory操作系统虚拟内存
【发布时间】:2024-01-18 21:56:02
【问题描述】:

我是第一次阅读操作系统课程的学生。我对使用需求分页时的性能下降计算有疑问。在 Silberschatz 关于操作系统的书中,出现了以下几行。 “如果我们采用 8 毫秒的平均页面错误服务时间和 内存访问时间为 200 纳秒,则有效访问时间为 纳秒是 有效访问时间 = (1 - p) x (200) + p (8 毫秒) = (1 - p) x 200 + p x 8.00(1000 = 200 + 7,999,800 x p。 然后,我们看到有效访问时间与 页面错误率。如果 1,000 次访问中的一次导致页面错误,则有效 访问时间为 8.2 微秒。电脑会变慢一个因素 40 因为需求分页! "

他们是如何计算这里的减速的? “性能下降”和减速是一样的吗?

【问题讨论】:

  • 8.2 微秒大约是 200 纳秒的 40 倍。 8.2 微秒是 1000 次 200 纳秒加上 1 次 8 毫秒的平均值。

标签: operating-system system theory


【解决方案1】:

这整件事都是荒谬的。它假设一个固定的页面错误率 P。这本身是不现实的。该比率是导致页面错误的内存访问的一小部分。

1-P 是不会导致页面错误的内存访问部分。

T= (1-P) x 200ns + p (8ms) 是内存访问的平均时间。 展开 T = 200ns + p (8ms - 200ns) T = 200ns + p (799980ns)

整个事情相当愚蠢。

您真正需要知道的是,纳秒是十亿分之一秒。 一微秒是千分之一秒。

使用这些数字,内存和磁盘的访问时间相差一百万倍。

【讨论】: