オペレーティング システムのロードとは何ですか? 基本的な UNIX 管理

20.10.2018

コンピュータの電源がオンになると、制御はコンピュータ上の読み取り専用メモリにあるブート プロシージャに移されます。 マザーボードコンピューター。 ブート プロシージャは、コンピュータのハードウェア コンポーネントをチェックし、割り込みベクタ テーブルの最初の部分を形成し、外部デバイスを初期化し、ブート プロセスを開始します。 オペレーティング·システム.

オペレーティング システムのブートは、ドライブ A に挿入されたフロッピー ディスクの最初のセクタを読み取ろうとするブート手順から始まります。 ブートフロッピーディスクこのセクターにはオペレーティング システム ローダーが含まれています)。 システム フロッピー ディスクがドライブに挿入されると、そこからブートローダーが読み取られ、制御がそこに転送されます。

フロッピー ディスクがシステム ディスクではない場合、つまりブート レコードが含まれていない場合は、ディスケットを交換するように求めるメッセージが画面に表示されます。

ドライブ A: にフロッピー ディスクがまったくない場合、BIOS はドライブ C: のマスター ブート レコード (マスター ブート レコード) を読み取ります。 これは通常、ディスク上の最初のセクターです。 制御はこのセクターにあるローダーに転送されます。 ブートローダーは、パーティション テーブル (これもこのセクターにあります) の内容を分析し、アクティブなパーティションを選択し、このパーティションのブート レコードを読み取ります。 アクティブ パーティションのブート レコード (ブート レコード) は、システム フロッピー ディスクの最初のセクターにあるブート レコードと似ています。

アクティブ パーティション ブート レコードは、ディスクから IO.SYS および MSDOS.SYS ファイルを読み取り、コンピュータの RAM にロードします。 次に、設定ファイル CONFIG.SYS の内容が分析されます。 このファイルには、RAM にロードすることが非常に重要なドライバーと常駐プログラムが含まれています。 CONFIG.SYS ファイルで指定されたドライバと常駐プログラムをロードした後、制御は COMMAND.COM コマンド プロセッサに転送されます。

コマンドプロセッサは、常駐、初期化、転送の 3 つの部分で構成されます。 常駐部分が最初にロードされます。 割り込み INT 22H、INT 23H、INT 24H を処理し、トランジット部分のロードを制御します。 コマンド プロセッサのこの部分は MS-DOS エラーを処理し、エラーが検出された場合にユーザーにアクションを求めるプロンプトを表示します。

コマンド プロセッサのトランジット部分は、最上位のメモリ アドレスに配置されます。 この部分には、内部 DOS コマンドのハンドラーと、.BAT 拡張子を持つコマンド ファイルのインタープリターが含まれています。 トランジット部分はシステム プロンプト (A:\> など) を発行し、オペレーターがキーボードまたはキーボードからコマンドを入力するのを待ちます。 バッチファイルそしてその実装を組織します。

初期化部分はオペレーティング システムのロード プロセス中にのみ使用され、RAM には常駐しません。 初期化部分は、他のいくつかのアクションに加えて、AUTOEXEC.BAT ファイルの実行を初期化します。 で バッチファイル AUTOEXEC.BAT には、コンピュータにオペレーティング システムをロードするときに実行することが非常に重要なプログラムがリストされています。

コマンド プロセッサをロードし、AUTOEXEC.BAT ファイルにリストされている初期手順を完了すると、システムは操作できる状態になります。

ブートストラップオペレーティング·システム

オペレーティング システム ファイルはディスク (ハードまたはフロッピー) 上にあります。 ただし、プログラムは RAM 上にある場合にのみ実行できるため、オペレーティング システム ファイルを RAM にロードする必要があります。

コンピュータの電源を入れると、コンピュータはデバイスをテストし、コンピュータを制御するプログラムである OS を起動しようとします。

このプロセスはと呼ばれます ブートストラップ。パソコンの電源を入れると自動的に動作します。

コンピューターの電源を入れると、オペレーティング システムが次からロードされます。 システムディスク RAM に保存され、ブート プログラムに従って実行する必要があります。

コンピュータには、コンピュータをテストするためのプログラムと、オペレーティング システムをロードする最初の段階のプログラムが含まれている読み取り専用メモリ (ROM) が搭載されています。 BIOS (基本システム入力/出力)。 ROM は次の場所にあります。 システムボードバッテリーで駆動するため、コンピューターの電源を切っても、記録されているプログラムは消去されません。

コンピュータの電源を入れると、これらのプログラムが実行を開始し、このプロセスの進行状況に関する情報がディスプレイ画面に表示されます。 まず、ハードウェアがテストおよび構成され、次にオペレーティング システムのロードが開始されます。

この段階で、プロセッサはディスクにアクセスし、特定の場所 (ディスクの 1 セクター内) で非常に小さなブートローダー プログラムの存在を探します。 マスターブーツ。ディスクがシステム ディスクの場合、マスター ブートが所定の位置に表示され、メモリに読み込まれ、制御がマスター ブートに転送されます。 次に、マスター ブートはディスク上のメイン ブート ローダーを検索します。 ブートセクター、それをメモリにロードし、制御をそれに転送します。 次に、メイン ブート ローダーが残りのオペレーティング システム モジュールを検索し、RAM にロードします。

システム以外のディスクがドライブに挿入されているか、ディスクがまったくない場合は、モニター画面に次のメッセージが表示されます。 システムディスクではなく、そしてコンピュータがフリーズしてしまいます。

オペレーティング システムのロードが完了すると、制御はコマンド プロセッサに移されます。 インターフェースを使用する場合 コマンドラインシステムプロンプトが画面に表示されます。それ以外の場合は、GUI がロードされます。

最新のオペレーティング システムの容量は数十メガバイト、数百メガバイトであるため、すべてのオペレーティング システム ファイルを同時に RAM に配置することはできません。 コンピューターが機能するには、ファイル システムを制御するモジュール、コマンド プロセッサ、および接続されたデバイスのドライバーが RAM に存在する必要があります。 グラフィカル インターフェイスを提供するオペレーティング システム モジュールは、ユーザーの裁量で RAM にロードできます。

自制のための質問 1. オペレーティング システムはなぜ必要ですか? 2. オペレーティング システムにはどのようなコンポーネントが含まれていますか? 3. ファイルは何という名前ですか?その名前はどのように設定されますか?
4. どのような拡張機能がありますか? テキストファイル ? 5. ディスクのクイック フォーマットとフル ディスク フォーマットの違いは何ですか?

6. 単一レベルのファイル構造と階層的なファイル構造の違いは何ですか? 7. ファイルに対してどのような操作が可能ですか? 8. オペレーティング システムをロードする主な段階は何ですか?

設定

Windowsインターフェース

勉強すべき質問:

1. Windows デスクトップ。

1.1. オブジェクトのアイコンとラベル。

1.2. ウィンドウズ。

1.3. タスクバー。

1.4. 表示パネル。

2. フォルダーウィンドウの構造。

2.1. タイトル行。

2.2. ウィンドウのサイズを制御するためのボタン。

過去の講義では、UNIX アーキテクチャのさまざまな機能、ローカルおよびローカル環境でのこのオペレーティング システムの使用について説明しました。 ネットワーキング、システム管理のいくつかの側面。 このパートでは、UNIX システムの複雑な管理、つまりサービス管理とソフトウェア管理について説明します。

サービス管理 オペレーティング システムをロードしています。 システムのブートステージ

オペレーティング システムのロードは、いくつかの段階に分割できます。 初期ブート段階は、コンピュータにインストールされているオペレーティング システムには依存しません。主に、使用されているコンピュータのアーキテクチャに関係します。 これにブート ローダー段階が続きますが、これも特定のオペレーティング システムに固有ではない場合があります。その後、オペレーティング システムのカーネルが初期化され、この OS にのみ固有の操作が実行されます。

次の一連の手順に従って UNIX オペレーティング システムをロードすることを検討してください (図6.1「UNIX OS のブート ステージ」)。

図6.1。 UNIX のブート手順

プリブートローダー

通常、電源を入れた直後に、BIOS ROM プログラムがハードウェアをテストし、その後プリブート ローダーが開始されます。

この段階のタスクは、(おそらくユーザーの助けを借りて) どのデバイスからダウンロードが行われるかを決定し、そこから特別なブートローダー プログラムをダウンロードして起動することです。 たとえば、起動するデバイスが ハードドライブ、このディスクの最初のセクターを読み取り、いくつかの領域にあるプログラムに制御を渡します。

最初のレベルのローダー

第 1 レベルのブートローダーは、通常、ディスクの先頭、つまりブート セクター (マスター ブート レコード) の 1 セクターのみを占有します。

オペレーティング システムのカーネルはかなり複雑な構造をしているため、起動方法が困難です。 非常に大きくなる可能性があり、法則に従ってディスク上のどこにあるか不明な場所に配置される可能性があります。 ファイルシステム(たとえば、ディスク上に散在するいくつかの部分で構成されます)。 プライマリ ローダーはこれらすべてを考慮することができないため、そのタスクはディスク上のどこにローダーが存在するかを判断することです。 第 2 レベルのローダー、それをメモリにロードし、制御をそれに転送します。

第 2 レベルのローダー

セカンダリ ブートローダーは、オペレーティング システムまたはカーネルのブート オプションを選択できるユーザー インターフェイスを備えた複雑なプログラムです。 ブートローダーはカーネル イメージにアクセスできる必要があるため、ブートローダーにはカーネル イメージのサポートが含まれています。 ファイルシステム.

いずれの場合も、セカンダリ ブートローダーはカーネル イメージを特定のメモリ アドレスに読み取り、そこに制御を渡します。

ほとんどのオペレーティング システムには、独自の第 1 レベルと第 2 レベルのブート ローダーがあります。 ただし、 ユニバーサルローダーたとえば、GRUB。

オペレーティング システム カーネルの初期化

前に説明したように、カーネルはさまざまな機器と対話する非常に複雑なプログラムであるため、システムの操作を開始する前に初期化する必要があります。

この段階は、さまざまなオペレーティング システムに固有です。 UNIX のようなシステムでは、通常、デバッグの性質を持つカーネルのロードに関する情報が表示されます。

まず、カーネルはコンピュータのコンピューティング サブシステムのパラメータを決定します。カーネルは、中央プロセッサの種類と速度、RAM の量、キャッシュ メモリのサイズと構造を決定します。 コンピュータ アーキテクチャ全体などについての仮定を立てます。

次のステップで、カーネルはコンピュータ ハードウェア全体の構成とアーキテクチャ、つまりデータ伝送バスとその制御デバイス (コントローラ) の種類とパラメータ、バス経由でアクセスできる外部デバイスのリスト、これらのデバイスの設定 - 範囲を決定します。 I/O ポートの数、ROM アドレス、占有ハードウェア割り込み、ダイレクト メモリ アクセス チャネル番号など。

カーネルは、渡されたパラメータに基づいて、ルート パーティション、つまり将来のディレクトリ / とそのサブディレクトリを含むファイル システム (/etc、/bin、および /sbin ディレクトリはシステムの起動に重要です) を選択します。 ルートパーティション 取り付けられたとして/。 この後、カーネルは最初のプロセスを開始します。 初期化(デフォルト、/sbin/init)。

初期化プロセス

この瞬間から、オペレーティング システムは、実行中のすべてのプロセスに完全な機能を提供します。 UNIX では、最初に開始するプロセスは init です。これについては次のセクションで説明します。

コンピュータの電源を入れた後、RAM にはオペレーティング システムがありません。 オペレーティング システムがなければ、コンピュータ ハードウェアは、プログラムをメモリにロードするなどの複雑な動作を単独で実行できません。 したがって、解決できないように見えるパラドックスに直面しています。オペレーティング システムをメモリにロードするには、メモリにオペレーティング システムがすでに存在している必要があります。

この矛盾に対する解決策は、と呼ばれる特別な小さなコンピュータ プログラムを使用することです。 ブートローダー、または永続メモリにあるコマンド (たとえば、IBM PC では、何の助けも必要とせずにコマンドを再起動します)。 このソフトウェアは、ブートに適したデバイスを検出し、これらのデバイスの選択したデバイス自体の特別なパーティション (ほとんどの場合ブート セクター) から OS ブートローダーをロードできます。

ブートローダー特に量に関しては、特定の制限に従う必要があります。 たとえば、IBM PC の場合 最初のレベルのローダーマスター ブート レコードの最初の 446 バイトに収まる必要があり、パーティション テーブルの 64 バイトと、BIOS がブートローダー自体を検出するために必要な AA55 署名用の 2 バイトの余地が残されています。

初期のコンピュータには、プロセッサが起動する前にオペレータがブート ローダーをメモリに配置できる一連のスイッチがありました。 このブートローダーは、パンチされたテープやハード ドライブなどの外部デバイスからオペレーティング システムを読み取ります。

擬似アセンブリ ブートローダー コードは、次の一連の命令のように単純にすることができます。

0: レジスタ P に数値 8 を書き込みます。 1: パンチ付きテープ リーダーが読み取りを開始できることを確認します。 2: 開始できない場合は、ステップ 1 に進みます。 3: パンチ付きテープ リーダーからバイトを読み取り、アキュムレータに書き込みます。 4:パンチされたテープがなくなった場合は、ステップ 8 に進みます。 5: アキュムレータに格納されている値を、P レジスタに格納されているアドレスの RAM に書き込みます。 6: P レジスタの値を 1 つ増加します。 7: ステップ 1 に進みます。

この例は、1970 年代に Nicolet Instrument Corporation によってリリースされたミニコンピューターの 1 つのブートローダーに基づいています。

0: レジスタ P に数値 106 を書き込みます 1: パンチされたテープ リーダーが読み取りを開始できることを確認します 2: 開始できない場合は、手順 1 に進みます 3: パンチされたテープ リーダーからバイトを読み取り、バッテリーに書き込みます 4:パンチされたテープがなくなった場合は、ステップ 8 に進みます。 5: アキュムレータに格納されている値を、P レジスタに格納されているアドレスの RAM に書き込みます。 6: P レジスタの値を 1 つ減らします。 7: ステップ 1 に進みます。

第 2 レベルのブートローダーの長さは、ブートローダーの最後のバイトがアドレス 6 にあるコマンドを変更するような長さでした。したがって、ステップ 5 が完了した後、第 2 レベルのブートローダーが開始されました。 第 2 レベルのローダーは、オペレーティング システムを含むパンチ付きテープの長さをパンチ付きテープ リーダーにロードするのを待機していました。 第 1 レベルのローダーと第 2 レベルのローダーの違いは、当時一般的であったパンチ付きテープの読み取りエラーのチェックであり、特に、 この場合 ASR-33テレプリンター。

一部のオペレーティング システム (最も一般的なものは古い (1995 年より前) のオペレーティング システム) アップルコンピュータコンピュータはコンピュータ ハードウェアと密接に結びついているため、これらのコンピュータに他のオペレーティング システムをロードすることは不可能です。 このような場合、標準 OS のブート ローダーとして機能し、制御を代替オペレーティング システムに移すブート ローダーを開発するのが一般的です。 アップルが使用した この方法 Unix の A/UX バージョンを実行するために使用され、その後、さまざまなフリー オペレーティング システムで使用されました。

BIOS によって初期化されたデバイス

ブートデバイスは、オペレーティングシステムが起動する前に初期化する必要があるデバイスです。 これらには、入力デバイス (キーボード、マウス)、基本出力デバイス (ディスプレイ)、および制作に使用されるデバイス (フロッピー ドライブ、ハード ドライブ、フラッシュ ドライブ、PXE) が含まれます。

標準的な IBM 互換パーソナル コンピュータのブート シーケンス

パソコンがロード中です

リンク

ウィキメディア財団。

2010年。

    他の辞書で「オペレーティング システムのロード」が何であるかを確認してください。

    オペレーティング システム ローダーは、コンピュータの電源を入れた直後にオペレーティング システムをロードするシステム ソフトウェアです。 オペレーティング システム ローダー: ... ウィキペディアとの対話に必要な手段を提供します。

    この用語には他の意味もあります。「コア」を参照してください。 カーネルはオペレーティング システム (OS) の中心部分であり、プロセッサ時間、メモリ、外部ハードウェアなどのコンピュータ リソースへの調整されたアクセスをアプリケーションに提供します。

    「タスク スケジューラ」という用語については、他の意味を参照してください。 タスク スケジューリングは、汎用オペレーティング システムと現実世界のオペレーティング システムの両方におけるマルチタスクとマルチプロセッシングにおける重要な概念の 1 つです。 ... ... Wikipedia ソフトウェア。 ディストリビューションが存在するのは、その配布に使用されるソフトウェアの形式が、実行されるソフトウェアの形式とほとんど一致しないという事実によるものです... ... Wikipedia

    トラステッドブート機能 パソコン不正なユーザーの起動、オペレーティング システム (OS) のロード、およびへのアクセスを防止するため 機密情報。 提供... ... ウィキペディア

    この記事は Wiki 化する必要があります。 記事の体裁ルールに従って整形してください... Wikipedia

    インターネット電話機で Windows XP が起動する コンピュータ サイエンスにおいて、ブートとは、コンピュータを起動する複雑で複数のステップからなるプロセスです。 ブート シーケンスは、コンピュータが実行する必要があるアクションのシーケンスです。

    ターミナル クライアントがオペレーティング システムを安全に起動できる機能。 セキュア ブートの主な解決策は、ローカル ハード ドライブに保存されているオペレーティング システム ファイルの整合性と信頼性を検証することです。 ... ... Wikipedia

この記事では、オペレーティング システムをロードするプロセスを段階的に説明します。 Windows システム XP、Vista、セブン。 この問題はネット上でもよく議論されているが、触れずにはいられない。 このような情報は、誤動作を診断したり、「機能しなくなった」OS の機能を復元したりするときに非常に役立ちます。

今日は次のことを見ていきます。

  • BIOS を起動します。
  • Windows XP を起動します。
  • 読み込み中 Windows Vista/7.

BIOSのロード中

BIOS はコンピュータの ROM に記録されている一連のマイクロプログラムであり、マザーボード上のデバイスの初期化、チェックと構成、およびオペレーティング システムのロードに使用されます。

オンにした場合 コンピュータのBIOSハードウェアをチェックし、問題がある場合は音声信号 (一連の長短ビープ音) で通知します。 こちらが表です 音声信号 BIOS:

AMI信号

信号誤動作の可能性
不在 電源が故障しています
2k RAMパリティエラー
3k RAM の最初の 64 KB でエラーが発生しました
4k システムタイマーの故障
5k CPUの故障
6k キーボードコントローラーが故障している
7k システムボードに障害がある
8k ビデオカードのメモリが故障しています
9k エラー チェックサム BIOS
10k CMOSに書き込みできない
11k システムボード上のキャッシュに障害があります
1d+2k ビデオカードが故障しています
1d+3k ビデオカードが故障しています
1d+8k モニターが接続されていません

賞シグナル

この段階で読み込みが中断された場合は、信号に従って故障した部品を見つけて交換します。 の場合 ラムビデオ カードを取り外して、接点のほこりを掃除すると役立つ場合があります。

チェック後、BIOS は CMOS から設定を読み取り、mini に従って、指定されたメディア (CD、HDD、フラッシュ カード) からブートローダーを起動します。 からダウンロードする場合 ハードドライブ、その後、システムはマスター ブート レコード (MBR) の最初の 512 バイトを読み取り、それに制御を渡します。

MBR が見つからない場合、ブートは停止します。 コンソールを使用してMBRを復元できます Windowsのリカバリ(回復コンソール) fixmbr コマンドを使用します。

Windows XPの起動プロセス

Windows の読み込みは NTLDR によって制御されます。NTLDR は 2 つの部分で構成されます。最初のスタートアップではプロセッサを保護モードにし、OS ローダーを起動します。 ブートローダーには、FAT*、NTFS、および CDFS システムでフォーマットされたディスクを操作するための基本機能が含まれています。 ブートローダーは、boot.ini の内容を読み取り、その内容 (OS の数、インストールされているディスクの数など) に従ってロードを続けます。 Windows が休止状態になっている場合、NTLDR は hiberfil.sys ファイルをコンピュータのメモリにロードし、制御を Windows カーネルに渡します。 単にシャットダウン/再起動するだけでコンピュータをシャットダウンすると、NTLDR は DOS ファイル NTDETECT.COM をロードします。これにより、ハードウェアのリストが作成され、Windows オペレーティング システム自体がロードされます。

NTLDR ファイルが削除/移動/破損した場合、システムは起動せず、「NTLDR が見つかりません。」というメッセージが表示されます。 CTRL+ALT+DEL を押して再起動してください。」 この問題は、Windows 回復コンソールで fixboot コマンドを使用するか、動作中のシステムからディスクのルートに NTLDR をコピーすることで解決できます。

カーネルをロードする前に、NTLDR は起動オプションを表示します (F8 キーが押された場合、またはシステムがクラッシュした場合)。 起動パラメータを選択すると、システム カーネル ntoskrnl.exe が起動します (黒い画面に白い四角形のアニメーションが表示されます)。 次に、ハードウェア抽象層タイプ HALL.DLL がロードされます。 これは、カーネルがハードウェアから自身を抽象化できるようにするために必要です。両方のファイルは System32 ディレクトリにあります。 次に、ハードウェア デバッガーのカーネル拡張ライブラリ kdcom.dll と bootvid.dll がロードされ、これにより Windows ロゴとブート ステータス インジケーターがロードされます。

最も重要な瞬間の 1 つは読み込み時です システムレジストリ config\system を実行すると、システムがシステム ファイルを読み取れず、ロードが不可能になったり、ロードが開始されたりすることがよくあります。

Windows Vista/7の起動プロセス

プロセス Windows ブート Vista と Windows 7 (Seven) では起動プロセスが異なります 以前のバージョン MBRを読み取った後のOS。 Windows インストーラーは、OS の実行に必要なものすべてを含む小さなブート パーティションを作成します。 MBR はブートを PBR (パーティション ブート レコード) に渡し、その後 BOOTMGR を開始します ( Windows ブートマネージャー)。 BOOTMGR は NTLDR を置き換え、オペレーティング システムのロードを制御します。 BOOTMGR は、ブート構成データベース (BCD、ブート構成データベース、boot.ini に置き換わる) からブート パラメーターを読み取り、Winload.exe (OS ローダー ブート アプリケーション、OS ローダー) をロードします。 Winload.exe はオペレーティング システム カーネルをロードします。ロード プロセスは次のようになります。 Windowsの起動 XP。

のために ブートの編集構成データベース (BCD) から Bcdedit.exe ユーティリティを実行して使用できます。 Windows の回復環境 (WinRE)。 そこで Bootrec.exe ユーティリティを使用してエラーを修正することもできます。