豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 1182 行 · 53080 字节 · UTF-8
§
寻观「底层库」之书。
寻观「客体二号」之「布局」之书。
寻观「客体二号」之「平台」之书。
寻观「客体二号」之「基础」之书。
寻观「客体二号」之「实例」之书。
寻观「客体二号」之「模块」之书。
寻观「客体二号」之「块设备」之书。

「:文言:持久之文件系统:双区追加日志,内存索引,紧缩。汉语:持久文件系统:双区追加日志 + 内存索引 + 紧缩。磁盘:扇区 0/1 为交替写的超级块;其后两个等长区,每区是记录序列。记录 = 头扇区(含路径)+ 数据扇区 + 提交扇区。头扇区:+0 魔数 YYR1、+4 代、+8 序号、+12 类型(1 建目录 2 写文件 3 删除)、+16 路径长、+20 数据长、+24 数据扇区数、+28 数据校验、+32 头校验(覆盖 0..31)、+36 起为路径字节。提交扇区:+0 魔数 YYC1、+4 代、+8 序号、+12 头校验、+16 数据校验、+20 提交校验(覆盖 0..19)。挂载:选最高代的有效超级块,顺序验证记录,遇到无效头或缺提交扇区即为日志尾;已提交却校验失败的数据使挂载失败。:」
「魔数超级」者「一三九七一一九三二一」也。

「魔数头」者「八二七四八零四零九」也。

「魔数提交」者「八二六四九七三六九」也。

「条目字节」者「三二」也。

「条目上限值」者「四零九六」也。

「路径池字节」者「二六二一四四」也。

「路径上限」者「四四零」也。

「:文言:错误之码。汉语:错误码。:」
「错_无」者「零」也。

「错_不存在」者「一」也。

「错_类型」者「二」也。

「错_已存在」者「三」也。

「错_非空」者「四」也。

「错_空间」者「五」也。

「错_参数」者「六」也。

「错_输入输出」者「七」也。

「错_未挂载」者「八」也。

「:文言:条目表之字段。汉语:条目表每项 32 字节:路径址、路径长、种类(0 已删 1 文件 2 目录)、数据扇区、数据长、序号、保留。:」
「条_路径址」者「零」也。

「条_路径长」者「四」也。

「条_种类」者「八」也。

「条_数据扇区」者「一二」也。

「条_数据长」者「一六」也。

「条_序」者「二零」也。

「种类_已删」者「零」也。

「种类_文件」者「一」也。

「种类_目录」者「二」也。

「状态_文件系统_暂值」者「二四零零」也。 「:汉语:一遍扫描算出的数据校验的暂存:」

「:文言:校验用 FNV-1a。汉语:FNV-1a 校验;字节数向上取扇区。:」
「校验」乃化「整数」而化「整数」而化「整数」而「整数」也。
「校验」者会「址」而
  会「长」而
    会「种子」而
      递归虑「逐」其化「整数」而化「整数」而「整数」者会「位」而会「哈」而
        若「小于」于「位」于「长」
        则
          「逐」
            于(「加」于「位」于「一」)
            于(「乘」于(「位异或」于「哈」于(「读一」于(「加」于「址」于「位」)))于「一六七七七六一九」)
        否则
          「哈」
      而
      「逐」于「零」于「种子」
也。

「上取扇区」乃化「整数」而「整数」也。
「上取扇区」者会「字节」而
  「无符号右移」于(「加」于「字节」于「五一一」)于「九」
也。

「:文言:内存索引:路径到条目。汉语:内存索引:按路径查条目;路径串存放在路径池;新增或更新条目;查存活子项;求父路径长度。:」
「条目址」乃化「整数」而「整数」也。
「条目址」者会「序」而
  「加」于(「读四」于「状态_文件系统_条目」)于(「乘」于「序」于「条目字节」)
也。

「相同路径」乃化「整数」而化「整数」而化「整数」而化「整数」而「爻」也。
「相同路径」者会「甲址」而会「甲长」而会「乙址」而会「乙长」而
  若「不等于」于「甲长」于「乙长」则
    「阴」
  否则
    「相同字节」于「甲址」于「乙址」于「甲长」
也。

「索引查」乃化「整数」而化「整数」而「整数」也。
「索引查」者会「址」而会「长」而
  虑「个数」者「读四」于「状态_文件系统_条目数」而
  递归虑「逐」其化「整数」而「整数」者会「序」而
    若「小于」于「序」于「个数」
    则
      虑「条」者「条目址」于「序」而
      若「且」
        于(「不等于」于(「读字段」于「条」于「条_种类」)于「零」)
        于(「相同路径」于(「读字段」于「条」于「条_路径址」)于(「读字段」于「条」于「条_路径长」)于「址」于「长」)
      则
        「序」
      否则
        「逐」于(「加」于「序」于「一」)
    否则
      「负一」
  而
  「逐」于「零」
也。

「池存串」乃化「整数」而化「整数」而「整数」也。
「池存串」者会「址」而会「长」而
  虑「顶」者「读四」于「状态_文件系统_池顶」而
  若「无符号大于」于(「加」于「顶」于「长」)于(「读四」于「状态_文件系统_池限」)
  则
    「零」
  否则
    ((「拷贝」于「顶」于「址」于「长」);
      (「写四」于「状态_文件系统_池顶」于(「加」于「顶」于「长」));
      「顶」)
也。

「写条目」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「有」
也。
「写条目」者会「条」而会「种类」而会「数据扇区」而会「数据长」而会「序」而
  虑「无」者(「写字段」于「条」于「条_种类」于「种类」)而
  虑「无」者(「写字段」于「条」于「条_数据扇区」于「数据扇区」)而
  虑「无」者(「写字段」于「条」于「条_数据长」于「数据长」)而
  「写字段」于「条」于「条_序」于「序」
也。

「索引置」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「索引置」者会「址」而会「长」而会「种类」而会「数据扇区」而会「数据长」而会「序」而
  虑「旧序号」者「索引查」于「址」于「长」而
  若「有符号大等」于「旧序号」于「零」
  则
    ((「写条目」于(「条目址」于「旧序号」)于「种类」于「数据扇区」于「数据长」于「序」);
      「旧序号」)
  否则
    若「无符号大等」于(「读四」于「状态_文件系统_条目数」)于(「读四」于「状态_文件系统_条目限」)则
      「负一」
    否则
      虑「串址」者「池存串」于「址」于「长」
      而
      若「等零」于「串址」则
        「负一」
      否则
        虑「新序号」者「读四」于「状态_文件系统_条目数」
        而
        虑「无」者
          (「写四」于「状态_文件系统_条目数」于(「加」于「新序号」于「一」))
        而
        虑「条」者「条目址」于「新序号」
        而
        虑「无」者(「写字段」于「条」于「条_路径址」于「串址」)
        而
        虑「无」者(「写字段」于「条」于「条_路径长」于「长」)
        而
        虑「无」者
          (「写条目」于「条」于「种类」于「数据扇区」于「数据长」于「序」)
        而
        「新序号」
也。

「有子项」乃化「整数」而化「整数」而「爻」也。
「有子项」者会「址」而会「长」而
  虑「个数」者「读四」于「状态_文件系统_条目数」而
  虑「起」者
    「选择」于(「等」于「长」于「一」)于「一」于(「加」于「长」于「一」)而
  递归虑「逐」其化「整数」而「爻」者会「序」而
    若「小于」于「序」于「个数」
    则
      虑「条」者「条目址」于「序」而
      虑「路径址」者「读字段」于「条」于「条_路径址」而
      虑「路径长」者「读字段」于「条」于「条_路径长」而
      若「且」
        于(「且」于(「不等于」于(「读字段」于「条」于「条_种类」)于「零」)于(「大于」于「路径长」于「起」))
        于(「且」
          于(「相同字节」于「路径址」于「址」于「长」)
          于(「或者」于(「等」于「长」于「一」)于(「等」于(「读一」于(「加」于「路径址」于「长」))于「四七」)))
      则
        「阳」
      否则
        「逐」于(「加」于「序」于「一」)
    否则
      「阴」
  而
  「逐」于「零」
也。

「父长」乃化「整数」而化「整数」而「整数」也。
「父长」者会「址」而
  会「长」而
    递归虑「逐」其化「整数」而「整数」者会「位」而
      若「且」于(「大于」于「位」于「零」)于(「不等于」于(「读一」于(「加」于「址」于「位」))于「四七」)
      则
        「逐」于(「减」于「位」于「一」)
      否则
        「选择」于(「等」于「位」于「零」)于「一」于「位」
    而
    「逐」于(「减」于「长」于「一」)
也。

「:文言:超级块之读写。汉语:超级块:写超级块(槽、代、活区、区长);读超级块到缓冲,有效返回代(>0),无效返回 0。:」
「写超级块」乃化「整数」而化「整数」而化「整数」而化「整数」而「整数」也。
「写超级块」者会「槽」而会「代」而会「活」而会「区长」而
  虑「缓」者「读四」于「状态_文件系统_扇区」而
  虑「无」者(「清零」于「缓」于「五一二」)而
  虑「无」者(「写四」于「缓」于「魔数超级」)而
  虑「无」者(「写字段」于「缓」于「四」于「一」)而
  虑「无」者(「写字段」于「缓」于「八」于「代」)而
  虑「无」者(「写字段」于「缓」于「一二」于「活」)而
  虑「无」者(「写字段」于「缓」于「一六」于「二」)而
  虑「无」者(「写字段」于「缓」于「二零」于「区长」)而
  虑「无」者
    (「写字段」于「缓」于「二四」于(「读四」于「状态_文件系统_容量」))而
    虑「无」者
      (「写字段」于「缓」于「二八」于(「校验」于「缓」于「二八」于「校验初值」))
    而
    「块写」于「槽」于「缓」
也。

「读超级块」乃化「整数」而化「整数」而「整数」也。
「读超级块」者会「槽」而会「缓」而
  若「不等于」于(「块读」于「槽」于「缓」)于「零」则
    「零」
  否则
    (
      若「不等于」于(「读四」于「缓」)于「魔数超级」则
        「零」
      否则
        (
          若「不等于」
            于(「读字段」于「缓」于「二八」)
            于(「校验」于「缓」于「二八」于「校验初值」)则
              「零」
          否则
            (若「不等于」于(「读字段」于「缓」于「四」)于「一」则「零」
              否则
                「读字段」于「缓」于「八」)
        )
    )
也。

「:文言:记录之写:先数据,次头,刷新,后提交,再刷新。汉语:追加一条记录(数据扇区、头扇区、提交扇区依次写,头与提交后各刷新)。数据来源:旧扇区 < 0 时取自内存 数据址,否则取自磁盘上的旧数据区(紧缩用)。成功返回 0,并把记录起始扇区存入 状态_文件系统_读扇区。:」
「旧数据校验」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「旧数据校验」者会「旧扇区」而会「缓三」而会「数据长」而会「扇数」而会「位」而会「哈」而
  若「小于」于「位」于「扇数」
  则
    若「不等于」于(「块读」于(「加」于「旧扇区」于「位」)于「缓三」)于「零」则
      「错_输入输出」
    否则
      虑「余」者「减」于「数据长」于(「乘」于「位」于「五一二」)而
      「旧数据校验」
        于「旧扇区」
        于「缓三」
        于「数据长」
        于「扇数」
        于(「加」于「位」于「一」)
        于(「校验」于「缓三」于(「选择」于(「有符号大等」于「余」于「五一二」)于「五一二」于「余」)于「哈」)
  否则
    ((「写四」于「状态_文件系统_暂值」于「哈」);
      「零」)
也。

「写一个数据扇区」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「写一个数据扇区」者会「旧扇区」而会「数据址」而会「数据长」而会「起」而会「缓」而会「缓三」而会「位」而
  虑「余」者「减」于「数据长」于(「乘」于「位」于「五一二」)而
  若「有符号大等」于「旧扇区」于「零」
  则
    若「不等于」于(「块读」于(「加」于「旧扇区」于「位」)于「缓三」)于「零」则
      「错_输入输出」
    否则
      虑「无」者
        (
          若「小于」于「余」于「五一二」则
            「清零」
              于(「加」于「缓三」于「余」)
              于(「减」于「五一二」于「余」)
          否则
            「元」
        )
      而
      若「不等于」于(「块写」于(「加」于(「加」于「起」于「一」)于「位」)于「缓三」)于「零」则
        「错_输入输出」
      否则
        「零」
  否则
    若「有符号大等」于「余」于「五一二」
    则
      (
        若「不等于」
          于(「块写」
            于(「加」于(「加」于「起」于「一」)于「位」)
            于(「加」于「数据址」于(「乘」于「位」于「五一二」)))于「零」则「错_输入输出」
        否则
          「零」
      )
    否则
      虑「无」者(「清零」于「缓」于「五一二」)
      而
      虑「无」者
        (「拷贝」于「缓」于(「加」于「数据址」于(「乘」于「位」于「五一二」))于「余」)
      而
      若「不等于」于(「块写」于(「加」于(「加」于「起」于「一」)于「位」)于「缓」)于「零」则
        「错_输入输出」
      否则
        「零」
也。

「写数据扇区们」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「写数据扇区们」者会「旧扇区」而会「数据址」而会「数据长」而会「扇数」而会「起」而会「缓」而会「缓三」而会「位」而
  若「小于」于「位」于「扇数」
  则
    虑「结果」者
      「写一个数据扇区」于「旧扇区」于「数据址」于「数据长」于「起」于「缓」于「缓三」于「位」而
    若「不等于」于「结果」于「零」则
      「结果」
    否则
      「写数据扇区们」
        于「旧扇区」于「数据址」于「数据长」于「扇数」于「起」于「缓」于「缓三」
        于(「加」于「位」于「一」)
  否则
    「零」
也。

「写记录头」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「写记录头」者
  会「类型」而
  会「路径址」而
  会「路径长」而
  会「数据长」而
  会「扇数」而
  会「数据和」而
  会「序」而
  会「代」而
  会「起」而
  虑「头」者「读四」于「状态_文件系统_扇区」而
  虑「无」者(「清零」于「头」于「五一二」)而
  虑「无」者(「写四」于「头」于「魔数头」)而
  虑「无」者(「写字段」于「头」于「四」于「代」)而
  虑「无」者(「写字段」于「头」于「八」于「序」)而
  虑「无」者(「写字段」于「头」于「一二」于「类型」)而
  虑「无」者(「写字段」于「头」于「一六」于「路径长」)而
  虑「无」者(「写字段」于「头」于「二零」于「数据长」)而
  虑「无」者(「写字段」于「头」于「二四」于「扇数」)而
  虑「无」者(「写字段」于「头」于「二八」于「数据和」)而
  虑「无」者
    (「写字段」于「头」于「三二」于(「校验」于「头」于「三二」于「校验初值」))而
    虑「无」者
      (「拷贝」于(「加」于「头」于「三六」)于「路径址」于「路径长」)而
    若「不等于」于(「块写」于「起」于「头」)于「零」则「错_输入输出」否则「零」
也。

「写记录提交」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「写记录提交」者会「扇数」而会「数据和」而会「序」而会「代」而会「起」而会「头校验」而
  虑「提交」者「读四」于「状态_文件系统_扇区」而
  虑「无」者(「清零」于「提交」于「五一二」)而
  虑「无」者(「写四」于「提交」于「魔数提交」)而
  虑「无」者(「写字段」于「提交」于「四」于「代」)而
  虑「无」者(「写字段」于「提交」于「八」于「序」)而
  虑「无」者(「写字段」于「提交」于「一二」于「头校验」)而
  虑「无」者(「写字段」于「提交」于「一六」于「数据和」)而
  虑「无」者
    (「写字段」于「提交」于「二零」于(「校验」于「提交」于「二零」于「校验初值」))而
  若「不等于」于(「块写」于(「加」于(「加」于「起」于「一」)于「扇数」)于「提交」)于「零」则
    「错_输入输出」
  否则
    「零」
也。

「计算数据校验」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「计算数据校验」者会「旧扇区」而会「缓三」而会「数据址」而会「数据长」而会「扇数」而
  若「有符号大等」于「旧扇区」于「零」
  则
    「旧数据校验」于「旧扇区」于「缓三」于「数据长」于「扇数」于「零」于「校验初值」
  否则
    ((「写四」
      于「状态_文件系统_暂值」
      于(「选择」于(「大于」于「数据长」于「零」)于(「校验」于「数据址」于「数据长」于「校验初值」)于「校验初值」));
      「零」)
也。

「写记录」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「写记录」者会「类型」而会「路径址」而会「路径长」而会「数据址」而会「数据长」而会「旧扇区」而
  虑「起」者「读四」于「状态_文件系统_尾」而
  虑「扇数」者「上取扇区」于「数据长」而
  虑「序」者「读四」于「状态_文件系统_序」而
  虑「代」者「读四」于「状态_文件系统_代」而
  若「无符号大于」
    于(「加」于「起」于(「加」于「扇数」于「二」))
    于(「加」于(「读四」于「状态_文件系统_区起」)于(「读四」于「状态_文件系统_区长」))
  则
    「错_空间」
  否则
    虑「缓」者「读四」于「状态_文件系统_扇区二」而
    虑「缓三」者「读四」于「状态_文件系统_扇区三」而
    虑「校验结果」者
      「计算数据校验」于「旧扇区」于「缓三」于「数据址」于「数据长」于「扇数」
    而
    若「不等于」于「校验结果」于「零」则
      「校验结果」
    否则
      虑「数据和」者「读四」于「状态_文件系统_暂值」
      而
      虑「写数据结果」者
        「写数据扇区们」于「旧扇区」于「数据址」于「数据长」于「扇数」于「起」于「缓」于「缓三」于「零」
      而
      若「不等于」于「写数据结果」于「零」则
        「写数据结果」
      否则
        虑「头结果」者
          「写记录头」
            于「类型」
            于「路径址」
            于「路径长」
            于「数据长」于「扇数」于「数据和」于「序」于「代」于「起」
        而
        若「不等于」于「头结果」于「零」则
          「头结果」
        否则
          虑「头校验」者
            「读字段」于(「读四」于「状态_文件系统_扇区」)于「三二」
          而
          虑「无」者「块刷新」于「元」
          而
          虑「提交结果」者
            「写记录提交」
              于「扇数」于「数据和」于「序」于「代」于「起」于「头校验」
          而
          若「不等于」于「提交结果」于「零」则
            「提交结果」
          否则
            虑「无」者「块刷新」于「元」
            而
            虑「无」者(「写四」于「状态_文件系统_读扇区」于「起」)
            而
            虑「无」者
              (「写四」于「状态_文件系统_尾」于(「加」于「起」于(「加」于「扇数」于「二」)))
            而
            虑「无」者
              (「写四」于「状态_文件系统_序」于(「加」于「序」于「一」))
            而
            「零」
也。

「:文言:记录之应用与区之扫描。汉语:应用一条已验证记录到索引;扫描一个区:验证记录并重建索引;返回 0 成功、-1 数据损坏、正数为应用错误。遇无效头或缺提交扇区即为日志尾(成功)。:」
「应用记录」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「应用记录」者会「类型」而会「路径址」而会「路径长」而会「数据扇区」而会「数据长」而会「序」而
  若「等」于「类型」于「一」
  则
    (
      若「小于」于(「索引置」于「路径址」于「路径长」于「二」于「零」于「零」于「序」)于「零」则「错_空间」否则「零」
    )
  否则
    (
      若「等」于「类型」于「二」
      则
        (
          若「小于」
            于(「索引置」于「路径址」于「路径长」于「一」于「数据扇区」于「数据长」于「序」)
            于「零」则「错_空间」
          否则
            「零」
        )
      否则
        虑「序号」者「索引查」于「路径址」于「路径长」
        而
        虑「无」者
          (若「有符号大等」于「序号」于「零」
            则
              「写字段」于(「条目址」于「序号」)于「条_种类」于「零」
            否则
              「元」)
        而
        「零」
    )
也。

「记录头有效」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「爻」
也。
「记录头有效」者会「缓」而会「序」而会「代」而会「起」而会「区末」而
  虑「类型」者「读字段」于「缓」于「一二」而
  虑「路径长」者「读字段」于「缓」于「一六」而
  虑「数据长」者「读字段」于「缓」于「二零」而
  虑「扇数」者「读字段」于「缓」于「二四」而
  虑「魔数对」者
    「且」于(「等」于(「读四」于「缓」)于「魔数头」)于(「等」于(「读字段」于「缓」于「四」)于「代」)而
    虑「序对」者
      「且」
        于(「等」于(「读字段」于「缓」于「八」)于「序」)
        于(「等」于(「读字段」于「缓」于「三二」)于(「校验」于「缓」于「三二」于「校验初值」))而
        虑「类型对」者
          「且」
            于(「有符号大等」于「类型」于「一」)
            于(「有符号小等」于「类型」于「三」)而
            虑「路径对」者
              「且」
                于(「有符号小等」于「路径长」于「路径上限」)
                于(「有符号大等」于「路径长」于「一」)而
                虑「范围对」者
                  「且」
                    于(「等」于「扇数」于(「上取扇区」于「数据长」))
                    于(「无符号小等」于(「加」于「起」于(「加」于「扇数」于「二」))于「区末」)
                而
                「且」
                  于(「且」于「魔数对」于「序对」)
                  于(「且」于(「且」于「类型对」于「路径对」)于「范围对」)
也。

「提交有效」乃化「整数」而化「整数」而化「整数」而化「整数」而「爻」也。
「提交有效」者会「缓」而会「代」而会「序」而会「头校验」而
  「且」
    于(「且」于(「等」于(「读四」于「缓」)于「魔数提交」)于(「等」于(「读字段」于「缓」于「四」)于「代」))
    于(「且」
      于(「且」
        于(「等」于(「读字段」于「缓」于「八」)于「序」)
        于(「等」于(「读字段」于「缓」于「一二」)于「头校验」))
        于(「等」于(「读字段」于「缓」于「二零」)于(「校验」于「缓」于「二零」于「校验初值」)))
也。

「数据扇区校验」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「数据扇区校验」者会「起」而会「扇数」而会「数据长」而会「缓二」而会「位」而会「期」而会「数据和」而
  若「小于」于「位」于「扇数」
  则
    若「不等于」于(「块读」于(「加」于(「加」于「起」于「一」)于「位」)于「缓二」)于「零」则
      「负一」
    否则
      虑「余」者「减」于「数据长」于(「乘」于「位」于「五一二」)而
      「数据扇区校验」
        于「起」
        于「扇数」
        于「数据长」
        于「缓二」
        于(「加」于「位」于「一」)
        于(「校验」于「缓二」于(「选择」于(「有符号大等」于「余」于「五一二」)于「五一二」于「余」)于「期」)
        于「数据和」
  否则
    (若「等」于「期」于「数据和」则「零」否则「负一」)
也。

「应用已读头记录」乃化「整数」而化「整数」而化「整数」而化「整数」而「整数」也。
「应用已读头记录」者会「起」而会「序」而会「代」而会「缓」而
  虑「类型」者「读字段」于「缓」于「一二」而
  虑「路径长」者「读字段」于「缓」于「一六」而
  虑「数据长」者「读字段」于「缓」于「二零」而
  虑「扇数」者「读字段」于「缓」于「二四」而
  虑「数据和」者「读字段」于「缓」于「二八」而
  虑「头校验」者「读字段」于「缓」于「三二」而
  虑「路径址」者「读四」于「状态_文件系统_路径缓」而
  虑「无」者
    (「拷贝」于「路径址」于(「加」于「缓」于「三六」)于「路径长」)而
  若「不等于」于(「块读」于(「加」于(「加」于「起」于「一」)于「扇数」)于「缓」)于「零」则
    「负一」
  否则
    (
      若「等零」于(「爻整」于(「提交有效」于「缓」于「代」于「序」于「头校验」))则「负二」
      否则
        (
          若「不等于」于(「读字段」于「缓」于「一六」)于「数据和」则
            「负一」
          否则
            虑「缓二」者「读四」于「状态_文件系统_扇区二」
            而
            若「不等于」
              于(「数据扇区校验」于「起」于「扇数」于「数据长」于「缓二」于「零」于「校验初值」于「数据和」)
              于「零」则
                「负一」
            否则
              虑「果」者
                「应用记录」
                  于「类型」
                  于「路径址」
                  于「路径长」
                  于(「加」于「起」于「一」)于「数据长」于「序」
              而
              若「不等于」于「果」于「零」则「果」
              否则
                ((「写四」于「状态_文件系统_暂值」于「扇数」);
                  「零」)
        )
    )
也。

「处理一条记录」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「处理一条记录」者会「起」而会「序」而会「区起」而会「区长」而会「代」而
  虑「区末」者「加」于「区起」于「区长」而
  若「无符号大于」于(「加」于「起」于「二」)于「区末」则
    「负二」
  否则
    虑「缓」者「读四」于「状态_文件系统_扇区」而
    若「不等于」于(「块读」于「起」于「缓」)于「零」则
      「负一」
    否则
      (
        若「等零」于(「爻整」于(「记录头有效」于「缓」于「序」于「代」于「起」于「区末」))则
          「负二」
        否则
          「应用已读头记录」于「起」于「序」于「代」于「缓」
      )
也。

「扫描区」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「扫描区」者会「起」而会「序」而会「区起」而会「区长」而会「代」而
  虑「结果」者
    「处理一条记录」于「起」于「序」于「区起」于「区长」于「代」而
  若「等零」于「结果」
  则
    「扫描区」
      于(「加」于「起」于(「加」于(「读四」于「状态_文件系统_暂值」)于「二」))
      于(「加」于「序」于「一」)于「区起」于「区长」于「代」
  否则
    (
      若「等」于「结果」于「负二」
      则
        ((「写四」于「状态_文件系统_尾」于「起」);
          (「写四」于「状态_文件系统_序」于「序」);
          「零」)
      否则
        「结果」
    )
也。

「:文言:挂载与格式化。汉语:初始化文件系统状态与缓冲;挂载(选最高代的有效超级块并扫描活区重建索引);格式化(写两个空区起点与新超级块后重新挂载)。:」
「文件系统清空索引」乃化「有」而「有」也。
「文件系统清空索引」者会「无」而
  虑「无」者(「写四」于「状态_文件系统_条目数」于「零」)而
  虑「无」者
    (「写四」于「状态_文件系统_池顶」于(「读四」于「状态_文件系统_池」))而
    虑「无」者
      (「索引置」于(「静态串」于『/』)于「一」于「种类_目录」于「零」于「零」于「零」)
    而
    「元」
也。

「文件系统初始化」乃化「有」而「有」也。
「文件系统初始化」者会「无」而
  虑「无」者
    (「写四」于「状态_文件系统_条目」于(「取区域」于(「乘」于「条目上限值」于「条目字节」)))而
    虑「无」者(「写四」于「状态_文件系统_条目限」于「条目上限值」)而
    虑「无」者
      (「写四」于「状态_文件系统_池」于(「取区域」于「路径池字节」))而
      虑「无」者
        (「写四」于「状态_文件系统_池限」于(「加」于(「读四」于「状态_文件系统_池」)于「路径池字节」))而
        虑「无」者
          (「写四」于「状态_文件系统_扇区」于(「取区域」于「五一二」))而
          虑「无」者
            (「写四」于「状态_文件系统_扇区二」于(「取区域」于「五一二」))而
            虑「无」者
              (「写四」于「状态_文件系统_扇区三」于(「取区域」于「五一二」))而
              虑「无」者
                (「写四」于「状态_文件系统_路径缓」于(「取区域」于「二零四八」))而
                虑「无」者
                  (「写四」于「状态_文件系统_当前目录」于(「取区域」于「一零二四」))而
                  虑「无」者
                    (「写一」于(「读四」于「状态_文件系统_当前目录」)于「四七」)而
                    虑「无」者
                      (「写四」于「状态_文件系统_当前长」于「一」)而
                      虑「无」者
                        (「写四」于「状态_文件系统_错误码」于「零」)
                      而
                      「写四」于「状态_文件系统_已挂载」于「零」
也。

「选用超级块并扫描」乃化「整数」而化「整数」而化「整数」而「整数」也。
「选用超级块并扫描」者会「代」而会「活」而会「区长」而
  若「或者」于(「大于」于「活」于「一」)于(「小于」于「区长」于「八」)则
    「错_输入输出」
  否则
    虑「区起」者「加」于「二」于(「乘」于「活」于「区长」)而
    若「无符号大于」于(「加」于「区起」于「区长」)于(「读四」于「状态_文件系统_容量」)则
      「错_输入输出」
    否则
      虑「无」者(「写四」于「状态_文件系统_活区」于「活」)
      而
      虑「无」者(「写四」于「状态_文件系统_区起」于「区起」)
      而
      虑「无」者(「写四」于「状态_文件系统_区长」于「区长」)
      而
      虑「无」者(「写四」于「状态_文件系统_代」于「代」)
      而
      虑「无」者「文件系统清空索引」于「元」
      而
      虑「果」者「扫描区」于「区起」于「一」于「区起」于「区长」于「代」
      而
      若「不等于」于「果」于「零」则「果」
      否则
        ((「写四」于「状态_文件系统_已挂载」于「一」);
          「零」)
也。

「文件系统挂载」乃化「有」而「整数」也。
「文件系统挂载」者会「无」而
  虑「无」者(「写四」于「状态_文件系统_已挂载」于「零」)而
  若「块就绪」于「元」
  则
    虑「无」者
      (「写四」于「状态_文件系统_容量」于(「块容量」于「元」))而
      虑「缓一」者「读四」于「状态_文件系统_扇区」而
      虑「缓二」者「读四」于「状态_文件系统_扇区二」而
      虑「甲」者「读超级块」于「零」于「缓一」而
      虑「乙」者「读超级块」于「一」于「缓二」而
      若「且」于(「等零」于「甲」)于(「等零」于「乙」)则「错_未挂载」
      否则
        虑「用甲」者「无符号大于」于「甲」于「乙」
        而
        虑「选缓」者「选择」于「用甲」于「缓一」于「缓二」而
        「选用超级块并扫描」
          于(「选择」于「用甲」于「甲」于「乙」)
          于(「读字段」于「选缓」于「一二」)
          于(「读字段」于「选缓」于「二零」)
  否则
    「错_输入输出」
也。

「文件系统格式化」乃化「有」而「整数」也。
「文件系统格式化」者会「无」而
  若「块就绪」于「元」
  则
    虑「容」者「块容量」于「元」而
    虑「无」者(「写四」于「状态_文件系统_容量」于「容」)而
    若「小于」于「容」于「二零」则「错_空间」
    否则
      虑「缓」者「读四」于「状态_文件系统_扇区二」
      而
      虑「甲」者「读超级块」于「零」于「缓」
      而
      虑「乙」者「读超级块」于「一」于「缓」
      而
      虑「代」者
        「加」于(「选择」于(「无符号大于」于「甲」于「乙」)于「甲」于「乙」)于「一」
      而
      虑「区长」者「无符号右移」于(「减」于「容」于「二」)于「一」
      而
      虑「无」者(「清零」于「缓」于「五一二」)
      而
      若「不等于」于(「块写」于「二」于「缓」)于「零」则
        「错_输入输出」
      否则
        (
          若「不等于」
            于(「块写」于(「加」于「二」于「区长」)于「缓」)于「零」则
              「错_输入输出」
          否则
            (
              若「不等于」
                于(「写超级块」于(「位与」于「代」于「一」)于「代」于「零」于「区长」)
                于「零」则「错_输入输出」
              否则
                虑「无」者「块刷新」于「元」而
                「文件系统挂载」于「元」
            )
        )
  否则
    「错_输入输出」
也。

「:文言:紧缩:存活条目写入另一区,切换超级块。汉语:紧缩:把存活条目写入另一区并切换超级块;失败则恢复旧的区起、代、尾、序(部分条目的数据位置可能已改,重新挂载可恢复)。:」
「紧缩条目们」乃化「整数」而化「整数」而「整数」也。
「紧缩条目们」者会「位」而会「个数」而
  若「小于」于「位」于「个数」
  则
    虑「条」者「条目址」于「位」而
    虑「类」者「读字段」于「条」于「条_种类」而
    若「等零」于「类」则
      「紧缩条目们」于(「加」于「位」于「一」)于「个数」
    否则
      虑「路径址」者「读字段」于「条」于「条_路径址」
      而
      虑「路径长」者「读字段」于「条」于「条_路径长」
      而
      虑「旧扇区」者「读字段」于「条」于「条_数据扇区」
      而
      虑「数据长」者「读字段」于「条」于「条_数据长」
      而
      若「等」于「类」于「种类_目录」
      则
        虑「果」者
          「写记录」于「一」于「路径址」于「路径长」于「零」于「零」于「负一」
        而
        若「不等于」于「果」于「零」则
          「果」
        否则
          「紧缩条目们」于(「加」于「位」于「一」)于「个数」
      否则
        虑「果」者
          「写记录」
            于「二」于「路径址」于「路径长」于「零」于「数据长」于「旧扇区」
        而
        若「不等于」于「果」于「零」则
          「果」
        否则
          虑「无」者
            (「写字段」于「条」于「条_数据扇区」于(「加」于(「读四」于「状态_文件系统_读扇区」)于「一」))
          而
          「紧缩条目们」于(「加」于「位」于「一」)于「个数」
  否则
    「零」
也。

「紧缩」乃化「有」而「整数」也。
「紧缩」者会「无」而
  虑「区长」者「读四」于「状态_文件系统_区长」而
  虑「新区」者「减」于「一」于(「读四」于「状态_文件系统_活区」)而
  虑「新起」者「加」于「二」于(「乘」于「新区」于「区长」)而
  虑「新代」者「加」于(「读四」于「状态_文件系统_代」)于「一」而
  虑「旧起」者「读四」于「状态_文件系统_区起」而
  虑「旧代」者「读四」于「状态_文件系统_代」而
  虑「旧尾」者「读四」于「状态_文件系统_尾」而
  虑「旧序」者「读四」于「状态_文件系统_序」而
  虑「缓」者「读四」于「状态_文件系统_扇区二」而
  虑「无」者(「清零」于「缓」于「五一二」)而
  若「不等于」于(「块写」于「新起」于「缓」)于「零」则
    「错_输入输出」
  否则
    虑「无」者(「写四」于「状态_文件系统_区起」于「新起」)而
    虑「无」者(「写四」于「状态_文件系统_尾」于「新起」)而
    虑「无」者(「写四」于「状态_文件系统_序」于「一」)而
    虑「无」者(「写四」于「状态_文件系统_代」于「新代」)而
    虑「果」者
      「紧缩条目们」于「一」于(「读四」于「状态_文件系统_条目数」)
    而
    若「不等于」于「果」于「零」
    则
      虑「无」者(「写四」于「状态_文件系统_区起」于「旧起」)
      而
      虑「无」者(「写四」于「状态_文件系统_代」于「旧代」)
      而
      虑「无」者(「写四」于「状态_文件系统_尾」于「旧尾」)
      而
      虑「无」者(「写四」于「状态_文件系统_序」于「旧序」)而
      「果」
    否则
      若「不等于」于(「写超级块」于(「位与」于「新代」于「一」)于「新代」于「新区」于「区长」)于「零」则
        「错_输入输出」
      否则
        虑「无」者「块刷新」于「元」
        而
        虑「无」者(「写四」于「状态_文件系统_活区」于「新区」)而
        「零」
也。

「:文言:对外之操作:路径皆已规范之绝对路径。汉语:对外操作(路径均为已规范化的绝对路径):追加记录(空间不足时先紧缩再试一次)、建目录、写文件、删除、读文件。:」
「追加记录」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「追加记录」者会「类型」而会「路径址」而会「路径长」而会「数据址」而会「数据长」而
  虑「果」者
    「写记录」于「类型」于「路径址」于「路径长」于「数据址」于「数据长」于「负一」而
  若「等」于「果」于「错_空间」
  则
    虑「紧缩果」者「紧缩」于「元」而
    若「不等于」于「紧缩果」于「零」则
      「紧缩果」
    否则
      「写记录」于「类型」于「路径址」于「路径长」于「数据址」于「数据长」于「负一」
  否则
    「果」
也。

「路径长无效」乃化「整数」而「爻」也。
「路径长无效」者会「路径长」而
  「或者」于(「小于」于「路径长」于「二」)于(「大于」于「路径长」于「路径上限」)
也。

「父项号」乃化「整数」而化「整数」而「整数」也。
「父项号」者会「路径址」而会「路径长」而
  「索引查」于「路径址」于(「父长」于「路径址」于「路径长」)
也。

「fs建目录」乃化「整数」而化「整数」而「整数」也。
「fs建目录」者会「路径址」而会「路径长」而
  若「等零」于(「读四」于「状态_文件系统_已挂载」)则
    「错_未挂载」
  否则
    (
      若「路径长无效」于「路径长」则
        「错_参数」
      否则
        (
          若「有符号大等」于(「索引查」于「路径址」于「路径长」)于「零」则
            「错_已存在」
          否则
            虑「父项」者「父项号」于「路径址」于「路径长」
            而
            若「小于」于「父项」于「零」则
              「错_不存在」
            否则
              (
                若「不等于」
                  于(「读字段」于(「条目址」于「父项」)于「条_种类」)
                  于「种类_目录」则
                  「错_类型」
                否则
                  虑「果」者
                    「追加记录」于「一」于「路径址」于「路径长」于「零」于「零」
                  而
                  若「不等于」于「果」于「零」则
                    「果」
                  否则
                    (
                      若「小于」
                        于(「索引置」
                          于「路径址」
                          于「路径长」
                          于「种类_目录」
                          于「零」
                          于「零」
                          于(「减」于(「读四」于「状态_文件系统_序」)于「一」))
                          于「零」则
                            「错_空间」
                      否则
                        「零」
                    )
              )
        )
    )
也。

「fs写文件」乃化「整数」而化「整数」而化「整数」而化「整数」而「整数」也。
「fs写文件」者会「路径址」而会「路径长」而会「数据址」而会「数据长」而
  若「等零」于(「读四」于「状态_文件系统_已挂载」)则
    「错_未挂载」
  否则
    (
      若「路径长无效」于「路径长」则「错_参数」
      否则
        虑「旧」者「索引查」于「路径址」于「路径长」
        而
        若「且」
          于(「有符号大等」于「旧」于「零」)
          于(「等」于(「读字段」于(「条目址」于「旧」)于「条_种类」)于「种类_目录」)则
            「错_类型」
        否则
          虑「父项」者「父项号」于「路径址」于「路径长」
          而
          若「小于」于「父项」于「零」则
            「错_不存在」
          否则
            (
              若「不等于」
                于(「读字段」于(「条目址」于「父项」)于「条_种类」)
                于「种类_目录」则
                「错_类型」
              否则
                虑「果」者
                  「追加记录」
                    于「二」于「路径址」于「路径长」于「数据址」于「数据长」
                而
                若「不等于」于「果」于「零」则
                  「果」
                否则
                  (
                    若「小于」
                      于(「索引置」
                        于「路径址」
                        于「路径长」
                        于「种类_文件」
                        于(「加」于(「读四」于「状态_文件系统_读扇区」)于「一」)
                        于「数据长」
                        于(「减」于(「读四」于「状态_文件系统_序」)于「一」))
                        于「零」则
                          「错_空间」
                    否则
                      「零」
                  )
            )
    )
也。

「fs删除」乃化「整数」而化「整数」而「整数」也。
「fs删除」者会「路径址」而会「路径长」而
  若「等零」于(「读四」于「状态_文件系统_已挂载」)则
    「错_未挂载」
  否则
    (
      若「小于」于「路径长」于「二」则「错_参数」
      否则
        虑「项」者「索引查」于「路径址」于「路径长」
        而
        若「小于」于「项」于「零」则「错_不存在」
        否则
          (
            若「且」
              于(「等」于(「读字段」于(「条目址」于「项」)于「条_种类」)于「种类_目录」)
              于(「有子项」于「路径址」于「路径长」)则
                「错_非空」
            否则
              虑「果」者
                「追加记录」于「三」于「路径址」于「路径长」于「零」于「零」
              而
              若「不等于」于「果」于「零」则「果」
              否则
                ((「写字段」于(「条目址」于「项」)于「条_种类」于「零」);
                  「零」)
          )
    )
也。

「读文件一扇区」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「读文件一扇区」者会「扇区」而会「长」而会「目的址」而会「缓」而会「位」而
  虑「余」者「减」于「长」于(「乘」于「位」于「五一二」)而
  虑「目的」者「加」于「目的址」于(「乘」于「位」于「五一二」)而
  若「有符号大等」于「余」于「五一二」
  则
    (若「不等于」于(「块读」于(「加」于「扇区」于「位」)于「目的」)于「零」则「错_输入输出」否则「零」)
  否则
    若「不等于」于(「块读」于(「加」于「扇区」于「位」)于「缓」)于「零」则「错_输入输出」
    否则
      ((「拷贝」于「目的」于「缓」于「余」);
        「零」)
也。

「读文件扇区们」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「读文件扇区们」者会「扇区」而会「长」而会「扇数」而会「目的址」而会「缓」而会「位」而
  若「小于」于「位」于「扇数」
  则
    虑「结果」者
      「读文件一扇区」于「扇区」于「长」于「目的址」于「缓」于「位」而
    若「不等于」于「结果」于「零」则
      「结果」
    否则
      「读文件扇区们」于「扇区」于「长」于「扇数」于「目的址」于「缓」
      于(「加」于「位」于「一」)
  否则
    「零」
也。

「fs读文件」乃化「整数」而化「整数」而「整数」也。
「fs读文件」者会「项」而会「目的址」而
  若「等零」于(「读四」于「状态_文件系统_已挂载」)则
    「错_未挂载」
  否则
    虑「条」者「条目址」于「项」而
    虑「长」者「读字段」于「条」于「条_数据长」而
    「读文件扇区们」
      于(「读字段」于「条」于「条_数据扇区」)
      于「长」
      于(「上取扇区」于「长」)于「目的址」
        于(「读四」于「状态_文件系统_扇区二」)于「零」
也。