免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
OS(オペレーティングシステム)
プロセス、スレッドとプロセッサスケジューリング
- ①プロセスの同期とスレッド
- 複数のプロセスが同時に実行することができますので、そのプロセス間のリソースの共有と相互協力の問題がなければなりません。あなたがプロセスを調整するためのイニシアチブを取ることはありません場合は、そこになります実行再現することはできません。
- いくつかの場所での前進速度を調整するために、プロセスのグループは、このプロセスの間の相互拘束と呼ばれる、互いにまたは覚醒を待つ必要があるプロセスの同期化。
- ルールの同期メカニズムが従わなければならない:右が待機するように待機は、限られている、アイドル、ビジーウェイトにしましょう。以下のための限られた待機:プロセスはように死とを避けるために、限られた時間のための重要なゾーンへのアクセスを確保するため、重要な領域にアクセスする必要があります。待つの権利をしてみましょう:プロセスがクリティカルセクションに入ることができない、すぐにプロセッサを解放し、忙しく避けるべきです。
- セマフォのメカニズム:問題を解決するためのセマフォ、プロセスの同期ツールを処理するために、PV操作の使用。リソースの数、およびリソースの解放の特定のアクションを適用するリソースによって、リソースを操作し、可視化の結果を達成するために。
- チューブのメカニズム:チューブメカニズムの利点は、すべてのプロセスが、重要なリソースを取得するために、このメカニズムを使用して一元的内在紛争の重要なリソースを解決する方法を検討する必要があるということです。
- スレッド:スレッドはプロセスが複数のスレッドを持つことができ、軽量プロセスでは、スレッドは、プログラム実行の最小単位です。独立したスレッドを実行することはできません。スレッドのクラッシュが発生した場合、このプロセスがクラッシュするようにスレッドは、同じプロセスのプロセスリソースを共有しています。しかし、様々なプロセス間のリソースが独立しているので、プロセスがクラッシュしたときに、他のプロセスに影響を与えません。したがって、プロセスはスレッドよりも堅牢です。作成とスレッド間の切り替えは、スレッド処理の作成を起こさない、スイッチングおよび失効するので、オーバーヘッドかなり小さいスレッド。
- ②デッドロック
- デッドロック:上記の2つのプロセスがリソースの解放を求めるには、お互いを下に実行し続けることができません所持の現象につながっています。例:ボックスは引き出しやパンを持っています。引き出しの中のボックスからパンを削除しようとするプロセス。プロセスは引き出しの中にパンを取るための引き出しを開けたいB。プロセスはボックス、成功を要求します!Bプロセスは引き出し、成功を要求します!しかし、その後、AはプロセスB、引き出しBを解放するプロセスを待つプロセスがデッドロックを形成し、ボックスのリリースを処理する必要があります。
- 原因は、デッドロック:競争は、競争がリソースを消費することができるためには不合理な推進実行中のプロセス、リソースをつかむことはできません。必要な4つの条件のデッドロック:相互に排他的な条件、保持要求条件ではなく、剥奪、円形待ち状態。