【问题标题】:updation of dirty pages in swap in Linux在 Linux 中更新交换中的脏页
【发布时间】:2017-02-17 07:26:39
【问题描述】:

我读过的,

  1. 交换空间没有文件系统
  2. 磁盘有文件系统。每当磁盘上的文件被修改时,其修改后的内容就会被写入新的磁盘块(而不是原始块),并更新相关的数据结构。
  3. 脏页在被分页之前被写回 Swap(由于各种原因)。

问题是,脏页是写回原来的 Page-Slot 还是写到新的 Page-Slot ?如果写入新页槽,那么程序是什么?

【问题讨论】:

    标签: linux linux-kernel operating-system kernel virtual-memory


    【解决方案1】:

    让我试着笼统地回答你提出的问题。

    首先,由于历史原因,页面分区在太监中被称为交换分区。在虚拟内存之前的那些日子里,整个进程都被换掉了。现在进程被调出。

    出于性能原因,操作系统希望以完整的块进行分页。一页通常映射到一个或多个磁盘块。在大多数非太监系统上,页面文件是一个连续文件。分页是通过对页面文件(以及可执行文件或库)的虚拟块 I/O 来完成的。

    传统的太监文件(inode)系统设计得又快又脏。无法创建连续文件。写入连续数据的唯一方法是使用整个磁盘或磁盘分区。太监数据库和页面文件随后成为磁盘分区(Mac OS 使用不同的系统)。系统不是对页面文件执行虚拟块 I/O,而是对磁盘执行逻辑(或物理)I/O。

    当进程分配虚拟内存时,通常页面文件空间是先决条件。因此,页面框架的页面文件位置保持在同一位置。如果不存在这种情况,则进程可能需要调出页面并且页面文件中没有可用位置。

    【讨论】:

    • 其实我从一开始就经历了克劳利,可能是我没有足够的注意力,因此历史和新系统在我的脑海中混淆了。感谢您清理它。
    猜你喜欢
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 2019-07-06
    • 2012-03-02
    • 1970-01-01
    • 2018-04-05
    • 2011-02-10
    • 1970-01-01
    相关资源
    最近更新 更多