2017-04-25 4 views
0

プロセスが終了したらプロセスが完了したと私は理解していますが、実際にこれをどうやって行っていますか?プロセスを終了するときに何が起こっていますか?私たちは単純に記憶からその過程を取り除いているのですか、それともそれよりもそれ以上にありますか?オペレーティングシステムがプロセスを終了するために必要な手順が異なる場合、ルールまたは例外がありますか?Unixでプロセスを終了すると実際に何が起こっていますか?

答えて

0

あなたの質問は非常に広いです。プロセスの終了は、多くの発散したページを含む複雑なプロセスです。高レベルで。 。 。 。

プロセスを削除するだけではありません。大きな課題は、プロセスが割り当てたすべてのリソースを解放することです。

大きなものはメモリです。すべてのユーザー空間の物理メモリの割り当てを解除する必要があります。これは、複数のプロセスが物理メモリ内の同じページを共有する可能性があるため、参照カウントを必要とします。プロセスに割り当てられたすべてのページファイル(Unixではスワップパーティション)は解放されなければなりません。

最も複雑な問題は、I/Oをどうするかです。クリーンアップは、保留中の入出力操作を処理する必要があります。すべてのI/Oポートを閉じなければなりません(ファイル、パイプ、ソケット)。

私はちょうどあなたが何が起こっているかのアイデアを与えるために彼女の表面を傷つけています。

関連する問題