プロセス管理・スケジューリングとは?スケジューリングと、優先度

公開: 更新: カテゴリ: テクノロジ系

30秒で結論

プロセス管理とは(全体像)

プロセス管理とは、OSが、動いているプログラム(プロセス)の実行を管理する機能のことだ。プロセスとは、「実行中のプログラム1つ」のことだと思えばよい。

ここでカギになるのが、マルチタスク。これは、CPUの時間を細かく分けて(時分割)、複数のプログラムを少しずつ交代で動かし、同時に動いているように見せるしくみだ。

シェフでたとえると分かりやすい。1人のシェフ(CPU 1個)でも、複数の料理を少しずつ交代で作れば、同時進行に見える。これがマルチタスクのイメージだ。

ここで一番のポイント。マルチタスクと、マルチコア(CPUを複数のせること)は別ものだ。「マルチタスクには、必ずマルチコアが必要」と思い込むと誤りで、シングルコア(CPU 1個)でも、時分割でマルチタスクはできる


詳しく:スケジューリングと、優先度

ここが心臓部。ポイントを表で押さえよう。

プロセス管理のポイント

項目やさしい意味
プロセス実行中のプログラム1つ
マルチタスク時分割で、複数を同時に動いているように見せる
スケジューリングどのプロセスを、いつ実行するか順番を決める
方式の例ラウンドロビン(順番に均等)・優先度(重要度順)

複数のプロセスを動かすとき、どれを、いつ実行するかの順番を決めることを、スケジューリングという。代表的な方式に、ラウンドロビン(順番に均等に割り当てる)や、優先度(重要度の高いものを先に)などがある。

ここで注意。優先度は、固定とは限らない。状況に応じて、動的に(その場で)調整されることもある。「優先度は、いつも固定で変わらない」と思い込むと誤りになる。

わかりやすく言い換えると

身近なたとえで整理しよう。

マルチタスクは、「1人のシェフが、複数の料理を少しずつ交代で作って、同時進行に見せること」のイメージ。

「シングルコアでもできる」というのは、CPUが1個でも、時間を細かく分けて切り替えれば、複数を同時に動かせること。要するに、マルチコアがなくても、マルチタスクは可能だ。

スケジューリングは、「どのプロセスを、いつ実行するか、順番を決めること」。つまり、限られたCPUの時間を、どう配分するかを決める。


試験のツボ

🔴 一番出る:マルチタスク

①CPUの時間を細かく分けて(時分割)、複数を同時に見せる

②プロセス=実行中のプログラム1つ

🔴 次に出る:マルチタスクとマルチコアは別

①シングルコア(CPU 1個)でも、時分割でマルチタスクできる

②マルチタスク(時分割)とマルチコア(CPU複数)は別の話

🟡 押さえると安定:スケジューリング

①どのプロセスを、いつ実行するか順番を決める

②方式の例:ラウンドロビン・優先度(優先度は動的調整あり)


よくある間違い

「マルチタスクには、必ずマルチコア(CPU複数)が必要だ」→ ✗  シングルコア(CPU 1個)でも、時分割でマルチタスクはできる。

「プロセスの優先度は、いつも固定で変わらない」→ ✗  優先度は、状況に応じて動的に調整されることもある。

「プロセス管理とは、紙の書類を整理する事務作業のことだ」→ ✗  プロセス管理は、OSが動いているプログラム(プロセス)を管理する機能。


試験での出題パターン

実際の問題でたしかめてみよう。

オリジナル問題1(プロセス管理の正体)

📝 オリジナル問題 1 プロセス管理の正体

プロセス管理に関する次の記述のうち、最も適切なものはどれか。

  1. 社員の出退勤を記録して、毎月の給与を計算するためのしくみだ
  2. 取引先へ毎月の請求書を郵送する、決まった事務作業のことを指す
  3. OSが、動いているプログラム(プロセス)を管理する機能である
  4. 完成したシステムを宣伝して、より多く売るための広告活動である
セクハム
セクハム 解答・解説

解答は 3 だよ!

プロセス管理は、OSが、動いているプログラム(プロセス)を管理する機能なんだよ!プロセスは、実行中のプログラム1つのことだね!

選択肢1は給与計算、選択肢2は請求書の事務、選択肢4は広告で、どれも違うよ!

選択肢判定理由
1給与計算のしくみではない
2請求書の事務の話
3OSがプロセスを管理する機能で正しい
4広告活動ではない

オリジナル問題2(マルチタスク)

📝 オリジナル問題 2 マルチタスク

マルチタスクに関する次の記述のうち、最も適切なものはどれか。

  1. 社員の給与を計算するときだけ、使われるものだとされている
  2. 取引先へ請求書を郵送するときだけ、使われるものだとされる
  3. 一度に1つのプログラムしか動かせないしくみだとされているのだ
  4. 時分割で、複数のプログラムを同時に動いているように見せる
セクハム
セクハム 解答・解説

解答は 4 だよ!

マルチタスクは、時分割で、複数のプログラムを同時に動いているように見せるんだよ!1人のシェフが複数の料理を交代で作るイメージだね!

選択肢1の給与、選択肢2の請求書、選択肢3の「一度に1つだけ」は、いずれも違うよ!

選択肢判定理由
1給与計算のときだけではない
2請求書のときだけではない
3複数を同時に動いているように見せる
4時分割で複数を同時に見せるで正しい

オリジナル問題3(マルチタスクとマルチコア)

📝 オリジナル問題 3 マルチタスクとマルチコア

マルチタスクとマルチコアの関係に関する次の記述のうち、最も適切なものはどれか。

  1. シングルコア(CPU 1個)でも、時分割でマルチタスクできる
  2. 社員の給与を計算するときだけ、関係するとされているものである
  3. 取引先への請求書の枚数しだいで、決まるとされているものである
  4. マルチタスクには、必ずマルチコアが必要だとされているのである
セクハム
セクハム 解答・解説

解答は 1 だよ!

シングルコア(CPU 1個)でも、時分割でマルチタスクはできるんだよ!マルチタスク(時分割)とマルチコア(CPU複数)は別の話なんだね!

選択肢2の給与、選択肢3の請求書、選択肢4の「必ずマルチコアが必要」は、いずれも違うよ!

選択肢判定理由
1シングルコアでも時分割で可能で正しい
2給与計算で関係するのではない
3請求書の枚数で決まるのではない
4マルチコアは必須ではない

まとめ

押さえどころ

次に学ぶ


執筆: SikakuQuest編集部

勉強は、クエストになった。

資格の勉強を、冒険に変えるRPG学習アプリ

App Storeで見る