OS(オペレーティングシステム)
まず結論
OSはハードウェアとアプリケーションの橋渡し役です。プロセス管理・メモリ管理・ファイル管理・入出力管理の4大機能を提供し、ユーザーが意識せずにコンピュータを使えるようにします。
OSの4大機能
アプリケーション(Word, Chrome, ゲーム…)
↕
OS(オペレーティングシステム)
🔄 プロセス管理
🧠 メモリ管理
📁 ファイル管理
⌨️ 入出力管理
↕
ハードウェア(CPU・RAM・HDD・キーボード…)
プロセス管理とスケジューリング
プロセスとは実行中のプログラムのこと。OSは複数のプロセスを管理し、CPUを効率よく使わせます。
プロセスの状態
実行中(Running)→待機中(Ready)→待ち状態(Waiting)の3状態を遷移する。OSがスケジューラで制御。
スレッド
プロセス内のより小さな実行単位。1プロセスは複数スレッドを持てる(マルチスレッド)。メモリを共有するので軽量。
スケジューリング方式
① FCFS(先着順): 来た順に実行。単純だが長い処理が来ると後続が待たされる
② ラウンドロビン: 各プロセスに一定時間(タイムスライス)ずつCPUを割り当て、順番に切り替える。時分割処理の基本
③ 優先度順: 優先度の高いプロセスを先に実行
① FCFS(先着順): 来た順に実行。単純だが長い処理が来ると後続が待たされる
② ラウンドロビン: 各プロセスに一定時間(タイムスライス)ずつCPUを割り当て、順番に切り替える。時分割処理の基本
③ 優先度順: 優先度の高いプロセスを先に実行
メモリ管理とファイル管理
メモリ管理
各プロセスにメモリ領域を割り当て、他プロセスからの不正アクセスを防ぐ。メモリ保護・メモリ割り当て・仮想記憶管理を担う。
ファイル管理
ファイルのディレクトリ(フォルダ)管理、作成・削除・読み書き、アクセス権限(読み取り・書き込み・実行)の制御。
入出力管理
キーボード・マウス・プリンタなどのデバイスをドライバで制御。割り込み処理でCPUを効率使用。
マルチタスク
複数のアプリを同時実行しているように見せる技術。高速なプロセス切り替え(コンテキストスイッチ)で実現。
🎯 試験での出方
- 「プロセスに一定時間ずつCPUを割り当てる方式」→ ラウンドロビン
- 「実行中のプログラム」→ プロセス
- 「OSのスケジューラの役割」→ CPUをどのプロセスに割り当てるか決める
- 「OSが提供するハードウェアとアプリの橋渡し機能」→ API(インターフェース)
- プロセスとスレッドの違い:プロセスは独立したメモリ、スレッドはメモリ共有
⚠️ よくある間違い
- 「スレッドとプロセスは同じ」→ ✗ スレッドはプロセス内の実行単位、メモリは共有
- 「マルチタスクは本当に同時実行」→ △ シングルコアでは高速切り替えで見かけ上の同時実行
- 「OSがなければアプリが直接ハードを制御できる」→ ✗ 現代のOSはハードへのアクセスを仲介・保護する
✍️ 確認クイズ
Q1. OSのスケジューリング方式のうち、各プロセスに一定の時間ずつCPUを順番に割り当てる方式はどれか。
✅ 正解は②。ラウンドロビンは各プロセスにタイムスライス(一定時間)ずつCPUを割り当て、順番に切り替える方式。時分割処理の基本です。
Q2. プロセスとスレッドの説明として正しいものはどれか。
✅ 正解は③。スレッドはプロセス内の実行単位で、同じプロセス内のスレッドはメモリ(アドレス空間)を共有します。プロセス間はメモリが独立しています。
Q3. OSの機能として適切でないものはどれか。
✅ 正解は③。ビジネスロジックはアプリケーションの責務。OSはハードウェアとアプリの橋渡し(プロセス管理・メモリ管理・ファイル管理・入出力管理)を担います。
Q4. OSのコンテキストスイッチ(文脈交換)とは何か。
✅ 正解は②。コンテキストスイッチはプロセスを切り替えるときに、現在のプロセスのレジスタ値・プログラムカウンタなど(コンテキスト)を保存し、次のプロセスのコンテキストを復元する操作。マルチタスクを実現するが、切り替えのたびにオーバーヘッドが生じます。
Q5. OSのFCFS(先着順)スケジューリングの問題点として正しいものはどれか。
✅ 正解は②。FCFS(First Come First Served/先着順)は単純だが、処理時間の長いプロセスが先に来ると後続の短いプロセスも長時間待たされる「コンボイ効果」が発生します。ラウンドロビンはタイムスライスで切り替えるためこの問題が緩和されます。
Sponsor Link