一種午前 平成9年
問21〜問30 問題と解説

末広ページへ このコーナーの目次へ

 ここの内容に関しての質問を歓迎します。斎藤末広まで。当ページの内容をご利用した方は,末広ページご利用の案内を参照して下さい。

 


問21

 

解説

 メモリ資源の競合とは、主記憶不足で、取り合いが発生している状態である。ページングとは、主記憶を磁気ディスク上に書き出し、必要に応じて主記憶に呼び込むことを指す。よって、解答はエ

 ア 実行待ち時間 CPUの空きを待っている時間
 イ チャネルとは、主記憶と入出力装置とのデータをやりとりを制御する装置。そこの使用率とは、やりとりの頻繁さを表す。

 ウ トランザクション応答時間とは、システム全体に関わっている

解答 エ

 


問22

解説

 ア RS-232Cのこと。JIS X 5101か?
 イ 正しい。SCSIIの規格は、拡張されている。現在はこの記述のとおりではない?
 ウ PCIバスのこと?
 エ XXX?バス。IEEE1014?

解答 イ

 


問23

 

解説

 解答群の中味が少し古い例がでているので、参考書などにいれる問題として適当でない。

 ア 数年前のMOのこと。現在は、128M,230Mに加えて、540M、640Mがある?。
 イ 磁気ディスクは、書き込んだ後照合することはまずない。数年前のMOのことである。
 ウ 正しい。テープに書き出しするときに、レコードをブロックという単位で書き出す。ブロックとブロックの間は、隙間をあける必要がある。その隙間は固定あるので、ブロックに含まれるレコードの数(ブロック化因数)がおおいほど、ブロック数がすくなくなり、隙間分がすくなくなり、結果的にたくさんのデータを書き出すことができる。
 ただし、最近、バックアップ用として使用されるテープストリーマは、ブロック化して書き出していない?

 エ フロッピーディスクは、トラック当たりの容量は、外周部と内周部と同一である。よって、内周部ほど密度が高く、外周部ほど密度が低くなている。しかし、マッキントッシュ用のフロッピーは、????

解答 ウ

 


問24

マルチプロセス処理が可能なOSに関する記述のうち、正しいものはどれか。

 

ア 一つのプロセス内のスレッド(ライトウェイトプロセス)ごとに、独立した仮
想記憶空間をもつ。

イ プロセス間で互いにデータを共有するために、連想記憶レジスタを使用する。

ウ プロセスの切替えのたびに、プロセスに関する制御データは、スワッピング
機能によって主記憶装置にセーブされる。

エ メッセージ交換によるプロセスの同期が可能である。

解説

 ア スレッドはスレッドごとに独立の仮想記憶をもたないことがメリットである。つまり、記憶空間を共有することで、スレッド切り替えのオーバーヘッドを減らすことができる。
 イ 連想記憶レジスタの目的は、アドレス参照時の短縮である。プロセス間でのデータの共有と関係がない。
 ウ プロセス切り替えのたびに、プロセスに関する制御データを入れ替えすることをコンテキストスイッチ(プロセススイッチ)という。
 エ プロセス間の情報のやりとりは、プロセス間通信と呼ばれ、変数を共有する方法と、メッセージバッシング(交換)による方法がある。よって、メッセージ交換で同期を制御することも可能である。

解答 エ

 


問25

 ある手続きが複数のプロセスによって並行して実行されるとき、それぞれのプロセスに正しい結果を返すことができる場合、この手続きの性質を何というか。

 

ア 再帰的

イ 再入可能

ウ 再配置可能

エ 逐次再使用可能

解説

 ア 再帰的 実行中のプロセスが自分自身を呼び出すことができることす。次々に呼び出しその結果をもらい順に戻ってくるので「再帰」と言います。
 イ 再入可能 あるプロセスから使用されている状態で、別のプロセスから呼び出され使用できることです。実行中でも「再入」できるとことが名前の由来です。これが、解答です。
 ウ 再配置可能 主記憶上での配置が可変なプログラムのこと。主記憶の決まった位置を占めるようなプログラムは、他のプログラムと同時に実行できる可能性がほとんどなくなります。
 エ 逐次再使用可能 プログラムは実行にあたって主記憶上に配置されます。実行の終了後も主記憶に配置したままで、すぐに使用できるのを、逐次再使用可能といいます。通常は、実行終了後、自分自身をメモリから消し、再度実行するときに新たにロードされます。この「逐次再使用可能」であれば、再度主記憶にロードする必要がありません。

 イの再入可能

解答 イ

 


問26

 プロセスの状態は実行、実行可能、待機の三つを基本と考えることができる。実行状態にあるプロセスがプリエンプションによって他のプロセスに実行を中断され、再び実行状態に戻るまでの状態遷移を表したものはどれか。

 

ア 実行 → 実行可能 → 実行

イ 実行 → 実行可能 → 待機   → 実行

ウ 実行 → 待機   → 実行

エ 実行 → 待機   → 実行可能 → 実行

解説

 プリエンプションというのは、実行中にタイム割り込みなどで、OSから実行中のプロセスを中断できる方式です。一般的にマルチタスクと言えば、プリエンプションです。

 タイマ割り込みで実行が中断されたプロセスは、そもそも自分自信に中断する理由はないので、実行状態(run)から実行可能状態(ready)になり、自分の番が回ったきたときすぐに実行状態(run)になります。

 ちなみにイ、ウの待機(wait)から実行(run)に遷移することはありません。 エは、実行しているプロセスが自分自身で割り込みを発生させ、入出力装置などを要求したときのパターンです。

 待機、実行、実行可能は、それぞれ、英語のwait、run、readyです。日本語より英語で考える方がケアレスミスが減りますので、おすすめします。

 よって、解答はアとなります。

解答 ア

 


問27

 セマフォを用いる目的として、正しいものはどれか。

ア 共有資源を管理する。

イ スタックを容易に実現する。

ウ スラッシングを減らす。

エ セグメンテーションを実現する。

解説

 セマフォという用語を知っているか問うのは頻出問題です。資源の排他制御を管理します。使っていいかどうかを表す、手旗信号(セマフォ)の役割をするものです。よって、アが解答です。

 確か、セマフォを使用した排他制御を提唱したのは、構造化プログラムで有名なダイクストラだったと思います。

 あと、イ、ウ、エにあたるものは、なんというのでしょうか?

解答 ア

 


問28

 資源X,Y,Zを占有して処理を行うプロセスA〜Dがある。各プロセスは処

理の進行に伴い、表中の数値の順に資源を占有し、実行終了時に三つの資源を一括して解放する。プロセスAとデッドロックの関係を起こす可能性のあるプロセスはどれか。

プロセス名

資源の占有順序

資源X

資源Y

資源Z

プロセスA

プロセスB

プロセスC

プロセスD

 

ア プロセスBだけ

イ プロセスCだけ

ウ プロセスB,C

エ プロセスB,C,D

解説

 デットロックとは、同時に実行されいるプロセス(タスク)が、それぞれに必要な資源にロックをかけ、お互いにそれが終わらないとロックを解放しない状態である。デットロックが発生すると、それを検出してその処理をキャンセルし、再実行する機構がOSに組み込まれている。

 プロセスAとプロセスDは、資源X、Y、Zの使用順序が一致しているので、互いにロックを掛け合うことは発生しません。それに引き替え、プロセスB、プロセスC、プロセスAとデッドロックの可能性があります。

解答 ウ

 


問29

 目的プログラムの実行時間を短くするためにコンパイラが行う最適化として、正しいものはどれか。ここで、"*"は乗算、"**"はべき乗を表すものとする。

ア X*XはX**2、X+XはX*2のように、同値の乗算はべき乗へ、加算は乗算へと演算の種類を変える。

イ 繰り返し回数の多いループは、繰り返し回数がより少ないループを複数回繰り返すように変形する。例えば、10,000 回実行されるループは、100 回実行されるループを100 回繰り返すようにする。

ウ 定数が格納される変数を追跡し、途中で値が変更されないことが確認できれば、その定数で置き換える。

エ プログラム中の2カ所以上で同じ処理を行っている場合は、それをサブルーチン化し、元のプログラムのその部分をサブルーチン呼出しで置き換える。

解説

 コンパイラが実行する最適化の問題です。毎年出題されるというわけでありませんが、よく出題され問題です。また、出題されないにしても、コンパイラがこのような最適化をすることを認識していないとソフトウエア技術者としては、失格でしょう。
 ア、イ、エはすべて、この反対が最適化でされることがある。それぞれ、その最適化の手法に名前がついています。???。

答えは、ウとなります。

解答 ウ

 


問30

 ソフトウェアパッケージに関する記述のうち、最も適切なものはどれか。

 ア 機能評価のために、ソフトウェアパッケージを開発段階で特定のユーザに使用してもらうことがある。これをベンチマークテストという。

 イ ソフトウェアパッケージには、個人が個人の目的のために開発・利用するものも含まれる。

 ウ ソフトウェアパッケージを購入した場合には、必ず保守契約を結ばなければならない。

 エ ユーザの業務や組織に適合させるために、ソフトウェアパッケージに対してカスタマイズを行うことがある。

解説

 カスタマイズに対して、パソコンユーザーとオフコン・大型機のユーザーではだいぶ違いがあると思います。パソコンでは、画面の色とか、日付の表示パターンの変更などがカスタマイズとされています。しかし、オフコン・大型機の世界では、パッケージソフトをソースごと購入し、自社用に変更します。それをカスタマイズと通常いっています。答えは、この後者の場合の話で、エとなります。

 ア このような機能評価をベータテストといいます。アルファテストとは、開発したメンバー(会社)内でのテストを指します。ベンチマークとは、性能評価用のテストを走らせ性能値を測定することです。
 イ 流通を前提にしているのがソフトパッケージです。
 ウ 保守契約を結ぶかどうかは、購入者の決定する事項です。
 エ パソコンなどのパッケージソフトはソースを触るようなカスタマイズは普通しません。オプションの設定を変えるぐらいです。しかし、オフコン、大型機などは、ソースの修正を含めて、カスタマイズが前提で販売されているパッケージソフトが多いです。カスタマイズを専用に引き受ける会社(ソフトハウス)が多くあります。

解答 エ

 


spage@yscon.co.jp

末広ページへ このコーナーの目次へ