あらけす屋情報処理技術者試験

午前問題対策(コンピュータ一般)

OS/アーキテクチャ/モジュール管理/エンベデッドシステム


OS

  1. OS(Operating System , 基本ソフトウェア)
    コンピュータシステム全体を管理するソフトウェア
  2. ミドルウェア
    基本ソフトウェアの機能を利用し、多様な利用分野に共通するより高いレベルの基本機能を提供するソフトウェア
  3. BIOS
    パソコンの電源を入れると、OSが起動する前にフロッピーディスク装置や磁気ディスク装置へのアクセスを行う働きを行っている
  4. ブートストラップ
    コンピュータシステムの起動時に、磁気ディスクからOSをロードして動作準備を整える機能
  5. デバイスドライバ
  6. OS におけるシェルの役割
    利用者が入力したコマンドを解釈し、対応する機能を実行するように OSに指示する
  7. システムバス
    バックプレーンや拡張スロットで使用されている、複数の装置が共有するディジタル信号伝送路
  8. コンピュータの命令実行順序
    命令フェッチ → 命令の解読 → オペランド読出し → 命令の実行
  9. プログラム記憶方式
    プログラムを主記憶に読み込んでおき、CPUが順次読み出し実行する方式
  10. 割込み処理
  11. マイクロカーネルのOSと比較した場合のモノリシックカーネルのOSの特徴
    サービスの実行に伴うプロセス切替えの回数が少ない

アーキテクチャ

  1. パイプライン処理
  2. 記憶管理
  3. 仮想記憶
  4. 半導体メモリ
  5. キャッシュメモリ
  6. メモリの誤り制御
  7. データ構造
  8. 演算処理
  9. ジョブ/プロセス/タスク制御
  10. ソートアルゴリズム

    1. シェルソート
      ある一定間隔おきに取り出した要素から成る部分列をそれぞれ整列し、更に間隔を詰めて同様の操作を行い、間隔が1になるまでこれを繰り返す
      1. データ数÷3 → Hとする
      2. データ列を互いにH要素分だけ離れた要素からなる部分列とし、それぞれの部分列を挿入法を用いて整列する
      3. H÷3 → Hとする
      4. Hが0であればデータ列の整列は完了し、0でなければ2に戻る
    2. クイックソート
      分割統治法を適用した整列(ソート)アルゴリズム
      中間的な基準値を決めて、それよりも大きな値を集めた区分と小さな値を集めた区分に要素を振り分ける
      1. 適当な基準値を選び、それより小さな値のグループと大きな値のグループにデータを分割する
      2. 同様にしてグループの中で基準値を選び、それぞれのグループを分割する
      3. この操作を繰り返していく方法
    3. ヒープソート
      未整列の部分を順序木に構成し、そこから最大値又は最小値を取り出して既整列の部分に移す。
      これらの操作を繰り返して、未整列部分を縮めていく
    4. バブルソート
      隣り合う要素を比較して、大小の順が逆であれば、それらの要素を入れ替えるという操作を繰り返して行う
    5. 単純挿入法
      n個のデータを整列するとき、比較回数が最悪の場合でO(n^2)、最良の場合でO(n)となる
  11. プロセッサ
  12. ファイルシステム
    ファイルシステム内の特定のファイルを指定するためには、ディレクトリパスを指定する
    親ディレクトリと子ディレクトリの間では、親から子へ、子から親への両方向の参照が可能である

モジュール管理

  1. モジュール強度(結束性)(1強・・・7弱)
    モジュール強度の概念は、モジュール強度の強弱を意識して、設計者がモジュールを作成したり利用したりできるようにするために導入する
    1. 機能的強度…全要素が1つの機能を実行するために関連性を持っている
      例)・ある木構造データを扱う機能をデータとともに一つにまとめ、木構造データをモジュールの外から見えないようにした
        ・単一の機能を実行するモジュール
    2. 情報的強度…特定のデータを扱う複数の機能がまとまっており、機能ごとに別の入り口点を持つ
    3. 連絡的強度…手順的強度の性格を持つことに加えて、各機能が同一データを扱っている
    4. 手順的強度…ある手続きを実現するために複数の逐次的処理がまとまっている
      例)二つの機能A,Bは必ずA,Bの順に実行され、しかもAで計算した結果をBで使うことがあるので、一つのモジュールにまとめた
    5. 時間的強度…初期設定処理、終了処理など、同じタイミングで実行される複数の逐次的処理がまとまっている
      例)複数の機能のそれぞれに必要な初期設定の操作が、ある時点で一括して実行できるので、一つのモジュールにまとめた
    6. 論理的強度…関連のある複数の機能を含み、どの機能を実行するかを選択できる
      例)二つの機能A,Bのコードは重複する部分が多いので、A,Bを一つのモジュールとし、A,Bの機能を使い分けるための引数をもうけた
    7. 暗号的強度…関連のない複数の機能を含み、特定の機能を定義していない
  2. モジュール結合(強度:1強・・・6弱 独立性:1低・・・6高)
    一般的に弱い方が良いとされる
    モジュールの変更による影響を少なくするためには、モジュール間の関連性をできるだけ少なくして独立性を高くすることが重要
    モジュールの独立性を高めるには、一つのモジュールは一つの機能に限定し、モジュール結合度を弱くする必要がある
    1. 内容結合:他のモジュールの内部を直接参照したり、一部を共有する
    2. 共通結合:共通域に定義したデータを、関係するモジュールが参照する
      大域的なデータを参照するモジュール間の関係
    3. 外部結合:必要なデータだけを外部宣言して共有する
    4. 制御結合:制御パラメータを引数として渡し、モジュールの実行順序を制御する
    5. スタンプ結合:構造体のポインタを引数にして渡すが、相手のモジュールに不要なデータも混在する
    6. データ結合:二つのモジュール間で必要なデータ項目だけをモジュール間の引数として渡す
      呼び出す側と呼び出される側のモジュール間のデータの受け渡しは、引数としてデータ項目を列挙する
  3. モジュール分割法
  4. モジュール設計

エンベデッドシステム

  1. フォトカプラ
    他の装置からシリアルインタフェースを介して入力されたノイズの影響で、システムが誤動作するようになった場合の対策として他の装置とアイソレーションする場合に使用するデバイス
  2. 非同期信号を同期化する方法
    Dフリップフロップを2段にして、初段の出力を2段目でもう一度受けなおす
  3. PLLのブロック図
    PLLのブロック図
  4. DCモータ
  5. ASIC設計におけるトップダウン設計
    抽象度の高い動作レベルでの記述や、RTL(レジスタトランスファレベル)での記述を用いて設計する
  6. フィールドプログラマブルロジック
    基本論理回路で構成された論理モジュールをチップに配置し、ユーザがSRAMなどに配線情報を記憶させる
  7. センサ
  8. A/D変換
  9. 重み抵抗方式D/A変換機
    ビット数と同数の、値の異なる抵抗を必要とする
  10. PWM(パルス幅変調)で変調された信号をアナログ電圧に変換する回路
    PWM(パルス幅変調)で変調された信号をアナログ電圧に変換する回路
  11. 1秒のウォッチドッグタイマ
    1秒のハードウェアタイマでCPUのリセット信号を発生させるようにしておき、1秒が経過する前にプログラムでハードウェアタイマをリセットする
  12. TTLレベルの2入力AND回路を3入力AND回路にするために、入力部に回路を追加した3入力AND回路
    3入力AND回路
  13. マイコンの出力ポートに接続されたランプが点灯するランプ回路
    ランプ回路
    信号A High
    信号B High