タスク、スレッド、プロセスの違い – 情報処理技術者試験 – Home

タスク、スレッド、プロセスの違い
 
通知
すべてクリア

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


ミミック
 ミミック
(@ミミック)
ゲスト
結合: 22年前
投稿: 2
Topic starter  

はじめまして、ミミックです。

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


引用解決済
トピックタグ
まうす
 まうす
(@まうす)
ゲスト
結合: 22年前
投稿: 1
 

 マルチタスク:1台のコンピューターが、同時に複数の仕事をすること。あるいは、そ
のような機能のこと。
 最近のパソコンは複数の作業を同時にできるようになっていて、このような機能をマ
ルチタスクと呼んでいます。マルチは「複数の」という意味で、タスクは「仕事」とい
う意味。

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

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


返信引用
ららら
(@admin-rarara)
メンバー Admin
結合: 5年前
投稿: 118
 

こんにちは、ミミックさん。

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

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

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


返信引用
ミミック
 ミミック
(@ミミック)
ゲスト
結合: 22年前
投稿: 2
Topic starter  

まうすさん、らららさん、ご回答ありがうございます。

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


返信引用
ジャン
 ジャン
(@ジャン)
ゲスト
結合: 22年前
投稿: 3
 

Furu1さんのところからやってきました。

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

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

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

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

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

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

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

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


返信引用
ららら
(@admin-rarara)
メンバー Admin
結合: 5年前
投稿: 118
 

らららです。
ジャンさん。こんにちは。
ジャンさんのhomepage拝見したことあります~。

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

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


返信引用
ジャン
 ジャン
(@ジャン)
ゲスト
結合: 22年前
投稿: 3
 

らららさん

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

 ありがとうございます。

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

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

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

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


返信引用
ららら
(@admin-rarara)
メンバー Admin
結合: 5年前
投稿: 118
 

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

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

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

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

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

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


返信引用
ジャン
 ジャン
(@ジャン)
ゲスト
結合: 22年前
投稿: 3
 

こんにちは

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

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

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

は,間違いですよ。


返信引用
とおりすがり
 とおりすがり
(@とおりすがり)
ゲスト
結合: 22年前
投稿: 180
 

ん?

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

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

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

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


返信引用
悪夢を統べるもの
 悪夢を統べるもの
(@悪夢を統べるもの)
ゲスト
結合: 22年前
投稿: 7
 

とりあえず並列/平行処理に話を限定して考えます.

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

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

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

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

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


返信引用
数学博士
 数学博士
(@数学博士)
ゲスト
結合: 22年前
投稿: 5
 

スレッドのもうひとつの意味があります。
CPU1命令を分割した1単位もそういう言葉を使います。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました