めも

メモ.

基本情報技術者試験の対策時のメモ(7日前)

以下で問題を解きつつ, ミスを確認.

基本情報技術者過去問道場|基本情報技術者試験.com

本番前に用意

  • 証明写真(受験票に貼る)
  • HBまたはB以上の鉛筆/シャーペン+消しゴム
  • 時計

試験の流れ

揃えて9:00前に会場につき, 9:10までに着席. 午前は途中退席可能. 午後は12:40までに着席、試験は13:00~15:30を想定. (自身で受験票・試験要網 を確認してください)

問題を解きながら調べた内容

用語の確認の意味合いが大きいです. 先週の金曜に確認した内容です.

ソフトウェア

  • 用語

    • 抽象化:同じ性質をもつ複数のオブジェクトをまとめる、複数クラスから共通する要素を抜き出して基底クラスを作成するのは汎化
    • 継承:基底クラスの性質が派生クラスにも受け継がれる事
    • カプセル化:データを操作する処理を内部に隠蔽する事
    • リエントラント:同時に複数プロセスから共有しながら実行しても正しい結果が得られるプログラム
    • リユーザブル:一度ロードしたら再びロードしなおさずに実行可能なプログラム
    • リロケータブル:メモリ上のどのアドレスに配置しても正しく実行できるプログラム
    • 委譲:あるオブジェクトに依頼されたメッセージの処理を、他のオブジェクトに委ねる
  • マイクロカーネルとモノリシックカーネル

    • モノリシックカーネル:主要な機能のすべてを同じメモリ空間に置いて運用
    • マイクロカーネル:OSの必要最小限の機能のみを保持
    • https://linuc.org/study/knowledge/460/
  • AOTコンパイラとJITコンパイラ
    • AOT: Javaのバイトコード, C, C++, プログラムの実行時間を短縮できる可能性がある
    • JIT: 実行環境を知った状態でそれに応じた最適化ができる
  • テスト
    • トップダウン <-> スタブ:未完成の下位モジュールの入出力のみを定義したもの
    • ボトムアップ <-> ドライバ:テストしたい下位のモジュールを呼び出すもの
  • スラッシングなど
    • スラッシング:主記憶の容量が十分でない場合にページイン・ページアウトが多発してCPUを使用している割合が減少すること
      • ページング: 仮想アドレス空間をページと呼ばれる単位に分割、ページを単位として仮想アドレス(メインメモリー)から実アドレス(ハードディスク)へとデータを変換すること

      • ページングとは何? Weblio辞書
    • スワッピング:待機状態の実行中のプログラムをスワップファイルに退避
    • メモリリーク:メモリが解放されないまま主記憶上に残っている状態
    • フラグメンテーション: 主記憶の空き容量は多いが、使用領域がバラバラに存在するために大きな領域の確保ができない状態
  • メールサーバ周辺のプロコトル
    • CHAP/PPP: IDとパスワードによってを認証するときのプロトコル
    • SMTP: メールサーバー間でのメールの交換
    • POP3(Post Office Protocol): Post Office Protocol - Wikipedia
      • ユーザがメールサーバから自分のメールを取り出す時に使用する、メール受信用プロトコル。現在は、改良されたPOP3 (POP Version 3) が使用されている。

    • SMTP: 電子メールを送る際に使用するプロコトル
  • 言語など
    • HTML5
    • XML, XLink( XLink - Wikipedia )
      • DTD(Document Type Definition): 文書構造を定義するためのスキーマ言語
    • Report Program Generator:事務処理など
    • Extensible Business Reporting Language:財務処理など
    • Standard Generalized Markup Language: マニュアルなどを作成するためのマークアップ言語
  • テスト
    • 静的テスト:構文チェックを含む、コードを実行せずに行うテスト
    • 動的テスト:メモリダンプ・スナップショットの確認などコードを実行しながら行うテスト
    • インスペクション
      • モデレータ、オーナー(成果物作成者、指摘された問題の対応を行う)、インスペクタ(評価者、問題を発見する人)、スクライブ(発見・修正された問題など記録する人)
    • ウォークスルー
    • リグレッションテスト

セキュリティ

アルゴリズム

  • ビット演算
  • ページイン

ページング方式 とは、コンピュータのオペレーティングシステムにおいて記憶装置をページと呼ばれる小さな単位に分割して割り当てを行うアルゴリズム群.仮想記憶のベースとなる設計の一つ.

ページング方式 - Wikipedia

ネットワーク

  • 用語
  • TCP/IP
  • OSI基本参照モデル: OSI基本参照モデルとは何? Weblio辞書
    • フィジカル>データリンク>ネットワーク>トランスポート>セッション>プレゼンテーション>アプリケーション
    • 物理的な通信媒体>ノード間の伝送>ルーティングなどの伝送>誤り検出や再送などの伝送手順>プロセス管理など>データの形式指定>アプリケーション
    • ゲートウェイ = トランスポート層以上でネットワーク同士で通信をする役割
  • ルーター:パケットを最適な経路に通信する装置
  • ブリッジ:データリンク層、送出ポートの判断を行う
  • リピーター:物理層、弱まった信号を強くする
  • 基数変換法
    • 指定された基数で計算した後、指定桁にかけ算を行いハッシュ値を確定させる
  • OpenFlow

データベース

  • ACID特性
    • A: 指定された実行を行なうか全く行わないかの2状態しかあり得ない
    • C: データの矛盾が生じない
    • I: 実行順に関わらず結果が等しい
    • D: 終了した実行内容の情報は以降で障害がおきても失わない
  • E-R図(Entity-Relationship Model)
  • 操作
    • 射影:特定の列
    • 選択:特定の行の選択
  • プロシージャ
  • ロック
    • ツーフェーズロック/2相ロッキング: リード/ライトするなら、そのオブジェクトに共有/排他ロックを使用しなければならない. + コミット時に解放.
      • Strict 2PLはデッドロックを完全には防げない.
      • C2PL: トランザクション前に必要な全ロックをかける.
      • セキュア状態: 2相コミットメント制御の一相目でロックを行った後の状態.
  • 制約
    • FOREIGN KEY制約: 参照先のテーブルにこの制約がある場合, 親テーブルのカラムに格納されている値しか格納することができなくなる.
    • NOT NULL制約
    • チェック制約: データの有効性と保全性を確保
    • 主キー制約: IDなどに指定

コンピュータの構成

  • 用語
    • MIPS = 100万命令毎秒 = 10^6
    • 実行アクセス時間:(キャッシュメモリのアクセス時間×ヒット率)+主記憶のアクセス時間×(1-ヒット率)
      • ヒット率=キャッシュメモリにデータが存在する確率と考えると覚えなくても大丈夫か
  • キャッシュメモリ
  • 平均応答時間
    • 待ち行列理論でのモデル
    • 平均サービス時間xp/(1-p) + 平均サービス時間
  • セクタとブロック
    • どんなに小さいデータでも最低一ブロックが割り当てられる.
    • ブロック・クラスター=ファイルシステム上の領域を扱う最小単位
    • ディスクセクタ - Wikipedia
  • アクセスメモリ
  • アナログ音声をディジタル化
  • 障害発生時の対応
    • デュアルシステム: 二台で同じ処理を行い、処理結果をチェックする. 障害発生時は一方のみで処理を続行する.
    • デュプレックスシステム: ホットスタンバイ、コールドスタンバイ、ウォームスタンバイなどが含まれる
    • フォールトトレラントシステム: 電源・プロセッサなどを二重で用意しておき、障害発生した場合に切り替えを行う
  • メモリ
    • UV-EPROM: 紫外線により内容の一括消去が可能なメモリ
    • Static RAM: CPUのキャッシュメモリ
    • Dynamic RAM: 常にリフレッシュし続ける必要があるが安価、揮発性
  • アドレスバス
  • プロセッサ
    • マイクロプログラム(microprogramming): マイクロ命令の組合せで実行する、複雑な命令を増やすとパイプラインによる並列化の効果を悪くする可能性がある
    • AMP(Asymmetric Multiple Processor):コンパイラがプログラム生成時に命令を実行する演算器を決定する方式
    • SMP(Symmetric Multiple Processor)
    • マルチプロセッサ: 密結合型と疎結合型, 大原雄介のEmbedded Processor Forum 2004レポート

マネジメント

C/Java

  • Java
    • JavaVM: Javaを実行するOSで実行可能な形式のコードに変換するソフトウェア
    • JDBC(Java Database Connectivity): Javaから関係データベース接続するためのAPI群。java.sqlパッケージに実装。
    • オブジェクト指向: カプセル化(クラス), 継承(メソッド/クラスの継承), ポリモーフィズム(抽象化/オーバーライド)

その他