Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ファイルシステムの歴史: ジャーナリング編
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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.3k
DockerでGentooのテスト
naota
3
1.9k
Btrfsのころしかた(だったもの)
naota
0
1.1k
Btrfsの構造
naota
5
2.9k
Other Decks in Technology
See All in Technology
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
130
Let's Change Our World—Again
snoozer05
PRO
5
330
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
210
macOS Golden Gate 時代のMac管理
tategami
0
120
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
150
その Valkey 使いこなしていますか?
onk
PRO
5
1.8k
ウォンテッドリーの最近のプロダクトと技術の紹介
stomk
0
330
AWS DevOps Agentはどこまで任せられるか 〜機能の現在地と、機能拡張の実践〜
nyankotaro
0
110
こんにちは!SORACOM です & IoT とは【SORACOM UG 東北 in 八戸】
soracom
PRO
0
170
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
470
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
380
Turning Repos into the Product Second Brain with an LLM Wiki
linedevth
0
130
Featured
See All Featured
The browser strikes back
jonoalderson
0
1.8k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
Discover your Explorer Soul
emna__ayadi
2
1.3k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
220
Optimizing for Happiness
mojombo
378
71k
WENDY [Excerpt]
tessaabrams
14
40k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
370
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
530
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Mind Mapping
helmedeiros
1
400
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
59k
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 ͩΊͩ