問題タブ [sel4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2449 参照

microkernel - L4(マイクロカーネル)の用途はありますか?

私はL4マイクロカーネルについて多くのことをグーグルで検索しましたが、L4には非常に少ないリソースがあることがわかりました。

  1. 私が参照できるいくつかの良いリンクは何ですか?
  2. L4のアプリケーション(つまり、それが使用される場所)はありますか?
0 投票する
1 に答える
465 参照

operating-system - デスクトップユーザー向けのマイクロカーネルアーキテクチャベースのオペレーティングシステム?

デスクトップ ユーザーを対象としたマイクロカーネル アーキテクチャを備えたオペレーティング システムを使用できますか? この Web サイトで、古いマイクロカーネルはモノリシック カーネルよりも 50% 遅くなる可能性があることを読みましたが、L4 などの新しいバージョンはモノリシック カーネルよりも 2% または 4% しか遅くありませんでした。L4 カーネルは、そのパフォーマンスで非常に有名です。

デスクトップユーザーを対象としたマイクロカーネルアーキテクチャに基づくオペレーティングシステムがないのはなぜですか? 将来、そのようなオペレーティング システムを使用できるでしょうか。

0 投票する
0 に答える
104 参照

c - sel4 マイクロカーネルで virtio-net イーサネット デバイスをセットアップするための正しい手順とメモリ アドレス

要するに:

x86_64 仮想マシン内で sel4 マイクロカーネルを実行しようとしていますが、イーサネット インターフェイスが機能しません。sel4 マイクロカーネルで (vitio-net イーサネット デバイス経由で) インターネット接続を取得するための正しい手順は何ですか? そして、正しい(メモリ)アドレスは何ですか?

長いバージョン:

e1000 ネットデバイスで camkes (picoserver) の例を試してみましたが、うまく動かなかったので、いくつか新しいことを学び、ゼロから始めることにしました。また、パフォーマンスを向上させるために、エミュレートされた e1000 デバイスの代わりに virtio-net (vhost と一緒に) を使用することにしました。私の計画は、構造体ethif_virtio_pci_initを初期化してeth_driverから、その構造体を picoTCP に渡すために使用することです。今のところ、sel4 で virtio PCI デバイスを見つけることができますが、正しくアクセスしてethif_virtio_pci_config_t必要な を作成する方法がわかりませんethif_virtio_pci_init

libethdrivers virtio_pci.h からの情報:

そのため、ethif_virtio_pci_config_tuint16_t io_base アドレスと MMIO ベースへのポインターが必要です。

これは私がこれまでに得た情報です:

私が理解している限り、物理アドレスを仮想アドレスにマップする必要があります。そのために、IO-mapper を作成しましたが、何をマップすればよいかわかりません。0x8000000 から始まる dma 領域全体ですか、それとも virtio デバイスのアドレスだけですか? 私が理解している限り、新しい仮想アドレスは MMIO ベース ポインターになりますが、uint16_t io_base とは何ですか?

これはこれまでの私のコードです。不明な部分は最後にあります。

私は sel4 カーネルについて多くのことを読みましたが、sel4 マイクロカーネル (および Linux カーネル) のほとんどの概念についてはまだ初心者なので、ヒントや推奨事項があれば非常に感謝しています。私は通常、組み込み、マイクロコントローラー、およびより多くの「ベアメタル」プラットフォームで作業しており、何か新しいことを学びたいと思っていましたが、今のところ多くのことが非常に混乱しています.