Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ファイルシステムへのアクセス方法
Search
Satoru Takeuchi
PRO
August 24, 2025
Technology
0
100
ファイルシステムへのアクセス方法
以下動画のテキストです。
https://youtu.be/Ea-vQPKuDKM
Satoru Takeuchi
PRO
August 24, 2025
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
eBPFとwaruiBPF
sat
PRO
3
1.3k
Pythonのコードの気になる行でスタックトレースを出す
sat
PRO
0
85
ソースコードを読むときの思考プロセスの例 ~markdownのレンダリング方法を知りたかった2 markdownパッケージ~
sat
PRO
0
160
様々なファイルシステム
sat
PRO
0
310
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
400
ソースを読むプロセスの例
sat
PRO
22
17k
メモリマップトファイル
sat
PRO
1
160
「Linux」という言葉が指すもの
sat
PRO
4
230
APIとABIの違い
sat
PRO
5
270
Other Decks in Technology
See All in Technology
原理から解き明かす AIと人間の成長 - Progate BAR
teba_eleven
2
300
Databricksによるエージェント構築
taka_aki
1
120
Modern Data Stack大好きマンが語るSnowflakeの魅力
sagara
0
280
GitLab Duo Agent Platformで実現する“AI駆動・継続的サービス開発”と最新情報のアップデート
jeffi7
0
160
pmconf2025 - データを活用し「価値」へ繋げる
glorypulse
0
450
pmconf2025 - 他社事例を"自社仕様化"する技術_iRAFT法
daichi_yamashita
0
510
MAP-7thplaceSolution
yukichi0403
2
250
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
21k
“決まらない”NSM設計への処方箋 〜ビットキーにおける現実的な指標デザイン事例〜 / A Prescription for "Stuck" NSM Design: Bitkey’s Practical Case Study
bitkey
PRO
1
350
.NET 10 のパフォーマンス改善
nenonaninu
2
4.7k
Introduction to Bill One Development Engineer
sansan33
PRO
0
330
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
16k
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
69k
Making Projects Easy
brettharned
120
6.5k
Agile that works and the tools we love
rasmusluckow
331
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
How GitHub (no longer) Works
holman
316
140k
We Have a Design System, Now What?
morganepeng
54
7.9k
A Modern Web Designer's Workflow
chriscoyier
697
190k
The Art of Programming - Codeland 2020
erikaheidi
56
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