Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1352957
  • 博文数量: 245
  • 博客积分: 10021
  • 博客等级: 上将
  • 技术积分: 3094
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-12 14:51
文章存档

2011年(2)

2009年(152)

2008年(91)

我的朋友

分类:

2009-01-13 12:03:24

Linux 档案系统的运作:

我们现在知道了目录树与档案系统的关系了,但是由第零章的内容我们也知道, 所有的资料都得要载入到记忆体后 CPU 才能够对该资料进行处理。想一想,如果你常常编辑一个好大的档案, 在编辑的过程中又频繁的要系统来写入到磁碟中,由于磁碟写入的速度要比记忆体慢很多, 因此你会常常耗在等待硬碟的写入/读取上。真没效率!

为了解决这个效率的问题,因此我们的 Linux 使用的方式是透过一个称为非同步处理 (synchronously) 的方式。所谓的非同步处理是这样的:

当系统载入一个档案到记忆体后,如果该档案没有被更动过,则在记忆体区段的档案资料会被设定为乾净(clean)的。 但如果记忆体中的档案资料被更改过了(例如你用 nano 去编辑过这个档案),此时该记忆体中的资料会被设定为脏的 (Dirty)。此时所有的动作都还在记忆体中执行,并没有写入到磁碟中! 系统会不定时的将记忆体中设定为‘Dirty’的资料写回磁碟,以保持磁碟与记忆体资料的一致性。 你也可以利用第五章谈到的 sync指令来手动强迫写入磁碟。

我们知道记忆体的速度要比硬碟快的多,因此如果能够将常用的档案放置到记忆体当中,这不就会增加系统性能吗? 没错!是有这样的想法!因此我们 Linux 系统上面档案系统与记忆体有非常大的关系喔:

    * 系统会将常用的档案资料放置到主记忆体的缓冲区,以加速档案系统的读/写;
    * 承上,因此 Linux 的实体记忆体最后都会被用光!这是正常的情况!可加速系统效能;
    * 你可以手动使用 sync 来强迫记忆体中设定为 Dirty 的档案回写到磁碟中;
    * 若正常关机时,关机指令会主动呼叫 sync 来将记忆体的资料回写入磁碟内;
    * 但若不正常关机(如跳电、当机或其他不明原因),由于资料尚未回写到磁碟内, 因此重新开机后可能会花很多时间在进行磁碟检验,甚至可能导致档案系统的损毁(非磁碟损毁)。

阅读(724) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~