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
すごいBareflank楽しく学ぼう!
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
morimolymoly
November 11, 2018
Technology
160
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
すごいBareflank楽しく学ぼう!
ゆるふわ入門編
morimolymoly
November 11, 2018
More Decks by morimolymoly
See All by morimolymoly
AVTOKYO2022
morimolymoly
0
2.6k
Linuxの改造とパッチ
morimolymoly
1
3.7k
Porting Golang Runtime To Baremetal
morimolymoly
1
140
Other Decks in Technology
See All in Technology
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
360
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
小粒でもパワフルなJS Runtime Antjsについて
comamoca
0
120
AI開発に用いられるHPC技術について
gpuunite_official
0
210
NANDでも描画したい!
nichica906
2
400
AIにブラウザを触らせて、E2EテストをPlaywrightで書く
koji_kawamura
0
280
なぜ Temporal の大小比較には compare しかないのか / Why Does Temporal Only Have compare() for Comparisons
kazukihayase
1
190
AIに持続⼒を与える 判断の⻑期記憶設計
eiei114
1
520
自宅NWにISR4331を導入してみた話
okaits
0
120
Adding Right-to-Left support to your web application with CSS logical properties — Lessons from Redmine
vividtone
0
160
強化学習「理論」入門
enakai00
3
3.6k
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
240
Featured
See All Featured
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
370
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
240
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Tell your own story through comics
letsgokoyo
1
1k
For a Future-Friendly Web
brad_frost
183
10k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
510
Designing for humans not robots
tammielis
254
26k
From π to Pie charts
rasagy
0
310
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.5k
Optimizing for Happiness
mojombo
378
71k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
550
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Transcript
͍͢͝Bareflankָ͠ ֶ͘΅͏ʂ @Dentoo.LT #21 @morimolymoly
͜Μʹͪ
ࢲ morimolymoly a.k.a. ήΩΧϫͶ͜ΈΈϝΠυ řŐŕŲƄ:morimolymoly.com আ ීஈͬͯΔ͜ͱ • ใηΩϡϦςΟ •
Hypervisor • Twitter • ΞΠΧπ@10߸ؗΞΠΧπࢹௌεϖʔε ࣮MMA෦һͳΜͰ͢Ͷʙʙʙʙ
আ
ͯ͞ɼ
͘͡ • Hypervisorͱʁ • Bareflankͬͯͳʹ • Ͱ͖Δ͜ͱ • ͭΒ͍͜ͱ •
ৄղ Bareflank’s ϏϧυγεςϜ(͕࣌ؒ͋Ε -> ͳͦ͞ ͏ͳͷͰϒϩάͰॻ͘)
ΏΔ;Θʹೖ͍ͯ͠ ͖·͢
Let’s get started!
Hypervisorͱ ԾϚγϯΛཧ͢ΔͨΊͷγεςϜ Type1 - Baremetal Type2 - Host ϋʔυΣΞ Hypervisor
VM VM VM ϋʔυΣΞ Hypervisor VM VM VM ήετOS • Xen • KVM • Hyper-V • Bitvisor • VirtualBox • Qemu • Bochs
Is Կ •Hypervisor։ൃϑϨʔϜϫʔΫ •Type-1,2͕ͭ͘ΕΔʂ •LinuxɼWIndowsɼUEFIʹରԠ •x86-64ରԠ •ถۭ܉ݚڀॴൃͷελʔτΞοϓ͕։ൃ •ϕΞϝλϧͳͷʹC++Ͱ͔͚Δʂ •ͱͱͷ࣮͕͘͢͝ബ͍(࣮͕Ѳ͍͢͠) •։ൃָ͕ʂ(։ൃָ͕ͱݴ͍ͬͯͳ͍)
ͦ͢͝͏(খฒײ)
͏Ε͍͜͠ͱ • ࣮͕ബ͍ͷͰίʔυϦʔσΟϯάָ • ԾԽؔͷߏମ͕·ͱ·ͬͯͯΑ͖ • ϏϧυγεςϜ͕CMakeͰ·Ε͍ͯͯΏΔ;Θ • ϞμϯͳC++Ͱॻ͚Δͷ͏Ε͍͠ͱࢥ͏ •
STL͕͔ͭ͑Δ • gitterͰ࣭͢Δͱ։ൃऀ͕͘͞͠ڭ͑ͯ͘ΕΔ •
ͭΒ͍͜ͱ • ബ͍ϑϨʔϜϫʔΫ -> ࣗͰ༻ҙ͠Ζ • υΩϡϝϯτ͕ແ(͋Δ͚Ͳݹ͍) -> ςετίʔυ͋Δ͍͍͠? ->
ίϯτϦϏϡʔγϣϯͷ νϟϯε? ଞͷHypervisor(Xen, Bitvisor)ͷιʔεͱIntel SDMΛಡΊʂ͆
Αͦ͞͏จݙ • ʰϋΠύʔόΠβͷ࡞Γํʱhttp://syuu1228.github.io/howto_implement_hypervisor/ • ʰHypervisor From Scratchʱhttps://rayanfam.com/topics/hypervisor-from-scratch- part-1/ • Intel
SDM • Bitvisorͷιʔε - thin hypervisorͷྲّྀ͕Θ͔Δ(PassThrough Driverͱ͔) Γ͍ͨ͜ͱʹΑͬͯಡΉจݙ͋Γ͑Μଟ͘ͳΔ
۩ମతͳ֦ுํ๏ʁ • vcpuΫϥε(VMͷίΞ෦)Λܧঝͨ͠ΫϥεΛ࡞͢Δ͚ͩ
;Μ͍͖
ྫ ࢀߟ: http://github.com/Tr4pMafia • syscall -MSR-IA32-LSTARͷվ͟ΜʹΑΔsyscall໋ྩͷtrap • Int3 - INT3ͷtrap
• starter_kit - γϯϓϧͳ֦ு ࠓύεεϧʔυϥΠόͷ࣮ͱ͔Λ;͘Ή͍͍ײ͡ͷHypervisorΛ։ൃ͍ͯ͠Δ
͓ΘΓ