日志文件系统是怎样工作的

作者 vmunix


文件系统要解决的一个关键问题是怎样防止掉电或系统崩溃造成数据损坏,在此类意外事件中,导致文件系统损坏的根本原因在于写文件不是原子操作,因为写文件涉及的不仅仅是用户数据,还涉及元数据(metadata)包括 Superblock、inode bitmap、inode、dat[……]

阅读全文

free命令显示的buffers与cached的区别

作者 vmunix


据说很少有人能说清楚 free 命令所显示的 “buffers” 与 “cached” 之间的区别:


那我们来挑战一下如何?就从分析 free 命令开始吧。先用 strace 跟踪一下,看能不能发现 free 命令是如何计算 “buffers” 和 “cached”[……]

阅读全文

老男孩读PCIe之六:配置和地址空间

每个PCIe设备,有这么一段空间,Host软件可以读取它获得该设备的一些信息,也可以通过它来配置该设备,这段空间就叫做PCIe的配置空间。不同于每个设备的其它空间,PCIe设备的配置空间是协议规定好的,哪个地方放什么内容,都是有定义的。PCI或者PCI-X时代就有配置空间的概念,那时的配置空间如下:[……]

阅读全文

老男孩读PCIe之一:从PCIe速度说起

从今天开始,老男孩要开始讲PCIe了。对我来说,这是个很大的挑战:首先,我自己本身,对PCIe并没有做到胸有成竹,我的PCIe知识也只是停留在理论阶段,我并没有实际做过任何有关PCIe的东西;其次,我要把PCIe讲得深入浅出,让读者轻易接受,我觉得很难,根本原因就是我还没有做到胸有PCIe;最后,我[……]

阅读全文