- ベストアンサー
マルチプロセスの利点、欠点
OSの課題で、 複数のプロセスで処理を実行する利点、欠点を述べる問題なのですが、 利点は 1.並列して処理を進めると、適切な処理の切り替えによってシステム全体の処理効率が上がることがある 2.信頼性向上に繋がる ・fail-softなシステムを容易に構築できる ・fail-tolerantなシステムを容易に構築できる 3.複数のCPUによる多重プログラミング環境においても、ソフトウェアを再設計することなく直ちにハードウェアに見合った性能向上が期待できる だと思うのですが、 欠点が調べてもなかなかわかりません。 どなたかご存知の方教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
学校の課題は自分で考えることが原則と思うけど、どうしても分からんというのであれば、ヒントだけでも。 同じ処理を行わせないためには、同期を取る必要があります。 すなわち、入出力は、OSの方でファイルの同時アクセスは制御されていますが、ファイルアクセスが違うものは、並行処理できます。 この違いの区別をどう判定させるのかが問題になるのではないでしようか。 システム構築するシステムエンジニアであれば、必ず、同期を取ることが頭に浮かばないといけません。 Aサブシステムと、Bサブシステムは参照するファイルが異なるため並行処理できるが、 Aサブシステムと、Cサブシステムは、同じマスタ更新するので並行処理できないといった、関連図を作り規定していかないといけません。 この同期を取るといった事象を、Enqueue,Dequeueといった待ち行列理論の展開になっていくのですけど。 そのためのプログラミング手法といったことまで深く入っていくことになります。 リユーザブルルーチン(reusable routine:再使用可能)、リエントラントルーチン(reentrant routine:再入可能)で作成する必要が出てきます。 ここまで厳密に入っていくための足がかりとして出題されている気がしますけど。
その他の回答 (2)
- mrkato
- ベストアンサー率47% (1008/2121)
OS/2もWindows系扱いにされてますけど・・ マルチスレッド、マルチタスクなのは同じであっても インプットキューが単一なので急所となり。 マルチプロセスの欠点は先の方の、処理中データ同期管理が 一番ですし、OS側プロセスの生成や管理が資源を使うので、 ある程度目減りしたり、負荷変動が起きたりするでしょう。 トランザクションに徹した用途や、 リアルタイム制御で応答を最優先とされる環境には マルチプロセスの利点は、不要ではないのですか。
- Tacosan
- ベストアンサー率23% (3656/15482)
しばしば「利点と欠点は表裏一体」なわけで, それぞれの「利点」をひっくり返してみると「欠点」になることがありますな. もっとも ・何と比較して「マルチプロセスの利点や欠点」を述べる問題なのかが分からん (ある意味言葉遊びではあるが「1つのプロセス内で複数のスレッドを実行する」のは「マルチプロセス」といえるのかどうか微妙) ・それ以前になぜこの質問が「Windows系OS」のカテゴリなのかが不明 (「Windows系OS」に限定する必要はないと思うので) だけど.