初めて知ったIT用語集
2024-02-22開始
この記事の目的
日付とその日に初めて知った用語を書き留めていく予定のなので何度も再編集をしていきます。おそらく見る人にとってはあまり意味のない記事になりそうですが、モチベーション維持のため公開したいと思います。私が普段どのようなことを学んでいてどれくらいの知識を持っているのか自己紹介するときに使えたらなと…
2024-05-31
プロデューサー/コンシューマー
プロデューサー(生産者)
データ、イベント、またはリソースを生成、送信、提供するエンティティやコンポーネントを指す。コンシューマー(消費者)
データ、イベント、またはリソースを受信し、使用、処理、または消費するエンティティやコンポーネントを指す。
ポーリング
定期的にあるいは継続的に状態やデータの変化を監視する手法。
Pub/Sub (Publish/Subscribe)
メッセージングシステムにおいて、送信者側(Publish)と受信側を(Subscribe)を分離したアーキテクチャ。
2024-05-24
Redis
オープンソースのインメモリデータ構造ストア
キャッシュ、データベース、メッセージブローカーとして使用される。高速なパフォーマンスを提供し、キーと値のペアでデータを格納する。
Amazon ElastiCache
AWSが提供する完全マネージドなインメモリデータストアサービス
2024-05-06
ポリモーフィズム
同じ名前のメソッドが異なるクラスで異なる振る舞いをするという概念。同じメソッド名でも、そのメソッドが呼ばれるメソッドによって振る舞いが異なる。
OMG(Object Management Group)
オブジェクト指向の標準化を推進するための業界団体。
2024-04-30
RAD(Rapid Application Development)
高速アプリケーション開発。
短期的に目的のシステムを開発することを重視したモデル。
BABOK
ビジネスアナリシス知識体系ガイド
2024-04-26
W字モデル
ソフトウェア開発において、テスト担当者もシステム設計に参加し、開発者と一緒に、テストをする視点で仕様書を作成していく開発モデルのこと
2024-04-25
ベクトルデータベース
データをベクトル形式で表現し、ベクトル間の類似性や距離を計算してデータを検索するためのデータベース。類似性やパターンを見つけ出すのに適している。
パルス変調(PWM)
ディジタル信号のみで疑似的にアナログ信号を出力するための仕組み。デジタル信号の「オン」時間の割合(デューティサイクル)を変えることで、平均的な出力電圧を変化させ、それによりアナログ信号のような効果を実現する。
2024-04-21
ゼロトラスト
セキュリティ戦略の一つで、ネットワーク内外やユーザー、デバイスなど、すべてのリソースやアクティビティに対して信頼を前提とせず、常に検証するアプローチ
オブジェクトストレージ
データをオブジェクトとして保存するストレージ形式です。従来のファイルシステムと異なり、データはファイル階層ではなく、一意の識別子(キー)によってアクセスされます。スケーラビリティが高く、大容量のデータを効率的に管理できるため、クラウドストレージや大規模なデータセンターで広く利用されています。
サマリテーブル
データベースやデータウェアハウスなどで使われるテーブルで、複数の行を集計した要約データ
ディメンジョンテーブル
データウェアハウスで使われるテーブルで、ビジネスプロセスの異なる側面を表す情報
ファクトテーブル
データウェアハウスで使われるテーブルで、ビジネスプロセスの数値データ
ルックアップテーブル
データウェアハウスやデータベースで使用され、キーと値のペアを格納し、他のテーブルとの関連付けや参照に使用
VRRP
ネットワーク冗長化のためのプロトコルで、複数のルーターを一つの仮想ルーターとしてグループ化し、冗長性と可用性を向上させる
SNMP
ネットワーク機器やシステムの管理やモニタリングに使用されるプロトコルで、様々なデバイスやアプリケーションの状態を監視するために使われる
CSIRT
ンピュータセキュリティのインシデントに対応するためのチームで、セキュリティイベントの検知、対応、復旧を行います。
PSIRT
製品やソフトウェアのセキュリティインシデントに対応するためのチームで、脆弱性の修正やユーザーへの情報提供を担当します。
SPF(Sender Policy Framework)
メール認証技術の一つで、メール送信元のドメインが正当かどうかを検証するために使用されます。
2024-04-20
CAB(Change Advisory Board)
システムやソフトウェアの変更を審査・承認する委員会
CI(Configuration Item)
システムやソフトウェアの構成を管理するための個々の要素
CMDB(Configuration Management Database)
構成アイテムの情報を収集・管理するデータベース。
PIR(Post-Implementation Review)
システムやプロジェクトの導入後に行われる評価やレビューのこと
2024-04-17
デルファイ法
技術革新や社会変動などに関する未来予測をする際によく用いられる手法で、複数の専門家が、ほかの専門家の意見も交互に参照しながら、意見を交換し、最終的に意見の収束をしていく。
2024-04-14
JPCERT/CC(JPCERTコーディネーションセンター)
コンピュータセキュリティの情報を収集し、インシデント対応の支援、コンピュータセキュリティ関連情報の発信などを行う一般社団法人。
2024-04-13
フィルターバブル
インターネット上の検索サイトが提供するパーソナライズされた検索結果によって、まるで泡(バブル)の中に包まれたように、自分の見たい情報しか見えなくなってしまう現象のこと
2024-04-12
ユニファイドメモリ方式
CPUとGPUでひとつの主記憶を共有して使う方式
投機実行
パイプラインの性能を向上させるための技法のひとつで、分岐条件の結果が決定する前に、分岐先を予測して実行すること
ビックエンディアン方式
複数のバイトで構成されるデータを配置する際のやり方のひとつで「最初のバイトからデータを並べる」やり方
リトルエンディアン方式
複数のバイトで構成されるデータを配置する際のやり方のひとつで「最後のバイトからデータを並べる」やり方
ウォッチドッグタイマ
システムに異常が発生したことを検知し、それを通知する目的で設定されるタイマ。あらかじめ設定された一定時間内にタイマがクリアされなかった場合,システム異常とみなしてシステムをリセット又は終了する。
PPP
電話回線を通じてコンピュータをネットワークに接続するダイヤルアップ接続においてよく使われる、2点間を接続してデータ通信を行うための通信プロトコル。
PPPoE
電話回線やISDNでインターネットを接続する際に使われるPPP(Point-to-Point Protocol)をイーサネット上で利用できるようにしたもの
SIEM(Security Information and Event Management)
OS、データベース、アプリケーション、ネットワーク機器など多様なソフトウェアや機器が出力する大量のログデータを分析し、異常があった場合に管理者に通知したり対策を知らせたりする仕組み
VDI(Virtual Desktop Infrastructure)
サーバ内にクライアントごとの仮想マシンを用意して仮想デスクトップ環境を構築する技術
CVSS(Common Vulnerability Scoring System)
情報システムの脆弱性に対する汎用的な評価手法。基本評価基準,現状評価基準,環境評価基準の三つの基準で情報システムの脆弱性の深刻度を評価する。
基本評価基準 (Base Metrics)
脆弱性自体の深刻度を評価する指標。機密性、可用性、完全性への影響の大きさや、攻撃に必要な条件などの項目から算出され、時間の経過や利用者の環境で変化しない。現状評価基準 (Temporal Metrics)
脆弱性の現在の深刻度を評価する基準。攻撃を受ける可能性、利用可能な対応策のレベルなどの項目から算出され、時間の経過により変化する。環境評価基準 (Environmental Metrics)
製品利用者の利用環境も含め、最終的な脆弱性の深刻度を評価する基準。二次被害の可能性や影響を受ける範囲などの項目から算出され、製品利用者ごとに変化する。
ISMS(Information Security Management System)
情報セキュリティマネジメントシステムの整備・管理・運用に関する仕組み
PMS(Personal information protection Management System)
個人情報保護マネジメントシステムの整備・管理・運用に関する仕組み
クラッシング
プロジェクトに資源を追加し、必要になるコストを最小限に抑えながらスケジュールを短縮すること
BPO(Business Process Outsourcing)
業務プロセスを対象としてアウトソーシングを実施すること
バイラルマーケティング
インターネットやメールにより、クチコミを利用して不特定多数に広まるよう仕掛けていくマーケティング手法のこと
ファウンドリ企業
他者から委託をうけて半導体製品の生産だけを専門に行う企業のこと
RDA(Remote Database Access)
遠隔地のデータベースを操作するためのプロトコル
サーバコンソリデーション
仮想化技術を用いることで、複数の専用サーバに分散・非効率化していたアプリケーションや機能を1台(または少数)の物理サーバに整理統合すること
2024-04-11
デジタルフォレンジックス
犯罪捜査や法的紛争などで、コンピュータなどの電子機器に残る記録を収集・分析し、その法的な証拠性を明らかにする手段や技術の総称
2024-04-10
TPM
IoT機器やPCに搭載されているセキュリティチップ
WCAG(Web Content Accessibility Guidelines)
ウェブコンテンツのアクセシビリティに関するガイドライン
2024-04-09
EVM(アーンドバリューマネジメント)
プロジェクトの進捗を、金銭価値に変換し、プロジェクトの状況を管理、分析する手法
ビジネスインパクト分析(BCP)
災害などのトラブルによって業務が停止した場合に事業が受ける影響を分析・評価するプロセスのこと
リード/ラグ
リード
後続作業を前倒しに早める期間ラグ
後続作業を遅らせる期間
EDMモデル
ITガバナンスにおいて、経営陣が評価(Evaluate)し、指示(Direct)し、モニタ(Monitor)することが規定されていること
SOA(サービス指向アーキテクチャ)
業務上の一処理に相当するソフトウェアの機能をサービスという単位で実装し、サービスを組み合わせることによってシステムを構築するという考え方
ESB(Enterprise Service Bus)
なるシステム、アプリケーション、リソース間での統合と通信を促進するためのソフトウェアアーキテクチャの一種
AISASモデル
インターネット社会における消費者行動モデル。
認知・注意(Attention)→関心(Interest)→検索(Search)→行動(Action)→共有(Share)の5段階
EDI
取引のためのメッセージを標準的な形式に統一して、企業間で電子的に変換する仕組み
XBRL
企業のビジネス報告や財務情報を電子的に記述し、交換するための国際標準のXMLベースの言語
2024-04-08
ワークパッケージ
WBSにおける最下位レベルの要素のこと
三点見積法
アクティビティの「(楽観値 + 最頻値 × 4 + 悲観値)÷ 6」で所要日数を見積もる方法
類推見積法
過去にあった類似プロジェクト事例を参考に、具体的な見積を算出する方法
PERT
プロジェクトの各作業の先行後続関係をアローダイアグラムを用いて表現する技法
ファストトラッキング
プロジェクトスコープを変更することなく、所要時間を短縮する手法の一つで、本来、順番に行うべき作業を並行して行う手法
クラッシング
プロジェクトスコープを変更することなく、所要時間を短縮する手法の一つで、クリティカルパス上の作業に追加資源を投入する方法
プレシデンスダイアグラム法(PDM法)
個々の作業を四角で囲み、作業同士を矢印で結ぶことで作業順序や依存関係を表現する図法
クリティカルチェーン法
プロジェクトの作業の依存関係だけでなく、資源の不足や競合も考慮してスケージュールを管理する方法
バーンダウンチャート
縦軸に残りの作業量、横軸に時間をとり、プロジェクトの時間と残作業量をグラフ化した図のこと
トレンドチャート
グラフの横軸に開発期間、縦軸に費用または、予算消費率をとった図。
開発費用と作業の進捗とを同時に管理するのに使われる
COCOMO
ソフトウェアの規模から、開発工数と、開発期間を見積もる方法。
2024-04-06
サイクロマチック数
プログラムのフローグラフから得られるすべての経路の数
ウォークスルー
レビュー手法の一つ。レビュー対象物の作成者が説明者となり行う
インスペクション
レビュー手法の一つ。対象物の作成者以外の参加者がモデレータとして会議の進行をとり行う
2024-04-05
アノマリー方式
不正検知方法の一つで、正常なパターンを定義して、それに反するものをすべて異常だとみなす方式
IKE
IPsecにおいて暗号化方式の決定と、鍵交換を行うフェーズのこと
サニタイジング
SQLインジェクションの対策の一つで、特殊な意味を持つ文字を取り除いたり、他の文字に置き換えるエスケープ処理を施すこと
バインド機構
SQLインジェクションの対策の一つで、プレースホルダ(変数)を使用したSQL文のひな型を用意しておく
リフレクタ攻撃(リフレクション攻撃)
DDos攻撃の一つ。リフレクタと呼ばれる反射的に応答するサーバを踏み台に利用する攻撃。代表的なものとして、DNSサーバを踏み台に利用したDNSリフレクション攻撃がある。
TPMOR(Tow Person Minimum Occupancy)
最初の入室と最後の入室は2人同時でないと許可しないというルール。
セキュリティエリア内に最低2人いるようにする。
プラットフォーム開発
製造業やソフトウェア開発において複数の製品の共通となる部分をフラットフォームとして先に設計し、その共通部分をもとに多様な製品を開発していく開発設計手法のこと
コデザイン
ハードウェアとソフトウェアの設計を、開発の初期段階から並行して行うこと
CMMI(能力成熟度モデル統合)
ソフトウェアを開発・保守する組織のプロセスの在り方を示したモデル。組織の作業水準をプロセスの成熟度という概念でとらえ、成長過程をモデル化する
CRUDマトリクス
どのデータが、どのプロセスによって生成、参照、更新、削除されるのかを、マトリクス形式で表した図のこと
ベトリネット図
システムやプロセスの構造をグラフィカルに表現するための手法の一つ。特に、並行処理や分散システム、通信プロトコルなどの領域で有用。
2024-04-04
CRL
有効期限内に何らかの理由により失効させられたデジタル証明書のリスト
OCSP(Online Certifiicate Status Protocol)
デジタル証明書が失効しているかどうかをオンラインでリアルタイムに確認するプロトコル
TLSハンドシェイク
クライアントHello: クライアントがサーバに接続を開始すると、クライアントはサーバに対してTLSバージョンや使える暗号アルゴリズムなどの情報を含むクライアントHelloメッセージを送信。
サーバHello: サーバは、クライアントHelloメッセージに対する応答として、サーバHelloメッセージを送信。このメッセージには、サーバが選択したTLSバージョンや暗号アルゴリズム、およびサーバ証明書(場合によっては要求された場合)が含まれている。
サーバ証明書の検証: クライアントは、サーバ証明書が信頼できる認証局によって署名されているかどうかを確認します。これにより、クライアントはサーバの身元を確認する。
共通鍵の交換: サーバHelloメッセージに含まれる公開鍵暗号化に使用する公開鍵を取得した後、クライアントはランダムな共通鍵を生成し、この共通鍵をサーバの公開鍵で暗号化してサーバに送信する。サーバ側は、自身の秘密鍵でクライアントから送られてきた暗号化された共通鍵を復号する。
ハンドシェイクの完了: ハンドシェイクが完了すると、クライアントとサーバに同じ暗号化鍵ができ、クライアントとサーバは通信が安全であることを確認し、セッションの暗号化が有効になる。
MAC(メッセージ認証符号)
通信データが改ざんされていないかを受信側で検査するために、通信データから生成する固定長のコードのこと。共通鍵と認証が必要な任意のメッセージから生成する。
2024-04-03
OFDM
デジタル変調方式の一つで、隣り合う周波数の搬送波同士の位相を互いに直交させて周波数帯域の一部を重なり合わせ、高密度な周波数分割を行う手法
CSMA/CA方式
無線LANで採用されているアクセス制御方式で、衝突を検出するのではなく、回避をする方式
IEEE 802.1X
LANに接続するノードを認証するための規格
2024-04-01
WebDAV
HTTPを拡張して、webサーバ上のファイルの管理をできるようにしたプロトコル。
DNSレコード
DNSサーバに保存されている名前解決情報のこと
Aレコード
IPv4のアドレス情報AAAAレコード
IPv6のアドレス情報CNAMEレコード
1つのドメイン名を別のドメイン名にマッピングするMXレコード
ドメインのメールを処理するサーバのアドレスを指定NSレコード
そのドメインに対するDNSサーバを指定
SOAP
Webサービス間で情報を交換するためのプロトコルの一つ。データの構造の記述にXMLを使用する
SNMP
ネットワーク上にある機器を監視するためのプロトコル
VoIP
IPネットワークで音声をやりとりするための技術。
SIP
IPベースの通信システムでセッションを確立、制御、終了するためのプロトコル
RSVP
通信ネットワークにおいて、ネットワークリソース(帯域幅やバッファなど)を効率的に管理するためのプロトコル
パリティチェック
データ転送時にデータの正確性を確認するための技術。
パリティビットをデータに追加し、データに含まれる1のビット数が偶数または奇数になるように調整される。データが転送されるときにパリティビットも一緒に送信され、受信側で計算されたパリティと送信されたパリティが一致するかどうかを確認してエラーを検出する。
CRC(巡回冗長検査)
データの誤り検出に広く使用される手法。
送信側でデータと一緒にデータビット列に対して固定長のビット列である「CRCポリノミアル」を使用して計算された「CRCチェックサム」を生成し、、受信側ではデータとCRCチェックサムが使用されてデータが正しいかどうかを検証する。
ハミング符号
エラー検出および修正のための一種のエラーコレクション符号。
データビットの中に追加の「パリティビット」を配置することでエラーの位置を特定し、必要に応じて修正する。
キャラクタ同期方式
同期方式の一つ。
送信側が、送信データの最初にSYNコードを2個以上続けて送信する方式
フラグ同期方式
同期方式の一つ。
送信したいデータの前後にフラグという特別なビット列を挿入して同期をとる方式
調歩同期方式
同期方式の一つ。
固定長ブロックの前後にスタートビットとストップビットを付加して、送信する方式。
HDLC
フラグ同期方式を採用した伝送制御手順。
ATM交換方式
データを固定長のセルとして転送する通信方式。
パケット交換方式とは違い、パケットの長さが統一されているため、パケットの解析に複雑なソフトウェアが不要になる
フレームリレー
パケット交換方式の一種。フロー制御や再送制御などを簡略化することで伝送効率を大幅に向上させた方式
2024-03-30
VRRP
ルータを冗長構成にする場合に用いられるプロトコル
コリジョン
イーサネットや無線LANの同一伝送路を共有する複数の端末が、同時に信号を発信した際にデータが衝突すること
CSMA/CD方式
イーサネットで採用されているメディアアクセス制御の一つで、データを送る前にチャネルが空いているか確認し、衝突が起きたら送信を中止してランダムな時間待つ。伝送路の使用率が30%を超えると実用的でなくなる
トークンバッシング方式
イーサネットで採用されているメディアアクセス制御の一つで、トークンを使用し、トークンを持っているデバイスだけがデータを送信できるようにしている。
TDMA方式
イーサネットで採用されているメディアアクセス制御の一つで、ネットワークを利用できる時間を細かく区切り、割り当てられた時間は各ノードが独占するという方式。
ICMP
IPパケットの送信処理におけるエラーの通知や制御メッセージを転送するためのプロトコル。
2024-03-28
TTL
パケット情報の生存時間を表す
セミジョイン法
分散型データベース演算に特有の転送コストを少なくするための結合手法の一つ。結合に必要な属性のみを相手側に送り、結合に成功したものだけを送り返してもらうことでデータの転送量を最小限にする。
2相コミットメント制御
分散データベースにおいて整合性を維持するための仕組みの一つ。最初に各サイトに更新可能かどうかと合わせをし、すべての参加者からコミット可能の返答があった場合にのみコミットを実行する
多次元データベース(MDB)
複数の項目でデータを集約したデータベースのこと。データウェアハウスでよく用いられる。
OLAP
多次元データを様々な視点から対話的に分析する処理形態、またはその技術のこと
OLAPツールの基本操作
スライス
一つの属性項目の特定の値を指定して取り出すダイス
複数の次元にわたってデータをフィルタリングして、取り出すドリルダウン
データの詳細レベルを深堀していく操作ドリルアップ
より高い抽象レベルにデータを集約する操作ピボット
表示方法を変更して、異なる次元を分析の軸として利用する。
ドキュメント指向データベース
NoSQLデータベースの一つで、キーに対応するドキュメント(JSON、XMLなど)を格納する。
キーバリューDB
NoSQLデータベースの一つで、シンプルなキーとそれに関連付けられた値を格納する形式。
グラフ指向DB
NoSQLデータベースの一つで、データをノード、エッジ、プロパティとして格納し、エンティティ間の関係を表現する。
カラム指向DB
キーバリューDBにカラムの概念を持たせたもの。
結果整合性
NoSQLにおいて、一時的なデータの不整合があっても、それを許容することで処理負担を軽くし、最終的に一貫性が保たれてればよいという考え方
BASE特性
Basically Available
高可用性Soft state
厳密な処理を要求しないEventually consistent
最終的に一貫性が保たれている
CAP定理
分散システムにおける3つの特性(一貫性、可用性、分断耐性)のうち、同時に満たせるのは2つまでであるという理論
サーバーコンソリデーション
複数台のサーバをまとめて1台にし、物理的なサーバの台数を減らすこと
2024-03-27
オプティマイザ
RDBMSにおいてSQLクエリを効率的に実行するための最適な実行計画(クエリプラン)を自動的に決定する機能のこと
コストベース
データの統計情報を利用し、最もコスト効率の良い実行計画を選択ルールベース
実行計画を決定するために固定のルールセットを使用
透過性
分散データベースシステムにおいて、データベースが複数の場所に離れていることを意識せずに利用するために求められる性質のこと
データディクショナリ/ディレクトリ(DD/D)
データベース管理システムが持つ、表の格納場所や、表の構造などの情報を持つデータ辞書のこと
2024-03-26
インデックス(データベース)
データベース内のテーブルの特定の列に対する高速な検索を可能にするデータ構造
B+木インデックス/ビットマップインデックス/ハッシュインデックス/複合インデックス
インデックスの方式
B+木インデックス
バランスの取れた木構造を持ち、データベースで最も一般的に使用されるインデックス。範囲検索や順序付けられたデータの検索や等価検索(特定の値を持つレコードの検索)に効果的ビットマップインデックス
カラムの各値に対してビットマップ(ビットの配列)を使用し、データの存在を示す。複数のカラムにまたがるAND、OR、NOTのような論理クエリに対して効率的ハッシュインデックス
キーのハッシュ値を使用してデータの位置を特定する。等価検索(特定の値の検索)に非常に高速だが、範囲検索や順序付けには適していない。複合インデックス
2つ以上のカラムを組み合わせたインデックス。等価検索や範囲検索に効率的
2024-03-24
埋め込みSQL
プログラミング言語のコード内に直接SQL(Structured Query Language)ステートメントを埋め込む技術。
ホスト変数
埋め込みSQLにおいて、データベースとプログラムのインターフェースとなる変数のこと。
SQL文内でホスト変数を参照するには、変数名の前にコロン(:)を付ける。
カーソル処理
SQLでのデータ操作において、検索の結果が複数となる場合に、一行ずつ取り出す処理のこと
2相ロック方式/木規約
データベースのロック方式
2相ロック方式
使用するすべてのデータベースにロックをかけ、処理後にロックを解除する方式木規約
データに順番をつけ、順番通りにロックをかけていく。デッドロックが発生しない。
多版同時実行制御(MVCC)
データベースの同時実行制御方式の一つで、同時実効性を高め、かつ一貫性のあるトランザクション処理を実現する仕組み。更新中のデータに対して参照要求があった際に、更新前の内容が返される。
時刻印方式
データベースの同時実行制御方式の一つで、トランザクションの発生や、データの読み込み、書き込み時刻を記録し、これらを比較して読み書きの判断を行う。
楽観的方式
データベースの同時実行制御方式の一つで、書き込む直前に、該当データが他のトランザクションによって書き換えられたかを確認して書き込みの判断を行う。
WALプロトコル
トランザクションがログを書きだすタイミングについての取り決めで、実際の操作よりも前にログの書き出しを行うルールのこと。
undo/redo方式
データベースにシステム障害が起こったときに、更新前ログを使用したロールバック(undo)と更新後ログを使用したロールフォワード(redo)を組み合わせてデータベースを回復する方法。
undo
COMMIT済み以外のトランザクションによる更新を、ログに記録された更新前の値を用いて元の値に戻すことredo
COMMIT済みのトランザクションによる更新内容を、ログの更新後の値を用いてデータベースに反映させる処理のこと
チェックポイントリスタート(チェックポイント法)
DBMSにおいて、データバッファとログバッファの内容を書きだすタイミング(チェックポイント)をも置けることで、障害が起きた際に0からではなく、チェックポイントから障害回復処理を行う方法のこと
20242-03-22
連関エンティティ
データベース設計において、多対多のエンティティの間にもう一つエンティティを介入させることにより1対多の関係にするとき、追加したエンティティのこと
弱エンティティ/強エンティティ
弱エンティティ
独立して識別できないエンティティです。通常、弱エンティティは、他のエンティティに依存しており、外部キーを通じてその他のエンティティに関連付けらる。強エンティティ
独立して識別可能なエンティティです。強エンティティは、一意の識別子によって個々に識別される。
2024-03-21
アサーションチェッカ
プログラムの処理の正当性を検査する動的テストツール
トレーサ(追跡プログラム)
命令単位でプログラムを実行し、実行直後のレジスタやメモリの内容などの情報が得られるツール
テストカバレージツール
テストの網羅率(カバレッジ)を定量的に測定するためのツール
プロファイラ
プログラムを構成するモジュールや関数の呼び出し回数や、かかる時間、メモリ使用率やCPU使用率などの情報を収集するツール。
ICE(インサーキットエミュレータ)
ハードウェア上でソフトウェアの動作をエミュレートし、ハードウェアとソフトウェアの統合テストとデバッグを支援する装置
Subversion(ApacheSubversion)
バージョン管理システムの一つで、中央集中型のバージョン管理機能を備えている。
2024-03-19
MMU(Memory Management Unit)
仮想記憶方式において、仮想アドレスを実アドレスに変換するハードウェア装置。
デマンドページング/プリページング
仮想記憶方式における、ページインのアルゴリズム
デマンドページング
ページフォルトが発生した際に該当ページを読み込む方式プリページング
将来的に必要とされるページを予測し、あらかじめ主記憶に読み込んでおく方式。
スワッピング
プロセス(実行中のプログラム)のメモリ領域を、物理メモリ(RAM)と補助記憶装置(通常はハードディスクやSSD)間で移動させること。これにより物理メモリを超える量のプロセスを実行できるようになる。
局所参照性
ある領域のメモリにアクセスした場合に、その近くの領域にもアクセスする確率が高いという性質のこと
ワーキングセット
メモリ管理において、ある時点または一定期間においてプロセスが実際にアクセスしているメモリページの集合
プリプロセッサ
高水準語で記述されたプログラムを、別の高水準語プログラムに変換する言語プロセッサ。
セルフコンパイラ/クロスコンパイラ
セルフコンパイラ
自身のソースコードをコンパイルする能力を持つコンパイラのことクロスコンパイラ
自身が動作するプラットフォームとは異なるプラットフォーム向けのコードを生成するコンパイラのこと
字句解析/構文解析/意味解析/最適化/コード生成
コンパイラの処理手順
字句解析
ソースコードの文字列をトークン(単語)に分割する。これにより、識別子、キーワード、演算子、リテラルなどの基本的な構成要素を特定する。構文解析
トークンの並びを文法規則に従って解析し、プログラムの構造を理解する。このプロセスは、ソースコードが正しい文法に従っているかどうかを検証する。意味解析
プログラムの意味や意味的なエラーをチェックする。変数の宣言の正当性や型の整合性、関数の呼び出しの正確性などが検証される。最適化
コードの実行速度やメモリ使用量などを改善する最適化が行われる。コード生成
実際の機械語やバイトコードなどの実行形式を生成する
インライン展開
関数呼び出しを、その中身のコードに直接展開するコンパイラの最適化手法
ループアンローリング
ループ内のコードを展開し、ループの反復回数を減らすコンパイラの最適化手法
定数の畳込み
コンパイル時に定数式を計算し、結果の値を直接式に置き換えるコンパイラの最適化手法
2024-03-16
オーバレイ方式
主記憶を効率よく使うための方式の一つ。
プログラムを小さな部分(オーバレイ)に分割し、必要に応じてこれらの部分を主記憶に読み込んで実行する。
2024-03-15
クリティカルセクション(危険領域)
複数のスレッドまたはプロセスが同時にアクセスするとデータの不整合を引き起こす可能性があるプログラムの一部のこと
TSL(Test and Set Lock)
クリティカルセクションに対する排他的アクセスを実現するもの。非常に低レベルで効率的だが、適切に使用しないとデッドロックやライブロックなどの問題を引き起こす可能性があります。また、ビジーループ(忙しい待ち状態)によるCPUリソースの無駄遣いが起こる問題もある。
セマフォ
TSLの問題点を解決し、排他制御を実現するもの。フラグの役割を持つ、セマフォ変数と、それらを操作するP操作、およびV操作から構成される。
P操作
セマフォの値をデクリメントする操作です。具体的には、プロセスまたはスレッドがリソースを利用したいときに呼び出されます。P操作の実行時にセマフォの値が正(0より大きい)であれば、値が1減少して操作は成功し、呼び出し元はリソースを利用できます。セマフォの値が0の場合、リソースが利用できないことを意味し、操作を行ったプロセスやスレッドはブロックされ、リソースが利用可能になる(セマフォの値が再び正になる)まで待機します。V操作
V操作は、セマフォの値をインクリメントする操作です。プロセスまたはスレッドがリソースの使用を終え、それを解放したいときに呼び出されます。V操作によってセマフォの値が1増加し、他のプロセスやスレッドがリソースにアクセスできるようになります。セマフォの値の増加により、それによってブロックされていたプロセスやスレッドがあれば、それらの中から1つまたは複数がリソースへのアクセス権を得て実行を再開できるようになります。
単一連続割り当て方式
メモリ管理方式の一つで、主記憶領域を1つのプログラミングにだけ割り当てる方式
固定区画方式(パーティション方式)
メモリ管理方式の一つで、主記憶領域をあらかじめいくつかの固定長の区画に分割し、実行するプログラムに、そのプログラムが必要とする大きさを持つ区画を割り当てる方式。内部フラグメンテーションが発生する。
可変区画方式(可変分割方式)
メモリ管理方式の一つで、プログラムの大きさに合わせて主記憶領域を割り当てていく方式。外部フラグメンテーションが発生する
最初適合アルゴリズム/最適適合アルゴリズム/最悪適合アルゴリズム
プログラムに空き領域を割り当てるアルゴリズム
最初適合アルゴリズム
必要以上の大きさを持つ空き容量のうち、最初に見つかったものを割り当てる最適適合アルゴリズム
必要以上の大きさを持つ空き容量のうち、最小のものを割り当てる最悪適合アルゴリズム
必要以上の大きさを持つ空き容量のうち、最大のものを割り当てる
2024-03-14
スタベーション
タスクスケジューリングの静的優先順位方式において、一部のプロセスやタスクが非常に低い優先順位により、他の高優先順位のプロセスやタスクにリソースが継続的に割り当てられるため、実行の機会を得られずに無限に待たされてしまうこと
エージング
タスクスケジューリングの動的優先度順方式において、長時間実行されないでいる低優先順位のプロセスやタスクの優先順位を時間が経過するにつれて徐々に上げることで、すべてのプロセスやタスクが公平にリソースへのアクセス機会を得られるようにすること
フィードバック待ち行列方式
タイムスケジューリング方式の一つで、複数の待ち行列を用意し、それぞれの待ち行列に異なる優先順位を割り当てます。プロセスは初めに最高優先順位の待ち行列に置かれ、CPUの時間を割り当てられます。プロセスがCPU時間を使い切ると、より低い優先順位の待ち行列に移動します。
処理時間方式(SPT方式)
タイムスケジューリング方式の一つで、処理時間の短いタスクから順に実行する方式。
リアルタイムOS(RTOS)
リアルタイム処理のための機能を実装したOS
イベントドリブンプリエンプション方式
リアルタイムOSで使用されるタスクスケジューリングの手法の一つで、タスクの実行が、外部からのイベントや信号によって中断され、より高い優先度を持つ別のタスクに切り替わることができる。
デッドラインスケジューリング方式
リアルタイムOSで使用されるタスクスケジューリングの手法の一つで、各タスクに対して実行が完了するまでの最終期限(デッドライン)が設定されます。システムは、各タスクのデッドラインを満たすようにスケジューリングされる。
イベントフラグ
特定のイベントが発生したことを示すためのフラグやビットの集合
ECB(イベント制御ブロック)
タスクやスレッドの状態や優先度、待機中のイベントなどを管理するためのデータ構造
2024-03-13
コンテキストスイッチング
1つのCPUが複数のタスクを実行するために、現在実行している処理の流れを一時停止して、別のものに切り替えること
イベントドリブン方式/タイムスライス方式
イベントドリブン方式
タスクの切り替えの方式の一つで、環境に変化が生じた際に発生する割込みによってタスクを切り替えるタイムスライス方式
タスクの切り替えの方式の一つで、一定期間ごとにタスクを切り替える。
スペシャルファイル
UNIXで扱うファイルの一つで、デバイスファイルと呼ばれる、周辺機器との仮想的なインターフェースの役割を果たす特別なファイル。
キャラクタスペシャルファイル/ブロックスペシャルファイル
キャラクタスペシャルファイル
データ転送を1文字、または1ピクセルずつ(バイト単位で)行い、ランダムアクセスが不可能な周辺機器に対応するファイル。
キャラクタデバイスの例としては、キーボード、マウス、モデム、プリンター、ディスプレイなどブロックスペシャルファイル
データ転送をブロック単位で行い、ランダムアクセスが可能な周辺機器に対応するファイル。
ブロックデバイスの例としては、ハードディスクドライブ、光学ドライブ、RAMディスクなど
エンディアン
データをメモリ上にロードするときの配置の仕方
ビッグエンディアン/リトルエンディアン
ビックエンディアン
データの上位バイトから下位バイトへ向かって、メモリの下位アドレスから順に配置していく方式。16進数のデータ「00 01 02 03」を、ビッグエンディアン方式で配置していくと「00 01 02 03」となる。リトルエンディアン
データの上位バイトから下位バイトへ向かって、メモリの上位アドレスから順に配置していく方式。16進数のデータ「00 01 02 03」を、リトルエンディアン方式で配置していくと「03 02 01 00」となる。
モジュール結合度
モジュール動詞の関連性の強さを示す概念
2024-03-11
JCL(Job Control Language)
ジョブ(一連の処理タスク)を制御するために使用されるスクリプト言語
TCB(Task Control Block:タスク制御ブロック)
システム内の各タスクやプロセスに関する情報を保持するデータ構造のこと。このブロックには、タスクの状態、優先度、プログラムカウンタ、レジスタの値など、タスクの実行に必要なすべての情報が含まれている。
PSW(Program Status Word:プログラム状態語)
プログラムの実行状態を表す特殊なレジスタやメモリ上のデータ構造のこと
2024-03-10
故障率
単位時間当たりに故障する確率
故障率=1/MTBF
インタロック
特定の条件を満たさない限り、機械が作動しないようにする機構
モデル・ビュー・コントローラー(Model View Controller,MVC)
モデル層
アプリケーションが扱う領域のデータと手続きを表現する要素。多くのアプリケーションにおいてはデータベースの機能が、この層に該当する。ビュー層
モデル層のデータを取り出してユーザーが見るのに適した形で表示する要素。WebシステムではHTMLを生成して、動的にデータを表示するためのプログラムなどが、この層に該当する。コントローラ層
ユーザーの入力に対して応答し、それを処理する要素。受け取った入力に応じてモデル層やビュー層に処理を依頼する。
相乗平均
$$\sqrt[n]{a_1 + a_2 + a_3 + … a_n}$$
フォールトマスキング
システムに障害が発生しても外部に影響が伝播しないような仕組みにすること
2024-03-09
アイドル状態
コンピュータやプログラム、デバイスなどが、活動的な処理を行っていない状態のこと
RASIS
信頼を評価する5つの概念の頭文字をとった造語
Reliability(信頼性)
Availability(可用性)
Serviceability(保守性)
Integrity(保全性or完全性)
Security(安全性)
2024-03-07
スループット
コンピュータが単位時間当たりに処理でき仕事量
ターンアラウンドタイム
主に、バッチ処理に用いられる性能指標で、コンピュータシステムにおいて指示から完了までの時間のこと
オーバーヘッド
処理を行うために必要となる付加的、間接的な処理や手続き、またはそのために機器やシステムへかかる負荷や余分に費やされる処理時間などのこと
FLOPS
コンピュータの性能指標の一つで、1秒間に浮動小数点演算が何回できるかを表したもの
SPEC/TPC-C
SPCE
Standard Performance Evaluation Corporationの略でプロセッサの性能を評価するベンチマークテストTPC-C
オンライントランザクション処理システムの性能を評価するベンチマーク。システム全体としての性能を評価する。
キャパシティプランニング
情報システムの設計段階で現状の最大負荷だけでなく、将来予測される最大負荷時にもサービスの水準を維持できるような設計を検討すること
M/M/1
待ち行列理論で使用される基本的なモデルの一つ
M 到着プロセス(Arrival process)がマルコフ過程(Markov process)である。これは到着が一様でランダムであり、過去の到着間隔が将来の到着に影響を与えないことを意味する。
M サービスプロセス(Service process)もマルコフ過程である。つまり、サービス時間が指数分布に従うことを意味する。
1 1つの行列に対して提供されるサービスは一つのみ
平均到着率
単位時間当たりに到着するトランザクション数
記号λ(ラムダ)で表す
平均到着間隔
あるトランザクションの到着から次のトランザクションの到着までの平均時間のこと。平均到着率の逆数で表せる。
平均サービス率
単位時間当たりにサービス可能なトランザクション数のこと
記号μ(ミュー)で表す
平均サービス時間
トランザクション一つあたりがサービスを受ける平均時間
平均サービス率の逆数で表せる
利用率
単位時間にサービスの窓口を利用している割合。
記号ρ(ロー)で表す
平均サービス時間/平均到着率 = 利用率
平均到着率/平均サービス率 = 利用率
2024-03-05
グリッドコンピューティング
複数の地理的に分散したコンピュータリソースを統合し、仮想的なスーパーコンピュータを形成する技術
SAN(Storage Area Network)
サーバとストレージを、通常のLANとは別の高速ネットワークで接続したストレージ専用のネットワークのこと
シンプロビジョニング
ストレージリソースを仮想化して割り当てることで、ストレージの物理容量を削減できる技術のこと
ストレージ階層化
異なる性能のストレージ・デバイスを組み合わせ、利用頻度の高いデータを高速なデバイスへ、利用頻度の低いデータは安価で低速なデバイスに保存するという考え方
ホスト型仮想化/ハイパバイザ型仮想化/コンテナ型仮想化
サーバ仮想化の3つの方式
ホスト型仮想化
ホストOSの上で仮想マシンを実行する方式ハイパバイザ型仮想化
物理的なハードウェア上に直接仮想マシンを実行する方式コンテナ型仮想化
ホストOS上にコンテナを作り、サーバアプリケーションの実行環境を提供する方式
ライブマイグレーション
稼働中の仮想マシンを停止させることなく、1つのホストから別のホストへ移動させる技術
HAクラスタ
高可用性を目的としたクラスタ構成のこと
クラスタソフトウェア
複数のコンピュータを組み合わせて1つのシステムとして機能させるためのソフトウェア
2024-03-03
クラスタシステム
ネットワークで接続された複数のコンピュータを一つの統合されたシステムとして扱う方法のこと
2024-02-28
スヌープ方式
複数のキャッシュメモリ間で一貫性を維持するためのキャッシュコヒーレンシープロトコルの一種。この方式では、各キャッシュが他のキャッシュの操作を監視(スヌープ)し、自身のキャッシュ内のデータの一貫性を保つ役割を担う。
ダイレクトマッピング方式/フルアソシアティブ方式/セットアソシアティブ方式
ダイレクトマッピング方式
主記憶のブロック番号からキャッシュメモリのブロック番号が一意に定まる方式。主記憶のブロック番号にハッシュ演算を行うことで、キャッシュメモリのブロック番号を決める。簡潔で、効率的だが競合が発生しやすい。フルアソシアティブ方式
主記憶のブロックをキャッシュメモリのどこにでも配置できる方式。競合は発生しないが、検索に時間がかかる。セットアソシアティブ方式
ダイレクトマッピング方式とフルアソシアティブ方式の折衷案。キャッシュが複数のセットに分割され、各セット内ではフルアソシアティブ方式が適用される。競合が発生する可能性を減らしつつ、検索時間を効率化できる。
プログラム制御方式/DMA制御方式/チャネル制御方式
プログラム制御方式
CPUが入出力制御コマンドを発行する方式。DMA制御方式
CPUを介さずに、外部装置と主記憶との間でデータをやり取りする方式。DMAコントローラと呼ばれる専用のハードウェアが必要チャネル制御方式
DMA制御方式の一つで、チャネル装置が入出力装置と主記憶との間のデータ伝送を行う方式。
シンクライアント端末
集中処理システムにおいて必要最低限の機能のみを持たせた端末のこと
ストアドプロシージャ
データベース内に保存された、データベースの操作や処理を実行するための手続き(プロシージャ)のこと。複数のSQLステートメントをまとめて一連の処理として実行することができ、データベース操作の複雑さを隠蔽し、再利用可能なロジックを作成することができる。
RPC
分散コンピューティングのコンセプトであり、1つのコンピュータ上のプログラムが、別のコンピュータ上で実行されているプログラムの手続き(プロシージャ)を呼び出すことを可能にする機能のこと。
NFS
RPC上に実現される技術で、UNIXおよびUNIX系オペレーティングシステムで広く使用されている。ネットワーク上の異なるコンピュータ間でファイル共有を可能する。
2024-02-26
CPI
一つの命令に必要なクロック数
ウェアレベリング
フラッシュメモリの寿命を延ばすための技術。各ブロックをなるべく均等に使うように制御する。
NOR型フラッシュメモリ/NAND型フラッシュメモリ
NOR型フラッシュメモリ
信頼性が高く、読み出しが高速。高集積化には不向き。主にファームウェアの格納を目的として使われるNAND型フラッシュメモリ
集積度が高く、安価に大容量化でき、書き込みを高速で行える。USBメモリやSSDなどに使われている。
FeRAM
不揮発性メモリの一つであり、電源が切れてもデータを保持する。その上、DRAM並みに読み込みが速く、高い耐久性を持つ。
2024-02-25
PSW(Program Status Word)
プログラムの状態を示す情報を格納するレジスタ。プログラムの実行フローを制御するために、分岐命令や例外処理、割り込み処理などの際に特に重要な役割を果たす。
マスカブル割込み・ノンマスカブル割込み
マスカブル割込み
発生をマスク(制御)することができる割込みのことノンマスカブル割込み
発生をマスク(制御)できない割込みのこと
ハザード
パイプライン処理が乱れる状態またはその要因のこと
制御ハザード(分岐ハザード)
分岐命令が原因で起こるハザード。データハザード
命令間でデータの依存関係がある場合に発生するハザード。
VLIW
プログラムをコンパイルする際に、あらかじめ依存関係のない複数の命令を並べて一つの複合命令とし、同時に実行させる手法。
SISD/SIMD/MISD/MIMD
Single(単一)Multiple(複数)Instruction(命令)Data(データ)
SISD
一つの命令で、一つのデータを処理する方式SIMD
一つの命令で複数のデータを処理する方式MISD
複数の命令で、一つのデータを処理する方式MIMD
複数の命令で複数のデータを処理する方式
アムダールの法則
並列処理について、並列化できない部分があるとき、並列処理による全体の性能向上(高速化率)は、並列可能な部分の割合によって限定されるということ。
高速化率=1/1-r+(r/n)
n:プロセッサの数
r:並列化による高速化が可能な割合
2024-02-24
サーミスタ
温度の変化によって抵抗値が変化する電子部品
CISC・RISC
CISC
CPUの方式の一つで、より複雑で多機能な命令セットが特徴。CISCアーキテクチャの例には、Intelのx86アーキテクチャがある。RISC
CPUの方式の一つで、より単純な命令セットを用いて、プロセッサの効率とパフォーマンスを最大化することを目指している。RISCアーキテクチャの例には、ARM、MIPS、およびRISC-Vがある。
2024-02-22
Javaアプレット
Javaで書かれたwebブラウザ上で実行されるアプリケーションのこと
Javaサーブレット
Javaプログラミングで書かれたサーバサイドのプログラムで、主にウェブアプリケーションの開発に使用される
LSI
大規模集積回路(Large Scale Integration)の略称であり、複数の論理回路や機能ブロックを一つの半導体チップ上に統合する技術のこと
FPGA
ユーザーが任意の論理回路やデジタル回路を構築することができる、再構成可能なデジタル回路
ダイナミック電力・スタティック電力
ダイナミック電力
論理回路のスイッチング動作やデータの移動に伴う電力消費のことスタティック電力
電子デバイスが動作していない状態でも消費する電力のこと