マルチタスクとは

マルチタスクは、一つのCPUが複数のタスクを同時に実行しているかのように見せるための、OSの機能のことです。

マルチタスクの概要と目的

マルチタスク(Multitasking)は、現代のオペレーティングシステム(OS)に不可欠な機能です。厳密には、シングルコアCPUでは複数のタスクが同時に実行されるわけではありません

CPUの処理時間を非常に短い単位(タイムスライス)に分割し、それぞれのタスクに交互に割り当てることで、あたかも複数のタスクが並行して動作しているかのように見せかけます。

これにより、ユーザーは音楽を再生しながらウェブブラウザで情報を検索したり、文書を作成したりといった、複数の作業を同時に行うことができます。

主な目的は、CPUの利用効率を最大化し、システムの応答性を向上させることです。ユーザーにとって、これはアプリケーションが「固まる」ことなく、スムーズに動作することを意味します。

マルチタスクの主要な種類

マルチタスクは、その制御方法によって主に2つのタイプに分けられます。

1. プリエンプティブ・マルチタスク(Preemptive Multitasking)

  • 概要: OSがタスクの実行を強制的に中断し、別のタスクにCPUの制御を移す方式です。
  • 特徴: 現在の主流となっている方式です。OSのスケジューラが、各タスクに公平にCPU時間を割り当てるため、特定のタスクがCPUを独占して他のタスクが停止するのを防ぎます。これにより、システム全体の安定性が保たれます。
  • : Windows、macOS、Linuxなどの現代的なOS。

2. ノン・プリエンプティブ・マルチタスク(Non-preemptive Multitasking)

  • 概要: タスク自身が自発的にCPUの制御をOSに返すまで、そのタスクが実行を継続する方式です。協調的マルチタスクとも呼ばれます。
  • 特徴: タスクがCPUを占有し続けると、他のタスクが実行されず、システム全体が停止(ハングアップ)するリスクがあります。
  • : 古いバージョンのWindows(Windows 3.x)などで採用されていました。

マルチタスクと並列処理(Parallel Processing)

マルチタスクは、単一のCPUでの並行処理を実現するための技術ですが、複数のCPUコアやプロセッサを持つシステムでは、並列処理が可能になります。

  • マルチタスク: シングルコアCPU上で、タスクを交互に実行することで、複数のタスクが同時に動いているように見せる。
  • 並列処理: マルチコアCPU上で、複数のタスクを文字通り同時に実行する。

現代の多くのコンピュータはマルチコアプロセッサを搭載しているため、OSはプリエンプティブ・マルチタスクと並列処理の両方を組み合わせて、システムのパフォーマンスを最大限に引き出しています。

関連用語

タスク | 今更聞けないIT用語集
ソフトウェア開発 | 今更聞けないIT用語集
APPSWINGBYシステム開発

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。