擬似マルチタスク (ギジマルチタスク) とは | 意味や読み方など丁寧でわかりやすい用語解説
擬似マルチタスク (ギジマルチタスク) の読み方
日本語表記
ぎじマルチタスク (ギジマルチタスク)
英語表記
pseudo-multitasking (シュードマルチタスキング)
擬似マルチタスク (ギジマルチタスク) の意味や用語解説
擬似マルチタスクとは、単一のCPU(中央処理装置)上で、複数のプログラムやタスクが同時に実行されているかのように見せる技術である。実際には、これらのタスクはごく短い時間ごとに切り替わりながら順番に処理されており、真の意味で同時に動いているわけではないため、「擬似」と称される。しかし、CPUの処理速度が非常に高速であるため、人間には複数のタスクが並行して実行されているように感じられる。例えば、ウェブブラウザでインターネットを閲覧しながら、ワードプロセッサで文章を作成し、同時に音楽を再生するといった操作は、この擬似マルチタスクによって実現されている。 擬似マルチタスクの核心は、オペレーティングシステム(OS)がCPUの実行時間を非常に細かく分割し、複数のタスクに順番に割り当てる点にある。この、タスクに割り当てられるごく短い時間単位を「タイムスライス」または「タイムクオンタム」と呼ぶ。OS内部の「スケジューラ」と呼ばれる機能が、どのタスクに、いつ、どれくらいの長さのタイムスライスを割り当てるかを管理している。 具体的な仕組みとしては、まず、あるタスクがCPUの実行権を得て処理を開始する。割り当てられたタイムスライスが経過すると、OSは現在実行中のタスクを一時的に中断し、その時点での状態(レジスタの値やプログラムカウンタなど)を保存する。次に、OSは次に実行すべきタスクを選択し、そのタスクが以前中断された時の状態を復元して、実行を再開させる。この、実行中のタスクを切り替える一連の処理は「コンテキストスイッチ」と呼ばれる。このコンテキストスイッチは非常に高速に行われるため、ユーザーはタスクが途切れることなく、あたかも並行して動作しているかのように錯覚する。 例えば、ユーザーがウェブブラウザとワードプロセッサの二つのアプリケーションを同時に使用している場合を考える。OSは、まずウェブブラウザに数ミリ秒程度のタイムスライスを割り当て、その間ウェブブラウザの処理を実行させる。タイムスライスが終了すると、OSはウェブブラウザの処理を中断し、ワードプロセッサにタイムスライスを割り当てて処理を実行させる。再びタイムスライスが終了すると、今度はウェブブラウザの処理を再開するといった具合に、非常に短い間隔で二つのアプリケーションの実行を切り替え続ける。 この擬似マルチタスクには、いくつかの重要な利点がある。第一に、ユーザー体験の向上である。複数のアプリケーションを同時に利用できるため、作業効率が大幅に向上する。あるアプリケーションが計算処理を行っている最中でも、他のアプリケーションが応答しなくなることがなく、システム全体がフリーズしたように見えない。第二に、CPUリソースの有効活用である。あるタスクが外部のデータ(ハードディスクやネットワークなど)の読み書き待ちでCPUを必要としない時間が発生した場合、その間CPUを遊ばせることなく、他のタスクに割り当てて処理を進めることができる。これにより、システム全体の処理能力を最大限に引き出すことが可能になる。また、複数のユーザーが同時に一つのコンピュータシステムを利用するような、サーバー環境などでも不可欠な技術である。 しかし、擬似マルチタスクは真の同時並行処理ではないため、限界も存在する。CPUを大量に消費するタスクが複数存在する場合、それぞれのタスクに割り当てられる時間が少なくなるため、個々のタスクの処理速度は低下し、結果として全体の処理にかかる時間は長くなる。また、コンテキストスイッチ自体にもわずかながらオーバーヘッド(処理負荷)が発生するため、あまりにも頻繁に切り替えを行うと、そのオーバーヘッドが無視できないレベルになり、かえって処理速度が低下する可能性もある。 マルチコアCPUが普及した現代では、複数のCPUコアが文字通り同時に異なるタスクを実行する「並列処理」が可能になっている。しかし、たとえマルチコア環境であっても、各CPUコア上では依然として擬似マルチタスクの概念が重要である。例えば、一つのCPUコア上で複数のタスクを実行する場合や、利用可能なCPUコアの数よりも多くのタスクが存在する場合などには、擬似マルチタスクの手法が用いられる。このように、擬似マルチタスクは現代のほとんどすべてのOSにおいて、コンピューティングリソースを効率的に管理し、ユーザーに快適な操作環境を提供するための基盤となる技術である。