-1

宿題にこれらのオプションがあります。理由を説明しますが、誰かがそれらを批判してくれることを願っています?

次の CPU 命令がユーザーのみか、O/S のみか、または両方かを示してください。

  1. CPU の実行を停止する「sleep」命令の実行

    プログラマーがスリープを書いているのを見ただけなので、ユーザーのみ

  2. 「プログラム カウンタ」PC レジスタに新しいメモリ アドレスをロードする

    O/Sのみだと思います。

  3. ディスクコントローラレジスタの読み取り

    O/Sのみ。

  4. 割り込みを発生させる「トラップ」

    私が理解していることからtrap、通常はユーザープログラムの障害であり、O / Sはソフトウェアアプリケーションであるため、おそらく両方

  5. クロック レジスタへのアラーム タイムアウト値のロード

    OSのみ

  6. プロセッサ ステータス ワード PSW レジスタの読み取り

    O/Sのみ。

  7. メモリ下限レジスタのロード

    OSのみ

  8. 2 つのメモリ ロケーションの内容を追加する

    両方。O/S も計算を行う必要があります。

ユーザーとOS固有の指示を区別する方法がよくわかりません。それらはすべて本質的に「ユーザー」プログラムです..

誰かがこれらの答えを検証し、なぜ私が間違っているのか、これらの質問にどのように取り組むべきかを教えてもらえますか?

4

1 に答える 1

3

ユーザーとOS固有の指示を区別する方法がよくわかりません。それらはすべて本質的に「ユーザー」プログラムです。

違いは次のとおりです。それを実現するためにタスクを開始したのですか、それとも自然に発生したのですか?

ハード ドライブから読み取るタスクを開始しましたか、それとも単に OS にそのように指示しただけですか? (ほとんどの場合、すべてのデバイス アクセスは OS 命令です)

教授は、「ハード ドライブの読み取りはユーザーが開始する」が、「OS によるプリエンプティブ マルチタスキングは常に OS が開始する」または「デバイスが応答を終了し、OS が応答を完了するまで待機している間、ユーザー アクションが制限された状態のままになる可能性がある」と言うように要求することがあります。プリエンプティブなマルチタスク OS で制御を返す」


これらは私が答えを解釈する方法ですが、コースワークでこれらの答えが見つからない場合は、私の答えを採用しても何の役にも立ちません. これらを選んだ理由を説明するために、それぞれの後に短い宣伝文句を付けたことに注意してください. 私はあなたの教授ではないので、彼/彼女が何を意図しているのかを知る方法はないので、私の回答を理解できるようにしてください. また、ASM でプログラミングすると、これらのいくつかに答えるのに役立ちます...

  1. CPU の実行を停止する「sleep」命令の実行

    O/S。スリープは、実際には 1 つ以上のサイクルの実行をスキップするよう指示する単なるカウンターであり、ほとんどの場合、API 呼び出しによってモデル化されています。これにより、スケジューラーのアクセスは、プリエンプトされたタスクのリロードを数ラウンド後まで遅らせることができます。繰り返しになりますが、多くの非常に基本的なプラットフォームでは、スリープ コマンドのエミュレートに近づくために NOP ループ カウンターが必要になります。

  2. 「プログラム カウンタ」PC レジスタに新しいメモリ アドレスをロードする

    O/S。プログラム カウンター レジスタは、プログラムの現在の実行を追跡するためにシステムによって使用されることを意図しており、マルチプロセス プリエンプション中に、プログラムの現在の実行ポイントを保存するために使用される場合があります。

  3. ディスクコントローラレジスタの読み取り

    O/S。一般に、ユーザー コマンドはディスク サブシステムに接続しませんが、古いシステムで、多くの場合直接レジスタ アクセスによってアクセスできます。最近のシステムでは、ディスクは O/S によってのみアクセスされ、API を介してユーザーによってのみアクセスされます。

  4. 割り込みを発生させる「trap」

    ユーザー、O/S。これは、O/S が状況を処理するための要求を生成するときであり、内部カーネルに制御を渡します。また、障害状態を返す何かが発生する可能性もあります。

  5. クロック レジスタへのアラーム タイムアウト値のロード

    O/S。これらのタイマーは、システムの残りの部分を監視するために使用されるため、システムのみのレベルのアクセスを持つと見なされることがよくあります。通常、このような保護をサポートする CPU (リングレベルの実行防止をサポートする CPU など) で保護されます。

  6. プロセッサ ステータス ワード PSW レジスタの読み取り

    ユーザー、O/S。特に、PSW レジスタはシステム レベルでのみ制御されます。まれに、1 つ、2 つ、または一部の PSW レジスタをユーザーが読み取ることができるシステムを見つけることがあります。これらはプログラム実行のステータス フィールドであるため、通常、ユーザーが読み取り可能である必要はありません。

  7. メモリ下限レジスタのロード

    ユーザー、O/S。すべてのメモリ レジスタの割り当ては、CPU レジスタにロードされたバイナリ実行可能ファイルから直接受信される CPU コマンドによって行われます。アプリケーション レベルで特に防止される制限はありません (実行リング レベルの変更を除いて、参加するプロセッサで)。一部のデバイスの相互作用は許可される場合と許可されない場合があり、多くの場合、レジスタは古いハードウェアでデバイスが相互作用する方法です。ベース メモリ アドレスは ではない可能性が0あり、O/S は特にアプリケーションをサンドボックス化するためにメモリ呼び出しをインターセプトする可能性があることに注意してください。

  8. 2 つのメモリ ロケーションの内容を追加する

    ユーザー、O/S。これはアルゴリズム設計の基本的な要件であり、多くの場合、CPU ユニットに組み込まれる最初の最も基本的なコマンドの 1 つです。

于 2012-10-08T21:55:17.470 に答える