スレッドとpython-プロセス

質問1:プロセスとは何ですか?

  • プログラムを実行するために、プログラムは、プロセスの実行状態と呼ばれています。

  • プライマリスレッド:少なくとも一つのスレッドを持つプロセス。

  • 別のプロセスによって使用されるメモリリソースは、互いに独立して干渉の、互いに独立しています。

  • プロセスは、システムの割り当てのリソースを操作する最小単位です。

  • 間違いなく良いスレッドのリソースがより使用されるよりも処理します。

質問2:スレッドとは何ですか

  • オペレーティングシステムは、スケジューリングの最小単位を算出することができます。

  • これは、プロセスの単位プロセスの実際の動作が含まれます。

  • スレッドが単一のシーケンスの処理の制御の流れを指します。

  • このプロセスは複数のスレッドによって複雑にすることができます。

プロセスの特徴:質問3

  • ダイナミクス:プロセスの本質はマルチタスクシステムにおけるプログラム実行の過程で、プロセスは動的に生成され、動的消光。

  • 並行性:任意のプロセスが他のプロセスと一緒に同時に実行することができます。

  • 独立性:プロセスは、スタンドアローンの基本単位でなく、システム・ユニットリソース割り当てと独立のスケジューリングです。

  • 非同期:プロセス間の相互拘束として、プロセスは独立した、予測不可能な速度で行われる間欠実行処理を有するようになります。

プロセスの構造的特徴:質問4

  • 3つのプロセス制御プログラムブロックの部分、およびプロセスデータ構成

質問5:CPUの構成

  • 演算ユニットCPU、コントローラ、およびレジスタによって

  • オペレータは、データ処理のメンバーです。(算術演算、論理演算、データ転送、シフト、等)

  • コントローラは、メモリ(メモリおよびハードディスク)、コマンド及びコンピュータオペレーティング部材を調整するためのデバイスから命令をフェッチする責任があります

  • 内部CPUレジスタは、独立した高速の一時記憶手段(小容量)であります

質問6:スイッチングのプロセスとは何ですか

  • プロセッサの切り替え処理が実行中のプロセスから回収され、そしてプロセスは、プロセッサを集中的に実行させます。

質問7:PythonとJavaの

  • パイソン:両方はまた、マルチスレッドをサポートすることができ、複数のプロセスをサポートすることができます。(マルチスレッドマルチコアCPUの能力を計算平行、集中IOタイプを使用することができない、あなたは、マルチコアCPUの並列計算パワーに計算集約型の複数のプロセスを使用することができます)

  • 唯一のマルチスレッドのJava

  • Pythonのマルチスレッド、マルチコアCPUを利用することができない理由がある:GILロックは、並列、同期動作の多くをしない発生、非効率的で、マルチコアCPUを使用することはできません。

質問8:同期、非同期、ブロッキングがどのようなものです

  • シス実行ステップ間の同期の依存関係があります。

  • 非同期タスクを同時に実行することができていない依存関係を持つことです。

  • 妨害:準備状態にタスク待ち(ファイルの読み書き、ネットワークIO、一時停止、睡眠)、完了後

質問9:プロセスの実行

  • 1)準備:プロセスは長いプロセッサの割り当てとして、処理を行うことができるように、プロセッサリソースの割り当てを待って、プロセッサに加えて、必要なリソースを有しています。

  • 2)動作状態:プロセスの数は、プロセッサリソースを消費し、この状態でプロセスが少なくプロセッサの数を超えています。

  • 3)状態をブロッキング:いくつかの条件を待っているの処理として、さらに条件が満たされるまで進行することができません。

 

 

 

 

 

質問10:プロセスの状態遷移

 

 

  • メモリ(メインメモリ):、CPUに直接、高速、低容量、高価な、永続的に格納することはできませんデータをストレージを提供してオフに消え、私たちは、補助記憶装置から再転送されたデータにする必要があります。一般的なメモリは次のとおりです。CPUキャッシュ

  • 外部メモリ(補助記憶装置)、データ、低速、高容量、低コスト、恒久的に記憶されたデータを提供するために、メインメモリ。一般的な二次記憶装置:ハードディスク、CD、Uディスク、ディスク、リムーバブルハードディスク。

  • アクティブレディ:メインメモリ内のプロセスを指した状態でスケジュールすることができます。

  • まだ準備ができて:プロセスを指すが、補助記憶装置に準備完了状態に切り換えられ、この状態は、直接送出することができません。

  • アクティブブロック:彼らは準備がアクティブ状態に入るとイベントが発生するのを待って、メインメモリ内に既にプロセスを意味します。

  • それでも、ブロッキング:プロセスは、彼らが停止準備完了状態に来たら発生するイベントを待って、二次記憶装置にスワップされたときに、ブロッキング状態をいいます。

作成プロセス:質問11

(オペレーティングシステムいったんイベントが部下によって新しいプロセスステップを作成するには、その後、呼び出し元プロセスは)プリミティブクリートを(作成するために、新しいプロセスを作成する必要があります)

  • アプリケーション・ブランクのPCB(プロセス制御ブロック)。

  • 新しいプロセスのためのリソースの割り当て。(プログラムとデータメモリ空間)

  • 初期化プロセス制御ブロック(初期識別情報、初期ステータス情報プロセッサ、制御プロセッサ初期化情報)

プロセスを終了:質問12

  • 正常終了:通常の手順、円滑な実施

  • 異常終了:処理中に何らかのエラーが発生して終了するためのプロセスを強制的に失敗の出現に、実行されています。

  • 外部の介入:オペレーティングシステムまたはオペレータの介入、文字要求プロセスは、親プロセスが終了されます。

  • お使いのシステムは、プロセスの終了後にイベントの魅力を持っている場合、OSは、指定されたプロセスを終了するには、次の手順に従って、呼び出したプロセス文を終了します。

ブロックし、目を覚ますために、プロセスを引き起こすイベントの場合:質問13

  • サービスを提供するオペレーティングシステムに要求する処理を実行する場合、何らかの理由で、オペレーティング・システムは、直ちにプロセスの要件を満たしていない、プロセスは、要件が満たされると、プロセスが目覚めている、待っているブロックされてしまうことができます。

  • プロセスは、モジュールの動作を開始すると、操作が完了した後、プロセスは、操作が完了した後、あなたが最初に、操作の完了を待ってブロックするようにプロセスを有効にする必要があり、実行するウェイクアッププロセスを継続する必要がある場合

  • 相互協力のプロセスでは、あなたが別のプロセスによって提供されたデータは、データ処理の束を実行するために取得する必要があるプロセスの1つが、必要なデータを再生することです達していない、プロセスは、(待ち時間)は、データが到着するのを待ってブロックすることができますプロセスが起こされます

  • システムは、多くの場合、いくつかのシステムプロセスは、仕事へのこの記事は、彼が仕事の到着、到着後のタスク、プロセスが起こされるのを待つために直接の障害物をあきらめたときに特定の機能を持って設定されています。

質問14:ウェイクアップブロッキング、プロセスのプロセスをブロック

  • 実装の方法において、特定のイベントの上に見つかった場合、続行することができ、その後、プロセスは、プロセスが直接遮断プリミティブブロックを呼び出すことによってブロックされ、プロセスをブロック挙動を繁殖のアクティブなプロセスであります

  • そのようなI / O完了またはデータの期間として、ブロックされたプロセスが予想イベントは、到着したときに、プリミティブウェイクアップ()による処理についてのウェイクアップコールは、イベントはプロセス・ウェイクを待ちます。

プロセスのスケジューリングアルゴリズム:質問15

  • FIFO

  • ラウンドロビンアルゴリズム

  • 最高の優先順位アルゴリズム

16件の質問:並行性と並列性の違い

  • 同時実行:時間の期間では、いくつかのタスクをしながら。1時間で教師、5人の学生は仕事を見ていました

  • 同時に、タスクをしながら。5教師は、それぞれ、1時間で学生の作品を見るために

備考:

マルチプロセスは:CPUは、マルチコアとすることができる、アプリケーションシナリオは:計算集約
マルチスレッド:GILロックは、CPUは、マルチコアを使用することができないので、シナリオ:IO集中
コルーチン:シングルスレッド、全く平行存在しないが、同時カーニーは、それが必要ではありませんロックを達成する(軽量、マルチコアCPUを使用することはできません)

おすすめ

転載: www.cnblogs.com/su-sir/p/12583852.html