プログラミング言語RustとOS開発/rust-os-develop-introduction

 プログラミング言語RustとOS開発/rust-os-develop-introduction

独自OS委員会第一回公聴会(2017.04.13)でLT発表を行った際に使った資料です。

Ee6254efe6c4bc4c08967c11d4939245?s=128

kotetu (kotetuco)

April 13, 2017
Tweet

Transcript

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

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

  3. ructissϓϩδΣΫτ ʹ͍ͭͯ

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

    • x86 (x86_64) • GBA
  5. ructissͷ3ͭͷΞϓϩʔν • ϓϩάϥϛϯάݴޠ • ϓϩάϥϛϯάݴޠRustΛ࢖͏ • ϚϧνϓϥοτϑΥʔϜ • ௿εϖοΫͳϋʔυͰಈ͘γϯϓϧͳ࡞Γ •

    Ϟδϡʔϧࢦ޲ • Πϝʔδ͸”Project Ara“
  6. OS։ൃʹ͓͚Δ ϓϩάϥϛϯάݴޠʹ͍ͭͯ

  7. OS։ൃͰ࢖ΘΕΔ ϓϩάϥϛϯάݴޠ • (ഽײతʹ) C / C++ Ͱ։ൃ͞ΕΔέʔε͕ɹɹ ΄ͱΜͲ •

    ϝδϟʔͳOS͸΄΅C/C++ ʁ • (ݸਓతʹ͸)ͦΖͦΖC/C++Ҏ֎ͷબ୒ࢶ͕ग़ ͖ͯͯ΄͍͠
  8. C/C++Ҏ֎ͷOS։ൃࣄྫ • Cosmos $  • House (Haskell) • Java

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

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

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

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

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

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

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

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

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

  18. 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