問題タブ [osdev]

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 投票する
1 に答える
140 参照

operating-system - 仮想化ホストを作成するには何が必要ですか?

現時点では、この分野でこれを試みる経験さえないため、これを行う予定はありませんが、何かに興味があります。

オペレーティング システムをゼロから実装する場合、VirtualBox のようなアプリケーションを構築するには何が必要でしょうか? 優れた GUI などで必ずしもユーザー フレンドリーであるとは限りませんが、他のオペレーティング システムを起動してそれらと対話できるようにする機能はありますか?

いくつかの重要なことに仮想化を使用するオペレーティング システムについてのアイデアが頭の中に浮かんでいます (おそらく、このようなアイデアはすでに出回っています)。

0 投票する
5 に答える
7408 参照

assembly - NASMアセンブリでBIOSint13hを使用してディスクからカーネルをロードする方法は?

私はこれに何週間も立ち往生していて、NASMが私にエラーを与えていないので、どこが間違っているのかわかりません。コメントがあるため、コードはかなり自明です。

これはBIOSからロードされるコードです

これは、ロードする必要がある(ただしロードしない)コードです。

どんな助けでも大歓迎です。

パトリック

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

c# - C# でオペレーティング システムを構築する方法

Singularityについて読んでいましたが、C# で部分的に開発されましたが、C# で部分的にオペレーティング システムを開発するにはどうすればよいですか? (ブート ローダーはアセンブリにある必要があるため、私は知っています) 私が知りたいのはどこから始めますか (チュートリアル、ライブラリ...)?

PS: Singularity 開発者の皆さん、おめでとうございます。とてもよくできました! ;)

0 投票する
2 に答える
1327 参照

bios - BIOSINT0x15関数0x88は常に同じメモリサイズを返します

BochsエミュレーターでBIOSint0x15を使用していますが、これは、構成内容に関係なく、常に同じメモリサイズ(34440)を返します。

メモリ検出のより良い方法があることは知っていますが、なぜこれが期待どおりに機能しなかったのかを理解したかったのです(私が何かを絞った場合に備えて)

どうしてこれなの?bochs biosは、この値を返すようにハードコーディングされていますか?

0 投票する
1 に答える
2086 参照

assembly - MIPS用のHelloWorldブートローダーを作成するにはどうすればよいですか?

MIPSアセンブリ言語プログラミングという本でMIPSアセンブリを学んでいますが、MIPS OSを構築したいので、MIPSを学び始めたばかりですが、ご覧のとおり、ブートとこれらについて説明しているドキュメントはありません。もの。それから私はここで私を正しい場所に向けるためにすでにこれをした誰かを求めています。

私はすでにx86アセンブリで単純なOSを開発しました

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

c - C でカーネルを作成するためのリソース

私は独自のブートローダーを書きたくありません - Grub を喜んで使用します。

プリエンプティブ マルチスレッド、基本的なファイル システム、および仮想メモリを実装したいだけです。

qemu 上で実行できるものが欲しいです。

この目標を達成するための優れたリソース (書籍 / チュートリアル) は何ですか?

ありがとう!

0 投票する
9 に答える
8186 参照

operating-system - 研究に最適な教育用オペレーティングシステム?

独自のx86オペレーティングシステムを最初から作成するために調査するのに最適なオペレーティングシステムは何ですか?

0 投票する
2 に答える
1084 参照

x86 - OSのブートローダが動かない

カスタムオペレーティングシステムを作成しています。2 つの nasm ファイルがあります。

ブート.asm:

開始.asm:

次のコマンドを使用して、それらを .bin ファイルにコンパイルします。

次に、次のコマンドを使用して、それらをフロッピー イメージに追加します。

VirtualBox のフロッピー イメージから起動すると、感嘆符が 1 つではなく 2 つ表示され、QEmu (Q.app) で起動することさえできません。私はオペレーティング システムの開発に慣れていないので、どこが間違っていたのか、OS をより適切にセットアップする方法について誰かが教えてくれたらうれしいです。

0 投票する
1 に答える
538 参照

c - grub に由来するこの C データ構造の使用方法を誰かが説明できますか? hi mem と lo mem がわかりません

Grub はマルチブート対応のブートローダーです。オペレーティング システムを起動すると、利用可能なメモリを定義する構造を作成し、その構造へのポインタをメモリに残します。

ここでその情報を入手しました:

http://wiki.osdev.org/Detecting_Memory_(x86)#Memory_Map_Via_GRUB

これは私が興味を持っていると思う構造です:

だから私はメモリマップ構造のコレクションを持っています。上記のページに記載されているように、grub プロンプトで「displaymem」と入力すると、メモリ マップを表示できます。これは私の出力です

でも構造がよくわからない…。

長さが 0 (0x0) に設定されているのはなぜですか? 低メモリと高メモリを組み合わせる必要がありますか?

値は64ビットであると言われているので、次のように「低メモリと高メモリ」を一緒にプッシュしました:

__int64 full_address = (low_mem_addr + high_mem_addr);

または、低アドレスと高アドレスの両方を排他的に含む 1 つのリストを取得していますか?

私は32ビットマシンを使用しているので、基本的に両方の値でそれぞれの一意のアドレスを参照しますか?

ショーのようなアドレスの単一のリストを期待してdisplaymemいましたが、実際の長さのフィールドが入力されていましたが、それが表示されていません。わからないことがありますか?

0 投票する
1 に答える
2671 参照

x86 - in/out 命令を使用したメモリー・マップド i/o 操作 (インテル・プロセッサー内) ... まだキャッシュされていますか?

in/out 命令を使用した場合でも、マップされた i/o のアドレス範囲がライトバック (WB) として入力されている場合、(インテル プロセッサの) メモリ マップされた i/o 操作は引き続きキャッシュされますか?

編集:この質問は解決されました。MMIO はキャッシュ可能であり、メモリの種類に応じて MMIO 操作を並べ替えることができることがわかりました。そのため、Intel は、MTRR を UC (キャッシュ不可) として使用して MMIO を設定することを推奨しました。Intel ソフトウェア開発者マニュアル v3A で見つけました。これは、AMD プロセッサにも適用される可能性があります...