デバイス管理
P294の5ページ、7つの質問。
5。
起こった順番をスケジュール5,3,2,1,4ディスク回転数を合計するには
7。
(1)先着順FCFSアルゴリズムは143-86-147-91-177-94-150-102-175-130続いて、565です。
(2)143-147-150-130-102-94-91-86-175-177続い最短時間最初アルゴリズムSSTF 162は、検索。
(3)走査アルゴリズムSCAN 169、143-147-150-175-177-199-130-102-94-91-86続きます。
(4)エレベータディスパッチャ125は、(Xianxiang方向が大きいアドレス)、143-147-150-175-177-102-94-91-86に従いました。(小さな方向Xianxiangアドレス)148は143-130-102-94-91-86-147-150-175-177でした。
並行プロセスの理解
まず、シーケンスプログラミング:
決定論的再現(1)順次実行(2)クロージャ(3)環境の結果は、(4)工程:シーケンシャルプログラミングは、4つの特性を有します。かかわらず、プログラム・シーケンス、すなわち、のみに関係なく、時間の初期入力データに関連するプログラムの最終的な出力の、その実行速度。
順序構造は、最も簡単なプログラム構造である限り、ライン上の問題を解決するために書かれた順序に応じて、対応する文のように、それは実行順序が順番に、上から下にあります、最も一般的なプログラム構造です。
第二に、並行プログラミング:
これは、多数のプログラムモジュールが同時に実行されるプログラムで構成することができるプログラムの同時プログラミング方法を指します。このモジュールは、プログラムはプロセスと呼ばれている間に実行することができます。データと関連するステートメントのシーケンスを処理します。複数のプロセスからなるプログラムが同時に複数のプロセッサ上で並列に実行することができ、プラグクリッププロセッサ上で実行されてもよいです。これは、実行時間を短縮し、コンピュータ・システムの効率を向上させる並列に動作する周辺装置及びプロセッサを使用して並行プログラミングを可能にします。
例:
並行プログラミング:
プログラムは、コンピューティングタスクを多数有しており、タスクが複数のブロックの互いに独立したタスクに分割することができる場合、それは並列プログラミングで使用されるべきです。並列プログラミングのCPU使用率が一時的にクライアントシステムのCPUがアイドル状態であることが多い場合は、この方法は非常に便利ですが、一般的にサーバシステムには適していません、スループットを向上させるために増加しました。ほとんどのサーバ自体と並列処理能力は、例えば、ASP.NETは、並行して複数の要求を処理することができます。いくつかのケースでは、サーバ・システム上での並列コードを書く(あなたが知っていれば、同時ユーザー数は常に少数派になります)なお有用です。しかし、一般的に並列プログラミング自体を減らすために、並列処理機能、および本当の利益のためにサーバ・システム上で実行。
シーケンシャルプログラミング:
= 3、B = 5、Bの交流電流値、及びコースの水のこの問題は2つのカップ、あれば第三のカップがCである場合、第三のカップを使用するように、交換、その後の手順は正しいです。 C =; = B; B = C;のように記述順序変更場合、実行結果は、= C = 3 B、= 5である; C = A; B = cは、次に実行結果になる= Bは= B = C = 5、所期の目的を達成することはできません、そのような間違いを犯す可能性が最も高いの初心者。配列構造は、完全な単純な手順、共通の入力、出力部作を演算を形成するために単独で使用することができるプログラム構造の順序で、例えば、円Rのプログラム文の半径の入力順である円の面積を計算し、Sを算出= 3.14159 *のR * rを、円Sの出力領域。しかし、ほとんどの場合は、プログラムの一部としてシーケンシャル構造と複合体からなる他のプログラム構造、分岐構造、例えば、複合文、ループなどの環状構造です。
相互排除と同期
平行1.同時について説明すると両者の関係を説明しました。
二つの平行と同時に、同じことなく、両方の類似概念である。また、総ライン抵抗としても知られている同時実行は、同時に複数の性行為を処理する能力である。平行2つの同時のイベントが発生しているが、同時を意味する、と同時つまり、必ずしも同時ではないパラレル、それはまた、同時イベント間の同じ瞬間を意味する必要はありません。
2.プロセス間の関係は何ですか?それぞれ、どのような戦略を取るには?
競争と支援:二つの基本的なプロセス間の関係があります。
複数の対話型プロセスによる共有リソースとも相互排他的な関係として知られている間接的な制約関係、あるインタラクティブな関係を生じる制約の論理に存在しない様々なプロセスように、それらは、コンピュータのリソースを共有します。
各プロセスが独立して制約を持つことになり、実行のためのプロセスにおける相互協力の必要性について、予測不可能率を促進するために、共通のタスクを完了するために、労働者の分裂を必要と並行プロセスのセットを含む分岐動作特定のキーポイントに自分の仕事をコーディネート。
3.なぜ、相互に排他的なプロセスがあるにも同期のですか?
相互排除は、リソースを参照するので、私はあなたが使用していない時間を使用し、あなたは私が使用していない時間を使うプロセスの使用のみを許可するこれは「ペース」での協調、一貫していますそれは同期です。
4.デッドロックや「飢餓」を説明し、それらの関係を説明します。
デッドロックは:実装プロセス内の2つの以上のプロセス(またはスレッド)の現象を指し、お互いを待っによって引き起こされるリソースの競合の結果は、外力のない状態で、彼らはそれを促進することができません。この時点で、システムがデッドロック状態やデッドロックと呼ばれる別のプロセスを待っているの過程で常にデッドロックを生成するためのシステムであると言います。
デッドロックの4つの条件
1、相互に排他的な条件:リソースへのスレッドアクセスのスレッドがリソースを占有する場合は、リソースが解放されるまで、その後、他のスレッドが状態を待つ必要があり、排他的です。
図2に示すように、要求条件保持:T1のR1が占有されている少なくとも1つのリソースを保持しているスレッドが、R2が提案されている別のリソースのための要求が、この時、スレッドが待機しなければならないようにR2を別のスレッドT2、T1によって占有されるリソースを、しかし自分のリソースを維持するためのR1は解放されません。
3、ではない剥奪:作業が完了した後、リソーススレッドは、使用されていない前に、取得した他のスレッドを奪われることができないだけで、自分のことで解除することができます。
4、ループ待ち状態:デッドロックが発生した場合、存在しなければならない「プロセス-リソースエンドレスチェーン」、すなわち:{P0、P1、P2、 ... PN}、 P1を占めていたリソースを待っP0プロセス(またはスレッド) 、P1はP2は、pn P0が消費されるリソースを待って、消費するリソースを待っています。(最も直感的な理解は、P0 P1は、資源のP0とP1占有を待っている間に占有リソースを待っているので、2つのプロセスがお互いを待ちます)
飢餓は、主な理由である:動的システムでは、システムリソースの種類ごとに、オペレーティング・システムは、複数のプロセスが同時にリソースの特定のタイプ、割り当てポリシーによって決定された順序を処理するためのリソースの割り当てに適用配布戦略を決定する必要があります。時には、資源配分戦略はその、公平ではないかもしれない、待ち時間の上限の存在を保証するものではありません 。この場合、システムがデッドロックしない場合でも、いくつかのプロセスはまた、長い待ち時間かもしれません。これは、プロセスがあっても、もはや実用的な意義与えられていない任務を完了したときに、プロセスがある程度場所空腹、空腹取ったと述べ、待ち時間が処理し、大きな影響を推進するために応答する際のプロセスが餓死したと述べました。複数のプロセスがある場合たとえば、システム割り当てポリシーの優先ドキュメントプリンタが最短であれば、印刷ジョブが短い文書の安定した流れの到着の長いファイルに無期限に延期することに起因すること、さらには最終的な飢餓につながる、ファイルを印刷する必要があります餓死します。
飢餓は、彼らの生産のための必要条件ではなく、非常にランダム。そして、飢餓をなくすことができるので、飢餓はビジーウェイトがライブロックと呼ばれたときに発生します。
類似点と相違点、デッドロックや飢餓
類似点:どちらのリソースの競合に起因しています。
違い:
- プロセスの状態から、プロセスのデッドロックが待機状態にあり、ビジーウェイト(運転または準備完了状態の)プロセスは、待機状態ではないが、それは餓死することができます。
- デッドロックのプロセスがリソースを解放するプロセスを待って餓死した、解放されることはありませんが、何の上限待機時間(またはビジーウェイト待ち式)を示すない、自分のリソースに割り当てられません待ちます。
- デッドロックは、ループを待って発生し、飢餓はそうではありません。これはまた、リソース割り当てマップがデッドロックの存在下または非存在下で検出することができることを示しているが、それは飢餓のプロセスかどうかを検出することができません。
- 複数のプロセスを含むデッドロック、飢餓や飢餓プロセスが一つだけであってもよいです。
- 飢餓の場合は、システムが正常に実行することができ、少なくとも1つのプロセスがありますが、飢餓プロセスの機会を強制されません。デッドロックは、最終的には、システム全体のデッドロックと崩壊を引き起こす可能性があります。
重要な領域と呼ばれる何5.?どのように重要なリソースへの紛争の和解プロセスへのアクセス?
実用上の問題セマフォ操作やPVで処理
P187-43
Cemaphore
オレンジエッセンス= 0;砂糖= 0; = 0水= 1空。
プロセスの産物(){
一方、(TRUE){
P(空)。
乱数Sを生成します。
(S == 0)V(ファインオレンジ)の場合。
もし(S == 1)V(水)。
もし(S == 2)V(糖)。
}
}
プロセスP1(){| プロセスP2(){| プロセスP3(){
一方、(TRUE){一方(TRUE){{(真)一方
P(ファインオレンジ); P(砂糖)、P(水)。
オレンジは罰金削除、砂糖を取り出し、水を除去します。
V(空)。V(空)。V(空)。
}}}
}}}
Coend
2.IPO問題:複数の入力プロセス、複数のプロセスおよび複数の出力処理工程があります。MユニットB1にバッファに段階的なプロセス入力、データ入力、プロセスへのプロセスによる処理の後、バッファB2のN単位、出力処理によって出力があります。
。この質問は、どのようなプロセス?プロセスの制約との関係はどのような?
B。書き込み同期アルゴリズムは、操作量とPVとの間で信号を処理します
ソリューション:
A:入力処理、処理工程の間に同期関係、出力プロセス、プロセス。
仮想ストレージ・マネージャー
(2)次のように1、フィフィのアルゴリズムであります
ページへ:001103122443
ページフォルト率は6/12 = 50%です
2次のように、LRUアルゴリズムであります
ページへ:001103122443
ページフォルト率:7/12 = 58.3パーセント
次のように3、POTのアルゴリズムであります
ページへ:001103122443
ページフォルト率:5/12 = 41.7