応用情報処理技術者試験の対策サイトです。 応用情報処理技術者試験の午前問題を中心とした基礎用語の解説を中心に掲載します。書き始めたばかりなので、内容はまだまだ不十分です。
カテゴリ:

4.ソフトウェア

■H29秋
問16 リアルタイムOSにおいて,実行中のタスクがプリエンプションによって遷移する状態はどれか。
ア 休止状態
イ 実行可能状態 
ウ 終了状態
エ 待ち状態
【正解】イ

問18 CPUスケジューリングにおけるラウンドロビンスケジューリング方式に関する記述として,適切なものはどれか。
ア 自動制御システムなど,リアルタイムシステムのスケジューリングに適している。
イ タイマ機能がないシステムにおいても,簡単に実現することができる。
ウ タイムシェアリングシステムのスケジューリングに適している。
エ タスクに優先順位を付けることによって,容易に実現することができる。
【正解】ウ

■H28春
問19 ノンプリエンプティブだけのスケジューリング方式はどれか。
ア 残余処理時間順     イ 到着順
ウ 優先度順         エ ラウンドロビン
【正解】イ

■H27秋
問16 プリエンプション方式のタスクスケジューリングにおいて,タスクBの実行中にプリエンプションが発生する契機となるのはどれか。ここで,タスクの優先度は,タスクAが最も高<, タスクA>タスクB =タスクC>タスクDの関係とする。
ア タスクAが実行可能状態になった。
イ タスクBが待ち状態になった。
ウ タスクCが実行可能状態になった。
エ タスクDが実行可能状態になった。
【正解】ア

■H27春
問17 プロセスのスケジューリングに関する記述のうち,ラウンドロビン方式の説明として,適切なものはどれか。
ア 各プロセスに優先度が付けられていて,後に到着してもプロセスの優先度が実行中のプロセスよりも高ければ,実行中のものを中断し,到着プロセスを実行する。
イ 各プロセスに優先度が付けられていて,イベントの発生を契機に,その時点で最高優先度のプロセスを実行する。
ウ 各プロセスの処理時間に比例して,プロセスのタイムクウォンタムを変更する。
エ 各プロセスを待ち行列の順にタイムクウォンタムずつ実行し,終了しないときは待ち行列の最後につなぐ。
【正解】エ

■H26春 
問17 CPUスケジューリングにおけるラウンドロビンスケジューリング方式に関する記述として,適切なものはどれか。
ア 自動制御システムなど,リアルタイムシステムのスケジューリングに適している。
イ タイマ機能のないシステムにおいても,簡単に実現することができる。
ウ タイムシェアリングシステムのスケジューリングに適している。
エ タスクに優先順位をつけることによって,容易に実現することができる。
【正解】ウ

■H25秋 
問19 プロセスのスケジューリングに関する記述のうち,ラウンドロビン方式の説明として,適切なものはどれか。
ア 各プロセスに優先度が付けられていて,後に到着してもプロセスの優先度が処理中のプロセスよりも高ければ,処理中のものを中断し,到着プロセスを処理する。
イ 各プロセスに優先度が付けられていて,イベントの発生を契機に,その時点で最高優先度のプロセスを実行する。
ウ 各プロセスの処理時間に比例して,プロセスのタイムクウォンタムを変更する。
エ 各プロセスを待ち行列の順にタイムクウォンタムずつ処理し,終了しないときは待ち行列の最後につなぐ。
【正解】エ

■H29春
問19 オープンソースライセンスのGNU GPL(GNU General Public License)の説明のうち,適切なものはどれか。
ア GPLであるソースコードの実現する機能を利用する,別のプログラムのソースコードを作成すると,GPLが適用される。
イ GPLであるソースコードの全てを使って派生物を作った場合に限って,GPLが適用される。
ウ GPLであるソースコードの派生物のライセンスは,無条件にGPLとなる。
エ GPLであるソースコードを組み込んだ派生物をGPLにするか否かは,派生物の開発者が決める。
【正解】ウ

■H26秋
問18 Linuxカーネルの説明として,適切なものはどれか。
ア GUIが組み込まれていて,マウスを使った直感的な操作が可能である。
イ Webブラウザ,ワープロソフト,表計算ソフトなどが含まれており,Linuxカーネルだけで多くの業務が行える。
ウ シェルと呼ばれるCUIが組み込まれていて,文字での操作が可能である。
エ プロセス管理やメモリ管理などの,アプリケーションが動作するための基本機能を提供する。
【正解】エ

■H25秋
問21 表はOSSのライセンスごとに,そのOSSを利用したプログラムを配布するとき,ソースコードを公開しなければならないかどうかを示す。a〜dに入れるライセンスの適切な組合せはどれか。ここで,表中の“○”は公開しなければならないことを表し,“×”は公開しなくてもよいことを表す。
H25a-問21
【正解】ア

■H25春
問21 GPLの下で公開されたソフトウェアを改変・頒布する場合に行わなければならないことはどれか。
ア 初期開発者名の表示
イ 同一ライセンスでの頒布
ウ プログラムの保証
エ 無償での頒布
【正解】イ

■H27秋
問18 三つの媒体A〜Cに次の条件でファイル領域を割り当てた場合,割り当てた領域の総量が大きい順に媒体を並べたものはどれか。

〔条件〕
(1)ファイル領域を割り当てる際の媒体選択アルゴリズムとして,空き領域が最大の媒体を選択する方式を採用する。
(2)割当て要求されるファイル領域の大きさは,順に90,30,40,40,70,30 (Mバイト)であり,割り当てられたファイル領域は,途中で解放されない。
(3)各媒体は容量が同一であり,割当て要求に対して十分な大きさをもち,初めは全て空きの状態である。
(4)空き領域の大きさが等しい場合には,A,B,Cの順に選択する。

ア A,B,C
イ A,C,B
ウ B,A,C
エ C,B,A
【正解】エ

■H29秋
問19 Hadoopの説明はどれか。
ア Java EE 仕様に準拠したアプリケーションサーバ
イ LinuxやWindowsなどの様々なプラットフォーム上で動作するWebサーバ
ウ 機能の豊富さが特徴のRDBMS
エ 大規模なデータを分散処理するためのソフトウェアライブラリ
【正解】エ

■H29春
問17 サーバアプリケーションの開発のための,オブジェクト指向技術に基づいたコンポーネントソフトウェアの仕様はどれか。
ア EAI (Enterprise Application Integration)
イ EJB (Enterprise JavaBeans)
ウ ERP (Enterprise Resource Planning)
エ UML (Unified Modeling Language)
【正解】イ

問18 ホワイトボックステストにおいて,プログラムの実行された部分の割合を測定するのに使うものはどれか。
ア アサーションチェッカ
イ シミュレータ
ウ 静的コード解析ツール
エ テストカバレージ分析ツール
【正解】エ

■H27秋
問7 JavaBeansを利用してソフトウェア開発を行うメリットとして,適切なものはどれか。
ア HTML文書が動的に生成できる。
イ コンポーネントが容易に再利用できる。
ウ 分散トランザクション処理ができる。
エ メッセージングによって非同期に通信できる。
【正解】イ

■H29秋
問17 ページング方式の仮想記憶において,ページ置換えの発生頻度が高くなり,システムの処理能力が急激に低下することがある。このような現象を何と呼ぶか。
ア スラッシング          イ スワップアウト
ウ フラグメンテーション     エ ページフォールト
【正解】ア

問18 CPUスケジューリングにおけるラウンドロビンスケジューリング方式に関する記述として,適切なものはどれか。
ア 自動制御システムなど,リアルタイムシステムのスケジューリングに適している。
イ タイマ機能がないシステムにおいても,簡単に実現することができる。
ウ タイムシェアリングシステムのスケジューリングに適している。
エ タスクに優先順位を付けることによって,容易に実現することができる。
【正解】ウ

■H28春
問17 ページング方式の仮想記憶において,あるプログラムを実行したとき,1回のページフォールトの平均処理時間は30 ミリ秒であった。ページフォールト発生時の処理時間が次の条件であったとすると,ページアウトを伴わないページインだけの処理の割合は幾らか。

〔ページフォールド発生時の処理時間〕
(1)ページアウトを伴わない場合,ページインの処理時間は20ミリ秒である。
(2)ページアウトを伴う場合,置換えページの選択,ページアウト,ページインの合計処理時間は60 ミリ秒である。
ア 0.25     イ 0.33     ウ 0.67     エ 0.75
【正解】エ

問18 仮想記憶方式に関する記述のうち,適切なものはどれか。
ア LRUアルゴリズムは,使用後の経過時間が最長のページを置換対象とするページ置換アルゴリズムである。
イ アドレス変換をインデックス方式で行う場合は,主記憶に存在する全ページ分のページテーブルが必要になる。
ウ ページフォールトが発生した場合は,ガーベジコレクションが必要である。
エ ページングが繰り返されるうちに多数の小さな空きメモリ領域が発生することを,フラグメンテーションという。
【正解】ア

■H27秋
問17 デマンドページング方式による仮想記憶の利点はどれか。
ア 実際にアクセスが行われたときにだけ主記憶にロードするので,無駄なページをロードしなくて済む。
イ 主記憶に対する仮想記憶の容量比を大きくするほど,ページフォールトの発生頻度を低くできる。
ウ プロセスが必要とするページを前もって主記憶にロードするので,補助記憶へのアクセスによる遅れを避けることができる。
エ ページフォールトの発生頻度が極端に高くなっても,必要な場合にしかページを読み込まないのでスラッシング状態を回避できる。
【正解】ア

■H27春
問16 仮想記憶方式では,割り当てられる実記憶の容量が小さいとページアウト,ページインが頻発し,スループットが急速に低下することがある。このような現象を何というか。
ア スラッシング          イ スワッピング
ウ フラグメンテーション     エ メモリリーク
【正解】ア

問18 500 k バイトの連続した空き領域に,複数のプログラムモジュールをオーバレイ方式で読み込んで実行する。読込み順序Aと読込み順序Bにおいて,最後の120 k バイトのモジュールを読み込む際,読込み可否の組合せとして適切なものはどれか。ここで,数値は各モジュールの大きさをkバイトで表したものであり,モジュールを読み込む領域は,ファーストフィット方式で求めることとする。

〔読込み順序A〕
100 → 200 → 200解放 → 150 → 100解放 → 80 → 100 → 120
〔読込み順序B〕
200 → 100 → 150 → 100解放 → 80 → 200解放 → 100 → 120

H27h-問18
【正解】イ

■H26秋
問16 三つの資源X〜Zを占有して処理を行う四つのプロセスA〜Dがある。各プロセスは処理の進行に伴い,表中の数値の順に資源を占有し,実行終了時に三つの資源を一括して解放する。プロセスAとデッドロックを起こす可能性があるプロセスはどれか。
H26a-問16
ア B,C,D     イ C,D     ウ Cだけ     エ Dだけ
【正解】イ

問17 固定区画方式を使用した主記憶において,大きさが100 k バイト,200 k バイト,300 k バイト,400 k バイトの区画をそれぞれ一つ設定する。この主記憶に,大きさが250 k バイト,250 k バイト,50 kバイトのプログラムをベストフィット方式で割り当てた。この時点で,使用できない領域は合計で何kバイト生じているか。
ア 200     イ 250     ウ 350     エ 450
【正解】イ

■H26春
問16 OSのプロセス制御におけるプリエンプティブ方式に関する記述のうち,適切なものはどれか。
ア 各プロセスがシステム資源を自主管理できるので,マルチプログラミングに向いている。
イ ノンプリエンプティブ方式に比べて,コンテキスト切替えのためのオーバヘッドが小さい。
ウ ノンプリエンプティブ方式に比べて,特定のプロセスがプロセッサを独占することが多い。
エ プリエンプティブ方式を実現するには,0Sがプロセスを強制的に切り替えて実行する機構が必要になる。
【正解】エ

問18 仮想記憶方式において,論理アドレスから物理アドレスへの変換を行うのはいつか。
ア 主記憶に存在するページをアクセスするとき
イ ページフォールトが発生したとき
ウ ページを主記憶にページインするとき
エ ページを補助記憶にページアウトするとき
【正解】ア

■H25秋
問18 記憶領域の動的な割当て及び解放を繰り返すことによって,どこからも利用できない記憶領域が発生することがある。このような記憶領域を再び利用可能にする機能はどれか。
ア ガーベジコレクション     イ スタック
ウ ヒープ              エ フラグメンテーション
【正解】ア

■H25春
問17 五つのジョブA〜Eに対して,ジョブの多重度が1で,処理時間順方式のスケジューリングを適用した場合,ジョブBのターンアラウンドタイムは何秒か。ここで,OSのオーバヘッドは考慮しないものとする。
H25h-問17
ア 8     イ 9     ウ 10     エ 11
【正解】エ

問18 ぺージング方式の仮想記憶において,ページフォールト発生時のオーバヘッドによる1命令当たりの平均遅れ時間を求める式はどれか。

〔記号の説明〕
 t : 1回当たりのページフォールト処理時間
 f : ページフォールト発生率
 m : 1命令当たりの平均主記憶アクセス回数

ア t - f × m
イ t × f × m
ウ t × f ÷ m
エ f ÷ f ÷ m
【正解】イ

問19 仮想記憶方式におけるプログラムやデータの格納方法に関する記述のうち,適切なものはどれか。
ア 一つのプログラムや一連のデータは,主記憶装置及び補助記憶装置で必ず連続した領域に格納される。
イ 頻繁に参照されるプログラムやデータが主記憶装置に格納されているので,仮想記憶を用いない場合に比べて主記憶の平均アクセス時間が短くなる。
ウ プログラムやデータを補助記憶装置に格納し,必要に応じて主記憶に読み込むので,主記憶の見かけの容量を拡大できる。
エ ページアウトされたプログラムやデータがシステムの停止後も補助記憶装置に保持されるので,再起動後に主記憶の内容が復元される。
【正解】ウ

共通に使用される擬似言語の記述形式

 擬似言語を使用した問題では,各問題文中に注記がない限り,次の記述形式が適用されているものとする。

〔宣言,注釈及び処理〕
2009h21a_fe_pm_qs_1



〔演算子と優先順位〕
2009h21a_fe_pm_qs_2
注 整数同士の除算では,整数の商を結果として返す。%演算子は,剰余算を表す。

〔論理型の定数〕
true, false


タスク管理に関して、過去問(H20秋FE午前問28)では、「マルチプログラミングの制御を行い,CPUを有効に利用する」とあります。
応用情報技術者試験を勉強する成子

なぜそんな制御が必要なのですか?
CPUは頭脳に例えられるという話をしたと思います。
人間と同じで、コンピュータであっても、複数のことを同時には考えることができません。
応用情報技術者試験を勉強する成子

そうなんですか?
パソコンでは、インターネットで動画を見ながら、メールを書いたりしていますし、その間にプリンタで印刷をかけたりもできますけど。
はい、パソコンでは複数のことを同時に実施しています。
ただ実際には、CPUが短い時間で瞬時に複数の仕事を切り替えています。それがあまりに高速なので、我々には同時に実行しているように見えるのです。
このように、CPUにはいくつものジョブがやってきて、それを効率的に管理する仕事がOSが実行すべきタスク管理です。

タスク管理に関して、応用情報技術者試験のシラバスでは、以下の記載があります。
(4)タスク管理
タスクと状態遷移
タスクとジョブステップ,スレッドとの関係,タスクの生成から実行,消滅までの状態遷移,ディスパッチャの役割を理解する。

用語例 軽量プロセス,実行可能状態,実行状態,待ち状態,プロセス,スレッド

多重(マルチ)プログラミング(マルチタスク)とスケジューリング
多重(マルチ)プログラミングの考え方,タスクのスケジューリングの代表的な方式について,スケジューリングの方法,特徴,スケジューリングにおけるトリガと優先順位の役割,同期制御・排他制御の必要性,実現方法を理解する。また,タスクとタスクの同期,タスク間でのデータの受け渡し,マルチスレッドの考え方,並列処理などを理解する。

用語例 プリエンプティブ方式,ノンプリエンプティブ方式,タイムスライス方式,イベントドリブン方式,フィードバック待ち行列方式,処理時間順方式,優先順,静的優先順位方式,動的優先順位方式,ラウンドロビン,SJF(Short Job First),最短時間順,割込み禁止,マルチCPU,排他制御,FCFS(First Come First Served),タイムクウォンタム,リソーススタベーション,SVC(SuperVisorCall)割込み,入出力終了割込み,ディスパッチ

では、過去問(H20秋FE午前)を見てみましょう。
問28 タスク管理の役割として,適切なものはどれか
ア 各種の補助記憶装置へのアクセス手段を,装置に依存しない形態で提供し,応用プログラム作成の負担を軽減する。
イ 仮想記憶空間を提供し,実記憶を有効に利用する。
ウ 入出力装置の制御を行い,正確かつ効率よく入出力装置を動作させる。
エ マルチプログラミングの制御を行い,  CPUを有効に利用する。
正解は、エです。ウは入出力管理、イは記憶管理、アはデータ管理です。

過去問(H21秋AP午前問19)
問19 リアルタイムOSのマルチタスク管理機能において,タスクAが実行状態から実行可能状態へ遷移するのはどの場合か。
ア タスクAが入出力要求のシステムコールを発行した。
イ タスクAが優先度の低いタスクBに対して,メッセージ送信を行った。
ウ タスクAより優先度の高いタスクBが実行状態となった。
エ タスクAより優先度の高いタスクBが待ち状態となった。
正解は、 

プロセスの状態には、「待ち行列に登録されているプロセスの状態を実行可能状態,実行中のプロセスの状態を実行状態」の他に、「待ち状態」があります。

過去問(H20FE秋午前問29)では、コンピュータのタスクの状態遷移として、次の図が記載されています。
状態遷移
また、実行状態のタスクが、「自分より優先度の高いタスクが実行可能状態になった」ことで、実行可能状態に遷移するともあります。
応用情報技術者試験を勉強する成子

なんかややこしいですね。
なぜ、そんな3つの状態があるのですか?



例えがいいか分かりませんが、以下と考えてはどうでしょう。
大きな病院で初診受付をしたとします。
・最初は、病院側の先生が決っていない状態で、今すぐ診察を受けられない状態ですから、受付でしばらく待ちます(⇒待ち状態)
・病院側は、問診票や先生の空き状況などを踏まえて先生が決ったら、患者さんに連絡します「○○先生の診察になりますので、第△診察室の前でお待ちください。これで、先生が空いたら診察を受けることができます。(⇒実行可能状態)
・前の患者さんの診察が終わったら、診察を受けられます(⇒実行状態)
※ここで、実行状態にあっても、途中で検査したりすると、もう一度診察を受けるまで、診察室の前で待つことがあります。(⇒実行可能状態に戻ります)

患者さんの数に対し、先生の数は圧倒的に少ないものです。よって、患者さんの状態(優先度)も確認しながら、患者さんを先生に割り当てていく作業が必要になります。

コンピュータも同じで、CPUにはいくつものプロセスがやってきます。CPUの数は限られていますから、そのプロセスの実行順序を決めるのがOSの役割であり、これがタスク管理です。
また、プロセスの実行順序を決定する方式にはいくつかの方式があり、到着順方式や、ラウンドロビン方式、優先度順方式などがあります。

過去問
過去問(H21秋AP午前問19)
問19 リアルタイムOSのマルチタスク管理機能において,タスクAが実行状態から実行可能状態へ遷移するのはどの場合か。
ア タスクAが入出力要求のシステムコールを発行した。
イ タスクAが優先度の低いタスクBに対して,メッセージ送信を行った。
ウ タスクAより優先度の高いタスクBが実行状態となった。
エ タスクAより優先度の高いタスクBが待ち状態となった。
正解は、ウです。
優先度の高いタスクBが実行状態となると、タスクAは実行可能状態になります。

応用情報技術者試験のシラバスでは、コンピュータシステム>ソフトウェア>オペレーティングシステム の中に「記憶管理」の章があります。
シラバスには次の記載があります。
仮想記憶管理
実記憶と仮想記憶の関係,仮想記憶の有効性,仮想記憶方式の種類と特徴,動的アドレス変換の仕組みを理解する。また,ページング方式の代表的なページ置換えアルゴリズムについて,ページ置換え手順を理解する。

用語例 ベースアドレス方式,セグメント方式,セグメントページング方式,単一仮想空間方式, 多重仮想空間方式, スラッシング, DAT ( Dynamic Address Translator:動的アドレス変換),TLB(Translation ookaside Buffer),ページフォールト,ページイン,ページアウト,デマンドページング,ページリプレースメント,LRU,FIFO,ワーキングセット
スワッピングとオーバレイによる主記憶管理よりも、効率的な記憶管理方法が仮想記憶管理です。
具体的には、補助記憶を利用し、主記憶を大容量に見せます。過去問(H21春シスアド問7)では、「仮想記憶方式が主記憶に及ぼす効果」に関して、「主記憶の見掛け上の容量が増加する」とあります。

応用情報技術者試験を勉強する成子 


スワッピングとオーバレイではダメなのですか?
たとえば、スワッピングであれば、プログラムを補助記憶に退避させます。
でも、メインメモリよりも大きなプログラムを使う場合、どうしようもないですよね。
仮想記憶
主記憶の領域を増やせればいいのですが、お金もかかることから、実際にはそう簡単にはいきません。
そこで、仮想記憶です。実際の主記憶領域よりも、仮想的に大きな領域があるように、CPUに見せるのです。
以下、イメージです。
補助記憶
仮想記憶では、主記憶以上の領域を、CPUに見せます。しかし、実際には主記憶の領域が限られています。そこで、補助記憶装置(HDD)の領域を使って仮想記憶を実現します。
このとき、上記のように、仮想記憶の領域と主記憶の領域を、一定の単位で管理するのが便利です。これが、後述するページング方式です。

過去問(H21秋IP問59)では、「OSの機能の一つである仮想記憶方式の目的」として、「主記憶の容量よりも大きなメモリを必要とするプログラムも実行できるようにする」とあります。
応用情報技術者試験を勉強する成子 


OSの機能なんですね。
はい、そうです。実際、Windowsでも自動で処理を行っています。
システムのプロパティ>詳細設定>パフォーマンス>詳細設定>仮想メモリ
で設定できます。
デフォルトでは、コンピュータによる自動管理がなされています。
仮想メモリ

このページのトップヘ