2012-01-20 15 views
0

プロセッサがバックグラウンドプロセスまたはフォアグラウンドプロセスを実行する方法や、オペレーティングシステムがスケジューリングをどのように処理するかに違いがあります。バックグラウンドジョブとフォアグラウンドジョブのプロセッサーレベルに差異がない場合、どのレベルでその差異が生じますか?バックグラウンドプロセスとフォアグラウンドプロセス

+0

AFAIKプロセッサと同じですが、それぞれ同じ方法でスケジュールを取得します。違いは、ユーザーの介入なしにバックグラウンドプロセスが実行されることです。 –

答えて

1

シェルで新しいバックグラウンドプロセスを作成することは、プロセッサの実行方法とは関係ありません。相違点は、シェルがバックグラウンドプロセスが完了するのを待たないことだけです。

プロセスの作成のためのコード:
1)は、プロセス
2をフォーク)(&記号はコマンドの最後に存在している)
は、新しいコマンドに子のPIDに

待機を受け入れ続けた場合。

唯一の違いは、シェルがバックグラウンドプロセスの優先度を下げるかどうかです。答えは、使用しているシェルに依存しています。しかし、私はそのような動的な優先順位を割り当てる既存のシェルを知らない。

+0

端末グループとプロセスグループの制御に関するいくつかの問題もあります。 –

+0

@aboveあなたは "端末とプロセスグループ"について詳しく説明してください。 –

+0

ターミナルと良いLinuxプログラミングの本、例えばhttp://www.advancedlinuxprogramming.com/とhttp://basepath.com/aup/の制御については、 'execve'と' tty(4) 'のmanページを読んでください。 –

関連する問題