タスク、スレッド、プロセスの違い

[戻る]
ミミック 2002/01/22(火) 14:03:27
はじめまして、ミミックです。

さっそくですが、用語の質問です。
タスク、スレッド、プロセスとはどのように
違うのでしょう。
マルチスレッドとか、マルチタスクとかいいますよね。
これらは同じ?
プロセスとは、実行ファイル単位ってことですか?

まうす [E-Mail] 2002/01/22(火) 19:04:39
 マルチタスク:1台のコンピューターが、同時に複数の仕事をすること。あるいは、そ
のような機能のこと。
 最近のパソコンは複数の作業を同時にできるようになっていて、このような機能をマ
ルチタスクと呼んでいます。マルチは「複数の」という意味で、タスクは「仕事」とい
う意味。

 プロセス:ソフトウェアの開発工程のこと。また、プロセスをある種のモデルとして
抽象化したものを「プロセスモデル」といい、ウォーターフォールモデルやプロトタイ
プモデルなどが代表的。

 解決できたでしょうか?また何かあったら書き込んでください。メールでもいいです
し…。

ららら 2002/01/22(火) 23:55:27
こんにちは、ミミックさん。

私の認識では、
プロセスは、実行単位ですね。この中に
複数のスレッドを持つことができます。

そして、タスクはOSがCPUを割り当てられる単位ですね。
また
シングルタスクOS(MS-DOS等)では タスク=プロセス
マルチタスクOS(Windows等)では タスク=スレッド
となり、OSによってタスクはプロセスにもスレッドともいうことができます。

でも、広い意味ではマウスさんのいう意味にもとれますね〜。

ミミック 2002/01/23(水) 10:34:53
まうすさん、らららさん、ご回答ありがうございます。

なにか胸のつかえがとれました。
あれ?でもWindowsのタスクマネージャは本来は
プロセスマネージャ?の方が正しいことになりますかね。

ジャン [E-Mail] [HomePage] 2002/02/02(土) 21:05:49
Furu1さんのところからやってきました。

>タスク、スレッド、プロセスとはどのように
>違うのでしょう。

 タスク=プロセス
 タスクを細分割して,スレッドです。

>マルチスレッドとか、マルチタスクとかいいますよね。
>これらは同じ?

 CPUでの切り替え単位が,タスクであれば,マルチタスク,スレッドで
あれば,マルチスレッドです。マルチスレッドであれば,マルチタスクでも
もあります。

>プロセス:ソフトウェアの開発工程のこと。また、プロセスをある種のモデルとして
>抽象化したものを「プロセスモデル」といい、ウォーターフォールモデルやプロトタイ
>プモデルなどが代表的。

 このプロセスとCPUの実行単位のプロセスとは関係がありません。

>シングルタスクOS(MS-DOS等)では タスク=プロセス
>マルチタスクOS(Windows等)では タスク=スレッド

 間違いです。マルチタスクOSには,正確にいうと,マルチタスクOSとマルチスレッドOS
があります。この場合も,タスク=プロセスです。

ららら 2002/02/02(土) 21:27:37
らららです。
ジャンさん。こんにちは。
ジャンさんのhomepage拝見したことあります〜。

> 間違いです。マルチタスクOSには,正確にいうと,マルチタスクOSとマルチスレッド
>OSがあります。この場合も,タスク=プロセスです。
ところで、上記ですがアスキーデジタル用語辞典には
「Windowsなどのように実行単位がスレッドである場合はタスク=スレッドともいえる」
http://yougo.ascii24.com/gh/23/002320.html
とあります。
また、私が以前、書籍で勉強したときにもそのように書いてあったと
記憶しております。
なので、間違いではないと認識しています。

ただ、このタスクという用語は誤解をまねきやすい用語で
狭義の意味では、マルチタスクOSにおいて、タスク=スレッド。
広義の意味では、タスク=プロセスと言っても間違いではないと思います。
どうでしょうか?

ジャン [E-Mail] [HomePage] 2002/02/03(日) 21:05:15
らららさん

>ジャンさんのhomepage拝見したことあります〜。

 ありがとうございます。

>「Windowsなどのように実行単位がスレッドである場合はタスク=スレッドともいえる」
>http://yougo.ascii24.com/gh/23/002320.html

 これは,タスクをCPUの切り替え単位としてとらえているからでしょう。
 これだと,マルチタスクとマルチスレッドの用語の区別がつきませんので,
よくないと思いますが。

> タスク=プロセス
> タスクを細分割して,スレッドです。

 の認識の方がいいと思います。

ららら 2002/02/04(月) 12:43:59
>これは,タスクをCPUの切り替え単位としてとらえているからでしょう。
> これだと,マルチタスクとマルチスレッドの用語の区別がつきませんので,
>よくないと思いますが。
CPUの切り替えをタスクとするならば、
Windowsなら、タスク = スレッドと言って良いと思います。

また、このような記述をしている書籍、HPも多いと思います。

しかし、
ジャンさんのように、タスク = プロセスと記述しているところも
もちろんあります。

よって、どちらが正しいとか決められる用語ではないと認識しています。

しかし、個人的な意見はタスクという用語自体を使用しないです。
何か説明するときは、プロセスとスレッドだけしか使いません。
タスクは必ずしも一つのものを指さないからです。
私は、SE/プログラマー(Windows系)ですが、タスクという言葉を
若い人が使うことはあまりないです。
しかし、DOS時代からの人は、その頃、プロセスといったら、タスクのことしか
指さないので、よく使用している傾向があるような気がします。

とりとめのない話になってしまいすいません。

ジャン [E-Mail] [HomePage] 2002/02/05(火) 04:47:36
こんにちは

>Windowsなら、タスク = スレッドと言って良いと思います。

アスキーの用語事典ではそのようで,それは,上で確認した通りですが,

>シングルタスクOS(MS-DOS等)では タスク=プロセス
>マルチタスクOS(Windows等)では タスク=スレッド

は,間違いですよ。

とおりすがり 2002/02/05(火) 08:43:22
ん?

>>シングルタスクOS(MS-DOS等)では タスク=プロセス
>>マルチタスクOS(Windows等)では タスク=スレッド

>は,間違いですよ。
あってませんか?

Windowsは、スレッドで切り替わりますよ。その切り替え単位を
タスクです。

あ、でもマルチスレッドでないマルチタスクOSがあったら
タスク = プロセスですね。

悪夢を統べるもの 2002/03/13(水) 19:19:20
とりあえず並列/平行処理に話を限定して考えます.

「タスク:ある仕事のまとまりの範囲.あまり専門的で無い単語.

スレッド/プロセス:(並列)実行の単位.

マルチタスクをサポートしているOSの多くでマルチスレッド,
マルチプロセスの両方が可能だと思います.スレッドとプロセスの
違いはCPUやメモリ空間等のリソースを共有するか否か.プロセス
の方が共有しない分プログラムの安全性は高いが,処理が重くなる.

複数プロセスが動き,各プロセス中でさらにマルチスレッドだったり
するので,タスクとプロセス/スレッドの対応は一概には言えない.」

で,だいたい良いはずです.逐次の場合でも用語自体は同じでしょうが,
あまり意識されないでしょう.

数学博士 [E-Mail] 2002/04/17(水) 13:16:09
スレッドのもうひとつの意味があります。
CPU1命令を分割した1単位もそういう言葉を使います。

古いスレッドには追加発言できません。