タグ

linuxとrustに関するR2Mのブックマーク (6)

  • この個人サイトは自作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
  • [全部無料]最小限で理解しつつ作るELF parser入門 in Rust

    誰も書いていなさそうだったので. Linux OSで標準採用されているexecutable formatのELFを理解するために, Rustでnom(parser combintor)を使いながらサクッとELF parserを実装します. かなり初歩的なことから話すので,前提知識はほぼ必要ないと思います. 有料にしている理由も特にないので, 最終の空ページのみ有料にしています.

    [全部無料]最小限で理解しつつ作るELF parser入門 in Rust
    R2M
    R2M 2021/08/30
  • RustでLinuxカーネルの機能を拡張しよう!

    Linuxカーネルの機能を安全に拡張できるeBPFのコードはC言語で実装する必要があると知り、がっかりしているクラウドネイティブ 世代の皆様に朗報です。実は、Rustで、eBPFのコードを実装することができます。今更、C言語(クラウドネイティブ ではない感じ)を学ぶ必要はありません! eBPFとプログラミング言語eBPFを活用するソフトウェアは、カーネルスペースで動作するeBPFバイトコードと、eBPFバイトコードを制御するユーザスペースのアプリケーションから構成されます。後者は、GoPythonRustなど様々なプログラミング言語で実装することができますが、前者は、制限のあるC言語で実装する必要があります。 eBPFの構成Rust用eBPFライブラリRustでeBPFを扱う一般的な方法は、libbpf-rsライブラリです。これは、C言語でユーザスペースのアプリケーションを実装するため

    RustでLinuxカーネルの機能を拡張しよう!
    R2M
    R2M 2021/06/15
  • Linux kernel in-tree Rust support

    linux-kernel.vger.kernel.org archive mirror help / color / mirror / Atom feed* Linux kernel in-tree Rust support @ 2020-07-09 18:41 Nick Desaulniers 2020-07-09 20:52 ` Miguel Ojeda ` (5 more replies) 0 siblings, 6 replies; 28+ messages in thread From: Nick Desaulniers @ 2020-07-09 18:41 UTC (permalink / raw) To: alex.gaynor, geofft, jbaublitz, Masahiro Yamada, Linus Torvalds, Greg KH, Miguel Ojeda

  • Linuxのネットワークスタックが遅すぎる?RustとXDPでパケット処理!

    Linuxのネットワークスタックが遅すぎる!」 詳細はわかりませんが、すごくエンジニアステージが高そうですね!ネットワークスタックの高速化は多くの前例があり、中途半端に試すと、周辺の詳しい人に一晩中、指導をうけるはめになりかねません。前例のないRustなら安心です。 典型的な高速化手法広く使われている高速化手法は、オペレーティングシステムのプロトコルスタックを使わずに、サーバアプリケーションが直接、NICにアクセスして、パケットを処理するというものです。Linuxの上で、FreeBSDのプロトコルスタックとサーバアプリケーションを統合するという、謎の組み合わせを運用しているクラウド事業者もいます。 上記の高速化手法のポイントの一つが、アプリケーションが、高速に、NICにアクセスするための手法です。たくさん提案されてきましたが、今回は、現在、人気があるXDPを使うことにします。聞いたことが

    Linuxのネットワークスタックが遅すぎる?RustとXDPでパケット処理!
  • Rustこそがシステムプログラミングの未来(で、C言語はもはやアセンブリ相当)なら、Rustで書かれたドライバのコードをLinuxカーネルは受け入れるべきなのか? - YAMDAS現更新履歴

    Intel の主席エンジニアの Josh Triplett の Open Source Technology Summit 2019 での講演 Intel and Rust: the Future of Systems Programming を取り上げ、Rust こそがシステムプログラミングの未来であり、C 言語はもはやかつてのアセンブリ言語である。つまり、未だに OS などのシステムプログラミングの大部分で使われる C 言語は Rust に置き換えられるのではないかと見る記事である。 「Cを愛して…」という文章をワタシが訳したのももはや10年以上前、C が他言語に置き換えられる未来が遂に来るのかと遠い目になってしまう。もっともワタシ自身、4年近く C 言語でコーディングしてないんだよね……。 でも、当にそうなるのだろうか? 手近なシステムプログラミングの現場である Linux カーネ

    Rustこそがシステムプログラミングの未来(で、C言語はもはやアセンブリ相当)なら、Rustで書かれたドライバのコードをLinuxカーネルは受け入れるべきなのか? - YAMDAS現更新履歴
    R2M
    R2M 2019/09/03
  • 1