- ベストアンサー
プログラム?プロセス?
今、ソフトウェア工学を勉強しています。そこで素朴な質問なんですが、 プロセスとプログラムの違いって何なんですか? まだまだ若輩者なのでよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
素人なので厳密さに欠ける点があると思います。注意して読んでください。 cookdoさんのいう「プロセス」は、プログラムの実行単位としてのプロセスだと思います。プログラムとプロセスの違いということなので、多分そうでしょう。 プロセスは、OSが管理するプログラムの実行単位です。一般的に1つのプログラムといった場合、1つもしくは複数のプロセスが対応します。あるプログラムを起動した場合(例えば、WindowsでのEXEファイルを実行した場合)、1つのプロセスが割り当てられます。プロセスにはメモリ等のシステムリソースが割り当てられます。また、同時に複数のプロセスが存在する場合、短時間で実行プロセスを切り替えるため、見かけ上は複数のプロセスが同時に実行されているように見えます。プロセスは別のプロセスを起動する事もあり、呼び出し側を親プロセス、呼び出された側を子プロセスと呼びます。 プロセスはOSのプログラム管理単位ですが、プログラムという言葉には管理単位としての意味合いはないと思います。また、OSが関与しないプログラム(例えばPC起動時のBIOSプログラム等)にはプロセスという概念は存在しません。 なんだかうまくまとまらなかったので、プロセスについて説明してあるページを挙げておきます。
その他の回答 (2)
- ymmasayan
- ベストアンサー率30% (2593/8599)
No.2の方の回答はかなり当たっています。 でも、初心者の方にはわかりにくいでしょう。 例を使って説明しますので、混乱しないで感じをつかんでください。 定員5人の工作スクールがあります。先生は1人です。生徒はみんな 思い思いのものを作ります。作り方の説明書はみんなそれぞれもっています。 いろんな道具も共用でそなえつけてありますが、人数分はありません。 一人が作品を作り終わって帰ると、待っている次の生徒が部屋に入ります。 ここで、プログラムと言うのは「作り方の説明書」です。 プロセス(タスクとも言います)は、1人帰ると次の人が入れること 言い換えれば入室許可のことです。 入室が許可されると、ある広さの場所を確保します。(主記憶の確保)そして説明書や材料、必要に応じて道具をもってきて工作をします。但し、説明書を読むときには必ず先生についていてもらう必要があります。 ここで、先生とはCPUのことです。 もっと言えば、材料や作品がデータということになります。 工具を使うというのは入出力に相当します。 では、コンピュータとは? この教室(学校)全体です。 OSとは? 先生では有りません。受付をしたり、入室許可を出したり、工具の管理をしたり、 教室がうまくいっているかを見回っている人(事務員さんか校長先生)です。 本論に戻って、まず仕事をするためには、プロセスの獲得をします。次に主記憶の確保をして、その中にプログラムを読み込みます。 そしてプログラムの実行をCPUと入出力装置を使って行ないます。 いくつかのプロセスが譲り合いながら、見かけ上、同時並行的に実行されて行きます。 これをマルチプログラミング(マルチタスク)といいます。
お礼
わかりやすい例えで助かりました!!ありがとうございます。
- KIMV
- ベストアンサー率15% (82/544)
>プロセス プログラムの流れ,ロジック(処理手順 言語を問わず)のことです。 >プログラム 実際にコーディングをした物(各言語で)
お礼
納得です。ご回答ありがとうございました。
お礼
わかりやすいご回答ありがとうございます!! これでふっきれました。