高度なオペレーティングシステム

オペレーティングシステムは何ですか?

あなたはそう、窓、UNIXやLinux、MacOSの、アンドロイド、IOS ....すべてのオペレーティングシステムを考えるかもしれません。この理解は間違っているが、あまりにも表面的ではありません。

オペレーティング・システムは、直接実行されるコンピュータプログラムのハードウェア上で

以下のためのオペレーティングシステムの管理および制御するコンピュータのハードウェアおよびソフトウェアリソースを

以下のためのオペレーティングシステムのユーザーのソフトウェアに必要な開発提供するサービスとインタフェースを

現代のコンピュータ・システム・アーキテクチャー:

 

 BIOS - 基本入力&出力システム

BIOSは、コンピュータの後に電源が投入されて実行されるプログラム

によって検出された直後のBIOS第1状態検出ハードウェア、ハードウェアの初期化

BIOSメモリがします割り込みベクタテーブルを確立する(提供されるハードウェアアクセス方法)

最後にBIOS の転送制御は、マスターブートプログラムの実行に引き渡さ

注:BIOS ではないソフトウェア(ソフトウェア)が、ファームウェア(ファームウェア)

ファームウェアは、前に固定ハードウェアに工場でプログラムされ、ハードウェアのプログラムで硬化されます

システム起動プロセス(X86アーキテクチャ)

 

 BIOSは、マスターブートプログラム、オペレーティングシステムのカーネルをロードするために、マスターブートプログラムをロードし、その後、BIOSは、誰がそれを実行し、それをロードすることですか?

BIOS操作機構:

--BIOS ROMに格納され、0xF0000--0xFFFFF用のアドレスマッピング(実アドレス)

--BIOSエントリアドレスは次のとおりです。0xFFFF0

- 特別なハードウェア設計はようなものです:

ブーツ、CPUは0xFFFF0の場所からスタートしました。

上記から分かるように、特別なハードウェア回路、ブートするように設計されているBIOSをロードするための他のプログラムは、CPUの実行は0xFFFF0で開始しません。

BIOSの最後のミッション

ユーザそれぞれの記憶媒体を走査(CD-ROM、フロッピーディスク、Uディスク、等)によって提供されます

マスターブートが見つかった後、マスターブートプログラムは、マスター・ブート・メモリにロードされました

メモリ内のマスターブートプログラムのエントリアドレスが0x7c00です

実行される制御プログラムは、主ガイド(JMP 0x7c00)をいいます。アウト支払い方法を制御?JMPは、単一のアセンブリ命令によって達成されます。

記憶媒体にBIOSマスターブートプログラムを見つけるにはどのように?

マスターブートを確認する方法何のマスターブートプログラムはありませんか

マスターブートセクタ(MBR:レコードのブートマスター)
-位置:記憶媒体の先頭に位置する、512バイトの大きさ
-特長:有効0x55AAの最後の2バイトの最初の512バイト(マスターブートプログラムが決定記号の合法性)
-データ:0x55aa前のデータがプライマリブートプログラムと考えられています

質問1:各ストレージメディアの最初の512バイトで、マスターブートプログラムがあり
ません。
質問2:あなたはすでに512のバイトがマスターブートで、そのデータは、それがマスターブートにそれを保存しない正当なマスターブートプログラムであることを事前に判断した場合は?
そうとも限りません

より詳細なシステム・ブート・プロセス(X86アーキテクチャ)

 

 

概要:
コンピュータのBIOSは、パワーラン後の最初のプログラムである
BIOSが必要な初期化、およびマスターブートプログラムを実行するロード
マスターブートプログラムは512バイトの記憶媒体の先頭に配置されて
実行され、ロード操作、マスターブートプログラム、その後の初期化のために責任がありますシステムのカーネル

おすすめ

転載: www.cnblogs.com/-glb/p/11600596.html