Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ファイルシステム
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Satoru Takeuchi
PRO
August 20, 2025
Technology
1
90
ファイルシステム
以下動画のテキストです
https://youtu.be/0X0g2rephE8
Satoru Takeuchi
PRO
August 20, 2025
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
書籍執筆での生成AIの活用
sat
PRO
1
230
ChatGPTに従って体調管理2026
sat
PRO
0
150
eBPF
sat
PRO
1
110
waruiBPF
sat
PRO
0
110
eBPFとwaruiBPF
sat
PRO
5
3.7k
Pythonのコードの気になる行でスタックトレースを出す
sat
PRO
1
95
ソースコードを読むときの思考プロセスの例 ~markdownのレンダリング方法を知りたかった2 markdownパッケージ~
sat
PRO
0
200
様々なファイルシステム
sat
PRO
0
340
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
430
Other Decks in Technology
See All in Technology
最速で価値を出すための プロダクトエンジニアのツッコミ術
kaacun
1
400
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
漸進的過負荷の原則
sansantech
PRO
3
420
Deno・Bunの標準機能やElysiaJSを使ったWebSocketサーバー実装 / ラーメン屋を貸し切ってLT会! IoTLT 2026新年会
you
PRO
0
120
新規事業 toitta におけるAI 機能評価の話 / AI Feature Evaluation in toitta
pokutuna
0
280
DatabricksホストモデルでAIコーディング環境を構築する
databricksjapan
0
210
toCプロダクトにおけるAI機能開発のしくじりと学び / ai-product-failures-and-learnings
rince
6
4.5k
プロダクトエンジニアこそ必要なPMスキル 〜デリバリー力を最大化し、価値を届け続けるために〜
layerx
PRO
0
150
2人で作ったAIダッシュボードが、開発組織の次の一手を照らした話― Cursor × SpecKit × 可視化の実践 ― Qiita AI Summit
noalisaai
1
280
オープンウェイトのLLMリランカーを契約書で評価する / searchtechjp
sansan_randd
3
400
Claude Codeベストプラクティスまとめ
minorun365
53
30k
Vitest Highlights in Angular
rainerhahnekamp
0
120
Featured
See All Featured
Tell your own story through comics
letsgokoyo
1
800
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
250
Designing Powerful Visuals for Engaging Learning
tmiket
0
210
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
46
Building an army of robots
kneath
306
46k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
600
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
99
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
Transcript
ファイルシステム Aug. 20th, 2025 Satoru Takeuchi X: satoru_takeuchi 1
ユーザのデータはどこに保存(永続化)するのか • ストレージデバイス(ブロックデバイス)に保存 ◦ 📝 その58「Linuxの色々なブロックデバイス」 ◦ 📝 その98「デバイスにアクセスするデバイスファイル」 ◦
📝 その100「デバイスドライバ」 • ストレージデバイスを直接扱うのは大変で現実的ではない ◦ 「文書、スプレッドシートといったデータをストレージデバイスに保存して、保存した場所を人間が覚 えておく」というのは現実的ではない • そこでファイルシステムですよ 2
ファイルシステム • コンピュータがデータの読み書き、管理をするための仕組みの一つ • Linuxで広く使われるファイルシステムの利用者から見た構造 ◦ 「ファイル」と「ディレクトリ」という基本単位から構成される ◦ 「ルート」と呼ばれるディレクトリの下に木構造を構成する ▪
ディレクトリは内部ノード。子ノードとしてファイルとディレクトリを持てる ▪ ファイルは利用者のデータを保持するバイト列 3 root dir0 dir1 f0 f1 f2 dir2 f3
内部構造 • 「ファイルを保存するためのデータ構造」と「データにアクセスするコード」の2つから 構成されるプログラム • 様々な実装がある: ext4, XFS, Btrfs ◦
それぞれ「データ構造」「コード」が全然異なる ◦ 性能、機能も全然違う • どれを使えばいいのか? ◦ 完璧なものはない ◦ 自分の要件を定義して、それに合う好きなものを使えばいい ◦ 厳しい要件がなければ、迷ったら「 distroのデフォルトのもの」を使えばよい 4
概念図 5 ユーザモード カーネルモード ストレージデバイス プロセス ファイルシステムの コード どこに何のファイルがあ るかを保存するメタデー
タ f0のデータ 1. ファイルf0を読み 出すよう依頼 2. f0の場所を検索 3.データ読み出し 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
まとめ • 通常はストレージデバイス上のデータにファイルシステムを使ってアクセス • Linuxのファイルシステムはファイルとディレクトリから成るツリー構造 • 様々なファイルシステムがあり、どれも一長一短 • Linuxのようなファイルシステム以外にもデータを保存する様々な方法がある 7