基本情報技術者(2種)−V

 

このページでは、しゅんぜい氏の発行されているメルマガのうち「基本情報(2種)」について

編集して掲載しています。

[ ホーム ] [ 上へ ]


平均アクセス時間(H12.秋 2種 問22)

 表の仕様の磁気ディスク装置において、512 バイト(1セクタ)のデータの
 呼出しが終了するまでの平均時間は約何ミリ秒か。

  ┌―――――――――┬――――――――――――┐
  │データ長     │ 512バイト/セクタ │
  ├────────―┼──────―─────┤
  │平均回転待ち時間 │    6ミリ秒    │
  ├───────―─┼─────―──────┤
  │平均シーク時間  │    9ミリ秒    │
  ├────────―┼────―───────┤
  │データ転送速度  │ 128kバイト/秒  │
  └―――――――――┴――――――――――――┘

 ア 10
 イ 16
 ウ 19
 エ 55

> ☆髪と鉛筆を持ってきて計算しましょうね。



━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解答■(出典:H12.秋 2種 問22)
----------------------------------------------------------------------
 ウ 19

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解説■
----------------------------------------------------------------------
 引き続き、アーキテクチャの特集です。
 今日は、予想通り(?)磁気ディスクの計算問題でした(^^;
 昨日に引き続き、基本情報技術者向けですね。


 昨日の図を再び見てみましょう。

  │                            │
  │←───────── アクセス時間 ─────────→│
  │                            │
  ├┬────────┬────────┬─────────┤
  ││←位置決め時間→│←回転待ち時間→│         │
  ││        │        │←データ転送時間→│
  │                  │         │
  │←───── 待ち時間 ─────→│         │
  │                  │         │

  ↑                  ↑         ↑
 ┌─────────┐  ┌───────┐  ┌───────┐
 │制御装置が読み書き│  │読み書きの  │  │読み書きの  │
 │の指令を出す   │  │動作が開始する│  │動作が終了する│
 └─────────┘  └───────┘  └───────┘


 この図で出てくる言葉と問題文の表の言葉は若干違っていますので、
 問題文の言葉の説明を付け加えておきましょう。

> 1.平均シーク時間(平均位置決め時間)

   問題文の平均シーク時間(平均位置決め時間ともいいます)は、
   上の図では位置決め時間に対応します。

   平均という言葉がつく理由は、アクセスアームの位置決めを行うときに
   かかる時間の平均(期待値)という意味です。

> 2.平均回転待ち時間

   上と同様に「平均」という言葉がついているのは、ディスクが回転する
   ときにかかる時間の平均だからです。

   これらを平均した「平均待ち時間は1回転の2分の1」と表せます。

> 3.データ転送速度

   問題文は「速度」になっていますが、これを時間に直せば「データ転送
   時間」ですので、昨日の図と対応していますね。



 これらをそれぞれ求めて、すべて足せば平均アクセス時間が求まります。
 では、求めていきます。

> 1.平均シーク時間(平均位置決め時間)

   これは、問題文から 9 ミリ秒ということがわかります。


> 2.平均回転待ち時間

   これも、問題文から 6 ミリ秒とわかりますね。


> 3.データ転送時間

   問題文の「データ転送速度」を「データ転送時間」に直します。
   表にある「データ長」を使いましょう。

   「速度」を「時間」に直すと言ってもやり方はいろいろありますが
   小学校で習った「速さと時間と距離の関係」を使えば・・・(^^;

   データ転送時間 = データ長 ÷ データ転送速度
           = 512 ÷ 128,000
           = 0.004(秒)
           = 4(ミリ秒)

   したがって、データ転送時間は 4 ミリ秒です。


 最後に、1〜3までを全部足すと

 平均アクセス時間 = 平均回転待ち時間 + 位置決め時間 + データ転送時間
          = 6 ミリ秒 + 9 ミリ秒 + 4 ミリ秒
                   = 19 ミリ秒

 よって、正解は「ウ」になります。

戻る


著作権(H12.秋 2種 問78)
----------------------------------------------------------------------

 著作権に関する記述のうち、適切なものはどれか。

 ア M社の業務プログラムは、分析から製造までの一切をN社が請け負って
   開発した。このプログラムの原始的著作者はM社である。

 イ 既存のプログラムのアイデアだけを利用して、同一目的のプログラム
   すべてを新たに作成した場合でも、既存プログラムの著作権侵害になる。

 ウ 著作権及び著作者人格権は、他人に譲渡することができる。

 エ 日本国内においては、著作物に著作権表示が明記されていない場合でも、
   無断で複製して配布したときには著作権の侵害になる。

----------------------------------------------------------------------

 ややっこしい著作権の問題でしたが、「ア」or「エ」に分かれました。
 それでは、みなさんの回答を紹介します。


 まずは「ア」を正解とした方から。

> ア 請負の場合は、その依頼主が著作者だったと思います。
>   よって正解。
> 
> イ ちょっとした例を挙げてみましょう。
>    
> ・A氏はC言語で scanf を使って入力をし、その値を printf で出力する
>  プログラムを作りました。
> ・B氏はそれを聞いて、「自分は別の関数を用いて、同じような動作をする
>  プログラムを作ろう」と思い、gets で入力し puts でその文字列を出力す
>  るプログラムを作りました。
>    
>  果たしてこれが著作権の侵害になるでしょうか?
>  なりようがないと思います。よって不正解。
>
> ウ できなかったはずです。不正解。
>
> エ それを防ぐには、この日本に存在し得る「人の手によって生み出された
>   全ての物」について知っておかなければなりません。
>   ほぼ無理ですよね。よって不正解です。

 「イ」に関しては、アイデア(アルゴリズム、ノウハウ)は著作権保護の
 対象外ですので、著作権侵害にはなりません。この例でも良いと思います。

 「ア」「ウ」「エ」に関しては、もう少し見てみましょうか。
 どうもありがとうございました。


>  ア 正しい。プログラムは依頼した会社のものになる・・はず。
>  イ アイデアは著作権の侵害にはならない・・と思う
>  ウ 著作者人格権は、他人に譲渡することができないのでは?
>  エ 著作権表示が明記されていないと、認められない場合もある?
> 
> という事で、アだと思います。
> しかし、著作権って詳しくされると難しいですね。 
> 引用したら引用先を書けとか、自分のもののようにHPをリンクしては
> いけないとかは分かるのですが・・・
> 他の方々の詳しい説明を待ちます。

 引用する場合は引用先を書くのは必須ですが、著作者の許諾は不要です。
 転載する場合は、著作者の許諾が必要になります。

 また、リンクに関しては「リンク=参照機能」なので、リンクを貼る場合は
 「法的には許される参照の範囲」でリンクを貼ることが可能です。

 許される参照と言うのは、「著作権法32条の引用の範囲で行う」という
 ことなので、「リンクを張ることに許諾が必要?」いうことに関しては、
 法的には許諾はいらないことになります。

 普通のサイトにリンクする分には、実は無断リンクも問題はないのです。
 まぁ、普通はリンクしますよ〜って言いますね(^^;


 話がそれましたが、まだ「ア」「ウ」「エ」がはっきりしてませんね。
 以下は、「エ」を正解にした方です。

> まずアの選択肢ですが、請負契約の場合、特に定めなければ
> 著作権は実際に開発した側にあるはずなので、不正解。
> 次にイの選択肢ですが、著作権というものはアイデアではなく、
> 表現を保護する権利だったと思うので、これも不正解。
> 次にウの選択肢ですが、これははっきり言って分かりません。
> ですが次のエの選択肢は合っていると思います。
> なぜなら、確か著作権は作品を作った時点から発生するはずなので、
> 明記されていなくても侵害になると思ったからです。
> ということで答えは エ だと思います。

 「ア」は「原始的著作者」という言葉がポイントです。
 原始的著作者はN社なので、「ア」は間違いです。(説明は下で)

 「エ」に関しては「著作権は作品を作った時点から発生」しますので
 これが正解です。どうもありがとうございました。


> ア N社が請け負って開発したので,原始的著作者は「N」社である。
> 
> イ アイデアは著作権で保護されていないので,著作権侵害に「ならない」
> 
> ウ 著作権は譲渡できるが,「著作者人格権は譲渡できない」。
> 
> エ (正解)

 「ウ」は、これで良いですね。シンプルながら的確な回答です(^^)/
 どうもありがとうございました。


> 回答:エ
> 解説
> ア:「原始的著作者」の意味が理解できていませんが、以下の過去
>   問から、特に契約上定められていないときの著作権は請負側に
>   あると判断できると思います。
> 
> ■平成11年一種午前72■
>  開発されたプログラムの著作権の帰属に関する規定が契約に定め
> られていないとき,その著作権の原始的な帰属について適切なもの
> はどれか。
> 
>  ア 請負の場合は発注先に,派遣の場合は派遣先に帰属する。
> 
> 
> 
> イ:アイディア、ノウハウ、アルゴリズムは著作権保護の対象にな
>   らない。
> 
> ■平成9年上級シスアド午前34■
>  著作権によって保護の対象になり得るものはどれか。
> 
>  ア プログラム中のアイディア
> 
>  イ プログラムに含まれるノウハウ
> 
>  ウ プログラムのアルゴリズム
> 
> ○エ プログラムの表現自体
> 
> 
> 
> ウ:著作者人格権は、他人に譲渡することができない。
> 
> ■平成11年春二種午前79■
>  ソフトウェアの著作権に関する記述のうち,適切なものはどれか。
> 
>  ア 共同開発したソフトウェアの著作権は,契約の有無にかかわ
>   らず,開発者間で均等に分割保有しなければならない。
> 
> ○イ 社内のプロジェクトで開発したソフトウェアの著作権は,契
>   約で特に定めない限り,会社にある。
> 
>  ウ ソフトウェアハウスに開発を委託したソフトウェアの著作権
>   は,契約の有無にかかわらず,常にソフトウェアハウスにある。
> 
>  エ 著作権登録申請によって,著作者人格権を含めて著作権を譲
>   渡できる。
> 
> 
> 消去法でエを正解としましたが、「日本国内においては、」などエ
> の選択肢が正しいかどうか、理解していません。

 「原始的著作者」とは、実際に作成した人を指します。

 例えば、「ア」の問題のような場合は、実際に作成に携わった個人が著作者
 にもかかわらず、著作権者は法人になるので、このような言葉を使います。

 「エ」に関しては、少なくとも日本国内では、無断で複製して配布した
 ときには、著作権の侵害になるのではないでしょうか?

戻る


シリンダ数計算(H12.秋 2種 問23)

 表の仕様の磁気ディスク装置に、1 レコード 200 バイトのレコード
 10 万件を順編成で格納したい。10 レコードを 1 ブロックとして記録する
 ときの必要シリンダ数は幾つか。ただし、一つのブロックは複数のセクタに
 またがってもよいが、ブロック長が 256 の倍数でないとき、最後のセクタ
 で余った部分は利用されない。

   ┌──────────┬─────┐
   │トラック数/シリンダ│   19│
   ├──────────┼─────┤
   │セクタ数/トラック │   40│
   ├──────────┼─────┤
   │バイト数/セクタ  │  256│
   └──────────┴─────┘

 ア 103
 イ 105
 ウ 106
 エ 132

> ☆紙(×髪)と鉛筆を持ってきて計算しましょうね。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解答■(出典:H12.秋 2種 問23)
----------------------------------------------------------------------
 ウ 106

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解説■
----------------------------------------------------------------------
 引き続き、アーキテクチャの特集です。
 今日は、磁気ディスクの計算問題でした。

 問題文に出てくるセクタやトラックなど用語は、ハードディスクの記憶面を
 分割した時の名称(単位)です。ハードディスクの記録面の図のイメージが
 ないとわかりにくいと思いますが、次のような関係です。

   セクタを集めたのがトラック
   トラックを集めたのがシリンダ

 今回の問題では、1 トラック = 40 セクタ、1 シリンダ = 19 トラック
 という関係になっていることが、表よりわかります。


 まぁ、月曜日なので、さらっと解いていくことにしましょう。

 まず、1 レコード 200 バイトのレコードを 10 レコードを 1 ブロックと
 して記録するので、

   200 × 10 = 2000 バイト

 さらに表から、1 セクタ= 256 バイトとあるので

   2000 ÷ 256 = 7.8 セクタ

 よって、「最後のセクタで余った部分は利用されない」ことから、
 1 ブロックを 8 セクタとして、レコード 10 万件分(つまり、10000 
 ブロック分)格納するので

   8 × 10000 = 80000 セクタ

 問題の表の 1 トラック = 40 セクタ、1 シリンダ = 19 トラック を
 用いれば

   80000 ÷ 40 = 2000 (トラック)

   2000 ÷ 19 = 105.26 (シリンダ)


 したがって、106 シリンダ 必要になります。


 #まぁ、今日の解説は参考程度ってことで(^^;
  あわてて書いたので、めちゃくちゃかもしれません。m(_ _)m

戻る


グラフ(H12.秋 2種 問68)
----------------------------------------------------------------------

 区間の幅、区間と区間の境界値を定め、測定データの個数の分布を表す
 棒グラフはどれか。

 ア 散布図 
 イ 特性要因図
 ウ パレート図
 エ ヒストグラム

----------------------------------------------------------------------

 それでは、みなさんの回答を紹介します。
 今回も力作ぞろいですね(^^)/ プレゼント効果?(笑)

> ア 散布図 は、境界が無い分布図なので違うと思います
> イ 特性要因図は分布図ではない
> ウ パレート図は多い順に並べて累計の折れ線グラフのついたもの
> エ ヒストグラム正解

 「ア」の境界がない分布図と言うのは、ちょっとおかしな表現かも。
 どうもありがとうございました。


> ア 散布図
>   …これは2つのデータ間の相関を調べるときに使われる図です。
> イ 特性要因図
>   …これはフィッシュボーン図とも呼ばれ、魚の骨のような形の図です。
> ウ パレート図
>   …これは、値の大きい項目順に並べた棒グラフと、その累計を表す
>    折れ線グラフを重ねて表示した図です。
> エ ヒストグラム
>   …これが正解です。確か中学の数学で習った気がします。

 そうですね。ヒストグラムは、中学の数学で登場します。
 どうもありがとうございました。


> ア 散布図:通常のX-Yグラフ
>   (点を結ばないことが多い.近似線を引いたりする)
> 
> イ 特性要因図:ある現象の要因をだんだん細かく枝分かれさせたもの.
>   魚の骨みたいな.(だったよね?)
> 
> ウ パレート図:量が多いものから並べた棒グラフ+累積折れ線グラフ
> 
> エ ヒストグラム:ある区間の数を棒グラフで表した分布図.(度数分布図)
> 
> という訳で,エ.
> 
> 他に出てくるグラフは,
> ・レーダーチャート(クモの巣状.バランスを見る)
> ・円グラフ(円を扇形で分ける.割合が一目で分かる)
> と言ったとこですか.

 レーダーチャートは、昨日の「選択肢で勉強しよっ!」でやりました。
 どうもありがとうございました。


> > ア 散布図 
> 対応する2種類のデータをそれぞれ縦軸と横軸にとり、2種類のデータの
> 相関関係を表した図のことです。
> 
> > イ 特性要因図
> 特定の結果とそれに影響を及ぼすと思われる原因との関係を体系的に表した
> 図のことで、「さかなの骨」とも言われています。
> 
> > ウ パレート図
> データを項目別に集計し、大きい順に並べた棒グラフと、その累積和を示す
> 折れ線グラフで表した図のことです。
> 
> > エ ヒストグラム
> これが正解です。

 どうもありがとうございました。


> QC7つ道具は必ずといっていいほど試験に出ますよね。
> 
> ア → データの位置を点で表し、どのあたりにデータが集中している
>     かを見るためのもの。なので、×です。
> 
> イ → 物事の流れを見る為に、思いつく要因を全て書き出す時に使用
>     します。表現の仕方が魚の骨みたいになる為、
>     「フィッシュボーン」という別名があります。
> 
> ウ → 全体の構成を見る為に、折れ線グラフと棒グラフとでデータの
>     構成を表したもの。
>     棒グラフ・・・・・各項目のデータの割合/全体、
>     折れ線グラフ・・・各項目の全体の位置
>              (←ちょっと御幣があります。)
>              最終的には100パーセントになる。
> 
> エ → データの存在範囲を見る為に、範囲を区切って棒グラフで表現
>     したもの。
> 
> とても変な説明ですが、QC7つ道具はそれぞれ使い方に特徴があるので、
> その特徴を覚えていたら分かると思います。今回の問題である、
> 
> >  区間の幅、区間と区間の境界値を定め、測定データの個数の分布を表す
> 
> この段階で、「分布」という言葉から、特性要因図でないことが確実に分か
> ります。
> 
> >  棒グラフはどれか。
> 
> ここで、散布図も違うことが確実に分かります。絞られた答えである、
> パレート図とヒストグラムですが、パレート図だと「折れ線グラフ」でも
> 表現するのですから、違うことが分かります。

 どうもありがとうございました。次回はハンドル名もお願いします。


 ここからは、図入りです!

> アの散布図は、2つの変数の関連を知るために、それぞれを
> 縦軸、横軸にとって、観測値をポイントしたものです。
> よく2種の午前午後の得点の分布状況から合格の範囲とか見る時に
> 出てきますね。
> 
> 午前
>  ↑  ・  ・   
>  |   ・    ・
>  | ・ ・・ ・  
>  |・   ・  ・ 
>  |         
>  +−−−−−−−→ 午後
> 
> イの特性要因図は、魚骨って言うとイメージがわくんですが、
> ある問題(製品の品質とか)とその要因を体系づけて
> 一目でわかるようにしたものです。
>                     /−量が多すぎる
>           /−機械が古い  /
>          /−機械の破損  /−特注品が多い
>         /        /
> 不良品がある  −−−−−−−−−−−−− 
>           |
>           |−材料の質が悪い
>           |
>          
> ウのパレート図は、重点管理すべきものを決定するときに使われる
> もので、横軸の項目別にわけて、出現度数の多いものから順に
> 並べたもの。
> 
>        不良品について
>  |
>  |  _
>  | | |
>  | | |  _
>  | | | | |  _
>  | | | | | | |  _
>  | | | | | | | | |
>  +−−−−−−−−−−−−−−−−−−−
>     傷   むら  ずれ  破損
>         
> 
> エのヒストグラムは、テストの点数と人数の分布とかを表すのに
> よく使われますが、測定値を区間でわけ、ぞの度数に応じた面積を
> 持つ長方形をならべたもの。
> 
>  |          _
> 10|         | |
> 8 |         | |
> 6 |         | |  _
> 4 |      _  | | | |
> 2 |  _  | | | | | |  _
>  | | | | | | | | | | |
>  +−−−−−−−−−−−−−−−−−−−−−
>     0-20   20-40   40-60   60-80   80-100

 見事に図で表現してもらっているのですが、「ウ」のパレート図の説明は
 少し足りません。折れ線グラフも含みます。
 どうもありがとうございました。


> 解答:エ
> 解説
> 
> 散布図
> 対応する2種類のデータを縦と横軸にとり、測定値を点で書き込み
> 点の散らばり具合によって2つのデータの相関関係を調べる時に使
> 用される。
> 
> │              .       ::
> │         .        :::::
> │             :::::::::
> │    .     ::::::::::::
> │       :::::::::::      .
> │     ::::::::        .
> │    ::::::       .
> │   :::
> └―――――――――――――
> 
> 特性要因図
> 特性(結果)とそれに影響を及ぼす要因(原因)との関係を整理し
> て主要な原因を探り出すもの。魚の骨のような図であるため、フィ
> シュボーン図と呼ばれる。
> 
>        ┌――┐      ┌――┐ 
>        └――┘      └――┘
>          \         \  
>        ―――\         \
>            \         \
>         ―――――――――――――――――――→
>           /        /
>          /     ―――/
>         /        /
>       ┌――┐     ┌――┐ 
>       └――┘     └――┘
> 
> 
> パレート図
> データを大きい順に並べた棒グラフと、それらの累積和を表わす折
> 線グラフを重ねた複合グラフ。ABC分析や問題点の発見・分析な
> どに用いられる。
> 
> │                     ・ ・  ・   ・  ・
> ├―┐            ・
> │ ├―┐     ・
> │ │ │・
> │ │・├―┐
> │ │ │ ├―┐
> │・│ │ │ ├―┐
> │ │ │ │ │ ├―┬―┬―┬―┬―┐  
> └―┴―┴―┴―┴―┴―┴―┴―┴―┴―┴―
> 
> 
> ヒストグラム
> データ全体の特性やばらつきを把握するのに用いられる。データの
> 範囲をいくつかの区分に分割し、それぞれの区間に入るデータの出
> 現度数を棒グラフで表わす。
> 
> 
> │
> │
> │      ┌┐
> │      ││┌┐
> │    ┌┐││││
> │  ┌┐││││││┌┐
> │  ││││││││││┌┐
> │┌┐││││││││││││
> └┴┴┴┴┴┴┴┴┴┴┴┴┴┴―

 恐れ入りました(^^; この図は、永久保存物ですね。
 どうもありがとうございました。

戻る


タスク管理(H12.春 2種 問34)

 タスク管理の役割として、適切なものはどれか。

 ア 各種の補助記憶装置へのアクセス手段を、装置に依存しない形態で
   提供し、応用プログラム作成の負担を軽減する。

 イ 仮想記憶空間を提供し、実記憶を有効に利用する。

 ウ 入出力装置の制御を行い、正確かつ効率良く入出力装置を動作させる。

 エ マルチプログラミングの制御を行い、CPU を有効に利用する。




━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解答■(出典:H12.春 2種 問34)
----------------------------------------------------------------------
 エ マルチプログラミングの制御を行い、CPU を有効に利用する。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解説■
----------------------------------------------------------------------
 今日から、OS(Operating System) の問題です。

 OS(オペレーションシステム)とは・・・

 ・複数の入出力を管理する入出力管理、
 ・記憶装置の物理的な違いを意識しないでデータをファイルとして
  管理するデータ管理
 ・仮想記憶を用いて主記憶(メインメモリ)を有効的に扱うメモリ管理
 ・ハードウェアをどのように利用するかを制御するタスク管理

 など、多くのアプリケーションから利用される基本的な機能を提供し、
 システム全体を管理するソフトウェアのことです。

 具体的には、Windows98/NT/2000 , UNIX 系の Linux や FreeBSD , Mac OS
 などがそうですね。

 今日の問題は、上に書いたような OS の様々な機能に関する問題でした。
 選択肢を順に見ていきましょう。


> ア 各種の補助記憶装置へのアクセス手段を、装置に依存しない形態で
>   提供し、応用プログラム作成の負担を軽減する。

   これは、データ管理のことです。
   データ管理とは、記憶装置の物理的な違いを意識せずに、
   ファイルという概念で管理することを言います。


> イ 仮想記憶空間を提供し、実記憶を有効に利用する。

   これは、記憶管理のことです。
   主記憶を有効利用することで、システム全体の利用効率を高めます。
   もう少し言うと、主記憶と仮想記憶を管理をする機能ですね。


> ウ 入出力装置の制御を行い、正確かつ効率良く入出力装置を動作させる。

   これは、入出力管理ですね。
   文字通り、入出力装置の制御を行い、利用効率を高めます。


> エ マルチプログラミングの制御を行い、CPU を有効に利用する。

   これが、タスク管理です。
   タスク管理とは、マルチプログラミングの制御に CPU などを効率的に
   配分することにより、複数のタスクを効率よく処理します。

   マルチプログラミング(multiprogramming) とは、
   同時に複数のプログラムが動いているかのように処理を行うことです。
   メールソフトとブラウザなどを同時に立ち上げても利用できるのは、
   OS がタスク管理をしっかり行っているからです。

戻る


クリティカルパス(H12.春 2種 問71)

 図のアローダイアグラムで表される業務について,作業内容を見直した
 ところ,作業 D だけが 3 日間短縮可能であることが分かった。
 業務全体の所要日数は何日間短縮できるか。ここで,点線の矢印は疑似
 (ダミー)作業である。

              →( 4 )─────→( 5 )
             /  ↑  作業 E  : \
       作業 B  /   │  (3 日)  :  \作業 G
       (3 日) /    │       :   \(3 日)
  作業 A     /     │       :    \
  (5 日)    /   作業 D│       :     ↓
( 1 )───→( 2 )   (10 日) │       :     ( 7 )
         \      │       :     ↑
          \     │       :    /
        作業 C\    │       :   /作業 H
        (5日)  \   │  作業 F  :  / (6 日)
             \  │  (12 日)  ↓ /
              →( 3 )─────→( 6 )


 ア 0     イ 1     ウ 2     エ 3

 Special thanks! ( http://www.sam.hi-ho.ne.jp/ike3/ )

----------------------------------------------------------------------

 さて、みなさんの回答を紹介します。

 まずは参考までに、間違った回答から行きます(^^;

> 間違ってもめげずに解く!
> この根性がいつかは実るはず・・多分・・だといいな。(笑)
> 
> アだと思います。
> 
> 行程を追いかけると、Aで5日・Bで3日・Cで5日・Dが10日→7日へ変更
> ですが、Fで12日・Hで6日かかります。
> Dが短縮されても、作業F・Hにとりかかるまでの日数は変わりません。
> そして、作業E・Gが終了(5+5+7+3+3)するよりも、
> F・Hが終了(5+5+12+6)する方が日がかかります。
> という事でDを短縮しても、全体の所要日数は短縮されないと思います。

 この回答は、頭の中で日程管理を行うとやってしまう考え方です(^^;
 アローダイアグラムは、日程管理を効率的に考えるためにあるものなので
 図の見方を覚えてくださいね。どうもありがとうございました。

> 答えは「ア」
> 短縮できないです。
> 
> 場合分けして所要日数を計算すると、
> 現状は、
> a) 1 -> 2 -> 3 -> 4 -> 5 -> 7 = 5 + 5 + 10 + 3 + 3
>                   = 26日間
> b) 1 -> 2 -> 3 -> 6 -> 7       = 5 + 5 + 12 + 6
>                   = 28日間
> c) 1 -> 2 -> 4 -> 5 -> 7       = 5 + 3 + 3 + 3
>                       = 14日間
> 
> a) の10日を7日に変更しても b) の日数は変わらないので短縮できない。

 この回答は、ダミー作業を考えていないようです。

 ダミー作業というのは、矢印とカッコの数字(本来は丸印)だけでは
 順序関係を完全に表現できないため、これを解消するために使います。
 ダミー作業は点線で表しますが、所要日数が0日の矢印(アクティビティ)
 と考えればOK!です。どうもありがとうございました。


 さて、ここからは正しい回答です。

> こういう問題では、クリティカルパス(その作業の遅れが全体の所要日数に
> 影響を与える箇所を結んだ経路)を見つけることが重要です。
> 要するに一番所要日数のかかる経路を選べば良いのです。
> ここで擬似(ダミー)作業とは、実際には作業は行いませんが、この作業が
> 出来ていないと次の作業に進めないという関係を表しています。
> 
> 以上を考慮しますと、最初クリティカルパスは
> (1)→(2)→(3)→(4)→(5)→(6)→(7)で、
> 全体の所要日数は29日間です。
> 次に、作業Dを3日間短縮するとクリティカルパスは
> (1)→(2)→(3)→(6)→(7)となり、
> 全体の所要日数は28日間になります。
> よって1日短縮されたので、答えは    イ    です。

 この回答が一番自然な回答ですね。どうもありがとうございました。


> イ 1 だと思います。
> 
> 最遅結合点(だったと思うんですが)を調べると、作業Dの作業を10日で
> 計算した場合7の時、29日だったんですが、
> 作業Dの作業を7日で計算すると28日だったんで、短縮できるのは、
> 1日だけだと思います。

 最遅結合点という言葉が正しいかはちょっとわかりません。m(_ _)m
 どうもありがとうございました。

> 答え:イ 1 日短縮できるだけ。
> 
> 作業全体が何日短縮できるかを調べる必要があります。
> このためにクリティカルパスを計算します。
> 全体を通して一番作業時間のかかる経路がクリティカルパスです。
> 
> 例えば、( 2 )→( 4 )の経路について見てみると、
> ( 2 )→( 4 )と、( 2 )→( 3 )→( 4 )の2つのルートが考えられます。
> ( 2 )→( 4 )であれば作業 Bだけなので3日で終わりますが、
> ( 2 )→( 3 )→( 4 )の場合、作業 Cと作業 Dをこなさなくてはなりません。
> この場合にかかる日数は作業 C の5日+作業 D の10日=15日です。
> ( 4 )から( 5 )へ作業を進めるためには両作業を完了させねばならないので
> 作業 B がどんなに早く終わろうと、作業 C + D が終わっていなければ
> 先に進むことは出来ません。
> つまり( 2 )→( 4 )のクリティカルパスは、作業 C →作業 D となります。
> クリティカルパスの作業が遅れると業務全体の遅れにもつながるため
> この経路を重点管理する必要があると言えます。
> 
> また、( 5 )→( 6 )にあるダミー作業ですが、
> 両者の間に直接的な作業が発生するわけではないけれども、
> ( 6 )の作業を開始する前提条件として( 5 )が完了している必要がある、
> というものです。
> つまり作業 H を開始するためには、作業 E と作業 F 両方
> 終わっていなければなりません。
> これらをもとに作業時間を割り出します。
> 
> 見直し前の作業時間の場合、
> 作業 A →作業 C →作業 D →作業 E →(ダミー)→作業 H
> がクリティカルパスに該当します。
> かかる日数は
>  5日 + 5日  + 10日  + 3日 +  0  + 6日  =  29日
> となります。
> 
> 次に見直し後の作業時間について見た場合、
> 作業 D にかかる日数が短縮され、7日となります。
> この変更によって、( 3 )〜( 6 )にかかる日数が変わります。
> 
> 見直し前:( 3 )→( 4 )→( 5 )→( 6 )[10日 + 3日 + ダミー = 13日]
>   ( 3 )→( 6 )    [作業 F      = 12日]
> 
> 見直し後:( 3 )→( 4 )→( 5 )→( 6 )[7日 + 3日 + ダミー = 10日]
>   ( 3 )→( 6 )    [作業 F      = 12日]
> 
> よってクリティカルパスも変更が生じ、
> 作業 A →作業 C →作業 F →作業 H 、
>  5 日 + 5 日  + 12日  + 6 日  =  28日 かかなります。
> 作業 F が12日かかるので、作業 D を 3 日短縮できても
> 業務全体では 1 日しか短縮できません。

 ていねいでわかりやすい回答ですね。最後の「作業 D を 3 日短縮できても
 業務全体では 1 日しか短縮できません」という部分がアローダイアグラム
 を書くことによるメリットの1つですね。どうもありがとうございました。


> クリティカルパス(critical path:決定的な道筋)という奴の問題ですね.
> 私は割と愚直に解いてしまいます.
> 
> まず,(1)→(2)→(3)を通るパスは
> A:1→2→3→4→5→6→7
> B:1→2→3→4→5→7
> C:1→2→3→6→7
> 
> 次に,(1)→(2)→(4)を通るパス(道)は
> D:1→2→4→5→6→7
> E:1→2→4→5→7
> 
> A:1→2→3→4→5→6→7
>    5+5+10+3+0+6 =29日
> 
> B:1→2→3→4→5→7
>    5+5+10+3+3 =26日
> 
> C:1→2→3→6→7
>    5+5+12+6 =28日
> 
> D:1→2→4→5→6→7
>    5+3+3+0+6 =22日
> 
> E:1→2→4→5→7
>    5+3+3+3 =14日
> 
> 最も時間の掛かる(全体日程を決定する)のはAで29日
> 
> 3→4(D)が3日短縮されるので,7日(←10日)になり
> A:1→2→3→4→5→6→7
>    5+5+7+3+0+6 =26日
> 
> B:1→2→3→4→5→7
>    5+5+7+3+3 =23日
> 
> と,Aは3日短縮されます.が,
> Cは「28日のまま」ですので,クリティカルパスはこの時Cとなり
> 全体の日数は 28日←29日と一日しか短縮されません.
> よって,答えは「イ」
> 
> ※ アローダイヤグラムでの注意点には,
> 「経由する工程の数が多いからと言って時間が掛かるとは限らない」
> というのがあります.
> この問題で言うと,短縮後には
> (3)→(4)→(5)→(6)には7+3=10日しか掛かりませんが
> (3)→(6)には12日掛かります.
> 
> [余談]
> 疑似(ダミー)作業というのは,この問題で言えば
> ・作業 H を始めるには,作業 F と E の両方が終わっていなければ
>  ならない.
> ・では作業 E を(6)の方に結べば...
> ・すると作業 G と作業 H が描きにくい.
> という場合に使うものです.
> (ダミー作業無しに図を描き直してみようとすれば分かると思います.)

 クリティカルパスを「決定的な道筋」と訳すと、わかりやすいですね。
 また、アロー(arrow) は「矢印」、ダイアグラム(diagram) は「図で表す」
 という意味です。どうもありがとうございました。


> 解答:イ
> 解説
> 
> PERT ( program evaluation and review techbique )
> 日程管理や工程管理に使う図式的な手法。システム開発や工事の実
> 施計画などを組む場合、どのような方法で、どのような工程の進め
> 方をしたら人員・資材・工期を短縮できるかを計画立案する。目標
> を達成するために必要な諸活動を時間的に定義し、作業の進行状況
> を管理する手法。
> (学研:情報システム辞典)
> 
> クリティカルパス ( critical path )
> PERT に関連する用語。アローダイヤグラム上のすべての経路 ( pa
> th ) のうちで矢線の長さ(所要時間や移動距離、費用など)がも
> っとも長くなる経路。全体余裕が 0 のアクティビティを結んでで
> きる経路である。通常、アローダイヤグラム中では太線で表示する
> この経路があるために、ほかの工程の進度に関係なしに全体の距離
> や時間が決まるため、この経路上の作業を重点管理し、クリティカ
> ルパスを短くするように生産設備や労力を転用する。
> (学研:情報システム辞典)
> 
> 作業Dを、3日短縮する前のクリティカルパスを求める
> 全経路の日数を計算する
> 
> A B E G    5+3+3+3  =14
> 
> A B E H    5+3+3+6  =17
> 
> A C D E G  5+5+10+3+3=26
> 
> A C D E H  5+5+10+3+6=29
> 
> A C F H    5+5+12+6  =26   
> 
> クリティカルパスは、ACDEHの29日である。
> この内、作業Dを 10日から7日にすると変更となる経路は
> ACDEG
> ACDEH の経路である。この2つを再計算する
> 
> A C D E G  5+5+7+3+3=23
> 
> A C D E H  5+5+7+3+6=26
> 
> 作業短縮後のクリティカルパスはACFHの28日となり
> その差は29日−28日=1日である。
> 
> それでは過去問です。
> ■平成8年上級システムアドミニストレータ午前36■
>  日程計画において PERT を用いると把握できることはどれか。
> 
>  エ どの仕事が遅れると,全体に影響を与えるかが分かる。
> 
> ■平成11年秋二種午前66■
>  PERT を用いてシステム開発プロジェクトの実施計画を作成し,
> クリティカルパスを算出した。クリティカルパスの利用の仕方とし
> て,適切なものはどれか。
> 
>  ウ プロジェクト全体の遅れに直結する作業を把握することが
>   できる。
> 
> ■平成12年春二種午前67■
>  進捗管理に用いられるガントチャートの特徴として,適切なもの
> はどれか。
> 
>  ア 作業遅れによるほかの作業への影響を明確にすることができる。
> 
>  イ 作業の順序関係を明示することができる。
> 
>  ウ 進捗管理上のポイントであるクリティカルパスを明確にする
>   ことができる。
> 
>  エ 日程について予定と実績を対比することができる。
> 
> 正解はエですが、選択肢のアイウが PERT の説明です。

 日程計画では、PERT や CPM(Critical Path Method) などのネットワーク
 技法がよく使われます。ここに載っている選択肢の内容もしっかり押さえて
 おきましょう。どうもありがとうございました。
戻る

タスクの状態遷移(H12.春 2種 問33)

 プロセスは、実行可能状態(ready)、実行状態(running)、待ち状態(wait) を
 遷移しながら実行される。プロセスの状態遷移に関する記述のうち、適切な
 ものはどれか。

 ア CPU 処理と入出力処理が交互に現れるプロセスを複数個同時に
   実行させると、各プロセスは実行状態と待ち状態の二つの状態間だけを
   遷移する。

 イ 実行可能状態とは、CPU の割当てを待っている状態をいう。実行可能
   状態のプロセスは一般に複数個存在し、これらは待ち行列を形成する。

 ウ 時分割処理を行っているシステムでは、実行状態のプロセスは、
   一定時間が経過すると、待ち状態に遷移する。

 エ マルチプログラミングシステムでは、CPU が1個でも、実行状態の
   プロセスは複数個存在する。






━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解答■(出典:H12.春 2種 問33)
----------------------------------------------------------------------
 イ 実行可能状態とは、CPU の割当てを待っている状態をいう。実行可能
   状態のプロセスは一般に複数個存在し、これらは待ち行列を形成する。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解説■
----------------------------------------------------------------------
 先週に引き続き、OS(Operating System) の関する問題です。
 今日は、タスクの状態遷移の問題でした。
 金曜日にやったタスクを切り替える話にも関連しています。


 タスクの状態遷移は、下のようになっています。

> 実行可能状態:タスクがいつでも実行できる状態(準備状態): ready
> 実行状態  :CPU の使用権が与えられ、現在実行している状態 : running
> 待機状態  :入出力などの完了を待っている状態 : wait

                    ┌―――→ タスク消滅
                    │6
            5     ┌――――┐
           ┌―――― │実行状態│ ――┐
           │┌――→ └――――┘   │
           ││2             │3
           ↓│             ↓
        1 ┌――――――┐   4    ┌――――┐ 
 タスク生成 ―→│実行可能状態│←――――――│待機状態│
         └――――――┘       └――――┘

 1.タスクが生成されると実行可能状態になります。
 2.優先順位を考慮して実行状態になります。
 3.入出力動作などのイベント待ち状態になります。
 4.3のイベントが終了すると、実行可能状態に戻ります。
 5.一度実行状態になっても他のタスクの優先度が高ければ、再び
   実行可能状態に戻ります。
 6.実行状態のタスクが終了します。


 この図をふまえて、選択肢を見ていきましょう。
 ちなみに、「タスク」と「プロセス」という言葉は、情報処理技術者試験
 では同じ意味で使われています。


> ア CPU 処理と入出力処理が交互に現れるプロセスを複数個同時に
>   実行させると、各プロセスは実行状態と待ち状態の二つの状態間だけを
>   遷移する。

   プロセスを実行するときに、実行状態になる前にいったん実行可能状態
   になります。よって、3つの状態を遷移します。

   ちなみに、CPU の処理はプリエンプティブ(preemptive) と言って、
   実行中のプロセスを中断して他の優先度の高いプロセスを実行する方式
   ですが、入出力装置はノンプリエンティブ(non preemptive) と言って
   いったん処理を開始したら終了するまで連続して実行します。
   ここは、金曜日にやった話ですね。
   http://www.melma.com/mag/89/m00000189/a00000528.html


> イ 実行可能状態とは、CPU の割当てを待っている状態をいう。実行可能
>   状態のプロセスは一般に複数個存在し、これらは待ち行列を形成する。

   これが、正解です。
   Windows などのマルチタスクなOSなら実行可能状態のプロセスは
   複数個存在します。


> ウ 時分割処理を行っているシステムでは、実行状態のプロセスは、
>   一定時間が経過すると、待ち状態に遷移する。

   時分割処理とは、複数のタスクに CPU の利用可能な時間を少しずつ
   配分して実行します。この配分された時間内に終了しなかったタスクは
   実行可能状態に戻されて、ふたたび順番待ちになります。


> エ マルチプログラミングシステムでは、CPU が1個でも、実行状態の
>   プロセスは複数個存在する。

   CPU を利用して実行できる、実行状態のプロセスは、1つだけです。
   上のようなタスク管理を行って、複数のプロセスを実行できるように
   しています。
戻る

 
ハッシュ値(H11.春 2種 問31)
----------------------------------------------------------------------

 キー値の分布が 1 〜 1,000,000 の範囲で一様ランダムであるデータ5個
 を、大きさ10のハッシュ表に登録する場合、衝突の起こる確率はおよそ
 幾らか。ここでハッシュ値はキー値をハッシュ表の大きさで割った余りを
 用いる。

 ア 0.2    イ 0.5    ウ 0.7    エ 0.9

----------------------------------------------------------------------

 それでは、みなさんの回答を紹介します。

> 前回の同じような問題(No.477)でも勉強して、わかったつもりだった
> のですが、またまた回答が選択肢に無い!というわけで解説を楽しみに
> まっています(^^;)
> 一応私の考えを書こうと思ったのですが、ちょっと時間が無いので、
> 計算式だけ。
> 
>  10 + 10*9*5 + 10*9*8*7 + 10*10*9*8 / 100000
> 
> で、0.5806となってしまいます。。。

 うーん、この式はどこから出てきたのでしょう?(^^;
 計算式が間違ってますので、他の方の回答をよく見てみましょう。
 どうもありがとうございました。


> キー値もハッシュ表もハッシュ値も何一つ言葉の意味はわかりませんが(^^;
> 衝突の起こる確率という事で,恐らく5個のデータのいずれかが同じ値になる
> 確率を求めればいいのではないかと推測しました。
> 
> 問題文で与えられたハッシュ値の定義より,各データのハッシュ値は0〜9の
> いずれかであり,キー値の分布が1〜1,000,000の範囲で一様ランダムである
> という事から,0〜9のいずれである確率も等しい(全て1/10)。
> 
> 全てのデータが異なる場合を考えると
> 1番目のデータは何でも良いので10/10
> 2番目のデータは1番目のデータ以外なら何でも良いので9/10
> 3番目のデータは1,2番目のデータ以外なら何でも良いので8/10
> 4番目のデータは1,2,3番目のデータ以外なら何でも良いので7/10
> 5番目のデータは1,2,3,4番目のデータ以外なら何でも良いので6/10
> 
> という事で,衝突の起こる確率は全体から全てのデータが異なる確率を
> 引いて, 1-(10/10)*(9/10)*(8/10)*(7/10)*(6/10) = 0.6976
> 
> 答えは ウ 0.7

 結局は、確率の問題ですので、これで正解になります。
 言葉の意味などは、他の方の回答で確認しておきましょう。
 ハッシュに関しては、基本情報技術者でも出題される範囲です。
 どうもありがとうございました。


 次の方は、計算部分は省略して・・・・

> ここでもうお気づきの方もいるかもしれませんが、1つ使ってない数字が
> あります。そうです。キー分布範囲です。これはいわゆる心理的な引っ掛け
> 問題です。いやらしいですねー。でもこんなのにひっかかってたら
> いけません。正攻法でいっても解けないことはありませんが、膨大な?時間
> と根気が必要になるので、割愛させていただきます。

 ・・・ウソです(^^;;
 心理的な引っ掛け問題ではありません。他の方の回答をしっかり見て
 おきましょう。どうもありがとうございました。


> ハッシュ値はキー値をハッシュ表の大きさで割った余りを用いるので、
> 0〜9の10通りになります。
> それぞれのハッシュ値になる確率は全て同じであると見て良いから、
> それぞれ1/10の確率になります。
> したがって、衝突の起こる確率 = 1 - (衝突の起こらない確率)
> であり、衝突が起こらないためにはそれぞれ違うハッシュ値になればいい
> から、求める確率は
>     1 - (10/10)*(9/10)*(8/10)*(7/10)*(6/10) ≒ 0.7
> 故に答えは    ウ 0.7    である。

 言葉の説明も入って、うまくポイントが押さえられた回答ですね。
 どうもありがとうございました。

> はじめまして このメルマガに12/24に登録させていただき 
> はじめて投稿します
> ソフトウェア開発技術者資格取得目指して頑張っております。
> みなさんと楽しく無理なく勉強できれば良いと思います。
> これから末永くよろしくお願いします。
> 
> で、二種の問題ですね。間違っていたら恥ずかしいかも。
> 
> 解答 ウ
> 解説
> キー値の分布 : 一様ランダム
> データ数 : 5
> ハッシュ表の大きさ : 10
> ハッシュ値 : キー値をハッシュ表の大きさ(10)で割った余り
> このことから、各データを登録するときの衝突しない確率を全て乗算した値
> を1から減算する
> 1 - ( 1 * 9/10 * 8/10 * 7/10 * 6/10 ) = 0.6976
> よっておよそ0.7でウが答え

 登録直後に回答ありがとうございました。
 ソフトウェア開発を受ける方は、2種レベルの問題で点数を減らさないよう
 にするのが、合格への第一歩になりますね。


> 例えば,
> 5枚のカード上にランダムな数字が書いてあり(データ),
> その数字の下一桁(ハッシュ表の大きさ10で割った余り)によって
> 0〜9の箱(ハッシュ表)に入れる...と考える事ができます.
> 
> 言い換えると,5枚のカードをランダムに10個の箱に入れる.
> 
> この時,2枚以上入っている箱が存在する(=衝突が起きる)確率.
> を考えます.
> これは(全体の確率)−(カードが一枚ずつ5つの箱に入っている確率)
> となります.
> 
> 確率の計算としては以下のようになります.
> 
> (全事象の数)−(「一つの箱にはせいぜい一枚しか入っていない」事象の数)
> ――――――――――――――――――――――――――――――――――
>            (全事象の数)
> 
> ・全体の事象=5枚のカードが10個の箱に入る(5枚のカードは区別される)
> 一つの箱に何枚(回)カードが入っても可なので,
> 10^5(10の5乗)となります.
> 
> ・「一つの箱にはせいぜい一枚(0か1枚)しか入っていない」事象
> ある箱にカードが入るとその箱には他にカードは入れない.
> 10×9×8×7×6
> 
> 上記の確率は,
>  (10^5−10×9×8×7×6)/10^5=(10^4−9×8×7×6)/10^4
> =(10,000−3,024)/10,000
> =約0.7・・・ウ
> 
> ※ ちなみに「一様ランダム」ってのは 1〜1,000,000 のどの数も,
> 出る確率が等しいランダムさを示すもの(だと思う).(確率分布が一様)

 「一様ランダム」は出現確率の分布が一様になります。
 グラフで書くと次のようになります。

   出現確率
    │
    ┝━━━━━━━━━━
    │
    │
    └──────────
     1        1,000,000(得られる値=標本値)

 どうもありがとうございました。


> 回答:ウ
> 解説
> ハッシュ法 ( hashing / scatter storage method )
>  ハッシュ表とハッシュ関数を用いたレコード探索法のひとつ。
> データを記憶する段階で、キー値から演算により格納場所を算出し
> その場所に記憶させる。データを探索する際には、キー値に同じ
> 演算を施せば格納場所が得られるという高速の探索法である。
>  問題点は、演算のルールしだいでデータ量より多くの格納場所を
> あらかじめ確保しなければならないこと(記憶装置の資源の無駄が
> ある)、記憶場所の競合が起こり得ることである。競合する場合は
> 同じ場所にあてがわれたレコードをポインタでつないでおく。これを
> チェーンという。
> 
> シノニム ( synonym )
>  直接編成ファイルでファイル中の欠番キーが多く,直接アドレス
> による方法が不向きな場合,アドレス生成(除算法,数学分析法,
> 重ね合わせ法,基数変換法等)のハッシュ関数を用いて実際に格納
> するアドレスの範囲を圧縮する。このとき複数のレコードの異なっ
> たキーを同一のアドレスに変換してしまうことがあり,これをシノ
> ニムという。
> 
> 「大きさ10のハッシュ表」と「ハッシュ値はキー値をハッシュ表
> の大きさで割った余り」から、この問題は「1 〜 1,000,000 の数字
> を 5 回選ぶ時、下1桁が同じになる確率を求めよ」に読み変える事
> ができると考えました。

 この読み変えで良いでしょう。
 用語の意味もチェックしておきましょうね>みなさん
 どうもありがとうございました。

戻る


ページング方式(H12.春 2種 問32)

 ページング方式の仮想記憶において、実記憶上にないページをアクセスした
 場合の処理と状態の順番として、適切なものはどれか。ここで、実記憶には
 現在、空きページはないものとする。

 ア 置換え対象ページの決定 → ページアウト
                 → ページフォールト → ページイン

 イ 置換え対象ページの決定 → ページイン
                 → ページフォールト → ページアウト

 ウ ページフォールト → 置換え対象ページの決定
                 → ページアウト → ページイン

 エ ページフォールト → 置換え対象ページの決定
                 → ページイン → ページアウト
















━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解答■(出典:H12.春 2種 問32)
----------------------------------------------------------------------
 ウ ページフォールト → 置換え対象ページの決定
                 → ページアウト → ページイン

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解説■
----------------------------------------------------------------------
 新年は、仮想記憶の問題からスタートです。
 引き続き、OSに関する問題の特集となります。
 そういえば、年末にソフトウェア技術者対策の問題を続けましたが、
 なかなか好評だったようですね。


 さて、今日は仮想記憶のページング方式の問題でした。

 仮想記憶方式とは、大容量の記憶領域を必要とするプログラムや
 複数のプログラムを同時に実行させる場合のときに、主記憶(メモリ)が
 足りない分をハードディスクで代用してしまおう!という方式です。

 ページング方式では、主記憶の容量より大きいプログラムを実行する場合は
 プログラムをページ(page) という固定長の単位に分解して、
 ハードディスク(補助記憶装置)に入れておきます。

> ページングと言えば、固定長。

 そして、今すぐ必要なページだけを主記憶にロード(road) して実行し、
 実行中に必要なページが主記憶にない場合は、いらないページを
 ハードディスクに戻して、必要なページを主記憶にロードします。

 このいらないページをハードディスクに戻すことをページアウト(page out)
 といい、必要なページを主記憶にロードすることをページイン(page in) と
 いいます。また、これらをまとめてページング方式(paging) といいます。

 試験向けの関連する話としては、ページイン、ページアウトを
 繰り返し続けていると、主記憶ではフラグメンテーション(fragmentation)
 が発生するため、だんだん処理能力が低下していきます。
 これを、スラッシング(thrashing)といいます。

> フラグメンテーション(fragmentation) は、選択肢で勉強しよっ!で(^^;


 あと、選択肢には、ページフォルトという言葉が出てきました。

 ページフォルト(page fault) とは、仮想記憶を利用した
 プログラムを実行中に、主記憶にないページを読み込もうとするときに
 発生するプログラム割込み(内部割込み)のことを言います。
 ページフォルトが起こると、必要なページを仮想記憶から主記憶に読み込む
 必要があります。

 つまり、問題文の

> 実記憶上にないページをアクセスした場合

 というのが、ページフォルトのことを指しているのです。


 さてさて、問題に戻りましょう。

 まずは、ページフォルトが発生します。
 そこで、仮想記憶から主記憶へ必要なページを読み込まなくてはいけません

 ここで、問題文より

> 実記憶(=主記憶)には現在、空きページはないものとする。

 とあるので、必要なページを読み込むには、主記憶にある
 今のところ必要でないページを仮想記憶(ハードディスク)に
 追い出さなくてはいけません。

 つまり、「置換え対象ページの決定」をしてから「ページアウト」を
 することになります。

 そして、最後に必要なページを読み込む(ページイン)をします。

 したがって、正解は

> ウ ページフォールト → 置換え対象ページの決定
>                 → ページアウト → ページイン

 となります。

戻る


組合せの問題(H13.春 基本情報 問7)

 8ビット符号のうち、0と1のビット数が等しいものは幾つあるか。

 ア 16

 イ 24

 ウ 70

 エ 128


















━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解答■(出典:H13.春 基本情報 問7)
----------------------------------------------------------------------
 ウ 70

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解説■
----------------------------------------------------------------------
 数学特集をやっています。
 今日は、組合せの問題でした。


 今日の問題は、意味がわからなかった人も多いかもしれませんね。
 もう一回問題を見てみると、

> 8ビット符号のうち、0と1のビット数が等しいものは幾つあるか。

 となっています。

 8ビット符号というのは、00101000 のように、8ビット(8つの数字)
 からなる数字列のことです。

 つまり、この問題はこの8コの数字のうち

   0が4コ、1が4コ

 になる可能性を考えれば良いと言うことになります。


 この8コの中から4コを選ぶ方法として「組合せ」があります。
 組合せの計算は以下のようになります。

         8×7×6×5
   8C4 = ―――――――――
         4×3×2×1

      = 70


 したがって、70通りになります。

戻る


磁気ディスク(H11.秋 2種 問21)

図は、磁気ディスク装置のアクセス時間を表している。
 a〜dの正しい組合せはどれか。

      │                    │
      │←──────アクセス時間──────→│
      │                    │
      ├┬────┬─────┬────────┤
      ││←a─→│←─b─→│        │
      ││    │     │←──d───→│
      │           │        │
      │←────c────→│        │
      │           │        │

      ↑           ↑        ↑
  ┌─────────┐ ┌───────┐┌───────┐
  │制御装置が読み書き│ │読み書きの  ││読み書きの  │
  │の指令を出す   │ │動作が開始する││動作が終了する│
  └─────────┘ └───────┘└───────┘

   ┌──────┬───────┬───────┬───────┐
   │  a   │   b   │   c   │   d   │
 ┌─┼──────┼───────┼───────┼───────┤
 │ア│位置決め時間│回転待ち時間 │待ち時間   │データ転送時間│
 ├─┼──────┼───────┼───────┼───────┤
 │イ│位置決め時間│待ち時間   │回転待ち時間 │データ転送時間│
 ├─┼──────┼───────┼───────┼───────┤
 │ウ│待ち時間  │位置決め時間 │データ転送時間│回転待ち時間 │
 ├─┼──────┼───────┼───────┼───────┤
 │エ│待ち時間  │データ転送時間│位置決め時間 │回転待ち時間 │
 └─┴──────┴───────┴───────┴───────┘



















━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解答■(出典:H11.秋 2種 問21)
----------------------------------------------------------------------
   ┌──────┬───────┬───────┬───────┐
   │  a   │   b   │   c   │   d   │
 ┌─┼──────┼───────┼───────┼───────┤
 │ア│位置決め時間│回転待ち時間 │待ち時間   │データ転送時間│
 └─┴──────┴───────┴───────┴───────┘

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解説■
----------------------------------------------------------------------
 引き続き、アーキテクチャ特集です。
 今日も、磁気ディスクの問題でした。


 基本情報で毎回出題される計算問題の基礎となっている話です。
 読者歴が長い方は、何度か見たことがある問題でしょう(^^;;

 このアクセス時間は、具体的に磁気ディスクが「どのようにデータの読み
 書きを行っているか?」というのがわかっていないと解きづらいです。
 まずは、流れを押さえてください。


 磁気ディスクの構成を簡略して書くと、図1のようになります。
 四角で書いたのが磁気ディスクです(^^;
 磁気ディスクは、CDみたいなものと思ってください。
 図は1枚ですが、本当は丸いディスクがいくつか重なっています。

 また、棒みたいなものはアクセスアームと言って、先端に磁気ヘッドという
 データを読み書きする部分がついた可動式のアームです。

 このアームが動くことと、ディスクが回転することによって、全てのデータ
 を読み書きすることができます。

             ─┐回転
      ┌──────┐↓
      │      │
      │ ↑    │
    ┣━┿━━━   │
      │ ↓移動  │
      │      │
      └──────┘
         図1


 磁気ディスクは、次のような動作で読み書きを行います。

> 1.まずアクセスアームをトラックの上へ動かし、磁気ヘッドの位置を
>   決めます。これにかかる時間が「位置決め時間(シークタイム)」
>   です。

   ここでは、まずアクセスアームが動きます。

   トラック(track) と言うのは、磁気ディスク上に並んだ同心円状の
   記録帯のことです(図2)。陸上のトラックのイメージです。

   また、重なっているディスクの同じ半径の所にあるトラック群を
   シリンダ(cylinder)と言います。このシリンダは、アクセスアームを
   動かさずに複数のディスクからデータの読み書きができる部分です。

      ┌──────┐
      │┌────┐│
      ││┌──┐││
      │││┌┐│││
      │││└┘│││
      ││└──┘││
      │└────┘│
      └──────┘
         図2

   さらに、トラックを分割した1つをセクタ(sector) といいます。


> 2.次に磁気ディスクを指定レコードの真下のところまで回転させます。
>   これにかかる時間が「回転待ち時間(サーチタイム)」です。

   ここでは、磁気ディスクが回転します。
   1と2で、磁気ディスクの「どの場所からデータを読み書きするのか」
   が決定されることになります。

   位置決め時間と回転待ち時間を合わせて「待ち時間」といいます。


> 3.最後に磁気ディスク上のデータを他の装置へ転送します。この転送が
>   始まってから終わるまでにかかる時間が「データ転送時間」です。

   場所が決まったら、データの転送が始まります。


 これが、磁気ディスクの一連の動きです。もう一度簡単にまとめると、

  1.アクセスアームの位置を決める。
  2.ディスクが回転する。
  3.データを転送する。

 という流れになります。


 問題の図に当てはめると下のようになりますね。
 時間は左から右に流れています。

  │                            │
  │←───────── アクセス時間 ─────────→│
  │                            │
  ├┬────────┬────────┬─────────┤
  ││←位置決め時間→│←回転待ち時間→│         │
  ││        │        │←データ転送時間→│
  │                  │         │
  │←───── 待ち時間 ─────→│         │
  │                  │         │

  ↑                  ↑         ↑
 ┌─────────┐  ┌───────┐  ┌───────┐
 │制御装置が読み書き│  │読み書きの  │  │読み書きの  │
 │の指令を出す   │  │動作が開始する│  │動作が終了する│
 └─────────┘  └───────┘  └───────┘
 戻る
RS-232C(H12.春 2種 問27)

 RS-232C の特徴に関する記述のうち、適切なものはどれか。

 ア 全二重の双方向通信を行うことができる。

 イ 通信可能な最高速度は、19,200 ビット/秒である。

 ウ デイジーチェーン接続が可能である。

 エ パラレルインタフェースである。


















━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解答■(出典:H12.春 2種 問27)
----------------------------------------------------------------------
 ア 全二重の双方向通信を行うことができる。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解説■
----------------------------------------------------------------------
 引き続き、アーキテクチャ特集です。
 今日は、RS-232C に関する問題でした。

 RS-232C(Recommended Standard 232 version C) とは、もともとモデム用の
 シリアルインタフェース(serial interface) として普及したものです。

 規格上の最高速度は 19.2kbps ですが、実際にはほとんどのパソコンで
 最高 115.2kbps での全二重通信が可能です。

 ついでに・・・(基本情報平成13年春問28)の問題文より

> EIA(米国電子工業会)が決めた、データ通信システムにおけるデータ端末
> 装置と、モデムなどのデータ回線終端装置との間の物理インタフェースに
> 関する規格

 という出題もあります。


 選択肢を順に見ていきましょう。

> ア 全二重の双方向通信を行うことができる。

   全二重とは、データの送信を同時に双方向で行うことができる方式
   です。もちろん、半二重でも可能です。

   図の方がわかりやすいと思うので、図で書いておきましょう。


>   ☆全ニ重伝送方式(同時に双方向で行う)

     ┌─┐          ┌─┐
     │A│←―――――――――┤B│
     │ ├―――――――――→│ │
     └─┘          └─┘

>   ☆半ニ重伝送方式(交互に送る)

     ┌─┐          ┌─┐
     │A│←――――――――→│B│
     │ │          │ │
     └─┘          └─┘

>   ☆単方向伝送方式(一方向のみ)

     ┌─┐          ┌─┐
     │A│―――――――――→│B│
     │ │          │ │
     └─┘          └─┘


> イ 通信可能な最高速度は、19,200 ビット/秒である。

   上に書いたように、最高 115.2kbps で通信可能です。


> ウ デイジーチェーン接続が可能である。

   デイジーチェーン(daisy chain)接続はできません。
   デイジーチェーンとは、複数の装置をつなぐときに数珠つなぎのように
   接続する方法です。これができるのは、SCSI などですね。


> エ パラレルインタフェースである。

   RS-232C は、シリアルインタフェースです。

戻る