kernel

    1

    2答えて

    私は、Linuxカーネルにクライアント/サーバを書いています(はい、カーネルの内部で設計決定が確定し、変更されません) サーバは未処理のソケットから着信パケットを読み込みます。これらのパケット(rawソケットがリッスンしている)のトランスポートプロトコルは、カスタムとUDPのようなものです。要するに、着信接続を待ち受ける必要はなく、その接続を処理するスレッドをフォークする必要はありません。 私は、

    4

    1答えて

    IPペイロード> MTUの場合、ルータは通常、IPパケットを断片化することを知っています。最後に、フラグメント化されたすべてのパケットは、フィールドIP-ID、IPフラグメントオフセットおよびフラグメンテーションフラグを使用して宛先で組み立てられます。 IPペイロードの最大長は64Kです。したがって、64KであるペイロードをL4に引き渡すことは、L4にとって非常に妥当である。多くの場合L2プロトコ

    3

    1答えて

    特定の構文では、untilの例のように、文の終わりを区切るためにセミコロンまたはdoキーワードを使用するかどうかを選択できます。 until x == 100 do puts x; x+=1 end until x == 100; puts x; x+=1 end しかし、Kernel.loopではこれができません。 x=0 loop do puts x; x+=1; break if

    8

    5答えて

    私はプログラミングの課題が好きで、カーネルを書くことはプログラミングの課題のようです。 残念ながら、カーネルは基本的にオペレーティングシステムのコアであり、オペレーティングシステムの上で簡単に実行できないため、テストするのが特に難しいです。 しかし、私はコンピュータハードウェアをエミュレートできる仮想マシンと呼ばれるアプリケーションについて知っています。 バーチャルマシンを使用してカーネル(C +

    1

    2答えて

    私は、同じセクションにいくつかのコードと関連するデータを載せたい、Linuxカーネルモジュールを作成しています。私は特定のセクション名を指定して関数を宣言していない場合は error: foo causes a section type conflict :私は次のように、属性タグでデータや関数を宣言:私はこれを行うとき void * foo __attribute__ ((section (

    6

    1答えて

    私は、Visual C++を使ってx86マシン用の組み込みカーネルを構築したいと思っています。私はコンパイルするためのCとアセンブリコードファイルをいくつか持っており、GRUBのようなマルチブートブートローダと互換性のある方法でそれらをすべてリンクしたいと思っています。

    3

    5答えて

    I/Oが高いがCPU使用率が低い10K同時スレッドをサポートするアプリケーションのスケジューリングに最適なアルゴリズムは何ですか?論文へのリンクは高く評価されています。

    1

    1答えて

    私はMsysを使用して、私がLinuxで書いたホームBrewカーネルを構築しています。 LinuxはELFをバイナリ形式で使用し、MsysはPEを使用します。マルチブート仕様を使ってGrubで起動できるようにするためのソース設定があります。ビルドの最後には、未定義のシンボルがいくつかあります: init.o:init.S:(.text+0x14): undefined reference to `

    8

    3答えて

    私はWindows Driver Kit(WinDDK 6001.18001)を使用してVisual Studio 2005ではなくユーザースペースアプリケーションを構築しています。ドライバコンポーネントをビルドする必要があるため、私はこのアプローチを採用しています。すべてを構築する。マイクロソフト自身もこのアプローチをいくつかの製品に使用しています。 これは、Boost 1.38.0を使用するま

    3

    1答えて

    私はキーボード操作よりもずっと考えていました。どのように機能するのですか?私は良い説明に私をgoogleすることはできません。 キーを押すたびにキーボード割り込みが行われることがわかりました。プロセッサーは、処理中のものを停止し、キーボード・バッファーからキーボード・データをロードし、システム・レベル・バッファーに保管します。 しかし、次に何が起こりますか?具体的な例を考えてみましょう。 ...