• ベストアンサー

プログラム?プロセス?

今、ソフトウェア工学を勉強しています。そこで素朴な質問なんですが、 プロセスとプログラムの違いって何なんですか? まだまだ若輩者なのでよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • gimmick
  • ベストアンサー率49% (134/270)
回答No.2

素人なので厳密さに欠ける点があると思います。注意して読んでください。 cookdoさんのいう「プロセス」は、プログラムの実行単位としてのプロセスだと思います。プログラムとプロセスの違いということなので、多分そうでしょう。 プロセスは、OSが管理するプログラムの実行単位です。一般的に1つのプログラムといった場合、1つもしくは複数のプロセスが対応します。あるプログラムを起動した場合(例えば、WindowsでのEXEファイルを実行した場合)、1つのプロセスが割り当てられます。プロセスにはメモリ等のシステムリソースが割り当てられます。また、同時に複数のプロセスが存在する場合、短時間で実行プロセスを切り替えるため、見かけ上は複数のプロセスが同時に実行されているように見えます。プロセスは別のプロセスを起動する事もあり、呼び出し側を親プロセス、呼び出された側を子プロセスと呼びます。 プロセスはOSのプログラム管理単位ですが、プログラムという言葉には管理単位としての意味合いはないと思います。また、OSが関与しないプログラム(例えばPC起動時のBIOSプログラム等)にはプロセスという概念は存在しません。 なんだかうまくまとまらなかったので、プロセスについて説明してあるページを挙げておきます。

参考URL:
http://www.atmarkit.co.jp/icd/root/78/5787378.html
cookdo
質問者

お礼

わかりやすいご回答ありがとうございます!! これでふっきれました。

その他の回答 (2)

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.3

No.2の方の回答はかなり当たっています。 でも、初心者の方にはわかりにくいでしょう。 例を使って説明しますので、混乱しないで感じをつかんでください。 定員5人の工作スクールがあります。先生は1人です。生徒はみんな 思い思いのものを作ります。作り方の説明書はみんなそれぞれもっています。 いろんな道具も共用でそなえつけてありますが、人数分はありません。 一人が作品を作り終わって帰ると、待っている次の生徒が部屋に入ります。 ここで、プログラムと言うのは「作り方の説明書」です。 プロセス(タスクとも言います)は、1人帰ると次の人が入れること 言い換えれば入室許可のことです。 入室が許可されると、ある広さの場所を確保します。(主記憶の確保)そして説明書や材料、必要に応じて道具をもってきて工作をします。但し、説明書を読むときには必ず先生についていてもらう必要があります。 ここで、先生とはCPUのことです。 もっと言えば、材料や作品がデータということになります。 工具を使うというのは入出力に相当します。 では、コンピュータとは? この教室(学校)全体です。 OSとは? 先生では有りません。受付をしたり、入室許可を出したり、工具の管理をしたり、 教室がうまくいっているかを見回っている人(事務員さんか校長先生)です。 本論に戻って、まず仕事をするためには、プロセスの獲得をします。次に主記憶の確保をして、その中にプログラムを読み込みます。 そしてプログラムの実行をCPUと入出力装置を使って行ないます。 いくつかのプロセスが譲り合いながら、見かけ上、同時並行的に実行されて行きます。 これをマルチプログラミング(マルチタスク)といいます。

cookdo
質問者

お礼

わかりやすい例えで助かりました!!ありがとうございます。

  • KIMV
  • ベストアンサー率15% (82/544)
回答No.1

>プロセス プログラムの流れ,ロジック(処理手順 言語を問わず)のことです。 >プログラム 実際にコーディングをした物(各言語で)

cookdo
質問者

お礼

納得です。ご回答ありがとうございました。

関連するQ&A