严小日答自己问:linux文件系统的实现(二)

日志结构文件系统
    即为LFS log_structured_file_system
    是什么?
        基本思想是把整个磁盘结构化为一个日志,每隔一段时间就吧缓冲在内存中的写操作写到一个单独的段,然后再写入磁盘中
    为什么有这个,解决了什么问题
        背景是越来越多的读操作是从告诉缓存中执行的,因为未来多数的磁盘访问是写操作
        又因为写操作是零碎的,及其没有效率,极大的降低了磁盘的效率
        所以,有没有一个方法,化零为整
日志文件系统
    主要是加入了事物的概念
    记录了一个日志,日志是不会崩溃的
虚拟文件系统
    linux可以把多个文件系统整合为一个,即有可能home下是ext3,根目录是ext2,log采用了ReiserFs文件系统,mnt是一个CD_ROM
    linux都使用了虚拟文件系统,这个系统提供了高层的接口调用,即POSIX接口,
    为什么有这个,解决了什么问题?
        统一了多个文件系统,抽象出了多个文件系统的共同部分o


磁盘碎片整理
    为什么要进行整理,整理完有啥好处?
        磁盘被不断的重写与创建,这样造成磁盘上的空穴到处都是,如果新建一个文件,这个文件的块也是散布在整个磁盘上,造成性能的降低
        一般window都要经常进行磁盘碎片整理
    linux要不要进行磁盘整理,如果不需要,linux使用的机制是那种?
        Linux的ext2, ext3, 和 ext4 文件系统 ——Ubuntu和大多数最新的Linux发布版中使用的是ext4——采用了一种更聪明的方法来存放文件。与把多个文件并排放在磁盘
        上不同,Linux文件系统把所有文件都分散到了整个磁盘上,每两个文件之间都留有相当巨大的空闲空间。当文件被修改、体积增加时,它们通常有足够的空间来扩展。
        一旦有碎片产生时,文件系统会尝试移动整个文件来消除碎片,所以你不需要一个碎片整理工具。 
文件系统的一致性
    什么情况下会产生一致性问题
        我先读取 ,然后修改,最后写回
        在写回的时候,系统发生了崩溃  
        使得类似i节点块,目录块,空闲块没有被写完整
        这个就是很严重的一致性问题
    如何解决一致性问题
        我的第一想法是能不能实现一个事务日志的东西

你可能感兴趣的:(严小日答自己问:linux文件系统的实现(二))