プロセッサのスケジューリングとデッドロック-----コンピュータのオペレーティング システム

1. 短答式の質問

1. 高レベルのスケジューリングと低レベルのスケジューリングの主なタスクは何ですか?中間スケジューリングを導入する理由

高度なスケジューリングの主なタスク: 外部メモリ上のバックアップ キュー内のどのジョブをメモリに転送するかを決定し、必要なリソースをその作成プロセスに割り当て、新しく作成されたプロセスを実行のために準備完了キューに挿入するために使用されます。

低レベル スケジューリングの主なタスク: レディ キュー内のどのプロセスがプロセッサを取得するかを決定するために使用され、その後、ディスパッチャーがプロセッサをプロセスに割り当てる特定の操作を実行します。

中間スケジューリングを導入する主な目的は、システム リソースの使用率とシステム スループットを向上させることです。

2. ホームワークとJCBとは何ですか?

ジョブはプログラム、データ、ジョブ命令のセットであり、高度なスケジューリングの基本単位です。
JCB はジョブ制御ブロックであり、ジョブの存在を表し、管理とスケジュールに必要なすべての情報が含まれています。

tips:(对作业的控制是JCB和作业说明书一起的) 
	  
3.在什么情况下需要使用JCB?JCB通常包含了哪些内容?  
(1)作业进入系统。 
(2)包含系统对作业调度,管理的全部信息。

4. ジョブのスケジューリングでジョブの数とどのジョブを受け入れるかを決定するにはどうすればよいですか?

システムの規模、実行速度、ジョブ サイズ、および良好なシステム パフォーマンスが得られるかどうかに基づいて、受け入れるジョブの数を決定します。
スケジューリング アルゴリズムに基づいて、どのジョブを受け入れるかを決定します< /span>

  1. 低レベルのスケジューリングの主な機能を説明してみてください。

プロセス スケジューリングとも呼ばれる低レベル スケジューリングは、レディ キュー内のどのプロセスが最初にプロセッサを取得するかを決定し、選択したプロセスにプロセッサを割り当てて、そのプロセスを実行するために使用されます。

6. プロセスのスケジュール設定の理由を簡単に説明してください。 【大学院入試問題】

1. 実行中のプロセスが完了したか、イベントにより実行を続行できません。[実行終了] [ブロックされました]
2. 実行中のプロセスが I 実行を開始しました。 /O 要求により中断されます; [ブロックされました]
3. P 操作、ブロッキング、サスペンド プリミティブなどの特定のプリミティブ操作は、プロセス通信または同期中に実行されます; [ブロックされました] ] 5. タイム スライス ローテーション方式では、時間がスライスが終了しました; [タイム スライスが終了しました]
4. プリエンプティブ スケジューリングでは、現在のプロセスよりも優先度の高いプロセスがレディ キューに入ります; [プリエンプト]

7. プリエンプティブ スケジューリング アルゴリズムではどのような原則に従う必要がありますか?

①タイムスライス原理。各プロセスは、システムによって割り当てられたタイム スライスに従って実行されます。タイム スライスが使い果たされるか、イベントの発生を待っているためにプロセスがブロックされると、システムはプロセスの実行を停止し、再スケジュールします。タイム スライスの原則は、タイムシェアリング システムとほとんどのリアルタイム情報処理システムに適用されます。
②優先原則。各プロセスにはスケジューリングの優先度が割り当てられており、新たに緊急のプロセスが到着したとき、または優先度の高いプロセスがブロッキング状態からレディ状態に変化したとき、プロセスの優先度が現在のプロセスの優先度よりも高い場合、OS はスケジューリングの優先度を割り当てます。現在のプロセスの実行を停止し、優先度の高いプロセスにプロセッサを割り当てて実行します。
③短工程優先主義。新しく到着したジョブに対応するプロセスの実行時間が、現在実行中のジョブに対応するプロセスの実行時間よりも大幅に短い場合、システムは現在のプロセスの実行を奪い、新しい短いプロセスにプロセッサを割り当てます。最初に実行されます。
プリエンプティブ スケジューリング方法は、タイムシェアリング システムとほとんどのリアルタイム システムに適しています。

8. スケジューリング アルゴリズムを選択する際に従うべきルールは何ですか?

公平性、リソースの利用、バランス、強制

9.静的優先度とは何ですか?動的優先度とは何ですか?優先順位付けの根拠は何ですか?

(1) 静的優先度はプロセスの作成時に決定され、動的優先度は時間や環境の変化とともに変化します。
(2) ユーザー要件、CPU IO およびその他のリソースのプロセス要件、プロセス タイプ。

10. FCFS [先着順] と SJF [ショート プロセス ファースト] の 2 つのスケジューリング アルゴリズムを比較してみます。

先着順のサービスは所要時間が長く、短いプロセスには適していません。対話は実現できません。緊急のジョブは処理できませんが、プロセスが餓死することはありません。
短いプロセスを優先するには、最初にジョブの実行時間を把握する必要がありますが、これは長いプロセスにとって有害で​​あり、プロセスの緊急性が考慮されず、枯渇しやすくなります。

11. タイム スライスに基づくラウンドロビン スケジューリング アルゴリズムでは、タイム スライスのサイズはどのように決定されるべきですか?

タイム スライスのサイズは、一般的な交差点に必要な時間よりもわずかに大きくなります。

12. マルチレベルのフィードバック キューの方がすべてのユーザーのニーズを満たすことができるのはなぜですか?

マルチレベルフィードバックキューアルゴリズム 各キューに異なるスケジューリングアルゴリズムを設定できるため、短い処理は最初のキューで完了し、長いキューも処理され、長時間処理されないという問題は発生しません。

13. リアルタイム システムには強力な処理能力を備えたシステムが必要なのはなぜですか?

リアルタイム システムでは、同じ期間内に完了するタスクが多数ある場合、プロセッサがそれらを処理する時間がなくなり、タスクが完了せず、壊滅的な結果が生じます。

  1. リアルタイム スケジューリング アルゴリズムは、スケジューリング方法に応じてどのような種類に分類できますか?

プリエンプティブと非プリエンプティブ。

15. リアルタイム システムで一般的に使用されるスケジューリング アルゴリズムは何ですか?個別に紹介します。

最も早い期限: 期限が早いほど優先度が高くなります。プリエンプティブまたは非プリエンプティブの場合があります。
最も低いスラックが優先されます。期限から現在時刻を引いたもの、必要な時間を引いたものがスラックです。スラックが低いほど、優先順位は高くなります。スラックが 0 の場合、優先順位は次のとおりです。最高。

16. バッチ処理システム、タイムシェアリング システム、リアルタイム システムではどのプロセス スケジューリング アルゴリズムが使用されますか?

バッチ処理システム: 早い者勝ち、短いプロセスから優先、優先スケジューリング。

ヒント: ラウンド ロビンやマルチレベルのフィードバック キュー アルゴリズムはありません。
ヒント: 高い応答率が優先されるスケジューリング アルゴリズムです。タイムシェアリング方式:ローテーションのみ。リアルタイム システム: ラウンド ロビンおよび優先スケジューリング アルゴリズム。

17.デッドロックとは何ですか?デッドロックの原因と必要条件は何ですか?デッドロックを防ぐにはどうすればよいでしょうか? 【大学院入試問題】

(1) デッドロックとは、複数のプロセスが他のプロセスが必要とするリソースを保持しているにもかかわらず、必要なリソースを取得できず、行き詰まりブロッキング状態にあることです。
(2) 不可侵、リクエストとホールド、相互排他アクセス、ループ待機。
(3) デッドロックの 4 つの条件を解消します。

18. デッドロック問題を解決するためのいくつかの方法の中で、どの方法が最も実装しやすいですか?どの方法が最も効率的なリソース利用を実現しますか?

デッドロックの解決は、デッドロックの防止、デッドロックの回避、デッドロックの検出、デッドロックの解除の 4 つの方法に要約できます。
その中で、デッドロックの防止が最も簡単に実装できます。
デッドロックを回避してリソース使用率を最大化します。

2. 計算問題

19. 【大学院入試問題】

19
ここに画像の説明を挿入します

20. 【大学院入試問題】

20
20
20

21. 【大学院入試問題】

ここに画像の説明を挿入します
ここに画像の説明を挿入します

22.

ここに画像の説明を挿入します
(1) 安全な状態
(2) 非安全な状態
(3) 非安全な状態
( 4) 非安全な状態

3. 総合的な申請に関する質問

23. 【大学院入試問題】

ここに画像の説明を挿入します
(1) 質問に示されている 3 つの方法のうち、デッドロックを検出すると、より多くのプロセスが待たずに先に進むことができ、同時実行性が最も高くなります。これは、この方法を使用すると、プロセスがリソースを最大限に申請して割り当てることができるためです。デッドロックが発生すると、システムはデッドロックを解決します。
(2) バンカー アルゴリズムでは、プロセスはリソースを自由に申請できますが、プロセスがリソースを申請する際には、システムが安全な状態にあるかどうかがチェックされ、安全な状態にある場合は割り当てが可能です。そうでない場合は拒否されます。その同時実行性は、デッドロックの検出に次ぐものです。
(3) 最後のステップはリソースの事前割り当てです。この方法では、プロセスが実行前に必要なすべてのリソースを適用する必要があるため、多くのプロセスが開始できなくなります。すべてのリソースに適用できないため、一部のリソースが取得されません。リソース プロセスも、すべてのリソースを取得していないため、占有されているリソースを解放できません。そのため、この方法ではリソースの無駄が発生します。したがって、上記の 3 つのメソッドは、同時実行性の順に、大きいものから小さいもの、つまりデッドロック検出、バンカーのアルゴリズム、リソースの事前割り当ての順に並べられています。

24. 【大学院入試問題】

ここに画像の説明を挿入します
(1) システム内でデッドロックが発生します。その理由は次のとおりです。 2 つのアカウント A と B に、A から B への送金と B から A への送金という 2 つの送金業務があるとします。この 2 つのビジネスを実行すると、一方のビジネスはアカウント A をロックしてアカウント B のロックに失敗して待機し、もう一方のビジネスはアカウント B をロックしてアカウント A のロックに失敗して待機し、システムが停止する可能性があります。デッドロック状態。
(2) デッドロックを回避するため、口座ごとに固有の口座番号を設定する 2 段階のロック方式を採用しており、業務実行前に口座番号を設定する必要があります。すべてのアカウントロックは、業務終了後、後からロックされたアカウントから順にロックが解除されます。

25. 【大学院入試問題】

ここに画像の説明を挿入します
<1>これら 2 つのプロセスは、異なる進行速度でデッドロックを引き起こす可能性があります。例: プロセス P1 が最初にリソース R1 を申請し、P1 が R1 を取得した後、プロセス P1 が R2 を申請し、P2 が R2 を取得した後、P2 がリソース R1 を申請します。この時点では、R1 が割り当てられているため、P2 はブロックされます。 P1 と P2、2 つのプロセスは、必要なリソースを申請できなかったため、デッドロックを形成しました。プロセスの実行順序が変更された場合、2 つのプロセスがデッドロックしない可能性があります。したがって、デッドロックの原因は、1. リソースの競合、2. 不正なプロセスの進行順序の 2 点に起因すると考えられます。デッドロックの必要条件: 1. 相互排他条件、2. リクエストアンドホールド条件、3. ノンプリエンプション条件、4. ループ待ち条件

<two>デッドロックが発生します
理由: p1 と p2 の両方が最初のステップを実行すると、相互にブロックされます
必要な条件:相互排他、リクエストアンドホールド、ループ待ち、対象外。

おすすめ

転載: blog.csdn.net/m0_46222433/article/details/129592108