IPA OS・ソフトウェア — 頻出論点と過去問

この分野の学び方

1. この分野の全体像

OS・ソフトウェアは、ハードウェアの上でプログラムを動かす基本ソフトウェアの働きと、その上で使うソフトウェアの性質や利用条件に関わります。同じ分野の問いでも、ITパスポートで見分けるのは身近なソフトウェアの機能やOSSの利用条件で、応用情報技術者の午前ではページの置換えやタスクの実行順を時刻に沿って追い、エンベデッドシステムスペシャリストの午前IIではリアルタイムOSのタスクの動きを細かく読み取ります。OSがプログラムに記憶領域を割り当てる仕組みとCPUの実行時間を割り当てる制御は、アプリケーションを並行して動作させる土台として連動しており、これらを実現するOS自体や開発・運用ツールとしてオープンソースソフトウェアも広く使われています。

2. 配下の論点の案内

  • 仮想記憶・主記憶管理
    OSの内部の動きのうち記憶の側を受け持つ論点で、ハードウェアの分野で学ぶ主記憶と補助記憶の知識の上に立ちます。応用情報技術者の午前ではページ置換えの順を追う問題や割当て方式の特徴を選ぶ問題が出ていて、エンベデッドシステムスペシャリストの午前IIではアドレス変換の表の中身や大きさ、1秒間に起こりうるページフォールトの最大回数を求める計算が出ています。

  • タスク管理・排他制御
    仮想記憶・主記憶管理と並ぶOSの内部の論点で、組込み・IoTの分野にも入るリアルタイムOSのタスクの問題は、論点としてはこちらに含まれます。応用情報技術者の午前ではスケジューリング方式の特徴やターンアラウンドタイムの計算、資源を占有する順からデッドロックを起こしうるプロセスの組を選ぶ問題が出ていて、エンベデッドシステムスペシャリストの午前IIでは2つのタスクの流れ図からデッドロックになる処理を特定させています。

  • OSS
    OSSを選び、使い、配るときの知識の論点で、法務・標準の分野の著作権の論点と隣り合っています。ITパスポートではOSSの取扱いに関する記述の正誤を組み合わせる問題が繰り返し問われ、応用情報技術者の午前ではライセンスごとのソースコード公開義務の表や、特徴からOSSの製品・言語を選ぶ問題があります。

3. 学習の順序の提案

「仮想記憶・主記憶管理」と「タスク管理・排他制御」は、プログラムを動かすときの主記憶への配置とCPUの割当てという同じ場面の両面にあたり、どちらかが他方の前提になる関係ではなく、同じ時期に並べてよい組です。OSの内部の動きを前提にしない「OSS」は、その前後のどちらに置いてもかまいません。どの論点にも入らない問題も、再入可能などのプログラムの性質、ディスク上のファイル領域の管理、言語処理の道具、CPUの特権レベルと、OSの周りの知識を問うものです。

受ける区分 先に学ぶ論点 次に学ぶ論点
ITパスポート OSS(定義や再配布条件、OSSのOS名)、オフィスツールやファイル管理・OSの基本機能 仮想記憶・主記憶管理(仮想記憶が提供するアドレス空間の目的)
応用情報技術者 / 高度試験の午前I 仮想記憶・主記憶管理(ページングの追跡と計算)、タスク管理・排他制御(スケジューリングとデッドロック) OSS(ライセンスの公開義務の表と製品の特徴)、プログラム特性や言語処理ツール
エンベデッドシステムスペシャリスト(午前II) タスク管理・排他制御(リアルタイムOSのプリエンプションとセマフォ)、仮想記憶・主記憶管理(アドレス変換とオーバヘッド計算) OSS(AGPLの公開範囲の判断)、組込み向けLinux構築フレームワークやCPUの特権レベル・局所参照性
システムアーキテクト / ITサービスマネージャ / データベーススペシャリスト / 情報処理安全確保支援士 / ネットワークスペシャリスト 自分の区分の午前IIに出た論点(ネットワークスペシャリストはタスク管理・排他制御の計算、システムアーキテクトとITサービスマネージャはOSSの製品選び、データベーススペシャリストはデータ処理基盤のOSS) ルートキットや内部割込みのように、OSの周りの知識を問う問題

午後の事例問題では、応用情報技術者とエンベデッドシステムスペシャリストで、組込み機器の制御部のタスクの分担やマルチコアの各コアへの処理の振り分け、スマートフォンアプリのマルチスレッド、ノンブロッキングI/Oで多数の接続をさばくWebサーバの設計を問う大問が出ています。情報処理安全確保支援士の午後Iには、ライブラリの脆弱性を突かれたサーバで、プロセスと通信の状態を調べる大問があります。

4. 分野をまたいで間違えやすいところ

プログラムの特性に関する記述を選ぶ問題では、再入可能なプログラムについて、コードの領域とデータの領域をどちらもタスクの間で共用するとした誤答肢がありました。共用してよいのは実行中に書き換えないコードの側で、途中の値を置く領域まで共用すると、並行して呼ばれたときに互いの値を書き換えてしまい、「タスク管理・排他制御」で扱う資源の取り合いと同じ問題が起きます。

「仮想記憶・主記憶管理」のページング方式と、「ハードウェア」分野で扱うキャッシュメモリは、どちらも局所参照性を利用してデータをブロック単位で置き換えますが、動作する階層と管理主体が異なります。キャッシュメモリはCPUと主記憶の間でハードウェアが制御するのに対し、仮想記憶は主記憶と補助記憶の間でOSがページテーブルを用いて管理します。

「タスク管理・排他制御」のセマフォと、データベースの分野のロックは、どちらも共有するものを同時に使わせない排他制御の仕組みですが、守る単位が違います。セマフォはタスクが装置やメモリを使う区間を守り、データベースのロックはトランザクションが読み書きする行や表を守ります。デッドロックになったときにデータベースが一方のトランザクションをロールバックして先へ進められるのは、更新の前の状態をログから戻せる単位があるからです。

コピーレフトの意味を問う問題や、AGPLのソフトウェアを改変してネットワーク越しに使わせるときにどこまで開示するかを問う問題は、「OSS」と、法務・標準の分野の「著作権・ソフトウェアライセンス」にまたがっています。ライセンスの種類ごとに公開の義務の有無を表で問う問題や、用途からOSSの製品を選ぶ問題は「OSS」だけに入り、権利が誰にあるかではなく、ライセンスが使う人や配る人に何を求めるかを読む問いです。

OS・ソフトウェアの論点別の過去問

仮想記憶・主記憶管理26問 タスク管理・排他制御26問 OSS18問

OS・ソフトウェアの理解度チェック

OS・ソフトウェアの過去問一覧

この分野の午後問題(記述式・読み物)

OS・ソフトウェアの用語

テクノロジのほかの分野

基礎理論70問 アルゴリズム97問 ハードウェア184問 システム構成154問 データベース257問 ネットワーク405問 セキュリティ技術562問 セキュリティ管理165問 システム開発技術253問 開発プロセス126問 組込み・IoT146問 AI・データ活用118問 クラウド・仮想化66問 インタフェース・メディア65問 データマネジメント7問