+ -
当前位置:首页 → 问答吧 → 请问脏页面是什么意思?

请问脏页面是什么意思?

时间:2010-08-01

来源:互联网

什么时候记录这个页面被修改了?是os写么?

作者: wzhongyuan   发布时间: 2010-08-01

说说文件系统的
  1. 557 static int minix_write_inode(struct inode *inode, struct writeback_control *wbc)
  2. 558 {
  3. 559     int err = 0;
  4. 560     struct buffer_head *bh;
  5. 561
  6. 562     if (INODE_VERSION(inode) == MINIX_V1)
  7. 563         bh = V1_minix_update_inode(inode);
  8. 564     else
  9. 565         bh = V2_minix_update_inode(inode);
  10. 566     if (!bh)
  11. 567         return -EIO;
  12. 568     if (wbc->sync_mode == WB_SYNC_ALL && buffer_dirty(bh)) {
  13. 569         sync_dirty_buffer(bh);
  14. 570         if (buffer_req(bh) && !buffer_uptodate(bh)) {
  15. 571             printk("IO error syncing minix inode [%s:%08lx]\n",
  16. 572                 inode->i_sb->s_id, inode->i_ino);
  17. 573             err = -EIO;
  18. 574         }
  19. 575     }
  20. 576     brelse (bh);
  21. 577     return err;
  22. 578 }
复制代码
从代码可以看出来,是在写inode的时候,标记一下是dirty的

作者: T-Bagwell   发布时间: 2010-08-01

是 processor 行为
当页面被 write 时,由 processor 置 PTE.D = 1(4k page)或 PDE.D = 1(2M/4M page)或者 PDPE.D = 1(1G page)

系统软件(OS)可以清除 Dirty 位,当然如果 OS 去置 Diryt 标志是可以的(看什么应用场合)

作者: mik   发布时间: 2010-08-01

热门下载

更多