snaka; 第17章 ファイルシステム - uchan-nos/os-from-zero GitHub Wiki

home

FATファイルシステムに関する基本情報

  • ブロックデバイス
    • SSD や USB メモリのようなデータ領域が工程の大きさを持つブロックに分割されていて、ブロック単位でデータを読み書きするデバイス
  • パーティション
    • ブロックデバイスを複数に分割した1つの領域のこと
  • PBR (Partition Boot Record)
    • パーティションの先頭の1ブロックのこと
    • パーティションの大きさ(ブロック数)や FAT のデータ構造がなんブロック目から始まるなどの情報が書かれている
  • BPB (BIOS Parameter Block)
    • PBR にに記録されている
    • Sector = Block
    • BPB_BytsPerSec - ブロックあたりのバイト数
    • BPB_SecPerClus - クラスタあたりのブロック数
    • BPB_TotSec32 - ボリューム全体のブロック数
    • BPB_RootClus - ルートディレクトリの開始クラスタ番号
      • ルートディレクトリのブロック番号を求める計算式
        • BPB_RsvdSecCnt + BPB_NumFATs * BPB_FATSz32 + (BPB_RootClus - 2) * BPB_SecPerClus = 2064
  • クラスタ
    • いくつかのブロックをまとめたもの
    • FAT はクラスタを基本単位として管理する

osbook_day17a 実行結果

osbook_day17b 実行結果(ls コマンドが動くようになった)

参考文献