問題タブ [kernel]
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.
windows - カーネル モード ドライバーのファイルへの書き込み
Windows キーボード フィルター ドライバーに取り組んでおり、ファイルに書き込む必要があります。zwcreate、zwwrite、および zwclose を使用してみましたが、ドライバーが PASSIVE_LEVEL で実行されておらず、BSOD が発生しました。これまで Windows ドライバーを作成したことがありません。助けてくれてありがとう!
編集: ありがとう、J. Passing!
java - Java のみをサポートするカスタム BSD バージョンの構築
Java VM を実行できるが、以下を含むがこれらに限定されない他の機能を実行できない FreeBSD のバージョンを構築するという目標を達成するために使用する必要があるプロセスは何ですか?
- Java VM 以外のプロセスの実行
- 一部/すべてのシェル アクセスの無効化
- Java VM が終了すると、OS がシャットダウンします。
JDK 1.6 をサポートする必要があるため、SANOS などのアプローチは機能しません。
assembly - Assembly (NASM) を使用して CD-ROM からメモリにカーネルをロードする方法
私は自分用にブートストラップとカーネルを書いています。ブートストラップとカーネルの両方が CD-R に書き込まれ、CD-live として機能します。これは Linux CD-Live などではなく、完全に私自身のブートローダーとカーネルです。他のブーローダー (GRUB など) は使いたくないので、使用を勧めないでください。
ここに私の質問があります: 私のブートローダ ASM コードで、カーネルとカーネル エントリを(ハードディスクやフロッピー ディスクからではなく) CD-ROM からRAM にロードしたいと思います。 CD-ROM (セクター番号)。私が知る限り、ドライブから RAM にセクターを読み取る int 0x13, AH = 02h を使用する必要があります。この割り込みサービスを使用するには、次のようにいくつかのレジスタを設定する必要があります。 パラメータ: AH 02h AL Sectors To Read Count CX Track + Sector / 備考参照 DH Head DL Drive ES:BX Buffer Address Pointer
私の問題は DL と DH に関するものです。最初のハード ドライブを読み取るために、80h に設定するか、フロッピー ディスクの場合は 00h に設定します。しかし、CD-ROM から読み取りたいのですが、DH と DL にどの値を使用すればよいかわかりません。
CD-ROM からRAMにセクターのカップルを読み取るために、それは正しい割り込み (int 0x13) ですか? はいの場合、DH と DL にどのような値を設定する必要がありますか。
よろしく、プーリア。
operating-system - カーネル/OSの場合、Cはまだですか?
私はオペレーティングシステムが好きで、最終的には主にカーネルに取り組んでいるOS開発者になりたいと思っています。将来的には、Cは引き続き選択される言語であり、他に何を学ぼうとすべきでしょうか。
java - オペレーティングシステムを必要としない.NETCLR?
Javaの世界では、BEA(現在のOracle)はOSを必要としないLiquidVMを作成しました。同様に、 SANOS、JNODE OS、Project Guest VM、JavaOSなどのさまざまなオープンソースプロジェクトがあります。
.NET用に作成されている同等のものはありますか?
windows - 従来のオペレーティングシステムなしでRubyを実行していますか?
Javaの世界では、BEA(現在のOracle)はOSを必要としないLiquidVMを作成しました。同様に、 SANOS、JNODE OS、Project Guest VM、JavaOSなどのさまざまなオープンソースプロジェクトがあります。
Ruby用に作成された同等のものはありますか?
linux - 複数の CPU をサポートするカーネルの開発
私はオペレーティング システムのカーネル開発に携わりたいと考えており、私の貢献は、複数のコア マシンをサポートするためにSANOSオペレーティング システムを拡張することであると考えました。私はオペレーティング システムに関する本 (Tannenbaum) を読んでおり、BSD と Linux がこの課題にどのように取り組んできたかを研究していますが、まだいくつかの概念に行き詰まっています。
SANOS が複数の CPU で実行される場合、より洗練されたスケジューリング アルゴリズムが必要ですか、それとも現在の機能は正常に機能しますか?
スレッドが開始されたコアにアフィニティを持つことが良い考えであることは知っていますが、これはスケジューリングまたはスレッドの作成方法の実装を変更することによって処理されますか?
何百ものコアを持つマシンで SANOS を実行できるようにするには、何を考慮する必要がありますか? 私が知る限り、BSD と Linux はせいぜい 12 個のコアしかサポートしていません。
java - OS カーネルのアップグレード方法
私はオペレーティング システムのカーネル開発に携わりたいと考えており、JDK 1.6 および 1.7 をサポートするためにSANOSオペレーティング システムを拡張することが私の貢献になると考えました。私はオペレーティング システムに関する本 (Tannenbaum) を読んでおり、BSD と Linux がこの課題にどのように取り組んできたかを研究していますが、まだいくつかの概念に行き詰まっています。
SANOS がボトムアップで開始するにつれて、サポートする必要がある追加のシステム コールを知る最も速い方法は何ですか?
サポートが必要なシステム コールのリストがある場合、性質が類似している場合、それらをロールアップする最善の方法は何ですか?
c++ - Windows 以外の OS にブルー スクリーン オブ デスを追加する
私はオペレーティング システムのカーネル開発に取り掛かりたいと考えており、オペレーティング システムに関する本 (Tannenbaum) を読んだり、BSD と Linux がこの課題にどのように取り組んだかを調べたりしていますが、まだいくつかの概念に行き詰まっています。
オペレーティング システムで Windows の死のブルー スクリーンを模倣したい場合、このロジックをパニックカーネル メソッドに単純に入れますか?
Windows が現在この機能を実行する方法を改善する方法はありますか?
kernel - AIX カーネル プログラミングのヘルプが必要
AIXカーネルのシステム コール テーブル変数名は何ですか?
sys_call_table[]
Linuxカーネルで呼び出されることは知っています。
カーネルプログラミングは初めてです。しかし、システムコールアドレスが格納されているカーネル内の変数を知る必要があります...