Slide 1

Slide 1 text

ϓϩάϥϛϯάݴޠ RustͱOS։ൃ @kotetu ಠࣗOSҕһձୈҰճެௌձ(2017.04.13)

Slide 2

Slide 2 text

@kotetu(܀ࢁప) • SansanגࣜձࣾͰීஈ͸iOSΞϓϦΛॻ͍ͯ ·͢ • େֶੜ࣌୅͔Βࣗ࡞OSͷੈքʹڵຯΛ࣋ͭ

Slide 3

Slide 3 text

ructissϓϩδΣΫτ ʹ͍ͭͯ

Slide 4

Slide 4 text

ಠࣗOSϓϩδΣΫτ ructiss • 2016೥։ൃ։࢝ • ͸Γ΅ͯOSͷRust࣮૷Λ໨ࢦ͢ • https://github.com/kotetuco/ructiss • ౰໘ͷλʔήοτΞʔΩςΫνϟ͸࣍ͷ2ͭ • x86 (x86_64) • GBA

Slide 5

Slide 5 text

ructissͷ3ͭͷΞϓϩʔν • ϓϩάϥϛϯάݴޠ • ϓϩάϥϛϯάݴޠRustΛ࢖͏ • ϚϧνϓϥοτϑΥʔϜ • ௿εϖοΫͳϋʔυͰಈ͘γϯϓϧͳ࡞Γ • Ϟδϡʔϧࢦ޲ • Πϝʔδ͸”Project Ara“

Slide 6

Slide 6 text

OS։ൃʹ͓͚Δ ϓϩάϥϛϯάݴޠʹ͍ͭͯ

Slide 7

Slide 7 text

OS։ൃͰ࢖ΘΕΔ ϓϩάϥϛϯάݴޠ • (ഽײతʹ) C / C++ Ͱ։ൃ͞ΕΔέʔε͕ɹɹ ΄ͱΜͲ • ϝδϟʔͳOS͸΄΅C/C++ ʁ • (ݸਓతʹ͸)ͦΖͦΖC/C++Ҏ֎ͷબ୒ࢶ͕ग़ ͖ͯͯ΄͍͠

Slide 8

Slide 8 text

C/C++Ҏ֎ͷOS։ൃࣄྫ • Cosmos $  • House (Haskell) • Java OS (Java) • PowerNex (Dݴޠ)

Slide 9

Slide 9 text

OSॻ͘ͱ͖ʹ͋Δͱخ͍͠ ػೳ(ݸਓతʹ) • ੜͷϙΠϯλΛѻ͑Δ • ඪ४ϥΠϒϥϦ࢖Θͳͯ͘΋ಈ͘ • ωΠςΟϒίʔυग़ྗ • CݴޠͱͷΠϯλϑΣʔε

Slide 10

Slide 10 text

ϓϩάϥϛϯάݴޠRust • 2015೥όʔδϣϯ1.0ϦϦʔε • Mozilla Foundation • FirefoxʹRustͰॻ͍ͨίʔυ͕ೖͬͨ

Slide 11

Slide 11 text

RustͰOSΛ࡞ΔϝϦοτ • ҆શʹॻ͚Δ(͔΋) • ϏϧυγεςϜͱύοέʔδ؅ཧγεςϜ͕ ͋Δ (Cargo) • ଎͍ (C++ͱྑ͍উෛ)

Slide 12

Slide 12 text

RustͷϝϞϦ؅ཧ(1/2) https://imoz.jp/note/rust-functions.htmlɹΑΓൈਮ

Slide 13

Slide 13 text

RustͷϝϞϦ؅ཧ(2/2) https://imoz.jp/note/rust-functions.htmlɹΑΓൈਮ

Slide 14

Slide 14 text

C++ vs Rust The Computer Language Benchmarks GameɹΑΓൈਮ

Slide 15

Slide 15 text

Rust੡OSϓϩδΣΫτ http://wiki.osdev.org/RustɹΑΓൈਮ

Slide 16

Slide 16 text

Redox https://github.com/redox-os/redoxɹΑΓ

Slide 17

Slide 17 text

՝୊ • ࣮࣭nightlyϏϧυͷRust͔͠࢖͑ͳ͍ • ೔ຊޠͷ৘ใ͕গͳ͍ • ֶशίετߴ͍ • (ݸਓతͳײ૝͕ͩ)CargoΛ࢖ͬͨ৔߹ͷόΠ φϦ੍ޚ

Slide 18

Slide 18 text

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