ディスクにはデバイスドライバが必要ですが、レジスタ、メインメモリ、およびキャッシュにはデバイスドライバが必要ないことに気づきました。誰か理由を教えてください。
1 に答える
また、オペレーティング システムには、VGA の駆動方法などの知識も組み込まれていることがわかります。CPU の操作は、特定のシステムで実際に実行するための基本であるため、オペレーティング システムはこれを認識している必要があります。他のいくつかの機能も不可欠であり、オペレーティング システムにはこれらの機能にアクセスする機能が組み込まれています。
ただし、一部の機能はオプションです。開発者に「ベイクイン」または「タフ」の選択肢を残すのではなく、さらに悪いことに、すべてのドライバーをベイクインして出荷し、OS を大規模にするのではなく、オペレーティングシステム開発者は、通常は特定のタイプのサブシステムに一致する、任意のドライバーをロードする抽象的な方法を構築します。 USB やディスクなど。つまり、誰でも機能を追加できます。多くの場合、独自のビルトイン ドライバでもこのアーキテクチャに従うのが普通であり、クリーンにするため、必要がなければ使用する必要はありません。
また、多くのカーネルは、可能な限り、CPU に依存しないようにコード的に設計されていることがわかります。これは必然的にコンパイル時のものです。たとえば、Linux にはarch/
アーキテクチャ固有のコードを含むディレクトリがあり、これがカーネルの残りの部分に抽象化されます。たとえば、ブロック ストレージ レイヤーをアーキテクチャごとに書き直す必要はありません。たとえば、Windows NT は当初、DEC Alpha や x86 をターゲットにしていました。