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
プログラミング言語RustとOS開発/rust-os-develop-introduction
Search
kotetu (kotetuco)
April 13, 2017
Programming
0
1.7k
プログラミング言語RustとOS開発/rust-os-develop-introduction
独自OS委員会第一回公聴会(2017.04.13)でLT発表を行った際に使った資料です。
kotetu (kotetuco)
April 13, 2017
Tweet
Share
More Decks by kotetu (kotetuco)
See All by kotetu (kotetuco)
認証体験向上のために passkeys (パスキー) に対応する 〜 メリット・対応方法について / iosdcjapan-2023-passkeys
kotetuco
3
1.9k
着信時氏名表示させたいエンジニア vs 簡単には着信時氏名表示できない電話番号 (iOS13対応版) / iosdcjapan-2020-lt-calldirectory
kotetuco
2
1.2k
UIImage and CIImage for Image Processing
kotetuco
9
6.8k
Metal for data-parallel computations
kotetuco
1
1.5k
Preparing for Swift 5 Ownership
kotetuco
0
4.9k
Sansan iOSアプリと R&Dとの共同研究について/sansan-ios-and-reearch
kotetuco
0
620
OS Developer として Rustを使ってみる/using-rust-for-os-developer
kotetuco
0
610
Other Decks in Programming
See All in Programming
ライブ配信サービスの インフラのジレンマ -マルチクラウドに至ったワケ-
mirrativ
2
270
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
180
「リーダーは意思決定する人」って本当?~ 学びを現場で活かす、リーダー4ヶ月目の試行錯誤 ~
marina1017
0
240
Claude Codeで実装以外の開発フロー、どこまで自動化できるか?失敗と成功
ndadayo
2
1.4k
物語を動かす行動"量" #エンジニアニメ
konifar
14
5.5k
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
1
730
CSC305 Summer Lecture 12
javiergs
PRO
0
130
GUI操作LLMの最新動向: UI-TARSと関連論文紹介
kfujikawa
0
1k
Microsoft Orleans, Daprのアクターモデルを使い効率的に開発、デプロイを行うためのSekibanの試行錯誤 / Sekiban: Exploring Efficient Development and Deployment with Microsoft Orleans and Dapr Actor Models
tomohisa
0
210
tool ディレクティブを導入してみた感想
sgash708
1
150
The State of Fluid (2025)
s2b
0
200
【第4回】関東Kaggler会「Kaggleは執筆に役立つ」
mipypf
0
840
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Automating Front-end Workflow
addyosmani
1370
200k
Code Reviewing Like a Champion
maltzj
525
40k
Why Our Code Smells
bkeepers
PRO
338
57k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Documentation Writing (for coders)
carmenintech
73
5k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Transcript
ϓϩάϥϛϯάݴޠ RustͱOS։ൃ @kotetu ಠࣗOSҕһձୈҰճެௌձ(2017.04.13)
@kotetu(܀ࢁప) • SansanגࣜձࣾͰීஈiOSΞϓϦΛॻ͍ͯ ·͢ • େֶੜ͔࣌Βࣗ࡞OSͷੈքʹڵຯΛ࣋ͭ
ructissϓϩδΣΫτ ʹ͍ͭͯ
ಠࣗOSϓϩδΣΫτ ructiss • 2016։ൃ։࢝ • Γ΅ͯOSͷRust࣮Λࢦ͢ • https://github.com/kotetuco/ructiss • ໘ͷλʔήοτΞʔΩςΫνϟ࣍ͷ2ͭ
• x86 (x86_64) • GBA
ructissͷ3ͭͷΞϓϩʔν • ϓϩάϥϛϯάݴޠ • ϓϩάϥϛϯάݴޠRustΛ͏ • ϚϧνϓϥοτϑΥʔϜ • εϖοΫͳϋʔυͰಈ͘γϯϓϧͳ࡞Γ •
Ϟδϡʔϧࢦ • Πϝʔδ”Project Ara“
OS։ൃʹ͓͚Δ ϓϩάϥϛϯάݴޠʹ͍ͭͯ
OS։ൃͰΘΕΔ ϓϩάϥϛϯάݴޠ • (ഽײతʹ) C / C++ Ͱ։ൃ͞ΕΔέʔε͕ɹɹ ΄ͱΜͲ •
ϝδϟʔͳOS΄΅C/C++ ʁ • (ݸਓతʹ)ͦΖͦΖC/C++Ҏ֎ͷબࢶ͕ग़ ͖ͯͯ΄͍͠
C/C++Ҏ֎ͷOS։ൃࣄྫ • Cosmos $ • House (Haskell) • Java
OS (Java) • PowerNex (Dݴޠ)
OSॻ͘ͱ͖ʹ͋Δͱخ͍͠ ػೳ(ݸਓతʹ) • ੜͷϙΠϯλΛѻ͑Δ • ඪ४ϥΠϒϥϦΘͳͯ͘ಈ͘ • ωΠςΟϒίʔυग़ྗ • CݴޠͱͷΠϯλϑΣʔε
ϓϩάϥϛϯάݴޠRust • 2015όʔδϣϯ1.0ϦϦʔε • Mozilla Foundation • FirefoxʹRustͰॻ͍ͨίʔυ͕ೖͬͨ
RustͰOSΛ࡞ΔϝϦοτ • ҆શʹॻ͚Δ(͔) • ϏϧυγεςϜͱύοέʔδཧγεςϜ͕ ͋Δ (Cargo) • ͍ (C++ͱྑ͍উෛ)
RustͷϝϞϦཧ(1/2) https://imoz.jp/note/rust-functions.htmlɹΑΓൈਮ
RustͷϝϞϦཧ(2/2) https://imoz.jp/note/rust-functions.htmlɹΑΓൈਮ
C++ vs Rust The Computer Language Benchmarks GameɹΑΓൈਮ
RustOSϓϩδΣΫτ http://wiki.osdev.org/RustɹΑΓൈਮ
Redox https://github.com/redox-os/redoxɹΑΓ
՝ • ࣮࣭nightlyϏϧυͷRust͔͑͠ͳ͍ • ຊޠͷใ͕গͳ͍ • ֶशίετߴ͍ • (ݸਓతͳײ͕ͩ)CargoΛͬͨ߹ͷόΠ φϦ੍ޚ
Rustͷใݯ • ϓϩάϥϛϯάݴޠRustͷຊޠ൛ • https://rust-lang-ja.github.io/the-rust-programming-language-ja/1.6/book/ • Writing an OS in
Rust • http://os.phil-opp.com/ • RustԿ͕৽͍͠ͷ͔ʢجຊతͳݴޠػೳͷհʣ • https://imoz.jp/note/rust-functions.html