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
naota
February 14, 2015
Technology
1.1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ファイルシステムの歴史: ジャーナリング編
naota
February 14, 2015
More Decks by naota
See All by naota
btrfs領域管理一代記
naota
2
1.2k
DockerでGentooのテスト
naota
3
1.9k
Btrfsのころしかた(だったもの)
naota
0
1.1k
Btrfsの構造
naota
5
2.9k
Other Decks in Technology
See All in Technology
ローカルLLMとLINE Botの組み合わせ その3 / LINE DC Generative AI Meetup #8
you
PRO
0
120
勉強会企画をアプリで構造化してみた 〜そこで見えた、AIとの付き合い方〜 / I've structured a study group plan using an app.
pauli
0
330
LiDAR SLAMの実装とセンサ融合 ~Lie群からContinuous-Time LIOまで~
naokiakai
1
1k
完全自律ロボットを作りたくて、先に開発を自律させた話(ROS Japan UG #63 LT)
rryz09
0
420
AIDLC_ヤフーショッピングの取り組み
lycorptech_jp
PRO
0
570
生成AIの活用/high_school2026
okana2ki
0
110
AI Agent SaaS を支える自社仮想化基盤への挑戦と実運用 / ai-agent-saas-virtualization
flatt_security
2
3k
Control Planeで育てるBtoB SaaSの認証基盤 - SRE NEXT 2026
pokohide
1
1.6k
AIに「使われる」時代のSaaS戦略 〜既存WebAPIのMCPサーバー化における開発ノウハウ〜
ekispert_api
0
300
『AIに負けない』より『AIと遊ぶ』」〜ワクワクが最強のテスト・QA学習戦略_公開用
odan611
2
520
テスト設計の本質を改めて考えてみる~生成AIを活用する時代だからこそ、作ったテストの説明性を高めよう~
yamasaki696
1
390
証券システムを10年Scalaで作り続けるということ - 関数型まつり2026
krrrr38
3
750
Featured
See All Featured
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
460
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
490
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
Designing Powerful Visuals for Engaging Learning
tmiket
1
440
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
270
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
Building Applications with DynamoDB
mza
96
7.1k
The Pragmatic Product Professional
lauravandoore
37
7.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
RailsConf 2023
tenderlove
30
1.5k
Transcript
ϑΝΠϧγεςϜͷྺ࢙: δϟʔ φϦϯάฤ Naohiro Aota (@naota344)
ࣗݾհ ໊લ: ੨ాେ ͓͋ͨͳ͓ͻΖ @naota344 ܚጯٛक़େֶͰϑΝΠϧγεςϜͷݚڀ Gentoo ίϛολ झຯ: FS
Λյͨ͠ਓͷإ͕ݟ͍ͨ
࠷ۙͷ͜ͱ: btrfsck Λ͔͚ͯͨ
ࡢ btrfsck ͷதͷਓ͔ Βϝʔϧ͕དྷͨ
ࡢ btrfsck ͷதͷਓ͔ Βϝʔϧ͕དྷͨ ۙ patch ͕ߘ༧ఆ! ͩͦ͏Ͱ͢
ຊͷ͓ δϟʔφϦϯάͷྺ࢙
δϟʔφϦϯά ͖ͯͱʔʹ FS ʹॻ͘ͱ FS յΕΔ Ұ؏ੑΛ࣋ͬͯॻ͖͘มߋ͕த్ʹͳͬ ͯյΕΔ δϟʔφϦϯά ҰδϟʔφϧྖҬʹ͜Ε͔Βॻ͘༰Λࣄલ
ʹॻ͘ δϟʔφϧॻ͖ऴΘΔ -> ຊମʹॻ͖͜Έ ్தͰࢮΜͰେৎ ͍ΘΏΔ write-ahead-logging
δϟʔφϦϯάॳग़ Reimplementing the Cedar file system using logging and group
commit Robert Hagmann Xerox PARC 1987 Dorado, Dandelion ্Ͱಈ͍͍ͯͨ Cedar Λ Dragon ʹҠ২͢Δʹ͋ͨͬͯʮδϟʔφϦϯάʯ ͕Ճ͞Εͨ
Cedar, Dorado, Dandelion, Dragon Cedar ϓϩάϥϛϯάݴޠͷ໊લ ͔ͭ, Cedar ͕ಈ࡞͢Δʮϓϩάϥϛϯάڥʯ ͷ໊લ
Dorado, Dandelion D-Machine, Lisp Ϛγϯ Dorado 24bit ͱ͍͏ large virtual address space 1024x808 ͷ large Ͱ high-resolution ͳനࠇσΟε ϓϨΠ ࠷େ 32MB ͷཧσΟεΫ
લδϟʔφϦϯά࣌: TridentσΟε Ϋ Dorado, Dandelion Trident σΟεΫΛ༻ http://www.computerhistory.org/ collections/catalog/102681543
Image courtesy of Computer History Museum
TridentσΟεΫ Trident disk for the Alto (1979) Trident σΟεΫͷඪ४తͳϑΥʔϚοτ͕ॻ͍ ͍ͯΔ
֤τϥοΫ (10080 words) = 9 ηΫλ x 1120 words ηΫλ͕ 3 ͭͷ෦ʹ͚ΒΕΔ ϔομ (2 words) ͦͷηΫλͷσΟεΫΞυϨε͕ॻ͍ͯ͋Δ ίϯτϩʔϥ͕ݕࠪ͢Δ ϥϕϧ (10 words) store file dependent information σʔλຊମ (1024 words) ֤ηΫλʹʮϥϕϧʯ͕͚ΒΕΔ
δϟʔφϦϯάҎલͷCedar File Name Table B-tree FS ্ͷશͯͷ file ͷ໊લͱ
header ใΛอ࣋ ϥϕϧΛ༻͍ͨҰ؏ੑอূ uid, page number page type (header, free, data) ͕ه͞ΕΔ
FSD (File System for Dragon)
ͦͷଞ ࠓ FS յΕͯͳ͍͚Ͳɺ εϥΠυॻ ͨ͘Ίͷ Emacs ͕ SEGV Ͱىಈ͠ͳ
͔ͬͨΓɺԿ࿈ଧͯͨ͠Βٸʹىಈ ͯ͠Έ͍ͨͳײ͡ʹͳΓ·ͨ͠
ͳΜͰ? emacs/src/xfns.c XGetICValues X ͷ input context ͷใͱͬͯ͘Δ Τϥʔͩͱ࠷ॳͷͱΕͳ͔ͬͨଐੑ໊͕ฦΔ attr
= XVaCreateNestedList (0, XNAreaNeeded, &needed, NULL); XGetICValues (xic, XNStatusAttributes, attr, NULL); XFree (attr); if (needed->width == 0) { attr = XVaCreateNestedList (0, XNArea, &needed, NULL); XGetICValues (xic, XNStatusAttributes, attr, NULL); XFree (attr); } ʜ XFree (needed); <- ͜͜ͰࢮΜͰΔ
ͦΓΎʔ͠ΐΜ ͳΜͰଐੑऔಘΤϥʔʹͳͬͯͨ? imsettings ͷ͍ͤͬΆ͍: imsettings = ͍ΖΜͳ IM ͷڞ௨ϨΠϠʹ͓Ε͕ͳΔ! uim
ͱ͔ fcitx Λಈతʹม͑ΒΕΔͥ! ͦΓΎʔ͠ΐΜ XMODIFIERS=@im=fcitx emacs XMODIFIERS= emacs
·ͱΊ δϟʔφϦϯάͷΛੲ͔Βࠓ·Ͱͬ͘͞ͱ ͨ͠ imsettings ͩΊͩ