1. はじめに
コンピュータが同時に複数の処理を行っているように見える「マルチタスク」。
スマートフォンやパソコンを使っていると、音楽を聴きながらブラウジングをしたり、動画を見ながらメッセージを送ることができます。
これはコンピュータが「マルチタスク」を実行しているためです。
ITパスポート試験でも、マルチタスクの概念や関連する技術が問われることがあります。
この記事では、マルチタスクとは何か、どのように動作するのか、関連技術を含めて詳しく解説します!
2. マルチタスクとは?
2.1. マルチタスクの定義
マルチタスク(Multitasking) とは、コンピュータが複数の処理を同時に実行する仕組みのことです。
ただし、実際にはCPUが高速に切り替えながら処理しているため、ユーザーには複数の作業が同時に行われているように見えます。
2.2. シングルタスクとの違い
かつてのコンピュータはシングルタスクといって、一度に1つの処理しか実行できませんでした。
しかし、現在ではほとんどのOSがマルチタスクに対応しており、複数のアプリを同時に使用することが可能になっています。
項目 | シングルタスク | マルチタスク |
---|---|---|
処理できるタスク数 | 1つ | 複数 |
利便性 | 低い | 高い |
使用例 | 古いOS(MS-DOSなど) | 現在のWindows・Mac・Linux・スマホOS |
3. マルチタスクの仕組み
3.1. プリエンプティブマルチタスク
プリエンプティブマルチタスク(Preemptive Multitasking) とは、OSがCPUの使用時間を各プロセスに均等に割り当てる方式です。
- 各プロセスは一定時間(タイムスライス)ごとにCPUを使用し、時間が来ると別のプロセスに切り替わる。
- WindowsやmacOS、Linuxなどの現代のOSで採用されている。
特徴
✅ CPUの時間を公平に分配するため、システムの応答性が良い。
✅ 一つのプログラムが暴走しても、OSが制御して他のプロセスに影響を与えにくい。
3.2. 協調的マルチタスク
協調的マルチタスク(Cooperative Multitasking) とは、各プロセスが自分でCPUの制御を他のプロセスに渡す方式です。
- Windows 3.1や古いMac OSで使用されていた。
- プログラムがCPUの制御をOSに返さないと、他の処理が実行されなくなる。
特徴
✅ 処理の切り替えがスムーズ。
❌ 一つのプログラムが暴走すると、システム全体が停止する可能性がある。
4. マルチタスクに関連する技術
4.1. マルチスレッド
スレッド(Thread) とは、プログラム内の独立した処理の流れのことです。
マルチスレッド(Multithreading) とは、1つのプログラム内で複数の処理を並行して実行する技術です。
✅ 例:Webブラウザ
- メインスレッド → 画面表示
- 別のスレッド → ダウンロード処理
- 別のスレッド → ユーザーの操作受付
マルチスレッドを活用することで、アプリの動作がスムーズになります。
4.2. マルチプロセス
マルチプロセス(Multiprocessing) とは、複数のプロセス(アプリケーション)を同時に実行する技術です。
✅ 例:Windowsで複数のアプリを起動
- Wordで文書を作成しながら、ブラウザで調べ物をする。
4.3. マルチコアCPU
現代のコンピュータにはマルチコアCPUが搭載されており、物理的に複数の処理を同時に実行できるようになっています。
✅ 例:デュアルコア、クアッドコア(4コア)、オクタコア(8コア)
✅ マルチコアのメリット
- CPUの処理能力が向上し、本当の意味での並列処理が可能になる。
- 動画編集やゲームなど、高負荷なアプリが快適に動作する。
5. ITパスポート試験対策ポイント
ITパスポート試験では、以下のポイントを押さえておきましょう。
✅ マルチタスクは、複数の処理を同時に行う技術
✅ プリエンプティブマルチタスクは、OSがCPUの使用時間を管理する方式
✅ 協調的マルチタスクは、各プロセスがCPUの制御を渡す方式(現在はほぼ使われていない)
✅ マルチスレッドは、1つのアプリ内で複数の処理を並行実行する技術
✅ マルチプロセスは、複数のアプリを同時に動かす技術
✅ マルチコアCPUは、物理的に複数のコアを持ち、並列処理を可能にする
6. まとめ
- マルチタスクとは、コンピュータが複数の処理を同時に実行する技術。
- プリエンプティブマルチタスクと協調的マルチタスクの違いを理解する。
- マルチスレッドやマルチプロセス、マルチコアCPUなどの関連技術も試験で問われる。
ITパスポート試験対策として、マルチタスクの仕組みをしっかり理解しておきましょう!