「マルチタスク」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
→‎備考: 外国語の句読点を日本語の句読点に変更 「,」→「、」
24行目: 24行目:


== 備考 ==
== 備考 ==
「マルチタスク」「MULTITASK」という言葉は日本において[[日本電気]]株式会社が商標登録している(第4598360号、[[2002年]][[8月23日]]登録)。使用範囲を「[[携帯電話|携帯電話機]]」「コンピュータネットワークの加入に関する情報の提供データ通信に関する情報の提供テレックスによる通信テレビジョン送信機・ラジオ送信機その他の通信機器の貸与テレビジョン文字多重放送テレビジョン放送テレビジョン放送・有線テレビジョン放送・ラジオ放送に関する情報の提供ファクシミリによる通信ラジオ放送移動体電話による通信電気通信に関連する情報の提供電子メール通信電子計算機端末による衛星通信電子計算機端末による通信のための通信回線の提供電報による通信付加価値通信網による通信(バンサービス),付加価値通信網の提供報道をするものに対するニュースの供給無線呼出し有線テレビジョン放送 」(原文のまま)としているので、使用分野によっては注意が必要である。
「マルチタスク」「MULTITASK」という言葉は日本において[[日本電気]]株式会社が商標登録している(第4598360号、[[2002年]][[8月23日]]登録)。使用範囲を「[[携帯電話|携帯電話機]]」「コンピュータネットワークの加入に関する情報の提供データ通信に関する情報の提供テレックスによる通信テレビジョン送信機・ラジオ送信機その他の通信機器の貸与テレビジョン文字多重放送テレビジョン放送テレビジョン放送・有線テレビジョン放送・ラジオ放送に関する情報の提供ファクシミリによる通信ラジオ放送移動体電話による通信電気通信に関連する情報の提供電子メール通信電子計算機端末による衛星通信電子計算機端末による通信のための通信回線の提供電報による通信付加価値通信網による通信(バンサービス)、付加価値通信網の提供報道をするものに対するニュースの供給無線呼出し有線テレビジョン放送 」(原文のまま)としているので、使用分野によっては注意が必要である。


==関連項目==
==関連項目==

2011年4月9日 (土) 05:45時点における版

マルチタスク は、コンピュータにおいて複数のタスクプロセス)を切り替えて実行することができるシステムのことである。マルチプログラミングマルチプロセスともいう。逆に、同時に一つのタスクしか実行できない方式をシングルタスクという。

概要

コンピュータはCPU、メモリ、ディスク、キーボードなどのI/O、ネットワークインターフェースなどから構成される。一般的に、CPUの計算処理時間に比べ、ディスクやネットワークの処理時間は数十から数百倍かかる。シングルタスク環境では、逐次処理が行われるため、入力待ちや通信待ちなど、CPUが計算を実行できずに、待つ時間が発生する。マルチタスクの導入によって、これらの待ち時間の間にCPUを動作させ別の計算を行い、全体の処理時間の短縮を実現することが可能になる。

一方、マルチタスク環境では、並行プログラミングの手法が利用でき、機能をタスクとして分割することで、ソフトウェアの再利用性を上げることができる。

1つのCPUしかないコンピュータでは、ある瞬間には1つの処理しか実行できない。しかし、CPUの処理時間を数十ミリ秒といった短い時間で区切り、タスク間で1つのCPUをタイムシェアリングすることによって、ユーザーから見ると、複数のアプリケーション(タスク・プロセス)が同時に実行されているように見える。

タスクの切り替えのオーバーヘッドや、キャッシュトランスレーション・ルックアサイド・バッファのミスヒット率の上昇などのコストがかかるが、入出力待ちなどであるタスクの実行が止まっても他のタスクが実行されるため、全体としてスループットの上昇が期待できる。

プリエンプティブ・マルチタスク

タスクの切り替えにはハードウェアタイマ割り込みが用いられることが多く、この場合割り込みによって一定時間内(タイムスライス)に強制的にオペレーティングシステム(OS)に制御が移る。OSは一定の方式に従い次のタイムスライスを実行中のタスクプロセススレッド(マルチスレッドOSの場合)に割り当てる。このことをプリエンプション (preemption, 横取り) という。

この方式を特にプリエンプティブ (preemptive) なマルチタスクという。パーソナルコンピュータ用商用OSでは、OS/2Windows NT系OS、Mac OS XLinuxなどがあり、企業向けにはメインフレーム用OSやUnixなどが該当する。一定時間内にOSに制御が戻るため、システム全体の堅牢性が高い。一方、OSがCPU時間を管理する必要があり、また、一定時間毎にタスク切り替え処理が発生するため、処理にはコストがかかるが、現在のCPUの能力向上と共にそのコストは問題にならなくなっており、現在は、メリットの多いこちらの方式が主流である。

タスクを切り替える間隔をクオンタムと呼ぶ。この時間が長ければ長い程、システムの負荷が低い。しかし、一定期間内で同時に処理できる数はクオンタムに反比例する。この為、サーバ向けのOSではクオンタムは短くして応答を良くする様に調整される。

なお、OSによっては入出力割り込みやシステムコールの呼び出しによってプリエンプションを発生させるものもある。マルチタスクを最初に実現したオペレーティングシステムであるMVSは、入出力割り込みを基本としている。

ノンプリエンプティブ・マルチタスク

これとは異なる方法もある。各タスク自身が、短い時間間隔でOSに処理を返す方式によって実現されているものを、ノンプリエンプティブなマルチタスク、協調的マルチタスクあるいは疑似マルチタスクという。例えばイベント待ち行列を参照する際などにタスクが自分でOSに制御を渡す(NetWareの様にシステムコールの都度制御を返す実装もある)。OSがCPU資源を管理する必要がないので処理は少ない。しかし、長時間CPUを占有し続けるタスクが存在すると、実質的にシングルタスクと同じになってしまうという欠点がある(例えば、特定のタスクが無限ループに陥るなどOSに処理をかえせなくなると、他のタスクを道連れにしてシステムがハングする結果になる。古いMac OSWindows 3.xWindows 9x系における16bit Windowsプログラムの動作、などはこの方式である)。

備考

「マルチタスク」「MULTITASK」という言葉は日本において日本電気株式会社が商標登録している(第4598360号、2002年8月23日登録)。使用範囲を「携帯電話機」「コンピュータネットワークの加入に関する情報の提供、データ通信に関する情報の提供、テレックスによる通信、テレビジョン送信機・ラジオ送信機その他の通信機器の貸与、テレビジョン文字多重放送、テレビジョン放送、テレビジョン放送・有線テレビジョン放送・ラジオ放送に関する情報の提供、ファクシミリによる通信、ラジオ放送、移動体電話による通信、電気通信に関連する情報の提供、電子メール通信、電子計算機端末による衛星通信、電子計算機端末による通信のための通信回線の提供、電報による通信、付加価値通信網による通信(バンサービス)、付加価値通信網の提供、報道をするものに対するニュースの供給、無線呼出し、有線テレビジョン放送 」(原文のまま)としているので、使用分野によっては注意が必要である。

関連項目