Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ファイルシステム

 ファイルシステム

以下動画のテキストです
https://youtu.be/0X0g2rephE8

Avatar for Satoru Takeuchi

Satoru Takeuchi PRO

August 20, 2025
Tweet

More Decks by Satoru Takeuchi

Other Decks in Technology

Transcript

  1. ユーザのデータはどこに保存(永続化)するのか • ストレージデバイス(ブロックデバイス)に保存 ◦ 📝 その58「Linuxの色々なブロックデバイス」 ◦ 📝 その98「デバイスにアクセスするデバイスファイル」 ◦

    📝 その100「デバイスドライバ」 • ストレージデバイスを直接扱うのは大変で現実的ではない ◦ 「文書、スプレッドシートといったデータをストレージデバイスに保存して、保存した場所を人間が覚 えておく」というのは現実的ではない • そこでファイルシステムですよ 2
  2. 内部構造 • 「ファイルを保存するためのデータ構造」と「データにアクセスするコード」の2つから 構成されるプログラム • 様々な実装がある: ext4, XFS, Btrfs ◦

    それぞれ「データ構造」「コード」が全然異なる ◦ 性能、機能も全然違う • どれを使えばいいのか? ◦ 完璧なものはない ◦ 自分の要件を定義して、それに合う好きなものを使えばいい ◦ 厳しい要件がなければ、迷ったら「 distroのデフォルトのもの」を使えばよい 4
  3. 概念図 5 ユーザモード カーネルモード ストレージデバイス プロセス ファイルシステムの コード どこに何のファイルがあ るかを保存するメタデー

    タ f0のデータ 1. ファイルf0を読み 出すよう依頼 2. f0の場所を検索 3.データ読み出し 4.データを渡す
  4. TIPS • データを整理、管理する方法はLinuxのようなツリー構造のファイルシステムだけで はない • オブジェクトストレージ ◦ ディレクトリという概念が無い ◦ バケットという1つの名前空間の下に様々な大きさのオブジェクトが全て保存される

    • データセット ◦ メインフレームで使われているデータ保存方式 ◦ 個々のデータはバイトストリームではなく固定長のレコード ◦ 📝 Wikipediaのデータセットの項目 ▪ https://ja.wikipedia.org/wiki/%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E 3%83%83%E3%83%88_(IBM%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%95% E3%83%AC%E3%83%BC%E3%83%A0) 6