基本情報技術者試験 第2章「コンピュータシステム」 – よく出る問題と抑えておきたいポイント

知らない天井だ・・・。

こんにちわ、ガリベン小僧の佐藤です。

今春、無事に基本情報技術者試験に合格することができました。

そして今回は基本情報技術者試験第2章!!「コンピュータシステム」についてお伝えしたいと思います。
遂に私もシリーズ物を手掛けるようになりました。皆様とも長いお付き合いが出来そうで嬉しいです!!

前置きはこの辺にして、内容に進みましょー!!

今回の内容

今回は、幅広い対象範囲の中、「コンピュータシステム」に焦点を当てて、書いていきます。

  1. 押さえておきたい項目
  2. よく出る問題

下記は、全体の試験範囲の詳細です。

試験範囲の詳細

  • 第1章 基礎理論
  • 第2章 コンピュータシステム
  • 第3章 技術要素
  • 第4章 開発技術
  • 第5章 プロジェクトマネジメント
  • 第6章 サービスマネジメント
  • 第7章 システム戦略
  • 第8章 経営戦略
  • 第9章 企業とホーム
  • コンピュータを構成するハードウェアの仕組みから、システム構成、ソフトウェアまでが含まれる大分類で、ボリュームは多めです。さらに用語レベルの問題、深い理解を必要とする判断問題、計算問題に分けて、それぞれを解きながら感覚をつかみましょう。

    以下、おさえておきたい項目です。

    コンピュータの中身って?

    一般的なコンピュータは、下記のような5つの装置、制御装置、演算装置、記憶装置(主記憶装置、補助記憶装置)、入力装置、出力装置で構成されています。
    演算装置や制御装置を含んだ処理措置は、一般にはCPU(Central Processing Unit:中央演算装置)や、プロセッサ(Processing Unit)と呼ばれるもので、コンピュータの中心として、演算処理や核装置への制御を行います。

    CPUにも種類がある

    CPUは、コンピュータの中心として演算や制御を行う装置です。CPUのアーキテクチャは、大きく2つに分けられます。

    1. CISC(Complex Instructruction Set Computer)
    2. RISCと対比して従来型のCPUのアーキテクチャです。複雑な命令をマイクロプログラムで実現しています。
      マイクロプログラムはワイヤドロジック(結線論理)による実行より実行速度は遅くなるが命令セットを拡張しやすいという特徴をもつ。
      なお、マイクロプログラムは、ハードウェアとソフトウェアの中間的な性格をもつため、ファームウェアと呼ばれる。

    3. RISC(Reduced Instructruction Set Computer)
    4. 命令数を減らして単純化することで、1命令の長さと実行時間が一定になるようにしたCPUのアーキテクチャです。
      単純な命令をハードウェア(ワイヤドロジック制御方式)で実現し、複雑な処理についてはその組み合わせで実行します。

    双方の特徴を抑えて、例えば処理速度が速いのはRISCと答えられるようにしなくてはなりません。
    暗記部分となるところですが、基本情報の試験にはこの手の問題が多く出題されていました。
    過去問を解くことで傾向もわかるので、挑戦してみましょう。

    クロック周波数の単位

    クロック周波数の単位は、MHz(メガヘルツ)、またはGHz(ギガヘルツ)が使われます。

    1. CPI(Cycles Per Instruction)
    2. 1命令の実行に必要なクロック数を表した単位です。

      ・1クロック当たりの実行時間

      1秒÷(クロック周波数×10^6)・・・・MHzの場合

      ・平均命令実行時間(1命令当たりの実行時間)

      1クロック当たりの実行時間×1命令時間に必要なクロック数

    3. MIPS(Million Instruction Per Second)
    4. 1秒間に実行可能な命令数の単位で、1MIPS=10^6命令/秒です。

      ・MIPS値から平均命令実行時間を求める

      1秒÷MIPS値

    RAMとROMの種類と特徴

    IC(Integranted Circuit)メモリは、RAMとROMに大別されます。RAMは読み込み、書き込みが可能なメモリで、電源を切ると記憶情報が失われてしまいます。
    この性質を発揮性といいます。
    これに対して、ROMは基本的に読み込みだけが可能なメモリで、電源を切っても記憶情報は保持されたままです。
    この性質を不発揮性といいます。

    キャッシュのヒット率

    呼び出したい情報がキャッシュメモリ上にない確率をNFP(Not Found Probability)、逆数の1-NFPをヒット率と呼びます。
    ・CPUからみた実行アクセス時間(平均メモリアクセス時間)

    ヒット率×キャッシュメモリのアクセス時間+(1-ヒット率)×主記憶のアクセス時間

    待機系の運用形態

    1. ホットスタンバイ
    2. 同一環境を、データの同期を行いながら稼動させておく形態で、障害発生時に即時に切り替えができます。

    3. ウォームスタンバイ
    4. 同一環境を非稼動状態で用意しておく形態です。障害発生時に短時間で切り替えができます。

    5. コールドスタンバイ
    6. 障害が発生し、バックアップが必要になった段階で、バックアップデータをもとにシステム起動と環境の構築を行う形態です。稼動には最も時間がかかります。

    「安全」生み出す信頼性設計

    1. フェールセーフ
    2. システムが誤作動したとき、常に安全側にシステムを制御し、誤動作による影響範囲を最小限にとどめるように制御する考え方や方策。

    3. フェールソフト
    4. 障害が発生したとき、性能の低下はやむを得ないとしても、システム全体は停止させず、機能を維持させようとする考え方や方策。

    5. フェールプルーフ
    6. 意図しない使われ方をしても、システムとして誤動作しないように設計すること。

    稼働計算に使うMTBFとMTTR

    1. MTBF(Mean Time Between Failures;平均故障間隔)
    2. 信頼性を表す尺度として用いられるのがMTBF(平均故障間隔)です。MTBFの値が大きいほど信頼性は高く、そのためには、故障の発生自体を防ぐ必要があります。

    3. MTTR(Mean Time To Repair;平均修理時間)
    4. 保守性を表す尺度で、値が小さいほど保守が容易であることを表します。MTTRの値を小さくするには、出来るだけ早く故障個所を特定して修理または交換する事が必要ですぅ。

    5. 故障率
    6. システムがある時点で稼動している確率で、可用性の尺度となります。次のように計算します。

      稼動率=MTBF÷(MTBF+MTTR)

    複合システムの稼働率の計算

    1. 直列システムの稼働率
    2. 装置やサブシステムが直列に接続されたシステムでは、いずれか1つの構成要素が故障しても、システム全体が停止してしまします。
      ・直列システムの稼働率

      装置Aの稼働率×装置Bの稼働率

    3. 並列システムの稼働率
    4. システム全体としては、1台でも正常に動作していればよいので、1から「並列に接続されているすべての装置が同時に故障している確率」をひいて求めることができます。
      ・並列システムの稼働率

      1-(1-装置Aの稼働率)×(1-装置Bの稼働率)

    ページ置き換え(リプレースメント)アルゴリズム

    1. FIFO(First In First Out)方式
    2. 実記憶装置の中で、最も古くから存在するものからページアウトする。

    3. LRU(Least Recently Used)方式
    4. 実記憶装置のページの中で、最も長い時間参照されなかったものからページアウトする。

    5. LFU(Least Frequently Used)方式
    6. 実記憶装置のページの中で、最も参照回数の少なかったものからページアウトする。

    以上、抑えておきたい項目でした。
    それでは、何問かよく出る問題を選抜しましたのでチャレンジしてみましょう。

    1GHzで動作するCPUがある。このCPUは、機械語の1命令を平均0.8クロックで実行できることが分かっている。このCPUは1秒間に何万命令を実行できるか。

    ア: 125
    イ: 250
    ウ: 80, 000
    エ: 125, 000

    ヒント
    1GHzは10^9Hz

    解答:エ

    2.キャッシュメモリのヒット率に関する問題

    主記憶のアクセス時間が60ナノ秒、キャッシュメモリのアクセス時間が10ナノ秒であるシステムがある。キャッシュメモリを介して主記憶にアクセスする場合の実行アクセス時間が15ナノ秒であるとき、キャッシュメモリのヒット率はいくらか。

    ア: 0.1
    イ: 0.17
    ウ: 0.83
    エ: 0.9

    解答:エ

    3.システムの稼働率に関する問題

    稼動率が最も高いシステム構成はどれ。ここで、並列に接続したシステムは、少なくともどれか一つが稼動していればよいとする。

    ア: 稼動率70%の同一システムを四つ並列に接続
    イ: 稼動率80%の同一システムを三つ並列に接続
    ウ: 稼動率90%の同一システムを二つ並列に接続
    エ: 稼動率99%の同一システム

    ヒント
    ア: 1 – (1 – 0.7)^4 = 1 – 0.0081 = 0.9919

    解答:イ

    4.信頼性設計に関する問題

    フェールセーフ設計の考え方に該当するものはどれか。

    ア: 作業範囲に人間が入った事を感知するセンサが故障したとシステムが判断した場合、ロボットアームを強制的に停止させる。
    イ: 数字入力フィールドに数字以外のものが入力された場合、システムから警告メッセージを出力して正しい入力を要求する。
    ウ: 専用回線に障害が発生した場合、すぐに公衆回線に切り替え、システムの処理能力が低下しても処理を続行する。
    エ: データ収集システムでデータ転送処理に障害が発生した場合、データ入力処理だけ行い、障害発生時にまとめて転送する。

    解答:ア

    5.ページ置き換えアルゴリズムに関する問題

    ページ置き換えアルゴリズムにおけるLRU方式の説明として、適切なものはどれか。

    ア: 最後に参照されたページを置き換える方式
    イ: 最後に参照されてからの経過時間が最も長いページを置き換える方式
    ウ: 最も参照回数の少ないページを置き換える方式
    エ: 最も古くから存在するページを置き換える方式

    解答:イ

    まとめ

    お疲れさまでした。以上となります。

    本章は基本情報技術者試験の中で「技術要素」に次ぐ、ボリュームとなっており、暗記、計算と多彩な問題が出題されます。
    大変ではありますが、やればやるほど加点できる章でもありますので、挑戦してみてください。

    それでは次回も宜しくお願いします!

    《関連記事》
    基本情報技術者試験 第1章「基礎理論」 – よく出る問題と抑えておきたいポイント

    記事をシェア
    MOST VIEWED ARTICLES