マルチタスクとは

マルチタスクは、一つの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のセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

クラウドネイティブ技術とアジャイル手法を駆使し、市場投入スピード(Time-to-Market)を最大化。「進化し続けるアプリケーション」を開発します。初期リリースを最速化し、拡張性と柔軟性を備えた、ビジネスの成長に追従できるアプリケーションを開発します。

DX・AI戦略支援

「何から手を付けるべきか分からない」「AIを導入したいが、費用対効果が見えない」といった経営課題に対し、技術とビジネスの両面から解を導き出します。 絵に描いた餅で終わる戦略ではなく、エンジニアリングの実装能力に基づいた、「実現可能で、勝てる技術戦略」を策定します。


リファクタリング・リアーキテクチャ

「システムが古くて改修できない」「障害が頻発する」といった技術的負債を解消します。既存資産の徹底的な診断に基づき、コードのクリーン化(リファクタリング)や、クラウドへの移行(リアーキテクチャ)を行い、システムの寿命を延ばしコストを最適化します。