プロセスの説明:並行プログラミング(002)チャットサンダーの息子

プロセスとは何ですか

手段が実行することができ、マシン命令、データ、スタック、およびアクティブエンティティの他の構成要素の集合から構成されている別のシステムにおけるリソース割当の基本単位として独立して動作することが可能である:プロセスが定義されています。
人気の簡単な話:プロセスは、システム上で実行中のプログラムは、プログラムがプロセス一度実行されています。

プロセスを見ます

Windowsでは、QQソフトウェアプログラムを開き、システムには、タスクバーマネージャを見るために、簡単で直感的にプロセスを作成します。下図のように:

PS -auxコマンド

Linuxオペレーティングシステムでは、PS -aux命令実行、以下に示します。

PS -auxコマンド

プロセスの特徴

ダイナミクス:プロセスの本質はマルチプログラミング・システムにおけるプログラムの実行で、プロセスは動的に生成され、動的消光。PHPでWebプログラム、動的にユーザがプロセスPHP-FPMを要求し、動的ダイの終了後に毎回生成されます。ダイナミックなプロセスは、上の順で表示できます。

並行性:任意のプロセスが他のプロセスと一緒に同時に実行することができます。プロセスとスレッドのようにマルチタスクに対処する同時実行、シングルコアCPU、進捗状況を持っている、とも同じスレッドのリソースを使用してターンを取ります。
独立性:プロセスが独立して動作することができる基本的な単位でなく、リソースの割り当てと独立したユニットのスケジューリングシステムです。Windowsシステムで、開いている複数のアプリケーションでは、各アプリケーションは、リソースが異なる消費します。
非同期:プロセス間の相互拘束として、プロセスが前進する独立した、予測不可能なペースによって、そのプロセスの断続的な実行を持つように。それは我々が両方のブラウザでは、Windowsオペレーティングシステム上で実行されているようなものだ、とメッセージが独立し、互いに独立して、各プログラムの実行が続けてきたそれらの間の相互に依存しないQQを、受信と同時に実行することができます。
構造:プログラム、データ及び処理によって三つの部分のプロセス制御ブロック。コンフィギュレーション特性はPCBのセクションの詳細の進行に、複雑になることがあります。

PS -auxコマンド

プロセスのライフサイクル

(1)→レディ実行
可能状態でプロセスを、プロセススケジューラは、プロセッサを再計算するとき、プロセスは、次に実行状態に準備完了状態から遷移します。

(2)準備実行→
それが割り当てられているため、その実行は、タイム・スライスが使い尽くされたまたはより高い優先順位プリエンプション処理が実行状態からプロセッサ、移行のプロセスを放棄しなければならなかった状態で実行される処理レディ状態に。

(3)実行をブロッキング→
プロセスは、その後停止状態で、プロセスの即ち実装はブロックされているプロセッサを放棄、継続する一時できないイベントの発生に起因して実行されているとき、この停止状態はブロッキング状態と呼びます。
それはキューに配置されたブロックされているプロセスは、閉塞の原因に応じて、プロセスが複数のキューに配置された状態ブロックされている、いくつかのシステムで、ブロッキングキューと呼ばれます。

(4)レディブロッキング→
プロセス遮断され、それがイベントを待つ場合に発生した、準備完了状態に遮断状態から、プロセス。

(5)ファイル名を指定して実行]→[終了
、プログラムの実行が完了すると、取り消しは終了します。

たとえば、次の
準備状態ながら、プロセスを作成し、Javaのjarコマンドによって、Javaプログラムを実行します。ユーザーは、HTTP、このプロセスのCPUスケジューリングを経由してアプリケーションへのアクセスを要求します。リアルタイムプロセスは、ユーザーに結果を返し、準備を入力してください。プログラム処理に時間がかかる場合には、そのプロセスが詰まった状態にある(CPUが、ブロックされていない、別のプロセスにタイムスロットをスケジュールしたいと思います)。そして、他の手続きの処理が完了し、準備完了状態はユーザーの要求を待ち続け入力されます。プログラムは、プログラムは、治療の過程でクラッシュを引き起こすことを想定すると、重症の場合には、プロセスを終了することが可能です。

これらは、3つの最も古典的かつ最も基本的なプロセスの状態(実行、準備ができてジャム)ですが、今のオペレーティングシステムは、新しい状態に応じて再設計する必要があります。

PS -auxコマンド

動作状態:マージ状態と状態を実行する準備ができて、それはプロセスが実行中または実行する準備ができていることを示しています。
割り込み可能なスリープ状態(浅い眠り):ウェイクアップリソースの到着を待っているプロセスが(ブロック)眠っているが、他のプロセスによって中断することができますウェイクアップ実行キューへの信号やクロックを。
無停電睡眠(深い睡眠状態):と基本的に同様の浅い睡眠が、一つのことは、他のプロセスのクロック信号または割り込みではありません。
状態を一時停止:プロセスは何らかの処理の受け入れを停止します。それがこの状態でプロセスをデバッグされているとおり。
ゾンビ状態:プロセスが完了したが、PCBをリリースしていないされています。

topコマンド

Linuxシステムでは、状態およびその他の情報の処理は、情報を表示するtopコマンドを使用して入力することができる:
PID:プロセスID
USER:のプロセス所有者
PR:プロセスの優先度
NI:nice値、負の値は正、高い優先度を示します値は、優先度の低い示し
VIRTを:プロセス仮想メモリサイズ
RES:プロセスは、物理メモリのサイズ使用
SHRを:プロセスは、共有メモリサイズの使用
S:プロセスの状態、D =睡眠、R =状態を実行して、S =睡眠、 Tは=停止状態、Z =ゾンビ
%のCPU:プロセスがCPUのパーセンテージかかる
プロセス物理メモリが占有率:%のMEM
時間+を:プロセスは、CPUの合計時間かかり
コマンド:プロセスは、詳細な上面-Cビューを使用してコマンドラインを使用しコマンドライン

遂に

なぜ、つまりため、プロセッサCPU管理の学習プロセスは、プロセスの管理に起因することができます。さらに、プロセスを制御するために、あなたは、CPUリソースの使用を最大化プロセスの効率を高めることができるようになります。

検索と懸念マイクロチャネル公共数:iamleiyongjun;毎週[]は並行プログラミングのチュートリアルへの漸進的なアプローチは、共有するミドルウェアを開発するためには、もはや夢ではありません!

おすすめ

転載: www.cnblogs.com/guanqi/p/11768550.html