zoukankan      html  css  js  c++  java
  • 2018.5.2 日志式文件系统

    假设我们新增一个文件时,文件系统的行为是:

    • 1:先确定用户对于欲新增文件的目录是否有w与x的权限,有的话才能新增。
    • 2:根据inode bitmap找到没有使用的inode号码,并将新的权限、属性写入。
    • 3:根据block bitmap找到没有使用的block号码,并将实际数据写入block中,且更新的inode的block指向数据。
    • 4:将刚刚写入的inode与block号码数据同步更新inode bitmap 及 block bitmap,并更新superblock的内容。

    日志式文件系统:

    在文件系统中划出一个区块专门记录写入或修改文件时的步骤,这样就可以简化一致性检查的步骤了。

    • 1:预备:当系统要写入一个文件时,会先在日志记录区块中记录某个文件准备要写入的信息。
    • 2:实际写入:开始写入文件的权限与数据;更新中介数据的数据。
    • 3:结束:完成数据与中介数据的更新后,在日志记录区块当中完成该文件的记录。

    在这样的程序中,万一数据的记录过程当中出现了问题,那么通过检查日志记录区块就会很快的知道哪个文件发生了问题,然后对该文件进行一致性检查,这样比一一比对快的多了。这就是日志式文件系统最基础的功能。

    一边喊着救命,一边享受沉沦。
  • 相关阅读:
    「学习笔记」Min25筛
    hash索引
    Thread的setDaemon(true)方法的作用
    Reactor模式详解
    题目整理
    jstat命令查看jvm的GC情况 (以Linux为例)
    jvm参数调优
    以网游服务端的网络接入层设计为例,理解实时通信的技术挑战
    Java 工程师成神之路
    ID生成 雪花算法
  • 原文地址:https://www.cnblogs.com/fast-walking/p/8980109.html
Copyright © 2011-2022 走看看