ソフトウェア
下の動画はこの節の解説ではありません。 解説動画の雰囲気を知っていただくための見本として、「AI・機械学習」の動画を再生します。
この節の解説動画はプレミアム限定です。プレミアムなら全科目・全節が見放題!
プレミアムで見るOSがコンピュータの資源を取り仕切っていることは前の節で見たとおりです。ではその「取り仕切り」は、具体的にどんな仕事に分かれているのでしょうか。この節では、OSの機能を9つに分けて眺めたうえで、とくに試験で問われるジョブ管理・タスク管理・入出力管理・ユーザ管理の4つを掘り下げます。ジョブとタスクの違いは「誰から見た仕事の単位か」という一点で決まりますし、スプーリングは「遅い相手を待たない」という、この科目で何度も出てくる工夫のひとつです。用語を並べて覚えるのではなく、それぞれが何の不便を解消するために生まれたのかを追いかけていきましょう。
簡単にいうと
OSの機能は9つ。多く見えるけど、「何を管理しているか」で並べれば迷わないよ。仕事を管理する系、モノを管理する系、記録を管理する系の3グループに分かれるんだ!
① OSの9つの機能
コンピュータの資源を効率的に制御するための、OSの機能には以下のものがあります。
| 名称 | 内容 |
|---|---|
| ジョブ管理 | 各種ジョブの実行制御を行う。※ジョブとは人間からみた仕事の単位 |
| タスク(プロセス)管理 | マルチ(多重)プログラミングの制御を行い、CPU(プロセッサ)資源を有効活用する。※タスクとはコンピュータからみた仕事の単位 |
| 入出力管理 | 入出力装置であるキーボードやプリンタなどを管理する。入出力制御機能は、デバイスドライバなどにより制御され、入出力制御機能の高速化としてスプーリングがある |
| 記憶管理 | 主記憶へのプログラムの割付や仮想記憶方式による記憶容量の提供を制御する |
| ユーザ管理 | コンピュータ上でマルチユーザを実現するための仕組み。複数のユーザアカウントを作成し、そのアカウントごとにユーザ名およびパスワードを割り当てることで、コンピュータ内の資源をユーザごとに管理できる |
具体例
障害が起きたときに何が残っているか
業務システムが深夜に停止した、という場面を考えます。翌朝、原因を調べるために使えるのは、OSの障害管理と運用管理が残した記録です。
| 記録 | 何がわかるか |
|---|---|
| ログファイル | 何時何分にどの処理が動き、どこでエラーが出たか |
| ダンプファイル | 停止した瞬間、主記憶装置にどんなデータが載っていたか |
| システムモニタリングの記録 | 停止前にCPU使用率やメモリ使用量がどう推移していたか |
| バックアップ | どの時点のデータまで戻せるか |
この4つを組み合わせて原因にたどり着く
たとえばシステムモニタリングの記録で「停止の30分前からメモリ使用量が急上昇していた」ことがわかり、ログファイルで「特定の集計処理が動き出した時刻と一致する」ことがわかり、ダンプファイルで「その処理が異常に大きなデータを主記憶に抱え込んでいた」ことがわかれば、原因はほぼ特定できます。
記録がなければ何も分からない

OSの機能
試験のポイント
簡単にいうと
ジョブとタスクの違いは「誰から見た仕事か」の一点だけ!人間から見た仕事の単位がジョブ、コンピュータ内部から見た仕事の単位がタスク。この視点の違いさえ握れば、もう迷わないよ。
① ジョブ管理
ジョブとは、ユーザから見たコンピュータの実行単位です。
ジョブ管理とは、ジョブの処理順序を監視・制御することです。
たとえば「月末の売上を集計して、請求書を印刷する」という一連の仕事を依頼したとき、依頼した人にとってはこれで1つのまとまりです。これがジョブです。
② タスク管理
タスクとは、ジョブを細分化したコンピュータ内部での実行単位です。多くのOSでは、複数のタスクを交互に処理するマルチタスクが採用されています。これにより、あたかも複数のプログラムを同時に実行しているように見せることができます。
簡単にいうと
入出力装置はとにかく遅い。CPUがそれに付き合っていたら時間の無駄!そこで「置き場所にデータを放り込んで、あとは任せて次の仕事へ」という工夫が生まれたの。それがスプーリングだよ。
① 入出力制御機能
入出力の制御は、デバイスドライバなどによって実現されます。
デバイスドライバは、各種機器を制御する(動作させる)ためのソフトウェアです。コンピュータにLANカードやプリンタなどの内部/周辺機器を取り付けたら、それらを制御するためのデバイスドライバが必要になります。あらかじめOSに組み込まれているものもあれば、インターネット上のメーカのサイトやCD-ROMから取得してインストールするものもあります。
② スプーリング——遅い相手を待たない工夫
入出力装置の制御は一般に低速であるため、処理を終えるまでCPUを占有すると、他の処理を含めたコンピュータ全体の処理性能が低下することになります。
これを避けるため、補助記憶装置や入出力装置側のメモリにデータを一時的に書き込み、CPUを入出力制御から解放する仕組みをスプーリング(スプール)とよびます。主にプリンタの高速化に用いられている技術です。
簡単にいうと
1台のパソコンを何人かで使うとき、全員が全部のファイルを触れたら困るよね。誰に何を許すかを決めるのがユーザ管理。アクセス権限の6種類は、セキュリティの章でもそのまま出てくるよ!
① ユーザ管理とは
ユーザ管理では、1台のコンピュータにて複数のユーザアカウントを作成し、アカウントごとにユーザ名およびパスワードを設定できます。これが前節で学んだマルチユーザを実現するための仕組みです。
② アカウント単位でできる制限
ユーザアカウントを利用し、アカウント単位で次のような制御ができます。
③ アクセス権限の種類
動画・テキスト・過去問・AI添削まですべて網羅!
予備校代の1/10以下で、独学の不安をまるごと解決できます
| データ管理 | データをファイルとして管理を行う。データを格納するファイルの形式やアクセス手段、データ競合時の排他制御、障害時の復旧(リカバリ)などを行う |
| 運用管理 | システムの稼働状況の記録(システムモニタリング)など運用管理業務を支援する機能の提供を行う |
| 障害管理 | 障害の検出や回復、障害状況の記録(ログファイル、ダンプファイルの出力など)、バックアップなど障害に対応するための機能の提供を行う |
| 通信管理 | LANなどを用いたデータ通信の制御に関する機能の提供を行う |
② 3つのグループに仕分ける
9つを丸暗記しようとすると混ざります。何を管理しているのかで分けると見通しがよくなります。
| グループ | 機能 | 管理しているもの |
|---|---|---|
| 仕事を管理する | ジョブ管理、タスク管理 | 実行される処理そのもの |
| モノを管理する | 入出力管理、記憶管理、通信管理 | 装置や記憶領域という資源 |
| 記録と人を管理する | ユーザ管理、データ管理、運用管理、障害管理 | 誰が使い、何が起き、どう戻すか |
③ 他の章とのつながり
この9つの機能は、この科目の他の分野への入口にもなっています。
| OSの機能 | つながる先 |
|---|---|
| 記憶管理(仮想記憶方式) | 第1章 記憶装置の階層(スワッピング、スラッシング) |
| データ管理(排他制御、復旧) | 第3章 データベース(トランザクション、ACID特性、障害回復) |
| ユーザ管理(アカウント、権限) | 第6章 セキュリティ(アクセスコントロール) |
| 障害管理(ログ、バックアップ) | 第7章 システム構成技術(障害対策) |
| 通信管理 | 第4章・第5章 ネットワークとインターネット |
つまりOSの機能一覧は、この科目全体の目次のような役割も果たしています。それぞれの機能が「なぜ必要か」を押さえておくと、後の章の学習が地続きになります。
④ ログファイルとダンプファイル
障害管理に出てくる2つのファイルの違いも押さえておきましょう。
ログは時間の流れの記録、ダンプはある瞬間の断面図、と考えると区別できます。
逆にいえば、これらの記録を取っていなければ、原因の特定は不可能に近いということです。第7章で学ぶシステムの信頼性(RASIS)のうち、保守性(Serviceability)を支えているのが、まさにこの障害管理の機能です。
確認してみましょう
> 次の記述の正誤を判定せよ。
> a 記憶管理は、主記憶へのプログラムの割付や仮想記憶方式による記憶容量の提供を制御する。
> b データ管理では、データ競合時の排他制御や障害時の復旧(リカバリ)を行う。
> c 障害管理では、システムの稼働状況の記録(システムモニタリング)を行う。
解答 a:○ b:○ c:×
タスクはプロセスともよばれます。試験では「タスク(プロセス)管理」と併記されることもあります。
③ ジョブ・ジョブステップ・タスクの関係
1つのジョブは、ジョブステップという中間の単位に分けられ、さらにそれぞれが複数のタスクに分かれます。
| 階層 | 単位 | 誰から見た単位か |
|---|---|---|
| 大 | ジョブ | ユーザから見た実行単位 |
| 中 | ジョブステップ | ジョブを構成する処理のまとまり |
| 小 | タスク | コンピュータ内部での実行単位 |
先ほどの「月末の売上を集計して請求書を印刷する」という例でいえば、
という入れ子になります。
④ 「人から見るか、機械から見るか」
この論点で問われるのは、ほぼ例外なくジョブとタスクの定義の入れ替えです。
> ジョブ=ユーザ(人間)から見た仕事の単位
> タスク=コンピュータ(機械)から見た仕事の単位
「ジョブ」は英語で仕事・職務を指す日常語で、人が使う言葉です。「タスク」も仕事を指しますが、こちらはより細かい作業のニュアンスがあります。日常語のジョブが人間側、細かいタスクが機械側と結びつけておくと、本番で取り違えません。
⑤ マルチタスクが「同時に見える」理由
CPUは、ごく短い時間ずつ複数のタスクを切り替えながら実行します。切り替えの間隔が人間の知覚よりはるかに短いため、同時に動いているように見えるわけです。
この切り替えを行う際、OSはそのタスクがどこまで進んだか(レジスタの内容など)を保存し、次のタスクの状態を復元します。この切り替え作業をコンテキストスイッチといいます。切り替えそのものにも時間がかかるため、タスクを増やしすぎると切り替えの手間ばかりが増えて効率が落ちる、という現象も起こります。
具体例
1つの注文処理を分解してみる
ネット通販で「注文を確定する」ボタンを押したときに何が起きるかを、ジョブとタスクの言葉で分解してみましょう。
ジョブ(ユーザから見た単位)
「この注文を確定する」——利用者にとってはこれで1つの仕事です。
ジョブステップ
| 順番 | ジョブステップ |
|---|---|
| ① | 在庫を確認する |
| ② | 在庫を引き当てる |
| ③ | 決済を処理する |
| ④ | 注文確認メールを送る |
| ⑤ | 倉庫に出荷を指示する |
タスク(コンピュータ内部の単位)
たとえば①の「在庫を確認する」は、さらに次のような処理に分かれます。
CPUから見れば、これら一つひとつが実行の単位です。そしてこの間、CPUは他の利用者の注文処理のタスクも交互に処理しています。
なぜこの区別が意味を持つのか
運用の現場では、「どのジョブが遅いのか」と「どのタスクがCPUを食っているのか」は別の問いです。
| 問い | 見るもの | 対応 |
|---|---|---|
| どの業務が遅いか | ジョブの実行時間 | 業務の優先順位を見直す |
| どの処理がCPUを占めているか | タスクごとのCPU使用率 | プログラムを改善する、資源配分を変える |
利用者の体感(ジョブ)と機械の内部事情(タスク)を行き来できることが、性能改善の出発点になります。
確認してみましょう
> 次の記述の正誤を判定せよ。
> a ジョブとは、コンピュータ内部での実行単位である。
> b タスク管理とは、ジョブを細分化したタスクにCPUや主記憶装置などの資源をいかに割り当てるかを管理することである。
> c マルチタスクにより、あたかも複数のプログラムを同時に実行しているように見せることができる。
解答 a:× b:○ c:○

ジョブ管理とタスク管理
試験のポイント
③ スプーリングの流れ
プリンタで印刷する場面で考えます。
スプーリングがない場合
1. アプリケーションが「印刷せよ」とCPUに指示する
2. CPUがプリンタに1行ずつデータを送る
3. プリンタが1行印刷し終わるのを、CPUが待つ
4. 次の行を送る……(以下、印刷が終わるまで繰り返し)
CPUは印刷が終わるまで他の仕事ができません。プリンタは機械的に紙を送り、インクを載せる装置ですから、CPUの速度と比べれば途方もなく遅い相手です。
スプーリングがある場合
1. アプリケーションが「印刷せよ」とCPUに指示する
2. CPUは印刷データを補助記憶装置のスプール領域に書き出す
3. CPUはここで解放され、次の仕事に移る
4. あとはスプール領域から、プリンタが自分のペースでデータを読み取って印刷する
CPUが待たされる時間が劇的に減ります。印刷ボタンを押した直後にアプリケーションの操作が戻ってくるのは、この仕組みのおかげです。
④ この発想はあちこちに出てくる
「速いものが遅いものを待たないように、間に置き場所を挟む」という考え方は、この科目で繰り返し登場します。
| 技術 | 速い側 | 遅い側 | 挟むもの |
|---|---|---|---|
| キャッシュメモリ | CPU | 主記憶装置 | 高速な小容量メモリ |
| ディスクキャッシュ | 主記憶装置 | 補助記憶装置 | メモリ領域 |
| スプーリング | CPU | 入出力装置 | 補助記憶装置のスプール領域 |
| メッセージキュー | 送信側システム | 受信側システム | 待ち行列 |
いずれもバッファリング(緩衝)という共通の考え方に基づいています。スプーリングを単独の用語として覚えるのではなく、この系列の一員として位置づけておくと、記憶が定着します。
⑤ パッチとの取り違えに注意
デバイスドライバと混同されやすい用語にパッチがあります。
| 用語 | 内容 |
|---|---|
| デバイスドライバ | PCに接続したマウスやプリンタなどの周辺機器を、アプリケーションから利用可能にするソフトウェア |
| パッチ | コンピュータにおいてプログラムの一部を更新して、バグ修正や機能更新を行うためのデータ |
パッチ(patch)は「継ぎ当て」という意味の英語です。服の破れに布を当てるように、プログラムの不具合部分だけを直すデータ、というイメージです。機器を使えるようにするのがドライバ、プログラムを直すのがパッチ、と役割で区別してください。
具体例
設例 デバイスドライバとパッチ
> 次の記述の正誤を判定せよ。(令和3年度第4問 改題)
> PCに接続したマウスやプリンタなどの周辺機器をアプリケーションから利用可能にするソフトウェアをパッチという。
解答 ×
デバイスドライバの内容です。パッチは、コンピュータにおいてプログラムの一部を更新してバグ修正や機能更新を行うためのデータです。
実務でスプーリングを実感する場面
大きなファイルを印刷したときに、次のような経験はないでしょうか。
| 起きること | 理由 |
|---|---|
| 印刷ボタンを押すとすぐ操作に戻れる | データがスプール領域に書き出され、CPUが解放されたため |
| プリンタはそのあと何分も動き続ける | スプール領域から自分のペースで読み出しているため |
| 印刷を取り消すと「キューから削除」と表示される | スプール領域の待ち行列から取り除いているため |
| 複数人が同時に印刷しても混ざらない | スプール領域で順番待ちの列を作っているため |
最後の「混ざらない」が重要
スプーリングには、CPUを解放するという効果のほかに、複数の印刷要求を整列させるという効果もあります。もしスプーリングがなければ、AさんとBさんが同時に印刷したときに、1行ずつ交互に印刷された紙が出てくる、ということが起こりかねません。
遅い装置を共有するときには、順番待ちの仕組みが要る——スプーリングは、CPUの解放と共有資源の整列という、2つの問題を同時に解いている技術だといえます。
確認してみましょう
> 次の記述の正誤を判定せよ。
> a スプーリングは、補助記憶装置などにデータを一時的に書き込み、CPUを入出力制御から解放する仕組みである。
> b スプーリングは、主にディスプレイの表示を高速化するために用いられる。
解答 a:○ b:×

入出力管理とスプーリング
試験のポイント
| 権限 | 許される操作 |
|---|---|
| 参照(読み込み) | ファイルの内容を見る |
| 更新(書き込み) | ファイルの内容を書き換える |
| 削除 | ファイルを消す |
| 新規作成 | 新しいファイルを作る |
| 実行 | プログラムとして動かす |
| アクセス権変更 | そのファイルの権限設定そのものを変える |
ユーザアカウントに対してこれらの権限を付与することにより、コンピュータへのセキュリティを高めることができます。
④ 6つの権限の「重さ」
6つの権限は同じ重さではありません。危険度の低い順に並べると、おおよそ次のようになります。
1. 参照……見るだけ。情報漏えいのリスクはあるが、データは壊れない
2. 実行……動かせるが、内容は変えられない
3. 更新……内容を書き換えられる。誤った値に変えられる危険がある
4. 新規作成……ファイルを増やせる。容量の圧迫や不正なファイルの設置につながりうる
5. 削除……ファイルを消せる。取り返しがつかない
6. アクセス権変更……他の5つの権限を自分で付け替えられる
とくに⑥のアクセス権変更がもっとも強い権限である点に注意してください。この権限を持つ利用者は、自分に他のすべての権限を与えることができます。したがって、アクセス権変更の権限は管理者だけに絞るのが原則です。
⑤ 最小権限の原則
第6章で詳しく学びますが、アクセス権限を設計するときの基本的な考え方が最小権限の原則(Need to Knowの原則)です。
> 業務上必要な最小限の権限だけを与える
「念のため全部の権限を与えておく」という運用は、事故と不正の両方の温床になります。経理担当者に人事ファイルの参照権限は要りませんし、閲覧しかしない利用者に削除権限は要りません。
この原則は、第3章のデータベース(ビューによるアクセス制御)や第6章のアクセスコントロールでも繰り返し出てきます。OSのユーザ管理は、その出発点にあたります。
具体例
共有フォルダの権限設計——小売業の本部と店舗
本部と店舗でファイルを共有する場面を考えます。誰にどの権限を与えるべきでしょうか。
| ファイル | 本部(企画) | 店舗(店長) | 店舗(アルバイト) |
|---|---|---|---|
| 全店の売上実績 | 参照・更新 | 自店分のみ参照 | 権限なし |
| 商品マスタ | 参照・更新・新規作成 | 参照 | 参照 |
| 店舗の発注データ | 参照 | 参照・更新・新規作成 | 参照 |
| 人事・給与データ | 権限なし(人事部のみ) | 自店分のみ参照 | 権限なし |
この設計の考え方
運用でよく起きる失敗
| 失敗 | 何が起きるか |
|---|---|
| 「面倒だから全員にフルアクセス」 | 誤削除、情報漏えい、内部不正の温床になる |
| 退職者のアカウントを消し忘れる | 退職後もアクセスできてしまう |
| 権限を個人ごとに設定する | 人事異動のたびに設定変更が必要で、漏れが生じる |
| アクセス権変更の権限を広く配る | 誰でも自分の権限を広げられてしまう |
3つ目への対策が、RBAC(ロールベースアクセス制御)です。個人ではなく役割(ロール)に権限を紐づけ、人には役割を割り当てる、という設計にすると、異動のたびに役割を付け替えるだけで済みます。
確認してみましょう
> 次の記述の正誤を判定せよ。
> a ユーザアカウントを利用し、アカウント単位で補助記憶装置の利用可能領域や使用できる記憶容量を制限できる。
> b アクセス権限には、参照、更新、削除、新規作成、実行、アクセス権変更などがある。
> c アクセス権変更の権限は、他の権限と比べて危険度が低いため、広く付与してよい。
解答 a:○ b:○ c:×

ユーザ管理とアクセス権限
試験のポイント
プレミアムプラン
¥9,800〜/ 買い切り・自動更新なし(税込)
決済はStripe(世界最高水準・PCI-DSS準拠)で安全に処理されます。カード情報は当サービスに保存されません。