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.6k
プログラミング言語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.5k
着信時氏名表示させたいエンジニア vs 簡単には着信時氏名表示できない電話番号 (iOS13対応版) / iosdcjapan-2020-lt-calldirectory
kotetuco
2
1.1k
UIImage and CIImage for Image Processing
kotetuco
9
6.2k
Metal for data-parallel computations
kotetuco
1
1.3k
Preparing for Swift 5 Ownership
kotetuco
0
4.8k
Sansan iOSアプリと R&Dとの共同研究について/sansan-ios-and-reearch
kotetuco
0
550
OS Developer として Rustを使ってみる/using-rust-for-os-developer
kotetuco
0
580
Other Decks in Programming
See All in Programming
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
560
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
150
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
210
Golang と Erlang
taiyow
8
1.9k
From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism- An Example
philipschwarz
PRO
0
170
Vaporモードを大規模サービスに最速導入して学びを共有する
kazukishimamoto
4
4.3k
シールドクラスをはじめよう / Getting Started with Sealed Classes
mackey0225
3
400
Synchronizationを支える技術
s_shimotori
1
150
AWS IaCの注目アップデート 2024年10月版
konokenj
3
3.1k
go.mod、DockerfileやCI設定に分散しがちなGoのバージョンをまとめて管理する / Go Connect #3
arthur1
10
2.4k
GCCのプラグインを作る / I Made a GCC Plugin
shouth
1
150
Nuxtベースの「WXT」でChrome拡張を作成する | Vue Fes 2024 ランチセッション
moshi1121
1
530
Featured
See All Featured
Designing for Performance
lara
604
68k
Automating Front-end Workflow
addyosmani
1365
200k
Learning to Love Humans: Emotional Interface Design
aarron
272
40k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
7
150
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Unsuck your backbone
ammeep
668
57k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
[RailsConf 2023] Rails as a piece of cake
palkan
51
4.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
22k
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