ログイン

計算機工学3
83問 • 1年前
  • K
  • 通報

    問題一覧

  • 1

    フォールトマスキング

    障害発生時にその障害を内部に留め、外部向けの機能やサービスに影響を与えないように制御する考え方

  • 2

    フォールトトレランス

    システムの構成部品を多重化し、システムの一部に障害が発生しても全体としては停止することなく稼働を続け、その間に復旧を図るようにシステムを設計する技術。

  • 3

    スケールアップ

    システムのハードウェアを高性能なものにすることで、システムの性能を向上させる 例)高性能なCPUへの交換、ディスクの増設、メモリの増設などがあります。

  • 4

    スケールアウト

    サーバの台数を増やして負荷分散することによって、サーバ群としての処理能力を向上させる 処理能力が高くなるだけなく、何らかのトラブルでサーバが故障しても別のサーバでカバーできるため、システムの可用性が高まるというメリットもあります。 Webサーバなどのフロントサーバの性能向上には、スケールアウトが適しています。

  • 5

    OSの構成要素(2つ)

    ①カーネル :ジョブ管理、タスク管理などOSの中核となる制御プログラムの機能を提供。 ②シェル :カーネルとユーザをつなぐインターフェース。例えば、コマンドプロンプトなどで入力されたコマンドのインタプリタ(解釈し、機械語に翻訳する)機能を有しています。

  • 6

    固定小数点形式

    小数点を扱う際に何ビット目(何桁目)が小数点になるかあらかじめ決めておく方法

  • 7

    浮動小数点形式

    表現できる数値の範囲を広げるための方法であり、数値を仮数(符号を含む)・指数・基数を用いて「仮数×基数の累乗」という形式。 ・メリット :非常に大きな値から非常に小さな値まで使うことができる ・デメリット:極端に大きい数字や小さい数字に対応できることから複雑なため処理に時間がかかる。表現できる値には限りがあるため、幾分誤差がでます。

  • 8

    マルコフ過程

    未来の挙動が現在の値だけで決定され、過去の挙動と無関係であるという性質を持つ確率過程のこと。 例えば、天気の場合、現在が「晴れ」だった時に、明日の天気が「晴れ」になる確率が40%、「曇り」の確率が40%、「雨」の確率が20%となるとき、現在の天気によってのみ明日の天気の確率が変わるため、マルコフ過程であると言えます。 マルコフ過程はAIにおける強化学習で用いられる確率モデルです。

  • 9

    実効アクセス時間(CPUからメモリへの1回のアクセスにかかる平均時間)の求め方

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

  • 10

    キャパシティプランニング

    情報システムの設計段階で、将来予測される最大負荷時にも、サービスの水準を維持できるような設計を検討すること。 システムの現在の応答時間を調査し、長期的に監視することによって、将来を含めて応答時間を維持するために行う。

  • 11

    MTBF(Mean Time Between Failures)

    平均故障間隔。故障なしで使用できる時間の平均値。 MTBF = 稼働時間の合計/故障回数

  • 12

    MTTR(Mean Time To Repair)

    平均修理時間。故障を修理し、復旧するまでの時間の平均値。 一般的に、修理系(直しながら使うシステム)に適用される指標で、車など故障した部品を交換して再度利用する目的で使われています。 MTTR = 修理時間の合計/故障回数

  • 13

    インオーダー実行 と アウトオブオーダー実行

    インオーダー実行 :スーパスカラ(CPU内部に複数のパイプラインを用意して、同時に複数の命令を実行すること)により、命令の発行・完了がオリジナルプログラムに書かれた通りになること アウトオブオーダー実行 :スーパスカラ(CPU内部に複数のパイプラインを用意して、同時に複数の命令を実行すること)により、命令の発行・完了がオリジナルプログラムに書かれた通りならないこと

  • 14

    メモリ保護

    プログラムが他のプログラムのメモリ領域にアクセスするのを防ぐシステム。 これにより、プログラムが他のプログラムのデータを誤って書き換えることを防ぎ、システムの安全性と信頼性を保つことができます。

  • 15

    コンパイラによる最適化

    プログラムの実行速度を向上させるために、様々な最適化を行います。 これには、不要な計算の削除、ループの展開、インライン化などが含まれます。

  • 16

    誤り訂正符号

    データが転送または保存される際に発生する可能性のあるエラーを検出し、訂正するための手法。 例えば、パリティチェックやハミングコードなどがあります。

  • 17

    ファームウェア

    ハードウェアデバイスの制御や操作を行うためのソフトウェア。 ファームウェアは通常、非揮発性のメモリに格納され、デバイスの基本的な機能を提供します。

  • 18

    型推論

    プログラムのコンテキストから変数や式の型を自動的に決定するコンパイラの機能。 これにより、プログラマは型宣言を省略でき、コードの可読性と生産性を向上させることができます。

  • 19

    SaaS(Infrastructure as a Service)

    クラウドサービスの一種で、仮想化されたハードウェアリソース(サーバ、ストレージ、ネットワークなど)を提供します。 ユーザは必要に応じてリソースをスケールアップまたはスケールダウンできます。

  • 20

    アムダールの法則

    ログラムの並列化による性能向上の限界を示す法則。 この法則によれば、プログラムの一部が並列化できない場合、その部分が全体の性能に与える影響が大きくなり、並列化による性能向上の限界が存在します。

  • 21

    OpenMP

    共有メモリ型のマルチプロセッサコンピュータで並列プログラミングを行うためのAPI。 OpenMPは、プログラムの一部を並列に実行するためのディレクティブを提供します。

  • 22

    バイトオーダ

    複数バイトからなるデータ(例えば、32ビットや64ビットの整数)をメモリに格納する際の順序を指します。 主にビッグエンディアンとリトルエンディアンの2種類があります。ビッグエンディアンは最も重要なバイト(最上位バイト)を最小のメモリアドレスに格納し、リトルエンディアンは最も重要でないバイト(最下位バイト)を最小のメモリアドレスに格納します。

  • 23

    桁あふれ(オーバーフロー)

    桁あふれは、計算結果がそのデータ型で表現できる範囲を超えたときに発生します。 例えば、8ビットの符号付き整数では、-128から127までの値しか表現できません。 この範囲を超える値を計算しようとすると、桁あふれが発生します。

  • 24

    デナード則

    ロバート・デナードが1980年に提唱した、集積回路のスケーリングに関する法則です。この法則は、トランジスタのサイズを小さくすると、その性能が向上し、消費電力が減少し、コストが下がると述べています。しかし、近年では、物理的な限界や電力消費の問題から、この法則が破られつつあります。

  • 25

    組み込みシステム

    は特定の機能を実行するために設計された専用のコンピュータシステム。 これらのシステムは、自動車、家電、医療機器、産業機器など、さまざまな製品に組み込まれています。 組み込みシステムは、一般的なパーソナルコンピュータとは異なり、特定のタスクに特化して設計されており、リソース(CPU、メモリ、電力など)を効率的に使用します。

  • 26

    スパイウェア

    ユーザの情報を収集するために設計されたマルウェア(悪意のあるソフトウェア)の一種。 スパイウェアは、ユーザの行動を追跡したり、キーストロークを記録したり、個人情報を盗んだりすることができます。スパイウェアは通常、ユーザの知らない間にコンピュータにインストールされ、バックグラウンドで動作します。

  • 27

    深層学習

    人工知能の一分野で、人間の脳のニューロンのネットワークを模倣したニューラルネットワークを用いて、大量のデータからパターンを学習します。 深層学習は、画像認識、自然言語処理、音声認識など、多くの応用分野で高い性能を発揮します。

  • 28

    2の補数表現

    整数をバイナリで表現する方法の一つで、負の数を表現するために使用されます。 2の補数表現では、最上位ビットが符号を表し、その他のビットが値を表します。負の数は、その絶対値の2の補数(ビットを反転させて1を加える)で表現されます。

  • 29

    命令セットアーキテクチャ

    コンピュータのCPUが理解できる命令の集合を定義したもの。 命令の形式、命令の意味、プログラムカウンタ、レジスタセット、アドレッシングモード、メモリアクセス方法など、プログラムの実行に必要なすべての情報を定義します。

  • 30

    ムーアの法則

    集積回路の性能に関する観察から導かれた経験則で、トランジスタの密度(集積回路上の単位面積あたりのトランジスタ数)が約2年ごとに2倍になるというもの。 半導体技術の進歩とコンピュータの性能向上のペースを予測するために広く使用されています。

  • 31

    仮想記憶

    オペレーティングシステムが提供する機能の一つ。 物理メモリよりも大きなメモリ空間をプログラムに提供するための技術です。仮想記憶では、メモリはページと呼ばれる固定サイズのブロックに分割され、これらのページは必要に応じて物理メモリとディスク間で移動されます。

  • 32

    ハッシュ関数

    任意の長さの入力を取り、固定長の出力(ハッシュ値)を生成する関数。 良いハッシュ関数は、異なる入力に対して異なる出力を生成する確率が高いことが求められます。 ハッシュ関数は、データ構造の一つであるハッシュテーブルの実装や、データの整合性チェック、パスワードの保存など、多くの用途で使用されます。

  • 33

    浮動小数点形式 (floating-point data format)

    コンピュータにおける数値を表現する方法の一つで、主に小数点を含む数値を表現するときに利用されています。 浮動小数点数は「符号」「指数部」「仮数部」の形式で表現します。 符号は正の数が0、負の数が1で表され、指数部は2^nのnの部分を2進数表記にした値を格納します。 仮数部には正規化した小数点以下の値が格納されます。 この形式はIEEE754という規格で標準化されています。

  • 34

    参照の局所性 (locality of reference)

    1つのリソースに複数回アクセスする処理に関する情報工学上の概念。 ・時間的局所性:ある時点で参照されたリソースが近い将来にも再び参照される可能性が高いことを表す概念。 ・空間的局所性:あるリソースが参照されたとき、その近傍のリソースが参照される可能性が高いことを表す概念。 ・逐次的局所性:メモリが逐次アクセスされるという概念。

  • 35

    不揮発性メモリ (non-volatile memory)

    コンピュータで使われるメモリの一種で、電源を供給しなくても記憶を保持するメモリの総称。 不揮発性メモリには、ROM、フラッシュメモリ、ほとんどの種類の磁気記憶装置(ハードディスクドライブ、フロッピーディスク、磁気テープなど)、光ディスク、初期のコンピュータで使われた紙テープやパンチカードなどがあります。

  • 36

    エッジコンピューティング (edge computing)

    利用者側の端末やその近くに設置するサーバーなどのネットワーク周縁(エッジ)部分でデータを処理するコンピューティング手法。 データ加工や分析など一部の処理をネットワーク末端のIoTデバイス、あるいはその周辺領域に配置したサーバーで行い、加工されたデータのみをクラウドに送信します。 これにより、通信遅延やネットワーク負荷の低減などを実現します。

  • 37

    高水準言語 (high-level programming language)

    人間が理解しやすいように、人間が使う言葉に近づけて作られた言語。 機械語やアセンブリ言語と比べて、より抽象的な概念を提供します。 これにより、プログラマは、ハードウェアの詳細を気にすることなく、プログラムのロジックに集中することができます。 別名「高級言語」とも呼ばれ、低水準言語と対比して用いられます。高水準言語の種類は、主に、BASIC、FORTRAN、COBOL、C言語、C++、Java、PHP、Ruby、Pascal、LISP、Delphiなど。

  • 38

    トランジスタ (transistor)

    電子回路において信号を増幅またはスイッチングすることができる半導体素子。 論理回路を構成するための電子部品として最も普及しており、集積回路(IC)の多くは微細なトランジスタの集合体です。 CPUやMPUに内蔵されているトランジスタの数は増え続け、今では一つのチップに700億個以上のトランジスタが搭載されている製品もあります。

  • 39

    0への丸め (rounding toward zero)

    数値を丸める際に、その数値が正であれば切り捨て、負であれば切り上げる方法。 これにより、丸めた結果は常に絶対値が元の値以下となります。

  • 40

    排他制御 (exclusion control)

    複数のプロセスが利用可能な共有資源に対し、複数のプロセスからの同時アクセスにより競合が発生する場合に、あるプロセスに資源を独占的に利用させている間は、他のプロセスが利用できないようにする処理のことを指します。 これにより、データの整合性を保つことが可能になります。

  • 41

    コンテナ型仮想化 (container-based virtualization)

    1つのホストOS上に複数のコンテナと呼ばれる独立空間を形成し、そこでアプリケーションをそれぞれ構築する技術。 従来では、1台の物理マシンに対して1つのOSが起動し、その上にさまざまなアプリケーションやソフトウェアが動いているという構造でした。しかし、コンテナ型仮想化では、1つのホストOS上で複数の独立した環境(コンテナ)を作り出し、それぞれのコンテナ内でアプリケーションを動かすことができます。

  • 42

    タイムシェアリングシステム (time sharing system)

    1台のコンピュータを複数のユーザが同時に利用するためのシステム。 このシステムでは、コンピュータの処理時間を決まった短い時間に分割し、それぞれ異なる利用者やプログラムに順番に割り当てることで、並行して効率的にコンピュータを利用できるようにします。 これにより、複数のユーザが同時にシステムを利用でき、各ユーザが使いたいときにすぐにプログラムを実行することができます。

  • 43

    分散ファイルシステム(Distributed File System: DFS)

    ネットワーク上の複数のサーバーにデータを分散して保存するシステム。 企業内のネットワーク上に存在するファイルを、様々なデータセンターやクラウド上に分散することで、あたかもローカルにファイルが存在しているかのようにするシステムのこと。 ユーザーはそのファイルにアクセスする権限があれば、分散ファイルシステム内部にあるファイルをどこからでも取り扱えます。これにより、データの取り扱いが非常に楽で、顧客の訪問先でもセキュリティレベルの高い状況でデータを扱えます。

  • 44

    IoT (Internet of Things)

    「モノのインターネット」と訳され、様々な物体(モノ)に通信機能を持たせ、インターネットに接続したり相互に通信することにより、自動認識や自動制御、遠隔計測などを行う技術。

  • 45

    ビッグデータ(Big Data)

    その規模が巨大で、従来のデータベースやデータ処理ソフトウェアでは管理や分析が困難なほどの大量のデータ。インターネットの使用、ビジネス取引、ソーシャルメディア、センサーやモバイルデバイスからのデータなど、様々なソースから日々生成されています。 ビッグデータは、一般的にはVolume(量)、Variety(多様性)、Velocity(速度あるいは頻度)の「3つのV」を高いレベルで備えていることが特徴とされています。

  • 46

    ギャングスケジューリング (gang scheduling)

    複数のノードにまたがったタスクを同時にスケジューリングて、並列アプリケーションの効率的な実行を可能にする仕組み。これは主にスーパーコンピュータや並列サーバー環境でバッチジョブを同時実行するために使われます。

  • 47

    リアルタイム OS (real-time operating system)

    リアルタイムシステムのためのオペレーティングシステム。時間制約を保証できる設計を実現するために使われ、例えば、自動車、医療機器、産業制御システム、航空宇宙システム、軍事システムなど、リアルタイム性能を要求される組み込みシステムに多く使用されます。

  • 48

    ソリッドステートドライブ (Solid State Drive, SSD) 

    フラッシュメモリ(半導体)を用いてデータを記録・保存する補助記憶装置。 HDDと比べて、アクセス速度が速く、振動に強い、消費電力が少ない、軽量などの特徴があります。 しかし、書き込み回数に制限があり、価格が高いというデメリットもあります。 パソコンやサーバーなどのストレージとして広く利用されています

  • 49

    システムコール (system call)

    コンピュータ上で実行中のプログラムが、OSのカーネルの特権的な機能を呼び出す仕組み。また、そのための命令や関数などのインターフェース仕様(API)。

  • 50

    クラウドコンピューティング (cloud computing)

    コンピュータの機能や処理能力、ソフトウェア、データなどをインターネットなどの通信ネットワークを通じてサービスとして呼び出して遠隔から利用すること。初期費用や運用負担を抑え、業務効率化や生産性向上を実現することができます。

  • 51

    プロセスとスレッドの違い

    プロセス :実行中のプログラムのインスタンスを指し、それぞれが独立したメモリ空間を持つ。プロセスは、OSによって管理され、各プロセスは同じメモリ領域を一切共有しません。つまり、あるプロセスの処理は、他のプロセスに一切影響を与えません。 スレッド :プロセス内の実行単位で、1つのプロセス内で複数のスレッドが存在することがあります。スレッドはプロセス内の同じメモリ領域を共有します。これにより、スレッド間の通信は非常に効率的ですが、一つのスレッドがプロセス全体を破損させる可能性もあります。

  • 52

    TLB (Translation Lookaside Buffer)

    仮想記憶を用いるコンピュータ上で、メモリの仮想アドレスと物理アドレスの対応関係を一時的に保存しておくキャッシュメモリ。CPU(マイクロプロセッサ/MPU)内部に実装されている。

  • 53

    ポリモーフィズム(オブジェクト指向プログラミングにおける多様性)

    プログラミング言語の持つ性質の一つで、ある関数やメソッドなどが、引数や返り値の数やデータ型などの異なる複数の実装を持ち、呼び出し時に使い分けるようにできること。 すなわち、同じ命令を送ったにも関わらず、それぞれが独立した固有の処理を行うという特性のこと。

  • 54

    ホットプラグ

    機器の電源が入り稼動状態のまま、部品やケーブルなどを装着、交換、抜去すること。また、そのような仕組みやコネクタなどの構造のこと。機器を稼働させたまま部品の取り付けや取り外しを行うことができる。取り付けた部品は自動的に認識され、すぐに制御可能になる。

  • 55

    パリティチェック

    データの誤り検出方式の一つで、ビット列中に含まれる「1」の数が偶数か奇数かを表す符号を算出してデータに付加する手法。最も単純な誤り訂正符号で、1ビットの誤り検出しかできないが算出や検証が容易で高速なため広く普及している。

  • 56

    POSIX (Portable Operating System Interface)

    主にUNIX系OSに共通する機能などについて、プログラムからの呼び出し方法(API:Application Programming Interface)などの標準を定めた規格。 オペレーティングシステム(OS)の中核部であるカーネルの機能を呼び出すシステムコールをC言語から利用するためのAPI仕様や標準ライブラリ関数などを定めており、POSIX仕様のみを用いて開発されたプログラムはPOSIX準拠のOSならばどれでも同じように動作させることができる。

  • 57

    リンケージエディタ (Linkage Editor)

    ソフトウェアの開発ツールの一つで、「機械語(マシン語)」で記述されたプログラムを連結、編集して「実行可能ファイル」を作成するソフトウェア。

  • 58

    ローダ (Loader)

    コンピュータプログラムの種類や機能の一つで、データやプログラムを外部から読み込む(load:ロードする)もの。対象により「ブートローダー」「画像ローダー」「クラスローダー」などのように呼ぶ。

  • 59

    動的リンキング (Dynamic Linking)

    プログラムの実行に必要なライブラリやモジュールなどを、実行時にリンク(連結)して起動すること。 開発時にはライブラリなどの呼び出し側コードのみを実行ファイルに含め、実行時に呼び出される側のコード本体を含むライブラリなどを連結する。

  • 60

    マルウェア(Malware)

    悪意に基づいて開発され、利用者やコンピュータに不正・有害な動作を行う様々なコンピュータプログラムの称。 コンピュータウイルスやワーム、トロイの木馬、スパイウェア、ランサムウェア、ボット、バックドア、一部の悪質なアドウェアなどが含まれる。

  • 61

    API (Application Programming Interface)

    あるコンピュータプログラムの機能や管理するデータなどを、外部の他のプログラムから呼び出して利用するための手順やデータ形式などを定めた規約。

  • 62

    ジャーナリングファイルシステム(Journaling File System)

    ファイルシステムの種類の一つで、管理領域を変更する際にジャーナルあるいはログと呼ばれる更新履歴を残すことで管理領域の破損を防ぐ機能を持ったもの。

  • 63

    RPC (Remote Procedure Call) (遠隔手続き呼び出し)

    あるコンピュータで動作するソフトウェアから、通信回線やコンピュータネットワークを通じて別のコンピュータ上で動作するソフトウェアへ処理を依頼したり、結果を返したりするための規約。 プログラム中の手続きや関数、メソッドなどを呼び出すのと同じ手順でネットワーク越しに別のコンピュータ上のプログラムを呼び出す手法であり、プログラマがネットワークによる通信手順の詳細な実装をする必要はない。

  • 64

    GC (Garbage Collection)

    コンピュータプログラムの実行環境などが備える機能の一つで、実行中のプログラムが占有していたメモリ領域のうち不要になったものを自動的に解放し、空き領域として再利用できるようにするもの。

  • 65

     ページフォルト(page fault)

    ページング方式の仮想記憶(仮想メモリ)において、プログラム(プロセス)がアクセスしようとした仮想メモリ領域(ページ)が物理メモリ上に無く、ストレージに退避していることが分かったときに発生する例外あるいは割り込み処理。

  • 66

    有機 EL (organic electro luminescence)ディスプレイ

    ある種の有機化合物を用いた層状の構造体に電圧をかけると発光する有機EL(エレクトロルミネッセンス)現象を応用した表示装置。コンピュータ用ディスプレイや薄型テレビ、スマートフォンなどの携帯情報機器の画面として利用されている。 ガラスなどでできた基板に有機物の発光体を蒸着し、微細な電極で電圧をかけることで発光させる。赤、青、緑の光の三原色を発する画素を規則正しく並べ、その組み合わせで色を表現する。

  • 67

    優先順逆転問題(Priority Inversion)

    スケジューリングにおいて優先順位の高いタスクが必要としているリソースを優先順位の低いタスクが占有しているときに発生する状態。この状態では、低い優先順位のタスクがそのリソースを解放するまで高い優先順位のタスクが実行をブロックされ、実質的に二つのタスクの優先順位が逆転します。

  • 68

    シェル(shell)

    コンピュータのオペレーティングシステム(OS)を構成するソフトウェアの一つで、利用者からの操作の受け付けや、利用者への情報の提示などを担当するもの。

  • 69

    フラグメンテーション(fragmentation)

    まとまったデータや記憶領域などを小さな単位に分割したり、意図せず小さな断片に分断されてしまうこと(および、そのような状態になったデータや領域自体のこと)。 長時間コンピュータを起動して様々なプログラムを使用していると、メモリ領域についてにも似たような現象が起きることがあり、これを「メモリフラグメンテーション」という。

  • 70

    横取り(プリエンプション)

    コンピュータ上で実行中のプログラム(タスク)を強制的に一時中断し、他をプログラムの実行に切り替えること。オペレーティングシステム(OS)のタスクスケジューラが実行中のアプリケーションに対して行う操作の一つ。

  • 71

    COP (copy-on-write)

    コンピュータプログラミングにおける最適化戦略の一種で、データを効率的に共有するためのメモリ管理技術。 「書き込み時コピー」とも呼ばれ、データが実際に書き換えられるタイミングでのみコピー処理を行うというもの。つまり、データが共有され、そのデータが書き換えられる必要が生じたときに初めて、そのデータのコピーが作成されます。

  • 72

    スラッシング(thrashing)

    コンピュータが搭載するメインメモリの容量に対して実行中のプログラムが使おうとするメモリ容量が過大なため、メモリとストレージとの間で内容の入れ替え(ページング/スワッピング)が頻繁に起き、処理がなかなか進まない状態のこと。 動作が極端に遅くなり、外部からの入出力や操作もほとんど受け付けられない状態に陥る。

  • 73

    割り込みハンドラ(interrupt handler)

    周辺機器から処理要求を受信するなど何らかの事象が発生した際に、実行中のプログラムを強制的に一時停止し、要求に対応する処理(「割り込み」(interrupt:インタラプト))を行うもの。

  • 74

    エンディアン(endian)

    複数のバイト(多バイト、マルチバイト)で構成されるデータを記録・伝送する際に、どのような順番で各バイトを記録・伝送するかを表す順序のこと。

  • 75

    マイクロカーネル(microkernel)

    オペレーティングシステム(OS)の中核部分であるカーネル(kernel)の設計様式の一つで、カーネル自体には最低限の機能しか実装せず、OSの機能の多くをモジュールとして独立させたもの。

  • 76

    メッセージパッシング(message passing)

    あるプログラムから別のプログラムを機能を利用する際、特定の関数などを呼び出すのではなく、プログラムに対して処理依頼を記述したメッセージを発して処理依頼を行う方式。

  • 77

    スヌープキャッシュ

    分散共有メモリとマルチプロセッサを備えたシステムでキャッシュコヒーレンシ(キャッシュの内容の一致)を実現するために用いられる技術。 この技術では、各キャッシュコントローラがバスを監視し、バス上に流れるブロードキャストの通知を受け、必要に応じて特定のキャッシュラインを無効にします。これにより、同じメモリが複数のキャッシュにロードされ異なる値を持つことを防ぎます。

  • 78

     仮想マシン(Virtual Machine)

    コンピュータやCPU(マイクロプロセッサ)の機能を模倣し、まったく同じように振る舞うソフトウェア。また、そのようなソフトウェアによってコンピュータ内に構築された仮想的なコンピュータ。

  • 79

    投機的実行

    マイクロプロセッサがプログラムを実行する際に分岐先の命令を先行して実行し始める手法。 予測が当たれば分岐先の確定を待つより高速に処理を継続できるが、外れた場合は実行途中の命令を破棄して正しい分岐先の命令の実行をやり直す。外れても確定を待つのと同じであるため、投機的実行をしないよりは全体として高速になる。

  • 80

    半加算器と全加算器

    半加算器 :2進数の加算(足し算)を行う加算器のうち、下の桁からの繰り上がりを考慮せず、単純に二数の和のみを求める回路。最下位桁の加算にしか使えない。 全加算器 :2進数の加算(足し算)を行う論理回路(加算器)のうち、下の桁からの繰り上がりを考慮し、3つの数の和を求める回路。

  • 81

    CISC と RISC の相違

    CISC (Complex Instruction Set Computer) :CPUに直接指示を与える機械語(マシン語)を構成する命令の種類や内容を規定する「命令セットアーキテクチャ」(ISA:Instruction Set Architecture)の分類の一つで、複雑で高度な機能を持つ命令語をなるべくたくさん用意する考え方。 命令語長や実行時間が命令によってまちまちであるため、パイプライン処理などで並列度を高めにくい。命令が多く複雑なため回路規模も大きくなりがちで開発期間・コストも増大しがちである。一方、一つの命令で複合的な処理や複雑な処理が可能なため、同じ処理内容ならば機械語のプログラムは短くて済み、コンパイラなどで最適化を行わなくても高速なコードを生成できる。 RISC (Reduced Instruction Set Computer) :CPUの命令語の種類や内容を規定する命令セットアーキテクチャ(ISA:Instruction Set Architecture)の分類の一つで、単純な機能を持つ少数の命令語のみを実装し、固定長の少数の単純な命令のみを備え、実行効率を向上させる考え方。 各命令の実行回路は半導体素子を物理的に結線した論理回路(ワイヤードロジック)で実装されるため、命令をより小さな動作単位であるマイクロコードへ変換・分解する必要がなく、少ないクロック数で高速に実行することができる。回路規模も小さく、チップのサイズや消費電力も抑えることができる。

  • 82

    キャッシュにおけるマッピング方式

    ①ダイレクトマップ方式(direct mapping cache) :コンピュータ内部のメインメモリ(主記憶装置)とキャッシュメモリの間でデータ格納位置の対応付けを行う方式の一つで、メインメモリのアドレスに一定の計算を行うことで直にキャッシュメモリ上の格納位置を算出する方式。 ②フルアソシアティブ方式(fully associative cache) :コンピュータ内部のメインメモリ(主記憶装置)とキャッシュメモリの間でデータ格納位置の対応付けを行う方式の一つで、メインメモリのアドレスとは無関係にキャッシュ上の位置を決めてデータを格納する方式。 ③セットアソシアティブ方式(set-associative cache) :コンピュータ内部のメインメモリ(主記憶装置)とキャッシュメモリの間でデータ格納位置の対応付けを行う方式の一つで、メインメモリのアドレスに一定の計算を行ってキャッシュメモリ上の格納位置を算出し、その位置にあるいくつかのブロックのいずれかにデータを格納する方式。

  • 83

    ALU (Arithmetic and Logic Unit)

    コンピュータを構成する基本的な装置の一つで、算術演算(四則演算)や論理演算などの計算を行う装置。 現代のコンピュータでは制御装置とともにマイクロプロセッサ(CPU/MPU)などの論理回路の一部として実装されている。

  • 1. 国際出願

    1. 国際出願

    K · 62問 · 1年前

    1. 国際出願

    1. 国際出願

    62問 • 1年前
    K

    2. 国際調査

    2. 国際調査

    K · 44問 · 1年前

    2. 国際調査

    2. 国際調査

    44問 • 1年前
    K

    3. 国際公開

    3. 国際公開

    K · 11問 · 1年前

    3. 国際公開

    3. 国際公開

    11問 • 1年前
    K

    4. 国際予備審査

    4. 国際予備審査

    K · 14回閲覧 · 43問 · 1年前

    4. 国際予備審査

    4. 国際予備審査

    14回閲覧 • 43問 • 1年前
    K

    5. 国内移行手続及び国内段階

    5. 国内移行手続及び国内段階

    K · 12問 · 1年前

    5. 国内移行手続及び国内段階

    5. 国内移行手続及び国内段階

    12問 • 1年前
    K

    特実 趣旨

    特実 趣旨

    K · 60問 · 1年前

    特実 趣旨

    特実 趣旨

    60問 • 1年前
    K

    意匠 趣旨

    意匠 趣旨

    K · 35問 · 1年前

    意匠 趣旨

    意匠 趣旨

    35問 • 1年前
    K

    商標 趣旨

    商標 趣旨

    K · 64問 · 1年前

    商標 趣旨

    商標 趣旨

    64問 • 1年前
    K

    商標 判例

    商標 判例

    K · 17問 · 1年前

    商標 判例

    商標 判例

    17問 • 1年前
    K

    計算機工学

    計算機工学

    K · 590問 · 1年前

    計算機工学

    計算機工学

    590問 • 1年前
    K

    計算機工学2

    計算機工学2

    K · 100問 · 1年前

    計算機工学2

    計算機工学2

    100問 • 1年前
    K

    計算機工学4

    計算機工学4

    K · 18問 · 1年前

    計算機工学4

    計算機工学4

    18問 • 1年前
    K

    問題一覧

  • 1

    フォールトマスキング

    障害発生時にその障害を内部に留め、外部向けの機能やサービスに影響を与えないように制御する考え方

  • 2

    フォールトトレランス

    システムの構成部品を多重化し、システムの一部に障害が発生しても全体としては停止することなく稼働を続け、その間に復旧を図るようにシステムを設計する技術。

  • 3

    スケールアップ

    システムのハードウェアを高性能なものにすることで、システムの性能を向上させる 例)高性能なCPUへの交換、ディスクの増設、メモリの増設などがあります。

  • 4

    スケールアウト

    サーバの台数を増やして負荷分散することによって、サーバ群としての処理能力を向上させる 処理能力が高くなるだけなく、何らかのトラブルでサーバが故障しても別のサーバでカバーできるため、システムの可用性が高まるというメリットもあります。 Webサーバなどのフロントサーバの性能向上には、スケールアウトが適しています。

  • 5

    OSの構成要素(2つ)

    ①カーネル :ジョブ管理、タスク管理などOSの中核となる制御プログラムの機能を提供。 ②シェル :カーネルとユーザをつなぐインターフェース。例えば、コマンドプロンプトなどで入力されたコマンドのインタプリタ(解釈し、機械語に翻訳する)機能を有しています。

  • 6

    固定小数点形式

    小数点を扱う際に何ビット目(何桁目)が小数点になるかあらかじめ決めておく方法

  • 7

    浮動小数点形式

    表現できる数値の範囲を広げるための方法であり、数値を仮数(符号を含む)・指数・基数を用いて「仮数×基数の累乗」という形式。 ・メリット :非常に大きな値から非常に小さな値まで使うことができる ・デメリット:極端に大きい数字や小さい数字に対応できることから複雑なため処理に時間がかかる。表現できる値には限りがあるため、幾分誤差がでます。

  • 8

    マルコフ過程

    未来の挙動が現在の値だけで決定され、過去の挙動と無関係であるという性質を持つ確率過程のこと。 例えば、天気の場合、現在が「晴れ」だった時に、明日の天気が「晴れ」になる確率が40%、「曇り」の確率が40%、「雨」の確率が20%となるとき、現在の天気によってのみ明日の天気の確率が変わるため、マルコフ過程であると言えます。 マルコフ過程はAIにおける強化学習で用いられる確率モデルです。

  • 9

    実効アクセス時間(CPUからメモリへの1回のアクセスにかかる平均時間)の求め方

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

  • 10

    キャパシティプランニング

    情報システムの設計段階で、将来予測される最大負荷時にも、サービスの水準を維持できるような設計を検討すること。 システムの現在の応答時間を調査し、長期的に監視することによって、将来を含めて応答時間を維持するために行う。

  • 11

    MTBF(Mean Time Between Failures)

    平均故障間隔。故障なしで使用できる時間の平均値。 MTBF = 稼働時間の合計/故障回数

  • 12

    MTTR(Mean Time To Repair)

    平均修理時間。故障を修理し、復旧するまでの時間の平均値。 一般的に、修理系(直しながら使うシステム)に適用される指標で、車など故障した部品を交換して再度利用する目的で使われています。 MTTR = 修理時間の合計/故障回数

  • 13

    インオーダー実行 と アウトオブオーダー実行

    インオーダー実行 :スーパスカラ(CPU内部に複数のパイプラインを用意して、同時に複数の命令を実行すること)により、命令の発行・完了がオリジナルプログラムに書かれた通りになること アウトオブオーダー実行 :スーパスカラ(CPU内部に複数のパイプラインを用意して、同時に複数の命令を実行すること)により、命令の発行・完了がオリジナルプログラムに書かれた通りならないこと

  • 14

    メモリ保護

    プログラムが他のプログラムのメモリ領域にアクセスするのを防ぐシステム。 これにより、プログラムが他のプログラムのデータを誤って書き換えることを防ぎ、システムの安全性と信頼性を保つことができます。

  • 15

    コンパイラによる最適化

    プログラムの実行速度を向上させるために、様々な最適化を行います。 これには、不要な計算の削除、ループの展開、インライン化などが含まれます。

  • 16

    誤り訂正符号

    データが転送または保存される際に発生する可能性のあるエラーを検出し、訂正するための手法。 例えば、パリティチェックやハミングコードなどがあります。

  • 17

    ファームウェア

    ハードウェアデバイスの制御や操作を行うためのソフトウェア。 ファームウェアは通常、非揮発性のメモリに格納され、デバイスの基本的な機能を提供します。

  • 18

    型推論

    プログラムのコンテキストから変数や式の型を自動的に決定するコンパイラの機能。 これにより、プログラマは型宣言を省略でき、コードの可読性と生産性を向上させることができます。

  • 19

    SaaS(Infrastructure as a Service)

    クラウドサービスの一種で、仮想化されたハードウェアリソース(サーバ、ストレージ、ネットワークなど)を提供します。 ユーザは必要に応じてリソースをスケールアップまたはスケールダウンできます。

  • 20

    アムダールの法則

    ログラムの並列化による性能向上の限界を示す法則。 この法則によれば、プログラムの一部が並列化できない場合、その部分が全体の性能に与える影響が大きくなり、並列化による性能向上の限界が存在します。

  • 21

    OpenMP

    共有メモリ型のマルチプロセッサコンピュータで並列プログラミングを行うためのAPI。 OpenMPは、プログラムの一部を並列に実行するためのディレクティブを提供します。

  • 22

    バイトオーダ

    複数バイトからなるデータ(例えば、32ビットや64ビットの整数)をメモリに格納する際の順序を指します。 主にビッグエンディアンとリトルエンディアンの2種類があります。ビッグエンディアンは最も重要なバイト(最上位バイト)を最小のメモリアドレスに格納し、リトルエンディアンは最も重要でないバイト(最下位バイト)を最小のメモリアドレスに格納します。

  • 23

    桁あふれ(オーバーフロー)

    桁あふれは、計算結果がそのデータ型で表現できる範囲を超えたときに発生します。 例えば、8ビットの符号付き整数では、-128から127までの値しか表現できません。 この範囲を超える値を計算しようとすると、桁あふれが発生します。

  • 24

    デナード則

    ロバート・デナードが1980年に提唱した、集積回路のスケーリングに関する法則です。この法則は、トランジスタのサイズを小さくすると、その性能が向上し、消費電力が減少し、コストが下がると述べています。しかし、近年では、物理的な限界や電力消費の問題から、この法則が破られつつあります。

  • 25

    組み込みシステム

    は特定の機能を実行するために設計された専用のコンピュータシステム。 これらのシステムは、自動車、家電、医療機器、産業機器など、さまざまな製品に組み込まれています。 組み込みシステムは、一般的なパーソナルコンピュータとは異なり、特定のタスクに特化して設計されており、リソース(CPU、メモリ、電力など)を効率的に使用します。

  • 26

    スパイウェア

    ユーザの情報を収集するために設計されたマルウェア(悪意のあるソフトウェア)の一種。 スパイウェアは、ユーザの行動を追跡したり、キーストロークを記録したり、個人情報を盗んだりすることができます。スパイウェアは通常、ユーザの知らない間にコンピュータにインストールされ、バックグラウンドで動作します。

  • 27

    深層学習

    人工知能の一分野で、人間の脳のニューロンのネットワークを模倣したニューラルネットワークを用いて、大量のデータからパターンを学習します。 深層学習は、画像認識、自然言語処理、音声認識など、多くの応用分野で高い性能を発揮します。

  • 28

    2の補数表現

    整数をバイナリで表現する方法の一つで、負の数を表現するために使用されます。 2の補数表現では、最上位ビットが符号を表し、その他のビットが値を表します。負の数は、その絶対値の2の補数(ビットを反転させて1を加える)で表現されます。

  • 29

    命令セットアーキテクチャ

    コンピュータのCPUが理解できる命令の集合を定義したもの。 命令の形式、命令の意味、プログラムカウンタ、レジスタセット、アドレッシングモード、メモリアクセス方法など、プログラムの実行に必要なすべての情報を定義します。

  • 30

    ムーアの法則

    集積回路の性能に関する観察から導かれた経験則で、トランジスタの密度(集積回路上の単位面積あたりのトランジスタ数)が約2年ごとに2倍になるというもの。 半導体技術の進歩とコンピュータの性能向上のペースを予測するために広く使用されています。

  • 31

    仮想記憶

    オペレーティングシステムが提供する機能の一つ。 物理メモリよりも大きなメモリ空間をプログラムに提供するための技術です。仮想記憶では、メモリはページと呼ばれる固定サイズのブロックに分割され、これらのページは必要に応じて物理メモリとディスク間で移動されます。

  • 32

    ハッシュ関数

    任意の長さの入力を取り、固定長の出力(ハッシュ値)を生成する関数。 良いハッシュ関数は、異なる入力に対して異なる出力を生成する確率が高いことが求められます。 ハッシュ関数は、データ構造の一つであるハッシュテーブルの実装や、データの整合性チェック、パスワードの保存など、多くの用途で使用されます。

  • 33

    浮動小数点形式 (floating-point data format)

    コンピュータにおける数値を表現する方法の一つで、主に小数点を含む数値を表現するときに利用されています。 浮動小数点数は「符号」「指数部」「仮数部」の形式で表現します。 符号は正の数が0、負の数が1で表され、指数部は2^nのnの部分を2進数表記にした値を格納します。 仮数部には正規化した小数点以下の値が格納されます。 この形式はIEEE754という規格で標準化されています。

  • 34

    参照の局所性 (locality of reference)

    1つのリソースに複数回アクセスする処理に関する情報工学上の概念。 ・時間的局所性:ある時点で参照されたリソースが近い将来にも再び参照される可能性が高いことを表す概念。 ・空間的局所性:あるリソースが参照されたとき、その近傍のリソースが参照される可能性が高いことを表す概念。 ・逐次的局所性:メモリが逐次アクセスされるという概念。

  • 35

    不揮発性メモリ (non-volatile memory)

    コンピュータで使われるメモリの一種で、電源を供給しなくても記憶を保持するメモリの総称。 不揮発性メモリには、ROM、フラッシュメモリ、ほとんどの種類の磁気記憶装置(ハードディスクドライブ、フロッピーディスク、磁気テープなど)、光ディスク、初期のコンピュータで使われた紙テープやパンチカードなどがあります。

  • 36

    エッジコンピューティング (edge computing)

    利用者側の端末やその近くに設置するサーバーなどのネットワーク周縁(エッジ)部分でデータを処理するコンピューティング手法。 データ加工や分析など一部の処理をネットワーク末端のIoTデバイス、あるいはその周辺領域に配置したサーバーで行い、加工されたデータのみをクラウドに送信します。 これにより、通信遅延やネットワーク負荷の低減などを実現します。

  • 37

    高水準言語 (high-level programming language)

    人間が理解しやすいように、人間が使う言葉に近づけて作られた言語。 機械語やアセンブリ言語と比べて、より抽象的な概念を提供します。 これにより、プログラマは、ハードウェアの詳細を気にすることなく、プログラムのロジックに集中することができます。 別名「高級言語」とも呼ばれ、低水準言語と対比して用いられます。高水準言語の種類は、主に、BASIC、FORTRAN、COBOL、C言語、C++、Java、PHP、Ruby、Pascal、LISP、Delphiなど。

  • 38

    トランジスタ (transistor)

    電子回路において信号を増幅またはスイッチングすることができる半導体素子。 論理回路を構成するための電子部品として最も普及しており、集積回路(IC)の多くは微細なトランジスタの集合体です。 CPUやMPUに内蔵されているトランジスタの数は増え続け、今では一つのチップに700億個以上のトランジスタが搭載されている製品もあります。

  • 39

    0への丸め (rounding toward zero)

    数値を丸める際に、その数値が正であれば切り捨て、負であれば切り上げる方法。 これにより、丸めた結果は常に絶対値が元の値以下となります。

  • 40

    排他制御 (exclusion control)

    複数のプロセスが利用可能な共有資源に対し、複数のプロセスからの同時アクセスにより競合が発生する場合に、あるプロセスに資源を独占的に利用させている間は、他のプロセスが利用できないようにする処理のことを指します。 これにより、データの整合性を保つことが可能になります。

  • 41

    コンテナ型仮想化 (container-based virtualization)

    1つのホストOS上に複数のコンテナと呼ばれる独立空間を形成し、そこでアプリケーションをそれぞれ構築する技術。 従来では、1台の物理マシンに対して1つのOSが起動し、その上にさまざまなアプリケーションやソフトウェアが動いているという構造でした。しかし、コンテナ型仮想化では、1つのホストOS上で複数の独立した環境(コンテナ)を作り出し、それぞれのコンテナ内でアプリケーションを動かすことができます。

  • 42

    タイムシェアリングシステム (time sharing system)

    1台のコンピュータを複数のユーザが同時に利用するためのシステム。 このシステムでは、コンピュータの処理時間を決まった短い時間に分割し、それぞれ異なる利用者やプログラムに順番に割り当てることで、並行して効率的にコンピュータを利用できるようにします。 これにより、複数のユーザが同時にシステムを利用でき、各ユーザが使いたいときにすぐにプログラムを実行することができます。

  • 43

    分散ファイルシステム(Distributed File System: DFS)

    ネットワーク上の複数のサーバーにデータを分散して保存するシステム。 企業内のネットワーク上に存在するファイルを、様々なデータセンターやクラウド上に分散することで、あたかもローカルにファイルが存在しているかのようにするシステムのこと。 ユーザーはそのファイルにアクセスする権限があれば、分散ファイルシステム内部にあるファイルをどこからでも取り扱えます。これにより、データの取り扱いが非常に楽で、顧客の訪問先でもセキュリティレベルの高い状況でデータを扱えます。

  • 44

    IoT (Internet of Things)

    「モノのインターネット」と訳され、様々な物体(モノ)に通信機能を持たせ、インターネットに接続したり相互に通信することにより、自動認識や自動制御、遠隔計測などを行う技術。

  • 45

    ビッグデータ(Big Data)

    その規模が巨大で、従来のデータベースやデータ処理ソフトウェアでは管理や分析が困難なほどの大量のデータ。インターネットの使用、ビジネス取引、ソーシャルメディア、センサーやモバイルデバイスからのデータなど、様々なソースから日々生成されています。 ビッグデータは、一般的にはVolume(量)、Variety(多様性)、Velocity(速度あるいは頻度)の「3つのV」を高いレベルで備えていることが特徴とされています。

  • 46

    ギャングスケジューリング (gang scheduling)

    複数のノードにまたがったタスクを同時にスケジューリングて、並列アプリケーションの効率的な実行を可能にする仕組み。これは主にスーパーコンピュータや並列サーバー環境でバッチジョブを同時実行するために使われます。

  • 47

    リアルタイム OS (real-time operating system)

    リアルタイムシステムのためのオペレーティングシステム。時間制約を保証できる設計を実現するために使われ、例えば、自動車、医療機器、産業制御システム、航空宇宙システム、軍事システムなど、リアルタイム性能を要求される組み込みシステムに多く使用されます。

  • 48

    ソリッドステートドライブ (Solid State Drive, SSD) 

    フラッシュメモリ(半導体)を用いてデータを記録・保存する補助記憶装置。 HDDと比べて、アクセス速度が速く、振動に強い、消費電力が少ない、軽量などの特徴があります。 しかし、書き込み回数に制限があり、価格が高いというデメリットもあります。 パソコンやサーバーなどのストレージとして広く利用されています

  • 49

    システムコール (system call)

    コンピュータ上で実行中のプログラムが、OSのカーネルの特権的な機能を呼び出す仕組み。また、そのための命令や関数などのインターフェース仕様(API)。

  • 50

    クラウドコンピューティング (cloud computing)

    コンピュータの機能や処理能力、ソフトウェア、データなどをインターネットなどの通信ネットワークを通じてサービスとして呼び出して遠隔から利用すること。初期費用や運用負担を抑え、業務効率化や生産性向上を実現することができます。

  • 51

    プロセスとスレッドの違い

    プロセス :実行中のプログラムのインスタンスを指し、それぞれが独立したメモリ空間を持つ。プロセスは、OSによって管理され、各プロセスは同じメモリ領域を一切共有しません。つまり、あるプロセスの処理は、他のプロセスに一切影響を与えません。 スレッド :プロセス内の実行単位で、1つのプロセス内で複数のスレッドが存在することがあります。スレッドはプロセス内の同じメモリ領域を共有します。これにより、スレッド間の通信は非常に効率的ですが、一つのスレッドがプロセス全体を破損させる可能性もあります。

  • 52

    TLB (Translation Lookaside Buffer)

    仮想記憶を用いるコンピュータ上で、メモリの仮想アドレスと物理アドレスの対応関係を一時的に保存しておくキャッシュメモリ。CPU(マイクロプロセッサ/MPU)内部に実装されている。

  • 53

    ポリモーフィズム(オブジェクト指向プログラミングにおける多様性)

    プログラミング言語の持つ性質の一つで、ある関数やメソッドなどが、引数や返り値の数やデータ型などの異なる複数の実装を持ち、呼び出し時に使い分けるようにできること。 すなわち、同じ命令を送ったにも関わらず、それぞれが独立した固有の処理を行うという特性のこと。

  • 54

    ホットプラグ

    機器の電源が入り稼動状態のまま、部品やケーブルなどを装着、交換、抜去すること。また、そのような仕組みやコネクタなどの構造のこと。機器を稼働させたまま部品の取り付けや取り外しを行うことができる。取り付けた部品は自動的に認識され、すぐに制御可能になる。

  • 55

    パリティチェック

    データの誤り検出方式の一つで、ビット列中に含まれる「1」の数が偶数か奇数かを表す符号を算出してデータに付加する手法。最も単純な誤り訂正符号で、1ビットの誤り検出しかできないが算出や検証が容易で高速なため広く普及している。

  • 56

    POSIX (Portable Operating System Interface)

    主にUNIX系OSに共通する機能などについて、プログラムからの呼び出し方法(API:Application Programming Interface)などの標準を定めた規格。 オペレーティングシステム(OS)の中核部であるカーネルの機能を呼び出すシステムコールをC言語から利用するためのAPI仕様や標準ライブラリ関数などを定めており、POSIX仕様のみを用いて開発されたプログラムはPOSIX準拠のOSならばどれでも同じように動作させることができる。

  • 57

    リンケージエディタ (Linkage Editor)

    ソフトウェアの開発ツールの一つで、「機械語(マシン語)」で記述されたプログラムを連結、編集して「実行可能ファイル」を作成するソフトウェア。

  • 58

    ローダ (Loader)

    コンピュータプログラムの種類や機能の一つで、データやプログラムを外部から読み込む(load:ロードする)もの。対象により「ブートローダー」「画像ローダー」「クラスローダー」などのように呼ぶ。

  • 59

    動的リンキング (Dynamic Linking)

    プログラムの実行に必要なライブラリやモジュールなどを、実行時にリンク(連結)して起動すること。 開発時にはライブラリなどの呼び出し側コードのみを実行ファイルに含め、実行時に呼び出される側のコード本体を含むライブラリなどを連結する。

  • 60

    マルウェア(Malware)

    悪意に基づいて開発され、利用者やコンピュータに不正・有害な動作を行う様々なコンピュータプログラムの称。 コンピュータウイルスやワーム、トロイの木馬、スパイウェア、ランサムウェア、ボット、バックドア、一部の悪質なアドウェアなどが含まれる。

  • 61

    API (Application Programming Interface)

    あるコンピュータプログラムの機能や管理するデータなどを、外部の他のプログラムから呼び出して利用するための手順やデータ形式などを定めた規約。

  • 62

    ジャーナリングファイルシステム(Journaling File System)

    ファイルシステムの種類の一つで、管理領域を変更する際にジャーナルあるいはログと呼ばれる更新履歴を残すことで管理領域の破損を防ぐ機能を持ったもの。

  • 63

    RPC (Remote Procedure Call) (遠隔手続き呼び出し)

    あるコンピュータで動作するソフトウェアから、通信回線やコンピュータネットワークを通じて別のコンピュータ上で動作するソフトウェアへ処理を依頼したり、結果を返したりするための規約。 プログラム中の手続きや関数、メソッドなどを呼び出すのと同じ手順でネットワーク越しに別のコンピュータ上のプログラムを呼び出す手法であり、プログラマがネットワークによる通信手順の詳細な実装をする必要はない。

  • 64

    GC (Garbage Collection)

    コンピュータプログラムの実行環境などが備える機能の一つで、実行中のプログラムが占有していたメモリ領域のうち不要になったものを自動的に解放し、空き領域として再利用できるようにするもの。

  • 65

     ページフォルト(page fault)

    ページング方式の仮想記憶(仮想メモリ)において、プログラム(プロセス)がアクセスしようとした仮想メモリ領域(ページ)が物理メモリ上に無く、ストレージに退避していることが分かったときに発生する例外あるいは割り込み処理。

  • 66

    有機 EL (organic electro luminescence)ディスプレイ

    ある種の有機化合物を用いた層状の構造体に電圧をかけると発光する有機EL(エレクトロルミネッセンス)現象を応用した表示装置。コンピュータ用ディスプレイや薄型テレビ、スマートフォンなどの携帯情報機器の画面として利用されている。 ガラスなどでできた基板に有機物の発光体を蒸着し、微細な電極で電圧をかけることで発光させる。赤、青、緑の光の三原色を発する画素を規則正しく並べ、その組み合わせで色を表現する。

  • 67

    優先順逆転問題(Priority Inversion)

    スケジューリングにおいて優先順位の高いタスクが必要としているリソースを優先順位の低いタスクが占有しているときに発生する状態。この状態では、低い優先順位のタスクがそのリソースを解放するまで高い優先順位のタスクが実行をブロックされ、実質的に二つのタスクの優先順位が逆転します。

  • 68

    シェル(shell)

    コンピュータのオペレーティングシステム(OS)を構成するソフトウェアの一つで、利用者からの操作の受け付けや、利用者への情報の提示などを担当するもの。

  • 69

    フラグメンテーション(fragmentation)

    まとまったデータや記憶領域などを小さな単位に分割したり、意図せず小さな断片に分断されてしまうこと(および、そのような状態になったデータや領域自体のこと)。 長時間コンピュータを起動して様々なプログラムを使用していると、メモリ領域についてにも似たような現象が起きることがあり、これを「メモリフラグメンテーション」という。

  • 70

    横取り(プリエンプション)

    コンピュータ上で実行中のプログラム(タスク)を強制的に一時中断し、他をプログラムの実行に切り替えること。オペレーティングシステム(OS)のタスクスケジューラが実行中のアプリケーションに対して行う操作の一つ。

  • 71

    COP (copy-on-write)

    コンピュータプログラミングにおける最適化戦略の一種で、データを効率的に共有するためのメモリ管理技術。 「書き込み時コピー」とも呼ばれ、データが実際に書き換えられるタイミングでのみコピー処理を行うというもの。つまり、データが共有され、そのデータが書き換えられる必要が生じたときに初めて、そのデータのコピーが作成されます。

  • 72

    スラッシング(thrashing)

    コンピュータが搭載するメインメモリの容量に対して実行中のプログラムが使おうとするメモリ容量が過大なため、メモリとストレージとの間で内容の入れ替え(ページング/スワッピング)が頻繁に起き、処理がなかなか進まない状態のこと。 動作が極端に遅くなり、外部からの入出力や操作もほとんど受け付けられない状態に陥る。

  • 73

    割り込みハンドラ(interrupt handler)

    周辺機器から処理要求を受信するなど何らかの事象が発生した際に、実行中のプログラムを強制的に一時停止し、要求に対応する処理(「割り込み」(interrupt:インタラプト))を行うもの。

  • 74

    エンディアン(endian)

    複数のバイト(多バイト、マルチバイト)で構成されるデータを記録・伝送する際に、どのような順番で各バイトを記録・伝送するかを表す順序のこと。

  • 75

    マイクロカーネル(microkernel)

    オペレーティングシステム(OS)の中核部分であるカーネル(kernel)の設計様式の一つで、カーネル自体には最低限の機能しか実装せず、OSの機能の多くをモジュールとして独立させたもの。

  • 76

    メッセージパッシング(message passing)

    あるプログラムから別のプログラムを機能を利用する際、特定の関数などを呼び出すのではなく、プログラムに対して処理依頼を記述したメッセージを発して処理依頼を行う方式。

  • 77

    スヌープキャッシュ

    分散共有メモリとマルチプロセッサを備えたシステムでキャッシュコヒーレンシ(キャッシュの内容の一致)を実現するために用いられる技術。 この技術では、各キャッシュコントローラがバスを監視し、バス上に流れるブロードキャストの通知を受け、必要に応じて特定のキャッシュラインを無効にします。これにより、同じメモリが複数のキャッシュにロードされ異なる値を持つことを防ぎます。

  • 78

     仮想マシン(Virtual Machine)

    コンピュータやCPU(マイクロプロセッサ)の機能を模倣し、まったく同じように振る舞うソフトウェア。また、そのようなソフトウェアによってコンピュータ内に構築された仮想的なコンピュータ。

  • 79

    投機的実行

    マイクロプロセッサがプログラムを実行する際に分岐先の命令を先行して実行し始める手法。 予測が当たれば分岐先の確定を待つより高速に処理を継続できるが、外れた場合は実行途中の命令を破棄して正しい分岐先の命令の実行をやり直す。外れても確定を待つのと同じであるため、投機的実行をしないよりは全体として高速になる。

  • 80

    半加算器と全加算器

    半加算器 :2進数の加算(足し算)を行う加算器のうち、下の桁からの繰り上がりを考慮せず、単純に二数の和のみを求める回路。最下位桁の加算にしか使えない。 全加算器 :2進数の加算(足し算)を行う論理回路(加算器)のうち、下の桁からの繰り上がりを考慮し、3つの数の和を求める回路。

  • 81

    CISC と RISC の相違

    CISC (Complex Instruction Set Computer) :CPUに直接指示を与える機械語(マシン語)を構成する命令の種類や内容を規定する「命令セットアーキテクチャ」(ISA:Instruction Set Architecture)の分類の一つで、複雑で高度な機能を持つ命令語をなるべくたくさん用意する考え方。 命令語長や実行時間が命令によってまちまちであるため、パイプライン処理などで並列度を高めにくい。命令が多く複雑なため回路規模も大きくなりがちで開発期間・コストも増大しがちである。一方、一つの命令で複合的な処理や複雑な処理が可能なため、同じ処理内容ならば機械語のプログラムは短くて済み、コンパイラなどで最適化を行わなくても高速なコードを生成できる。 RISC (Reduced Instruction Set Computer) :CPUの命令語の種類や内容を規定する命令セットアーキテクチャ(ISA:Instruction Set Architecture)の分類の一つで、単純な機能を持つ少数の命令語のみを実装し、固定長の少数の単純な命令のみを備え、実行効率を向上させる考え方。 各命令の実行回路は半導体素子を物理的に結線した論理回路(ワイヤードロジック)で実装されるため、命令をより小さな動作単位であるマイクロコードへ変換・分解する必要がなく、少ないクロック数で高速に実行することができる。回路規模も小さく、チップのサイズや消費電力も抑えることができる。

  • 82

    キャッシュにおけるマッピング方式

    ①ダイレクトマップ方式(direct mapping cache) :コンピュータ内部のメインメモリ(主記憶装置)とキャッシュメモリの間でデータ格納位置の対応付けを行う方式の一つで、メインメモリのアドレスに一定の計算を行うことで直にキャッシュメモリ上の格納位置を算出する方式。 ②フルアソシアティブ方式(fully associative cache) :コンピュータ内部のメインメモリ(主記憶装置)とキャッシュメモリの間でデータ格納位置の対応付けを行う方式の一つで、メインメモリのアドレスとは無関係にキャッシュ上の位置を決めてデータを格納する方式。 ③セットアソシアティブ方式(set-associative cache) :コンピュータ内部のメインメモリ(主記憶装置)とキャッシュメモリの間でデータ格納位置の対応付けを行う方式の一つで、メインメモリのアドレスに一定の計算を行ってキャッシュメモリ上の格納位置を算出し、その位置にあるいくつかのブロックのいずれかにデータを格納する方式。

  • 83

    ALU (Arithmetic and Logic Unit)

    コンピュータを構成する基本的な装置の一つで、算術演算(四則演算)や論理演算などの計算を行う装置。 現代のコンピュータでは制御装置とともにマイクロプロセッサ(CPU/MPU)などの論理回路の一部として実装されている。