タグ

osとrustに関するR2Mのブックマーク (10)

  • uefi-rsを使わずにRustでMikanOSをやっていく話 - NTT Communications Engineers' Blog

    この記事は、 NTT Communications Advent Calendar 2022 6日目の記事です。 はじめに こんにちは、SDPF クラウド・仮想サーバチームの松下です。 普段は OpenStack の開発・運用をしているエンジニアで、今年から新入社員としてJOINしました。 今回は、細々と取り組んでいるOSを自作する個人的な活動についてお話ししつつ、ちょっと普通とは違う開発にチャレンジする同志を増やしたいなと思い執筆しております。 人の子であれば、一度は何か古くからある難しそうなソフトウェアの自作に取り組みたくなるものです(主語デカ発言) 私も例に漏れずその一人で、現在RustでOSを自作しようとしているところです。 自作するOSは、「ゼロからのOS自作入門」1(通称「MikanOS」)のお題であるMikanOSです。 このMikanOSは、言語としてC++を利用しOS

    uefi-rsを使わずにRustでMikanOSをやっていく話 - NTT Communications Engineers' Blog
    R2M
    R2M 2022/12/06
  • Writing an OS in Rust

    このブログシリーズでは、ちょっとしたオペレーティングシステムをRustプログラミング言語を使って作ります。それぞれの記事が小さなチュートリアルになっており、必要なコードも全て記事内に記されているので、一つずつ読み進めて行けば理解できるでしょう。対応したGithubリポジトリでソースコードを見ることもできます。 最新記事: Async/Await

    R2M
    R2M 2022/11/22
  • ゼロからのOS自作入門をRustで実装した

    概要 OSを座学・書籍で学ぶだけでなく実際に作ってみたくて、またRustでなにかを作りたくて、 ゼロからのOS自作入門(以下みかん)で作るMikanOSをRustで実装しました[1]。 先駆者はいくつか見かけましたが、最後まで実装されている方は見つけられず、 もしRustで実装しようとしてハマっている人や途中で諦めてしまった方がいれば参考になるかと思い、記事を書きました。 実装者のレベル 一応、私のレベル感を書いておきます。 OSの開発経験はなく、低レイヤーっぽい開発経験もひとつだけ Nand2tetris Rustは以下のように多少の経験はあるが業務で利用したことはなし the book はほぼ読んで写経した Rustで始めるTCP自作入門 はやった Programming Rust, 2nd Edition は気になるところを読んだ というような感じで、OS開発もRustも経験が浅い

    ゼロからのOS自作入門をRustで実装した
    R2M
    R2M 2022/07/30
  • この個人サイトは自作OSで動いています

    追記 (2022 5/29): サーバ代をケチるべくVercelに移行しました。動いていたソースコードは ココ に置いてあります。 あなたの予想に反して、このページが見えているでしょうか?このWebサイトは自作OSのKerlaが提供しています。 これは自作OS Advent Calendar 2021の23日目の記事です。 自作OS「Kerla」の紹介 Kerla(かーら)はRustで書かれたLinux ABI互換モノリシックカーネルです。今年の春頃から作り始め、DropbearというSSHサーバが動作する程度には基的なUNIXの機能が実装されています。具体的には、ファイルの読み書きやUDP/TCPソケット、fork/exec、シグナル、擬似端末といったものです。 カーネル実装の雰囲気を軽く紹介すると、Kerlaでは以下のようにシステムコールが実装されています。 /// write(2)

    この個人サイトは自作OSで動いています
    R2M
    R2M 2022/01/03
  • Rustは銀の弾丸となり得るか 新しいOS開発を実現する可能性

    Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。garasubo氏からは、「Rust」で新しいOSの設計を試みる3つのOSについて発表がありました。 「Rust」で新しいOSの設計を試みる論文を紹介 garasubo氏:よろしくお願いします。「RustはOS界の銀の弾丸になりうるか 論文で見るRustで変わるOS設計」というタイトルでgarasuboが発表します。内容を詰め込みすぎちゃったので、けっこう駆け足の発表になると思いますが、ご了承ください。 Rustは、OSを書くにあたってC言語の代わりになるんじゃないかといろいろと注目されてきていて、今回は3つの論文を紹介します。論文はRustを使って新しいOSの設計を模索するというものです。 1つ目がSOSP2017(Symposium on Operating Sy

    Rustは銀の弾丸となり得るか 新しいOS開発を実現する可能性
    R2M
    R2M 2021/06/23
  • Rust言語でファームウェア、OS、言語処理系を実装して、CSS 2020で発表した - 未完成な論を綴るブログ

    先月、国内最大のセキュリティ研究会であるコンピュータセキュリティシンポジウム 2020(CSS 2020)が開催され、そこで、Rust言語を用いてファームウェア、OS、言語処理系を設計・実装した話を発表しました。来、CSS 2020はリアルで開催されるはずでしたが、コロナ禍の影響でオンライン開催となり発表動画作成が求められました。せっかく作った動画をこのまま捨て置くのももったいないと思い、ここで供養したいと思います。 www.youtube.com 概要 内容は、Rust言語を用いて、AArch64のセキュアワールド内で動作するファームウェア、OS、プログラミング言語処理系を実装した話となります。と言っても、まだまだ基的な部分しか実装しておらず、実現目標に対して2〜3割と言ったところですが、どうぞご笑覧ください。 ブート部分は多少アセンブリ言語を使っていますが、その他の部分はRust

    Rust言語でファームウェア、OS、言語処理系を実装して、CSS 2020で発表した - 未完成な論を綴るブログ
    R2M
    R2M 2020/11/21
  • Rustで組込みプログラミングや自作OS作成をするには

    これは以前からつくっていたErkOSという自作OSでの経験を元にして、どうやったらRustで自作組込みOSの最初の一歩を踏み出せるか、というものをドキュメントにしたものです。 このドキュメントはこの前の技術書展の告知が来たあたりから構想を練っていて、すきま時間にちまちまと書き進めていたものですが、とりあえず、プロセスの切り替えっぽいところまでの説明を終えることができたので公開しました。 組込みでRustをやる話や自作OSを書く話というのは先駆者がたくさんいて、僕自身もそれらの資料を参考にしつつ書き進めて来ました。 一応、それらの既存のものとは差別化はしているつもりではあるものの、既存のものを完全に上回るというものではないです。内容もまだまだ足りない。 以前、RustでOSを書くプロジェクトもろもろでいくつかOSを書く際に参考になりそうなプロジェクトをまとめましたが、情報も古くなってきたので

    Rustで組込みプログラミングや自作OS作成をするには
  • はじめに - Rustで始める自作組込みOS入門

    このは組込みシステムやOSのような低レイヤーシステムの開発経験がないプログラマーのような人が、自作OSをはじめるため解説です。 著者自身、職はウェブプログラマーですが、趣味で組込みOSの自作をしています。このはそのノウハウ集のようなものです。 このような低レイヤーシステムはC言語で開発されることが多いのですが、今回はRustを使います。 RustはC言語と比較して、様々なモダンな機能やツール郡を取り揃えている上に、C言語の長所である直接のメモリ制御ができ、パフォーマンスも高いとして組込みシステム開発でつかえるとして注目されています。 Rustそのもの解説は控えめですが、低レイヤーシステム開発特有のテクニックは必要に応じて解説します。 想定読者 ある程度はプログラミング経験があることを前提としています。 また、レジスタやメモリなどコンピュータアーキテクチャに関する基礎用語の説明もちゃ

    R2M
    R2M 2020/05/03
  • RISC Vに従うCPUの上で動作するOSをRustで書く(CPU実験余興) - 欣快の至り

    お手製のCPUの上で自分で作ったOSを動かすというのは、割と夢のある行為だと思っていて、今回それを一定のレベルですることができたので、簡単に内容についてメモをしておこうと思います。 曖昧な日語を読むより、プログラムを読むほうが速いと思う人は、駄文を読まずにGitHubを見てください。 https://github.com/moratorium08/osmium/ 僕が書いたのはOSだけで、コアはATPが書きました。また、乗算命令の実装はdaiが書きました。 https://github.com/hitohira/yokyo 概要 RustでフルスクラッチでRISC-V(rv32im)で動作するOSの実装をしました。OSを実装するにあたり、ページングやカーネルとユーザーモードでの権限切り分け、割り込みなどの仕様を考える必要があり、これもRISC-VのPrivilegeの仕様書に従ったものに

    RISC Vに従うCPUの上で動作するOSをRustで書く(CPU実験余興) - 欣快の至り
  • RustでOS作成したという論文を訳してみた その1 - 飽きっぽい人のブログ

    ここの翻訳になります 原文は2015年に書かれたものなので現在のRustの仕様と異なることが書いてある場合があります 文章はGithubで管理されています この翻訳は7割方間違っているので信用しないでください 次:その2 Reenix: RustでのUnixライクオペレーティングシステムの実装 Alex Light(alexander_light@brown.edu) Advisor: Tom Doeppner Reader: Shriram Krishnamurthi Brown University, Department of Computer Science 要旨 この論文はRustでのUnixライクなOSカーネルの実装でわかった成功と失敗の体験を説明するものである。 CS167/9のために書かれたWeenix OSの基礎デザインと大量の低レベルな処理をサポートするコードを使って

    RustでOS作成したという論文を訳してみた その1 - 飽きっぽい人のブログ
    R2M
    R2M 2017/07/17
  • 1