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 24, 2025
Technology
0
33
ファイルシステムへのアクセス方法
以下動画のテキストです。
https://youtu.be/Ea-vQPKuDKM
Satoru Takeuchi
PRO
August 24, 2025
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
「Linux」という言葉が指すもの
sat
PRO
4
160
APIとABIの違い
sat
PRO
5
78
ファイルシステム
sat
PRO
1
37
低レイヤソフトウェア技術者が YouTuberとして食っていこうとした話
sat
PRO
7
6.1k
ポーリングと割り込み
sat
PRO
1
85
Rook: Intro and Deep Dive With Ceph
sat
PRO
1
150
会社員しながら本を書いてきた知見の共有
sat
PRO
3
900
デバイスにアクセスするデバイスファイル
sat
PRO
1
71
ファイルシステムのデータを ブロックデバイスへの操作で変更
sat
PRO
1
54
Other Decks in Technology
See All in Technology
非エンジニアのあなたもできる&もうやってる!コンテキストエンジニアリング
findy_eventslides
3
880
Green Tea Garbage Collector の今
zchee
PRO
2
380
リーダーになったら未来を語れるようになろう/Speak the Future
sanogemaru
0
230
組織観点からIAM Identity CenterとIAMの設計を考える
nrinetcom
PRO
1
150
Pure Goで体験するWasmの未来
askua
1
170
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
AIが書いたコードをAIが検証する!自律的なモバイルアプリ開発の実現
henteko
1
290
全てGoで作るP2P対戦ゲーム入門
ponyo877
3
1.3k
ZOZOのAI活用実践〜社内基盤からサービス応用まで〜
zozotech
PRO
0
140
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
3
1.1k
AI Agentと MCP Serverで実現する iOSアプリの 自動テスト作成の効率化
spiderplus_cb
0
400
ACA でMAGI システムを社内で展開しようとした話
mappie_kochi
0
160
Featured
See All Featured
Making Projects Easy
brettharned
118
6.4k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Site-Speed That Sticks
csswizardry
11
870
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Navigating Team Friction
lara
189
15k
4 Signs Your Business is Dying
shpigford
185
22k
For a Future-Friendly Web
brad_frost
180
9.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
What's in a price? How to price your products and services
michaelherold
246
12k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
GraphQLとの向き合い方2022年版
quramy
49
14k
Transcript
ファイルシステムへの アクセス方法 Aug. 24th, 2025 Satoru Takeuchi X: satoru_takeuchi 1
ファイルシステムへのアクセス方法 • 全てのファイルシステムをPOSIXで定められた関数で操作可能 ◦ 内部的にはシステムコールを呼んでいる • 用途によって使う関数が異なる ◦ ファイル作成、削除 ▪
creat(), unlink() ◦ ファイル開閉 ▪ open(), close() ◦ 読み書き ▪ read(), write() ◦ 読み書きだけでは表現できない特殊な操作 ▪ ioctl() • 上記以外にもたくさんある 2
ioctl • 他の関数では表現できない操作が詰め込まれている ◦ ioctl()関数に機能ごとに定義されたフラグを渡す • ファイルシステム依存 ◦ サポートされていなければエラーを返す •
ext4, XFS, Btrfsでのサポート有無の違い ◦ FIEMAP: ファイルからブロックデバイスへのマップ情報を得る ▪ ext4, XFS, Btrfsすべてがサポート ◦ FICLONE: ファイルのshallow copy(cp –reflink相当) ▪ XFS, Btrfsのみがサポート ◦ BTRFS_IOC_SNAP_CREATE_V2: subvolumeのsnapshotを作成 ▪ Btrfsのみがサポート 3
Virtual File System(VFS) • 全ファイルシステムに共通の処理をまとめたカーネル内の部品 4 ユーザモード カーネルモード プロセス ファイルシステムB
ファイルシステムC ファイルシステムA VFS ext4処理用コード 物理デバイス XFS処理用コード disk disk disk 注: 本当は個々のファイルシステム処理 用コードの下にブロック層とデバイスドラ イバがあるが省略
まとめ • ファイルシステムへのアクセスにはファイルシステムの種類によらずPOSIXで定義 された関数を使う • ファイルシステム共通部分はカーネル内のVFSが処理する • 基本的な処理以外はioctl()関数を使う ◦ ファイルシステムごとにサポートする機能が違う
5