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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Satoru Takeuchi
PRO
August 24, 2025
Technology
0
120
ファイルシステムへのアクセス方法
以下動画のテキストです。
https://youtu.be/Ea-vQPKuDKM
Satoru Takeuchi
PRO
August 24, 2025
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
小学校5,6年生向けキャリア教育 大人になるまでの道
sat
PRO
8
3.2k
ファイルシステムの不整合
sat
PRO
2
120
書籍執筆での生成AIの活用
sat
PRO
1
390
ChatGPTに従って体調管理2026
sat
PRO
0
160
eBPF
sat
PRO
1
130
waruiBPF
sat
PRO
0
120
eBPFとwaruiBPF
sat
PRO
5
4.1k
Pythonのコードの気になる行でスタックトレースを出す
sat
PRO
1
110
ソースコードを読むときの思考プロセスの例 ~markdownのレンダリング方法を知りたかった2 markdownパッケージ~
sat
PRO
0
210
Other Decks in Technology
See All in Technology
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4k
DX Improvement at Scale
ntk1000
2
230
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
クラウド時代における一時権限取得
krrrr38
1
150
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
バクラクのSREにおけるAgentic AIへの挑戦/Our Journey with Agentic AI
taddy_919
2
980
競争優位を生み出す戦略的内製開発の実践技法
masuda220
PRO
2
530
Kiro のクレジットを使い切る!
otanikohei2023
0
110
ソフトウェアアーキテクトのための意思決定術: Create Decision Readiness—The Real Skill Behind Architectural Decision
snoozer05
PRO
29
8.7k
LINEヤフーにおけるAI駆動開発組織のプロデュース施策
lycorptech_jp
PRO
0
390
開発組織の課題解決を加速するための権限委譲 -する側、される側としての向き合い方-
daitasu
3
180
Agentic Software Modernization - Back to the Roots (Zürich Agentic Coding and Architectures, März 2026)
feststelltaste
1
140
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
260
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Navigating Weather and Climate Data
rabernat
0
130
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
400
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.1k
Balancing Empowerment & Direction
lara
5
930
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
170
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
280
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