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 24, 2025
Technology
120
0
Share
ファイルシステムへのアクセス方法
以下動画のテキストです。
https://youtu.be/Ea-vQPKuDKM
Satoru Takeuchi
PRO
August 24, 2025
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
小学校5,6年生向けキャリア教育 大人になるまでの道
sat
PRO
8
3.4k
ファイルシステムの不整合
sat
PRO
2
130
書籍執筆での生成AIの活用
sat
PRO
2
440
ChatGPTに従って体調管理2026
sat
PRO
0
170
eBPF
sat
PRO
1
140
waruiBPF
sat
PRO
0
120
eBPFとwaruiBPF
sat
PRO
5
4.4k
Pythonのコードの気になる行でスタックトレースを出す
sat
PRO
1
110
ソースコードを読むときの思考プロセスの例 ~markdownのレンダリング方法を知りたかった2 markdownパッケージ~
sat
PRO
0
220
Other Decks in Technology
See All in Technology
AWSで2番目にリリースされたサービスについてお話しします(諸説あります)
yama3133
0
110
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
77k
第26回FA設備技術勉強会 - Claude/Claude_codeでデータ分析 -
happysamurai294
0
350
Sansanの認証基盤を支えるアーキテクチャとその振り返り
sansantech
PRO
1
150
AI時代のシステム開発者の仕事_20260328
sengtor
0
320
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
やさしいとこから始めるGitHubリポジトリのセキュリティ
tsubakimoto_s
3
2.1k
Kubernetesの「隠れメモリ消費」によるNode共倒れと、Request適正化という処方箋
g0xu
0
170
VSCode中心だった自分がターミナル沼に入門した話
sanogemaru
0
900
Babylon.js を使って試した色々な内容 / Various things I tried using Babylon.js / Babylon.js 勉強会 vol.5
you
PRO
0
200
20260326_AIDD事例紹介_ULSC.pdf
findy_eventslides
0
390
15年メンテしてきたdotfilesから開発トレンドを振り返る 2011 - 2026
giginet
PRO
2
260
Featured
See All Featured
Designing Powerful Visuals for Engaging Learning
tmiket
1
320
The Limits of Empathy - UXLibs8
cassininazir
1
280
How to Ace a Technical Interview
jacobian
281
24k
What's in a price? How to price your products and services
michaelherold
247
13k
Designing for Timeless Needs
cassininazir
0
180
Color Theory Basics | Prateek | Gurzu
gurzu
0
270
The SEO Collaboration Effect
kristinabergwall1
0
410
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Producing Creativity
orderedlist
PRO
348
40k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
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