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
Satoru Takeuchi
PRO
August 20, 2025
Technology
100
1
Share
ファイルシステム
以下動画のテキストです
https://youtu.be/0X0g2rephE8
Satoru Takeuchi
PRO
August 20, 2025
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
ファイルシステムの整合性を回復するfsck
sat
PRO
1
33
小学校5,6年生向けキャリア教育 大人になるまでの道
sat
PRO
8
3.5k
ファイルシステムの不整合
sat
PRO
2
130
書籍執筆での生成AIの活用
sat
PRO
2
460
ChatGPTに従って体調管理2026
sat
PRO
0
170
eBPF
sat
PRO
1
140
waruiBPF
sat
PRO
0
130
eBPFとwaruiBPF
sat
PRO
5
4.6k
Pythonのコードの気になる行でスタックトレースを出す
sat
PRO
1
120
Other Decks in Technology
See All in Technology
AIが書いたコードを信じられない問題 〜レビュー負荷を下げるために変えたこと〜 / The AI Code Trust Gap: Reducing the Review Burden
bitkey
PRO
8
1.3k
20年前の「OSS革命」に学ぶ AI時代の生存戦略
samakada
0
440
小説執筆のハーネスエンジニアリング
yoshitetsu
0
710
国内外の生成AIセキュリティの最新動向 & AIガードレール製品「chakoshi」のご紹介 / Latest Trends in Generative AI Security (Domestic & International) & Introduction to AI Guardrail Product "chakoshi"
nttcom
3
1.2k
Choose your own adventure in agentic design patterns
glaforge
0
140
QGISプラグイン CMChangeDetector
naokimuroki
1
410
20260423_執筆の工夫と裏側 技術書の企画から刊行まで / From the planning to the publication of technical book
nash_efp
3
410
弁護士ドットコム株式会社 エンジニア職向け 会社紹介資料
bengo4com
1
160
Pure Intonation on Browser: Building a Sequencer with Ruby
nagachika
0
130
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
320
LLM時代の検索アーキテクチャと技術的意思決定
shibuiwilliam
3
1.3k
[最強DB講義]推薦システム | 基礎編
recsyslab
PRO
1
170
Featured
See All Featured
Everyday Curiosity
cassininazir
0
200
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
We Are The Robots
honzajavorek
0
220
SEO for Brand Visibility & Recognition
aleyda
0
4.5k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
180
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
340
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
270
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
340
Designing for Performance
lara
611
70k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
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