音楽を聴きながら書類を作成し、裏でウイルススキャンも動かす——パソコンやスマホがこれだけたくさんの作業を同時にこなせるのを見ると、「一体どうなっているんだろう」と思ったことはありませんか。実は、コンピュータの頭脳であるCPUは、「同時に1つのことしかできない」というのが本当の姿です。
それなのに、なぜ複数のアプリが同時に動いているように見えるのか——この記事では、OSが行っている「プロセス」「スレッド」の管理から、身近な例えで理解する「高速な切り替え」の仕組みまで、専門的な内容もやさしく整理しながら解説します。
- CPUは、実は「同時に1つのことしかできない」ということ
- OSが仕事を管理する単位である「プロセス」と「スレッド」の違い
- 身近な例えで理解する「高速な切り替え」=スケジューリングの仕組み
- パソコンが重くなったり、「応答なし」になったりする技術的な理由
- 「並行処理」と「並列処理」の違い、マルチコアCPUが「本当に同時に」処理できる理由
<この記事もおすすめ!>


そもそもCPUは「同時に1つのこと」しかできない

なぜ複数の作業を同時にこなしているように見えるのか
音楽を聴きながら文書を作成し、裏でウイルススキャンが動く——多くの人は、パソコンが本当に複数のことを同時にこなしていると思っています。しかし実際には、コンピュータの頭脳である1つのCPU(正確には1つのコア)は、ある瞬間には「たった1つの処理」しかできません。
これは、人間が「右手で丸を描きながら左手で三角を描く」ことができないのと似ています。それなのに、なぜ私たちの目には、複数のアプリが同時に動いているように見えるのでしょうか。その秘密は、OSが仕事を管理する仕組みと、後述する「高速な切り替え」にあります。
OSが行っている「プロセス」と「スレッド」という仕事の管理単位
プロセス:アプリ1つひとつに割り当てられる「作業スペース」
OSは、起動しているアプリを1つずつ「プロセス」という単位で管理しています。プロセスとは、あるアプリが動くために必要なメモリ領域や実行中のプログラムそのものをひとまとめにした「作業スペース」のようなものです。ブラウザを開けば1つのプロセス、音楽プレイヤーを開けばもう1つのプロセスが生まれ、OSはこれらを個別に管理しています。
会社に例えるなら、プロセスは「部署」のようなもので、それぞれが独立した持ち場と資源(デスクや資料)を持っていると考えるとイメージしやすいでしょう。
スレッド:1つのプロセスの中でさらに分業する仕組み
さらに、1つのプロセスの中で仕事を細かく分けて並行して進めるための単位が「スレッド」です。例えば、ある文書作成アプリが「文字を表示する」「自動保存する」「スペルチェックをする」という複数の作業を同時に進めているように見えるのは、1つのプロセス(部署)の中に複数のスレッド(担当者)がいて、それぞれが別々の作業を受け持っているためです。
プロセスが「部署」なら、スレッドは「その部署に所属する担当者」というイメージです。1つの部署に担当者が1人しかいなければ仕事は一つずつしか進みませんが、担当者が複数いれば、部署内でも仕事の進め方に幅が出てきます。
身近な例えで理解する「高速な切り替え」=スケジューリング

忙しい定食屋の店員に例えると
想像してみてください。ランチタイムの定食屋に、店員が1人しかいません。お客さんは5組います。この店員は、1組のお客さんに1時間つきっきりになる、なんてことはしません。Aさんに水を出したら、すぐにBさんの注文を取りに行き、Cさんに料理を運んだら、またAさんの様子を見に戻る——というように、非常に短い時間で、次々とお客さんの間を移動しながら対応していきます。
お客さん側から見ると、「この店員さん、全員のことをちゃんと見てくれているな」と感じるはずです。でも実際には、店員は「一度に1組」にしか対応していません。ただ、その切り替えがあまりに速いので、まるで全員に同時に対応しているかのように感じられるのです。
数ミリ秒で仕事を切り替える「コンテキストスイッチ」という神業
コンピュータの中でも、これと全く同じことが起きています。OSの中には「スケジューラ」と呼ばれる仕組みがあり、CPUという「たった1人の店員」の処理時間を「タイムスライス」と呼ばれる、数ミリ秒(1000分の1秒)という人間には感知できないほど短い単位に区切り、音楽再生、文書作成、ウイルススキャンといった複数のプロセス(またはスレッド)に、順番に割り当てています。
このとき、1つの仕事から別の仕事に切り替える瞬間には、「今どこまで処理が進んでいたか」という情報(レジスタの値やメモリの状態など)を一時的に保存し、次の仕事の情報を読み込む、という作業が発生します。これを「コンテキストスイッチ」と呼びます。
1つの仕事に取り組んだと思ったら、あっという間にコンテキストスイッチを行って次の仕事に切り替える——これを猛烈なスピードで繰り返すことで、まるで全部の仕事を同時にこなしているかのように見せかけているのです。この仕組み全体を「マルチタスク」と呼びます。人間の目には全く違いが分からないほど高速なので、まさに「神業」と言えるでしょう。
\未経験転職はこちらをクリック↓/

なぜアプリが重くなったり、「応答なし」になったりするのか

仕事(プロセス)が増えすぎたとき
先ほどの定食屋の例えで考えてみましょう。もし、5組のお客さんに加えて、突然50組のお客さんが押し寄せてきたら、どうなるでしょうか。店員は相変わらず高速に動き回りますが、1人あたりに割ける時間はどんどん短くなり、対応が遅れているように感じられるはずです。
これが、パソコンで一度にたくさんのアプリを開きすぎると「動作が重い」と感じる理由です。CPUという店員の数は変わらないのに、スケジューラが順番待ちをさせるべきプロセス・スレッドだけが増えているのです。
1つの仕事が異常に手間取っているとき
また、「応答なし」という状態は、店員がある1組のお客さんの、非常に手間のかかる特別な注文(例えば、複雑な特別料理の仕込み)にかかりきりになってしまい、他のお客さんのところに戻ってくる余裕がなくなっている状態に近いといえます。
技術的に見ると、あるプロセスが想定以上に時間のかかる計算をしていたり、ハードディスクやネットワークからのデータの到着を待ち続けていたり(これを「I/O待ち」と呼びます)、あるいは何らかの不具合で処理がループから抜け出せなくなっていたりすると、そのプロセスがCPUの処理時間を長時間にわたって占有、あるいは待ち続けてしまい、次の仕事への切り替えが滞ります。
その結果、画面が固まったように見えてしまうのです。
最近のパソコンが「本当に同時に」処理できる理由
マルチコアCPUという「店員を増やす」解決策
ここまでは、店員が1人だけの定食屋を例に説明してきました。しかし最近のパソコンのCPUには、「マルチコア」と呼ばれるものが多くなっています。これは、定食屋にたとえるなら、店員を2人、4人、8人と増やしていくようなものです。
店員が複数人いれば、それぞれが別々のお客さんに、本当に同時に対応できるようになります。つまり、マルチコアCPUを搭載したパソコンでは、ある程度は「本当に同時に」複数の処理を進めることができるのです。
「並行処理」と「並列処理」の違い
ここで、少し専門的な整理をしておきましょう。1つのコアが高速に切り替えながら複数の仕事をこなす、これまで説明してきた仕組みは「並行処理(コンカレンシー)」と呼ばれます。一方、複数のコアがそれぞれ別の仕事を文字通り同時に進めることは「並列処理(パラレル処理)」と呼ばれます。
定食屋の例えで言えば、並行処理は「1人の店員が高速に立ち回ることで、あたかも複数人が対応しているように見せる」状態、並列処理は「実際に複数人の店員が、それぞれ別のお客さんに対応している」状態です。
とはいえ、店員の数(コア数)よりもお客さん(同時に処理したい仕事)の数の方がずっと多いのが実情です。そのため、実際のパソコンでは、複数のコアで並列処理を行いながら、それぞれのコアの中では、これまで説明してきた「高速な切り替え」による並行処理も組み合わせて動いています。
プロセスやスレッドをどのコアにどう割り振るかという詳しいスケジューリングの話は、専門的になるためこの記事では扱いませんが、興味があれば発展的な内容として調べてみると、さらに理解が深まるはずです。
まとめ:私たちが感じている「同時」は、超高速な「順番」でできている
パソコンやスマホが複数のアプリを同時に動かせるように見えるのは、OSがアプリを「プロセス」「スレッド」という単位で管理し、限られたCPUの処理時間を、スケジューラが数ミリ秒単位で複数の仕事にやりくりしているからです。
忙しい定食屋の店員が、1人でも多くのお客さんに満足してもらえるよう高速に立ち回るように、コンピュータの中でも、コンテキストスイッチを繰り返しながら仕事を切り替えています。最近のマルチコアCPUでは、この「高速な切り替え(並行処理)」と「複数の店員による同時対応(並列処理)」が組み合わさって動いています。この仕組みを知っておくと、パソコンが重くなったときや、アプリが「応答なし」になったときにも、「今、店員さんが大忙しなんだな」と、コンピュータの中で起きていることを想像しやすくなるはずです。
OS・ファイルシステム・バックアップといった基礎知識については、
>>「OSは何をしているの?仕組みをわかりやすく解説、ファイル・バックアップ・表計算の基礎」で解説しています。
また、ソフトウェアの選び方やライセンス、UI/UXの基本については、
>>こちらの記事「OSSはなぜ無料?ソフトウェアの選び方・ライセンス・UI/UXの基本を解説」もあわせてご覧ください。





