オペレーティングシステムの学習(II) - プロセスの説明および実行

これは、2つのシリーズのオペレーティングシステムです。

あなたは、オペレーティング・システムが毎日何をしているかを知りたい場合は、あなたのリソースモニタを開きます。

ファイル
リソースモニタのスクリーンショットはWindows 10

一人でこのマップを通じて、私たちは、オペレーティング・システムのいくつかの重要な機能をまとめることができます。

  • プロセス管理
  • スレッド管理
  • メモリ管理
  • I / Oの管理(ディスクスケジューリングが含まれます)
  • 文書管理は、この機能は、図にそれを示さなかったが、私はコンピュータを使用して、誰もがそれを知っていると信じています。

なぜ私は、プロセスからそれを開始する必要がありますか?

その理由は、我々は携帯電話やコンピュータなど、毎日のコンピュータを使用し、本質的には、そのオペレーティングシステム上で動作するアプリケーションを使用するのは簡単です。私たちにとって、最も直感的なオペレーティングシステムの機能は、プロセスを管理することですので、のは、外部から内部へ、プロセス管理からオペレーティングシステムの性質を根絶するためのステップバイステップを始めましょう。

どのようなプロセスがありますか?

私は単純に最初の記事では、この概念のプロセスを参照して、理解を深めて、ここでは詳細にそれについて話します。

オペレーティングシステムは基本的に需要がされ、個々のユーザーのために、ユーザーのニーズに応えるために設計された単一のコンピュータ上で複数のアプリケーションを実行している生活と仕事のニーズを満たすために、。しかし、非常に多くのアプリケーションでは、CPUコアが限られているので、それは、ああ、各プログラムは、1つのCPUコアを占有することは不可能である、人間のニーズは無制限です。

だから、オペレーティングシステムは、限られたCPUのアップに分散アプリケーション、無制限(約誇張)が必要になります。

私たちはこれらを可能にするために、メモリにロードされるプログラムの束を開くとプログラムを実行すると、開いているプログラムを区別しませんが、我々は、作成したプロセス(工程)この言葉を。だから、このプロセスは上で動作するプログラムである抽象的、動的、。プロセス管理は、実際にいくつかの方法でシステムを操作している、我々はプログラムを開くために管理しています。

注意:以下の議論を簡単にするために、我々は、コンピュータがシングルコアであることを前提としています。

いくつか持っているプロセスの状態?

プロセスについて話しました、私たちは必然的に、プロセスの状態を理解する必要がありますが、状態はプロセスを理解したい、私たちは何が起こるかのプロセスを確認するために生涯の観点から処理する必要があります。

まず、ユーザーがアプリケーションを開いて、このプログラムはである新しい状態、(新)オペレーティングシステムは、この作業プログラムのための準備ができていないこの時間、プロセス自体がメモリに入っていない、あなたはまた、ディスク上に残ることがあります。

このプロセスは、メモリにロードされるまで待って、それに代わって実行する準備ができていますが、CPUリソースが別のプロセスによって使用されているので、それが唯一のオペレーティングシステムを待つことができ、それのためにCPUを割り当てます。この状態は、呼び出されたレディ状態(レディ)。

プロセスが開始された後、一定期間後にレディ状態では、常に、CPUリソースにそこに割り当てられます、それが入っ実行状態(ランニング)。

いくつかのプロセスがいくつか実行して、ブロッキング、操作を例として、ここではI / O操作を取り、操作を実行した後、プロセスは、I / O操作を待つ必要が完了し、最初の記事では、この期間中のプロセスについて話を使用することはできませんCPU、それは資源の浪費を引き起こし、CPUを消費し続けます。だから、オペレーティングシステムは、CPUを使用する権利を奪われ、中にそれを置くことになるブロッキング状態までI / O操作の終わり、配置する前に準備状態。

1つの最終状態があります- 終了状態は、名前が示すように、プロセスが終了し、それが状態に終了します、このプロセスがメモリから消去されていない可能性がありが。完全メモリ、完全にオーバー生涯プロセスのアウトプロセスまで待ちます。

以上の議論を踏まえ、我々は、プロセスの5つの状態を得ました:
ファイル

注意深い読者はブロッキングステートに実行状態間の矢印を見つけるだけでなく、準備完了状態に状態を遮断することが一方向であることがあります。なぜ?

状態をブロックし、実行を見てみましょう。プロセスが何を代表して遮断状態にあることを思い出してください?(私はあなたが、これが本当に停止し、A考える参照願っています)

プロセスの状態がブロックされており、ブロッキング操作の実装のプロセスのために、我々は、操作の結果を待っています。つまり、プロセスがブロックされている状態は、それを実行する方法はありません、それへのCPUは、彼らが実行状態に入ることができないので、場合でも、CPUを使用している余裕はありません。だから、ブロッキングステートから実行状態をスキップすることはできません。

準備やブロッキング状態を話してきます。プロセスが実行可能状態にある場合、今ではCPUを使用しないこと、ブロッキング操作を実行する可能性が低いです。したがって、レディ状態からブロッキングステートに直接ジャンプすることはできません。

ちょうどのは、プロセスの簡単な待ち行列モデルを見てみましょう、説明するために組み合わせます。
ファイル

図はプロセスを表しABCDEF

準備完了状態、実行中または遮断状態が提供することに留意すべき処理の動作について実際のオペレーティングシステムの多くはこのような特定の三つの状態に構成されているオペレーティングシステムの実装を導く、システムアプローチを。しかし、それは、それは他の州で場所がない、といくつかの実装では意味しないだけでなく、(実際には、主流を達成しますが、仮想メモリの概念が含まれ、それが説明し、後に残されている)、保留状態およびその他の状態。しかし、関係なく、彼らはコンピュータリソースと抽象的なアウトを最大限に活用するために、オペレーティング・システムのためにあるかの状態。

いくつかのマイナーな問題は思いのまま。

  1. なぜだけで終了する状態への変換を実行しますか?
  2. あなたは、マップのキューイングモデルにそれを読むことができますか?

PCBは何ですか?

管理とプロセスの制御におけるオペレーティングシステムは、まず最初に、あなたは、プロセスの場所を知っている必要があります(つまり、メモリがアップロードされているプロセス)、そして第二に、それは、プロセスID、プロセスのステータスなどのプロセスの性質を、知っている必要があるので、我々は持っています情報を保存することができた構造があります。

このような構造のプロセス制御ブロック(プロセス制御ブロック)です。プロセス制御ブロックは、プログラムが起動したときに出てきますが作成されます。
ファイル

プロセス制御ブロック(醜いワードWuguai)の主コンテンツとメモリイメージ

私たちは、PCBは、重要な情報のプロセスIDを格納し、参照ステータスレジスタ、スタックポインタ、などができ、この情報は現在、非常に奇妙なようだが、あなたは、オペレーティングシステムの理解を深め、将来に、あなたはこの情報の意味を理解し、効果。

さらにPCBを中に格納されたメッセージが提供されているカーネル空間のみオペレーティングシステムは内部のPCBの内容を変更する権利を持っていることを示しているが- 。PCBはあまりにも重要であるため、その内部情報が悪意を持って変更された場合、それはプロセスが予期せず終了原因となり、さらには、オペレーティング・システムの崩壊につながる可能性があります。

概要

のは、今日の文字列の内容を見てみましょう:

プログラムが実行されている場合は、オペレーティングシステムが作成するプロセス制御ブロックを、メモリにロードし、ブロック「内のプロセス制御プロセスのステータスが」情報が変更にレディ状態、およびレディキューへのプロセス割り当てCPUを待っています。CPUの共有に進み、一旦走行状態、実際の状況、ブロッキング動作もにように行うことができる状態を遮断するプログラムがメモリをクリアし、プロセス制御ブロックを削除するには、オペレーティング・システムによってプロセスが完了するまで、。

あなたは前の段落を読めば、それはまだ非常に曖昧な概念で大胆で、その後、私はあなたが再びゆっくりと記事を読むことをお勧めが、効率の読み取りが非常に低いの考えず、自分自身の考えを持参してください。

私はあなたの記事を読んだ後に何かを得ることを願っています。お読みいただきありがとうございました、我々は再び会います!

免責事項:許可なしに元の記事は、転載を禁止します

おすすめ

転載: www.cnblogs.com/tobe98/p/11594652.html