「コンピュータシステム」カテゴリーアーカイブ

プロセッサ

情報処理技術者試験での学習内容

【応用情報・基本情報】
・コンピュータの種類,構成を修得し,応用する。
・プロセッサの種類,アーキテクチャ,構造,方式,動作原理を修得し,応用する。
・プロセッサの性能を表す指標を修得し,応用する。
・プロセッサの高速化技術,高信頼化技術を修得し,応用する。

【ITパスポート】
・コンピュータの基本的な構成と役割を理解する。

(1)コンピュータの種類 ITパスポート 基本情報 応用情報

パーソナルコンピュータ(PC),ワークステーション,スーパコンピュータなどの特徴,用途を理解する。

用語例:デスクトップPC,ノートPC,サーバ,携帯端末(スマートフォン,タブレット端末ほか),汎用コンピュータ,制御用コンピュータ,マイクロコンピュータ

(2)コンピュータの構成 ITパスポート 基本情報 応用情報

コンピュータが五つの装置から構成されること,装置間の制御の流れ,データの流れを理解する。

用語例:演算装置,制御装置,記憶装置,入力装置,出力装置

(3)プロセッサの種類 ITパスポート 基本情報 応用情報

プロセッサの種類,それぞれの特徴,用途を理解する。

用語例:CPU,GPU,DSP

(4)プロセッサのアーキテクチャ 基本情報 応用情報

1.データ処理の単位

プロセッサのアーキテクチャによって,プロセッサが1 命令で処理するデータサイズに違いがあることを理解する。

用語例:ビット,キャラクタ,バイト,ワード

2.命令形式

1 命令で処理するオペランドの数で命令の形式を分類できることを理解する。

用語例:1 オペランド形式,2 オペランド形式

3.命令セット

プロセッサのアーキテクチャによって命令セットに違いがあること,プロセッサアーキテクチャとしてはRISC とCISC があることを理解する。

用語例:固定長命令,可変長命令

 (5)プロセッサの構造と方式 基本情報 応用情報

プロセッサを構成する制御装置と演算装置の役割,それらを構成する加算器,レジスタ,デコーダ(命令解読器,復号器)などの役割,プロセッサの能力とシステムの処理能力の関係を理解する。また,命令実行時のレジスタの動作を理解する。

用語例:アキュムレータ,補数器,乗算器,積和演算器,命令アドレスレジスタ(命令カウンタ, プログラムカウンタ, 逐次制御カウンタ), IR ( Instruction register:命令レジスタ),GR(General Register:汎用レジスタ),インデックスレジスタ( 指標レジスタ), ベースレジスタ, MAR ( Memory Address Register:メモリアドレスレジスタ),DR(Data Register:データレジスタ),MR(Memory Register:メモリレジスタ),スタックポインタ

(6)プロセッサの動作原理 基本情報 応用情報

1.演算の仕組み

AND 回路,OR 回路,NOT 回路などの基本となる論理回路の組合せによって半加算器,全加算器が実現され,演算が行われていることを理解する。

用語例:順序回路,組合せ回路,NAND 回路

2.命令とアドレッシング

代表的な機械語命令の種類,命令語の構成,命令の実行手順(命令の取出し,命令部の解読,データの取出し,命令の実行),アドレス修飾を理解する。また,機械語演算のバイナリ表現,アセンブラの記号表現との対応,相互の変換を行う方法を理解する。

用語例:算術演算命令,論理演算命令,転送命令,比較命令,分岐命令,シフト命令,入出力命令,アドレス部(オペランド),フェッチ,アドレス計算,アドレス方式,アドレス修飾,直接アドレス指定,間接アドレス指定,インデックスアドレス指定(インデックス修飾),ベースアドレス指定,相対アドレス指定,絶対アドレス指定,即値アドレス指定,有効アドレス(実効アドレス)

3.割込み

割込みの仕組み,内部割込み,外部割込みに分類される割込みの種類,多重割込み時の処理を理解する。

用語例:SVC(SuperVisor Call)割込み,入出力割込み,割込み制御,マシンチェック割込み,プログラム割込み

(7)マイクロプログラム制御 応用情報

プロセッサの動作を制御する仕組みとして,1 機械語命令を実行するためのプログラム(マイクロプログラム)をファームウェア化して内蔵する方式があること,その特徴を理解する。

用語例:マイクロプログラムメモリ,マイクロプログラムカウンタ,エミュレーション,水平型マイクロコード,垂直型マイクロコード

(8)プロセッサの性能 基本情報 応用情報

クロック周波数,CPI(Cycles Per Instruction),MIPS などの意味を理解する。

用語例:サイクルタイム,FLOPS,命令ミックス

(9)プロセッサの高速化技術 基本情報 応用情報

プロセッサの代表的な高速化技術の種類,特徴を理解する。

用語例:命令パイプライン,スーパパイプライン,スーパスカラ,VLIW,ベクトル処理方式,ハイパスカラ方式,超並列プロセッサ,パイプラインハザード,データハザード,構造ハザード,制御ハザード,シングルコアプロセッサ,マルチコアプロセッサ,マルチスレッディング

(10)並列処理 基本情報 応用情報

1.命令とデータの流れ

代表的な並列処理方式の種類,特徴を理解する。

用語例:SISD,SIMD,MISD,MIMD

2.並列処理の隘路

並列化できないため逐次処理にならざるを得ない処理として,複数のプロセッサからの主記憶装置の使用要求の競合,データベースへの同時アクセスによるロックの発生などがあること,それらの処理が能力向上を阻害する原因となることを理解する。

(11)マルチプロセッサシステム 基本情報 応用情報

複数のプロセッサを搭載し,高速化や高信頼化を実現したシステムについて,種類,特徴,仕組み,マルチプロセッサシステムを適切に組み合わせた基盤設計を理解する。

用語例:疎結合マルチプロセッサシステム,密結合マルチプロセッサシステム,タンデム結合マルチプロセッサシステム,アレイコンピュータシステム,アムダールの法則,同期, SMP(Symmetric Multi Processing:対称型マルチプロセッシング),クラスタ,トーラス,ハイパキューブ,ハイパツリー

 

コンピュータの種類

この記事での学習内容 ITパスポート 基本情報 応用情報

パーソナルコンピュータ(PC),ワークステーション,スーパコンピュータなどの特徴,用途を理解する。

用語例:デスクトップPC,ノートPC,サーバ,携帯端末(スマートフォン,タブレット端末ほか),汎用コンピュータ,制御用コンピュータ,マイクロコンピュータ

コンピュータの種類

コンピュータは、用途やサイズ、機能などによっていくつかに分けられます。

汎用コンピュータ
メインフレームとも呼ばれ、企業の基幹システムなどに用いられるコンピュータです。大量のバッチ処理やリアルタイム処理を高速に処理できます。
サーバコンピュータ
多数のクライアントに対してサービスを提供するコンピュータを総称してサーバコンピュータと呼びます。一般的にPCと比べて信頼性に優れる、高性能のコンピュータ(*)が使われます。サーバ向けコンピュータにはいくつかの形状があります。
・デスクトップ型: パソコンと同じような形状。
・タワー型: パソコンよりも筐体が大きい形状で、拡張性に優れる。
・ラックマウント型: サーバ用のラックに積み重ねて収納できる形状で、少ない設置面積で複数の機器を設置できる。
・ブレード型: 専用の母体に接続する形状で、電源や外部インタフェースを共有できる。
PC(Personal Computer:パソコン)
パソコンは、個人が使うのに適した小型のコンピュータの総称です。様々な用途に使うためのアプリケーションソフトが豊富にあるのが特徴です。
PDA(Personal Digital Assistants)
個人携帯情報端末ともいい、持ち運びに便利なように小型に設計された情報機器です。主な機能には個人スケジュールの管理や住所録の管理機能、無線LANや赤外線による通信機能、ビジネスソフトなどのアプリケーションがあります。
最近では、携帯電話が高機能化して、携帯情報端末となっているものが増えています。(スマートフォンやタブレット端末など)
*サーバ向けの高性能なコンピュータ

ここでいう「高性能」とは、CPUのクロック数やメモリの容量、といったカタログ上の「高性能」ということではなく、部品レベルでの「高信頼性」が大きい。
PCを使用していると時々「フリーズ」といったことが起こるが、サーバではそれが起こっては深刻な影響が出るため。

コンピュータの構成

この記事での学習内容 ITパスポート 基本情報 応用情報

コンピュータが五つの装置から構成されること,装置間の制御の流れ,データの流れを理解する。

用語例:演算装置,制御装置,記憶装置,入力装置,出力装置

コンピュータの5大要素

「コンピュータ」には、非常に多様な種類が存在するが、その構成要素は基本的に共通しています。一般的には、「コンピュータの五大構成要素」と呼ばれる、下記のもので構成されています。

制御装置/演算装置/記憶装置/入力装置/出力装置

 パソコンであれば、それぞれ下記の装置が、該当します。

  • 制御装置&演算装置:CPU(中央処理装置)、プロセッサとも呼ばれる。
  • 記憶装置:いわゆる『メモリ』のこと。ハードディスクやDVDドライブなどは補助記憶装置、または外部記憶装置と言われる。
  • 入力装置:キーボードやマウス、スキャナやマイクなど
  • 出力装置:モニタ、プリンタ、スピーカなど

 

プロセッサの種類とアーキテクチャ

この記事での学習内容 基本情報 応用情報

プロセッサの種類,それぞれの特徴,用途を理解する。
プロセッサのアーキテクチャによって命令セットに違いがあること,プロセッサアーキテクチャとしてはRISC とCISC があることを理解する。

用語例:CPU,GPU,DSP、ビット,キャラクタ,バイト,ワード、1 オペランド形式,2 オペランド形式、固定長命令,可変長命令

CPU

CPU(Central Processing Unit:中央処理装置)は、コンピュータの五大構成要素(制御・演算・記憶・入力・出力)のうち、もっとも重要な働きである制御と演算を行う装置です。 

CPUは人間で言えば「頭脳」にあたる役割を担うので、CPUの性能がパソコン全体の性能を左右し、高速なCPUを搭載したコンピュータほど高性能といえます。

CPUの構造

コンピュータのCPUは通常、コンピュータ本体に内蔵されたマザーボード上にある一つのLSI(Large Scale Integration)チップからなっています。

CPUは主記憶装置からプログラムを読み出して、そこに書かれた命令を解読し、演算を行い、コンピュータ上の各装置の動作を制御する働きをします。

最近のコンピュータでは、一つのCPU内に演算の実行部分(=コア)を複数持たせることで高速化した、マルチコアプロセッサも使用されています。

CPUの構造の種類

CPUの実行できる命令の集まりを「命令セット」といいます。この命令セットの構造の設計概念には、CISCとRISCの2種類があります。

 RISCCISC
命令の長さ固定可変
重視するもの高速性機能性
ハードウェアの構造単純複雑
制御方式ワイヤドロジック制御方式マイクロプログラム制御方式

RISC

RISC(Reduced Instruction Set Computer:縮小命令セットコンピュータ)は、単純な動作をする命令セットを持つCPUです。ワイヤドロジック制御方式で単純な動作をする命令セットだけを持ち、構造が単純で高速に動作します。

ワイヤドロジック制御方式

ワイヤドロジック制御方式とは、コンピュータの制御部と演算部で行われる命令の実行を、ハードウェアの物理的な結線(電子回路)だけで制御する方式です。動作が高速なのが特徴ですが、複雑な命令には適しません。

CISC

CISC(Complex Instruction Set Computer:複合命令セットコンピュータ)とは、複雑な命令セットを持つCPUです。一つの命令で複数の処理を行い、マイクロプログラム制御方式を用います。

マイクロプログラム制御方式

マイクロプログラム制御方式とは、一つの複雑な命令を実行しようとすると、あらかじめ定義しておいた複数の単純な命令の並びである「マイクロプログラム」を実行する方式です。

ハードウェアの物理的な結線(電子回路)はRISC方式より複雑になりますが、全てをワイヤドロジックにするよりは単純ですみます。機能の追加や変更をマイクロプログラムの変更で行うことが出来るのも特徴です。

RISCに比べると、速度性能は劣ります。

 

プロセッサの構造と方式

この記事での学習内容 基本情報 応用情報

プロセッサを構成する制御装置と演算装置の役割,それらを構成する加算器,レジスタ,デコーダ(命令解読器,復号器)などの役割,プロセッサの能力とシステムの処理能力の関係を理解する。また,命令実行時のレジスタの動作を理解する。

用語例:アキュムレータ,補数器,乗算器,積和演算器,命令アドレスレジスタ(命令カウンタ, プログラムカウンタ, 逐次制御カウンタ), IR ( Instruction register:命令レジスタ),GR(General Register:汎用レジスタ),インデックスレジスタ( 指標レジスタ), ベースレジスタ, MAR ( Memory Address Register:メモリアドレスレジスタ),DR(Data Register:データレジスタ),MR(Memory Register:メモリレジスタ),スタックポインタ

制御装置と演算装置の役割

コンピュータの五大機能のうち、中核となる制御と演算は、高速な中央処理装置(CPU)で行われます。LSIチップであるCPUの内部は、制御装置と演算装置とで構成されています。

演算装置は、それぞれの命令を実行する電子回路の集まりです。

制御装置は、コンピュータ全体の処理の進行を制御する電子回路です。

 

レジスタ

レジスタとは、CPUの内部に存在する高速の記憶装置です。計算入力や計算結果の一時的な保持や、周辺機器の動作状態の保持に利用されます。
大容量で相対的に低速な記憶装置の中のデータは、CPUの中の高速なレジスタへ移して処理します。
これによって処理を高速にしつつ、装置間の回路を単純にします。レジスタの動作は非常に高速ですが、容量は少量です。

レジスタは複数存在し、いくつかの種類があります。代表的なレジスタは以下の表のとおりです。

名称役割
アキュムレータ演算結果を一時的に格納するレジスタ
命令アドレスレジスタ次に実行する命令の先頭アドレスを格納するレジスタ
命令レジスタ現在実行中の命令を格納するレジスタ
汎用レジスタ様々な目的で利用することが出来るレジスタ
インデックスレジスタ
(指標レジスタ)
インデックスアドレス指定で、基準となるアドレスを格納するレジスタ
ベースレジスタベースアドレス指定で、基準となるアドレスを格納するレジスタ

命令アドレスレジスタ

命令アドレスレジスタは、制御装置の中にあるレジスタの一種であり、次に実行する記憶装置中の命令の先頭アドレスを格納するレジスタです。命令カウンタやプログラムカウンタとも呼ばれます。

通常は、一つの命令の演算が終わると、命令アドレスレジスタには次の命令の先頭アドレスが格納されます。これによって、複数の命令が並んだ順序に実行されます。

一方、プログラム言語の反復、選択、サブルーチンの呼び出しや再帰に対応する分岐命令は、分岐先の命令の先頭先アドレスを命令アドレスレジスタに格納する働きをします。

命令レジスタ

命令レジスタは、現在実行中の命令を格納するレジスタです。命令アドレスレジスタが指す記憶装置の中の命令が次々と格納されていきます。

汎用レジスタ

汎用レジスタは、演算やアドレス保持などの様々な用途を持つレジスタです。どんな用途で使うかは命令で指示します。

汎用レジスタは、電子回路を簡潔にし、プログラミングの自由度を増します。インデックスレジスタやベースレジスタを用途に含む場合もあります。

インデックスレジスタ

インデックスレジスタは、アドレスを扱うレジスタの一種です。指標レジスタともいいます。

命令に含まれるアドレス値に、レジスタに格納されているインデック値を加算する機能を持っています。

そのインデックス値は、プログラム言語の配列のインデックス値(添字)に相当するので、配列処理のプログラムが簡潔になります。

ベースレジスタ

ベースレジスタは、アドレスを扱うレジスタの一種です。命令に含まれるアドレス値に、レジスタに格納されているベース値を加算する機能を持っているのが特徴です。仕組みとしては、インデックスレジスタと変わりはなく、用途と呼称が違うだけです。

ベースレジスタの値を変えるだけで、プログラムの主記憶装置中の位置を自由に再配置したり、命令のアドレス用ビット数を節約したりする役割を果たします。

インデックスレジスタとベースレジスタの使い分け

簡単に両者の違いを言い表すならば、実行時にリロケータブルにするために、ベースアドレス方式を使い、配列要素を参照するためにインデックスアドレス方式を使う、というのが一般的な使い分け方です。

デコーダの役割

デコーダは、符号や暗号、圧縮状態に変えられていたデータを、元のデータに変換するハードウェアやソフトウェアです。

CPUの制御装置の中にある命令デコーダは、記憶装置から命令レジスタに移された命令コードを解釈して、命令の実行の準備をして、命令コードに対応する電子回路を選択する電子回路です。例えば、命令コードが「加算」を意味しているなら、演算装置の加算回路が実行されるようにします。

(参考)プログラムの再利用性に関するキーワード

再配置可能(リロケータブル)

プログラムを補助記憶装置から主記憶装置に読み込む際、主記憶のどの位置に読み込んでも実行が可能なプログラムを再配置可能なプログラムといいます。アドレス指定が、プログラムの先頭アドレスからの相対位置で表現されている必要があります。

再使用可能(リユーザブル)

主記憶に読み込まれて実行を終えたプログラムが、再度の主記憶への読み込みを行うことなく再実行できることをいいます。

再帰可能(リカーシブル)

自分自身を呼び出すことが可能なものを再帰可能なプログラムといいます。

再入可能(リエントラント)

1つのプログラムにおいて、複数の処理要求が来ても同時に処理できることを指します。各データが処理中に混合しないように、データの領域を処理要求の数だけ用意しています。

プロセッサの動作原理

この記事での学習内容 基本情報 応用情報

・AND 回路,OR 回路,NOT 回路などの基本となる論理回路の組合せによって半加算器,全加算器が実現され,演算が行われていることを理解する。
・代表的な機械語命令の種類,命令語の構成,命令の実行手順(命令の取出し,命令部の解読,データの取出し,命令の実行),アドレス修飾を理解する。また,機械語演算のバイナリ表現,アセンブラの記号表現との対応,相互の変換を行う方法を理解する。
・割込みの仕組み,内部割込み,外部割込みに分類される割込みの種類,多重割込み時の処理を理解する。

用語例:順序回路,組合せ回路,NAND 回路、算術演算命令,論理演算命令,転送命令,比較命令,分岐命令,シフト命令,入出力命令,アドレス部(オペランド),フェッチ,アドレス計算,アドレス方式,アドレス修飾,直接アドレス指定,間接アドレス指定,インデックスアドレス指定(インデックス修飾),ベースアドレス指定,相対アドレス指定,絶対アドレス指定,即値アドレス指定,有効アドレス(実効アドレス)、SVC(SuperVisor Call)割込み,入出力割込み,割込み制御,マシンチェック割込み,プログラム割込み

加算機

加算器は、CPUの中にある2進数を加算する電子回路です。デジタル回路によって計算装置を発明する時に、考察の中心となった電子回路です。

加算器は、最下位の桁用の一つの半加算器と、それ以上の桁用の複数の全加算器とで構成されます。

半加算器

2進数の加算の一部を担う半加算器という電子回路は、AND・OR・NOTの3種類の論理回路の組み合わせで実現できます。
桁上りの信号は2桁目の全加算器へ送ります。

なお、半加算器を実現するには、上図の例以外にも色々な電子回路の組み合わせが考えられますが、排他的論理和(XOR)回路が使えるのであれば、下記のようにXORとANDの組合せが最も簡単です。

全加算器

2進数の加算の一部を担う全加算器という電子回路は、2つの半加算器と1つのOR回路で実現できます。

下位の桁用の回路から桁上りの信号を受け取り、それ自身の桁上りの信号は上位桁用の全加算器へ送ります。

命令とアドレス指定

一つの命令の形式は、CPUの種類や命令の種類によって異なりますが、典型的な命令の形式は「命令部」と「オペランド部」で構成されます。

命令部は命令の種類を表し、オペランド部は処理する対象のアドレス(主記憶装置中の位置)を表します。

命令の実行手順

一つの命令の実行は、一般には次のような細かい段階を経て進められます。細部は命令の種類によって異なる場合もあります。

  1. 命令の読み込み:
    次に実行するべき一つの命令を、主記憶装置からCPUの命令レジスタへ読み込む。
  2. 命令の解読:
    命令の命令部を解読して、以降の処理の種類を選ぶ。
  3. アドレスの決定:
    命令のオペランド部を解読して、処理スべき主記憶装置中の位置を決定する。
  4. データの読み込み:
    主記憶装置からデータをレジスタに読み込む。
  5. 命令の実行:
    選んだ演算処理の回路が演算などの処理をする。
  6. データの書き出し:
    レジスタからデータを主記憶装置に書き出す。

アドレス指定

直接アドレス方式

命令のオペランド部の値には、処理対象のアドレスが直接示されています。

間接アドレス指定方式

間接アドレス指定方式は、命令のオペランド部が指す「主記憶装置中の値」を最終的なアドレスとする方式です。

プログラムの実行中に主記憶装置中の値を変更することによって、最終的なアドレスを変更できます。

インデックスアドレス指定方式

インデックスアドレス指定方式は、オペランド部の値にインデックスレジスタの値を加えてアドレスを決定する方式です。
プログラム言語の配列の処理に役立ちます。

ベースアドレス指定方式

ベースアドレス指定方式は、オペランド部の値にベースレジスタの値を加えてアドレスを決定する方式です。プログラムを再配置自由にしたり、アドレスを表すオペランド部のビット数を節約したりするのに役立ちます。

相対アドレス指定方式

相対アドレス指定方式は、オペランド部の相対アドレス地に命令アドレスレジスタのアドレス値を加えてアドレスを決定する方式です。プログラムを主記憶装置中の任意の位置に再配置するのに適しています。

インデックスアドレス指定方式、ベースアドレス指定方式、および相対アドレス指定方式の仕組みは同じであり、用途や呼称が異なるだけです。

割込みの仕組み

割込みは、一つのプログラムの一連の命令の実行を中断することです。割込みによって別のプログラムの一連の命令を実行した後、中断していたプログラムの実行を再開します。
複数のプログラム全体の処理効率を向上させたり、例外状態に対処したりするのに役立ちます。

割込み発生時には、CPU内のレジスタ類の内容は他の記憶場所(スタック領域)へ退避して、再開する時に元通りにします。

割込みには、実行中のプログラムが原因で行われる内部割込みと、実行中のプログラム以外が原因で行われる外部割込みとがあります。

内部割込み

内部割込みは、実行中のプログラムが原因で行われる割込みです。内部割込みには次のようなものがあります。

  • 演算結果が許容範囲を越えようとする例外状態の割込み
  • 決定したアドレスが許容範囲を越えようとする例外状態の割込み。
  • プログラムが意図的に起こす割込み。(入出力装置用のプログラムに処理を依頼する時にスーパーバイザコールという命令を実行するときなど)
SVC割込み

スーパーバイザコール(SVC)割込みは、プログラム中のスーパーバイザコール命令を実行して発生させる割込みです。

入出力装置用のプログラムに処理を依頼するときなど、プログラム自身が意図的に割込みをしたい場合に用いられます。

外部割込み

外部割込みは、実行中のプログラム以外が原因で行われる割込みです。外部割込みには次のようなものがあります。

  • 入出力処理が完了したり、入出力処理で異常が発生したりした場合の割込み。
  • そのプログラムへ割当てた単位時間が終了した時のタイマ割込。
入出力割込み

入出力割込みは、入出力処理が完了したり、入出力処理で以上が発生したりした場合に発生する割込みです。

CPUの処理は入出力装置の処理に比べてケタ違いに高速なので、CPUが単純に入出力装置の処理の完了の終了を待つのは非常に効率が悪くなります。そのため、該当のプログラムが入出力処理の完了を待っている間に、CPUは他のプログラムを並行して処理します。入出力割込みによって、元のプログラムの実行を再開します。

タイマ割込み

タイマ割込みは、そのプログラムへ割当てた単位時間が終了した時に発生する割込です。

正確なタイミングを必要とする処理や、複数のプログラムに平等に時間を割り当てて処理する場合などに用いられます。

 

プロセッサの性能

この記事での学習内容 基本情報 応用情報

クロック周波数,CPI(Cycles Per Instruction),MIPS などの意味を理解する。

用語例:サイクルタイム,FLOPS,命令ミックス

クロック周波数

コンピュータの内部には、各装置の動作のタイミングを合わせるために、一定のテンポでパルス信号を発するクロック機構があります。その信号の頻度をクロック周波数と言います。

周波数とは1秒間に繰り返す振動の数で、単位は Hz(ヘルツ)です。クロック周波数が高いほど1秒あたりの振動数が多く、かつ一つの振動にかかる1クロック時間(周期)が短いことになります。

CPUの処理速度

CPUはクロック周波数に合わせて動作します。そのため、クロック周波数はCPUの性能を表す指標の一つとして用いられます。

通常、CPUは1~数クロックごとに1命令を実行します。つまり、クロック周波数によってCPUが命令を実行するタイミングが決まります。クロック周波数が高いほどCPUが1命令を実行する時間が早まり、コンピュータの処理速度も速くなります。

現在市販されているコンピュータの多くは1~3GHz(ギガヘルツ:1GHz=10億Hz)のクロック周波数で動作するCPUを搭載しています。

なお、クロック周波数が同じCPUであっても、機種が異なると処理速度が違う場合があります。また、コンピュータの処理速度には、メモリの容量や入出力の速度などいろいろな要素が影響するため、同じCPUを搭載したコンピュータでもプログラム実行性能が必ず同じとは限りません。

MIPS

MIPS(Million Instructions Per Second:ミップス)もCPUの性能を表す指標です。MIPSは、CPUが1秒間に何百万回の命令を実行できるかを表す数です。

*1MIPS = 100万命令/秒

なお、一般的にはほとんど分岐のない命令セットを用いて計測され、CPUのピーク性能を示す指標とされています。

CPI

命令あたりの平均クロックサイクル数(=CPI:Cycle Per Instruction)も、CPUの性能を表す指標です。これは少ないほど性能が良くなります。

FLOPS

FLOPS(Floating point number Operations Per Second:フロップス)はCPUが1秒間に何回の浮動小数点数演算が出来るかを表す数です。MIPSと似ていますが、こちらは主にコンピュータの科学技術計算の性能を表すのに用いられます。特に、天文や地学などの分野のシミュレーションに使うスーパーコンピュータの性能を比較する際に用いられます。

命令ミックス

命令ミックスとは、様々な種類の命令の使用頻度を考慮して、コンピュータの性能を評価する手法で、MIPSやFLOPSよりも実態に近い指標を出そうとする手法です。

命令の種類によって実行速度が異なるので、命令の平均速度で性能を評価するのは、命令の使用頻度によって左右されますので、コンピュータの応用分野によって標準的な使用頻度を定めた命令ミックスを用いて性能を評価します。

科学記述計算用のギブソン・ミックスや、事務計算用のコマーシャル・ミックスなどがあります。

プロセッサの高速化技術

この記事での学習内容 基本情報 応用情報

プロセッサの代表的な高速化技術の種類,特徴を理解する。

用語例:命令パイプライン,スーパパイプライン,スーパスカラ,VLIW,ベクトル処理方式,ハイパスカラ方式,超並列プロセッサ,パイプラインハザード,データハザード,構造ハザード,制御ハザード,シングルコアプロセッサ,マルチコアプロセッサ,マルチスレッディング

パイプライン

 

例えば、化学工場の場合、数々の加工装置の間をパイプでつないで、次々と物質を加工していきます。それぞれの装置は同時に並行して動作することで、効率を向上させています。

コンピュータのパイプライン方式とは、一つの命令の実行が完了するのを待つことなく、「命令の読み込み」「命令の解読」「アドレスの決定」「データの読み込み」「命令の実行」「データの書き出し」などの細かな段階を、命令ごとに段階をずらして同時に並行して処理する方式です。CPUの内部でも、命令の段階で使っている機器は異なる(デコーダ、各種レジスタなどなど)ので、それを有効に活用しようとする技術です。

一つの命令の実行を段階1(S1)から段階5(S5)まで、パイプライン方式で同時並行処理すると、処理の進行は次のようになります。

この場合の性能は5倍になります。但し、命令の種類によっては段階の間に依存関係があって、完全な同時並行処理はできない場合もあります。

スーパーパイプライン

スーパーパイプライン方式は、一つの命令を実行する段階を細分化して、パイプライン処理を更に効率良く行う方法です。通常のパイプラインは4~5段階ですが、7~10段階程度の方式をスーパーパイプライン方式と呼びます。

但し、段階を増やせば、並列度は高まるが、1命令に要するクロック数はどうしても増えてしまうので、一概に段階数を増やせば良いというものでもありません。

スーパースカラ

スーパースカラ方式は、命令実行の同じ段階を同時並行処理ができる装置を複数揃える方式です。二つの装置を揃えた場合の処理の進行は以下のようになります。

この場合には、パイプライン方式に比べて、性能が2倍になります。

VLIW

超長命令語(Very Long Instruction Word:VLIW)は、複数の命令で構成されるビット数の多い命令語のことです。
超長命令語を処理できるコンピュータは、複数の命令を同時並行処理して性能を向上させます。

プログラム言語のコンパイラが、依存関係を持たないことを保証できる命令語群にできる部分を見抜いて、超長命令語に変換します。この考え方は、コンパイラの性能向上に寄与しており、より効率の良い機械語への変換を行えるようになっています。

並列処理

この記事での学習内容 基本情報 応用情報

代表的な並列処理方式の種類,特徴を理解する。

用語例:SISD,SIMD,MISD,MIMD

並列処理

並列処理とは、一つの処理を複数のプロセッサで並行して行うことです。並列処理の目的は処理効率を向上させることです。
サーバーコンピュータやそれよりも上位のコンピュータでは並列処理(マルチプロセッサ処理)はよく利用されています。

単一の処理のことをSISDといい、並列処理には SIMD、MISD、MIMDという種類があります。

  • SISD: Single Instruction Single Data
  • SIMD: Single Instruction Multiple Data
  • MISD: Multiple Instruction Single Data
  • MIMD: Multiple Instruction Multiple Data

SISD

SISD(Single Instruction Single Data)は、通常の単一の処理であり、一つの命令を一つのプロセッサで実行して、一つのデータを処理することです。

SIMD

SIMD(Single Instruction Multiple Data)は、一つの命令を複数のプロセッサで実行して、複数のデータを並行処理することです。

MISD

MISD(Multiple Instruction Single Data)は、複数の命令を複数のプロセッサで実行して、一つのデータを並行処理することです。

MIMD

MIMD(Multiple Instruction Multiple Data)は、複数の命令を複数のプロセッサで実行して、複数のデータを並行処理することです。

並列処理の隘路

並列化できないため逐次処理にならざるを得ない処理として,複数のプロセッサからの主記憶装置の使用要求の競合,データベースへの同時アクセスによるロックの発生などがあります。

これらの処理によっては、並列処理を行なっても処理能力の向上が図りにくい場合もあります。

マルチプロセッサシステム

この記事での学習内容 基本情報 応用情報

複数のプロセッサを搭載し,高速化や高信頼化を実現したシステムについて,種類,特徴,仕組み,マルチプロセッサシステムを適切に組み合わせた基盤設計を理解する。

用語例:疎結合マルチプロセッサシステム,密結合マルチプロセッサシステム,タンデム結合マルチプロセッサシステム,アレイコンピュータシステム,アムダールの法則,同期, SMP(Symmetric Multi Processing:対称型マルチプロセッシング),クラスタ,トーラス,ハイパキューブ,ハイパツリー

マルチプロセッサシステム

 

マルチプロセッサシステムは、複数のプロセッサを有する単一のコンピュータシステムです。マルチプロセッサシステムの目的は処理能力の向上や可用性の向上です。

可用性

システムの一部に障がいが発生しても、使い続けることの出来る性質。

処理効率の向上も重要な要素ですが、24時間365日稼動のシステムを構築するにあたっては、可用性の確保のためにマルチプロセッサシステムが取られていることが多くあります。

マルチプロセッサシステムには、疎結合マルチプロセッサ、密結合マルチプロセッサ、クラスタなどの種類があります。

疎結合マルチプロセッサシステム

疎結合マルチプロセッサシステムは、複数のプロセッサが通信回線を経由してデータを共有する、マルチプロセッサシステムです。

プロセッサ同士の余分な影響が少ないことや、普通のコンピュータの組合せで実現できるのが利点です。

通信回線を経由するので処理効率は劣りますが、ローカルエリアネットワークの高速化によって処理能力が向上しています。

密結合マルチプロセッサシステム

密結合マルチプロセッサシステムは、複数のプロセッサが主記憶装置を共有するマルチプロセッサシステムです。複数のプロセッサは共通バスを経由して接続されます。

始めからマルチプロセッサシステムとして設計する必要があり、プロセッサ間の独立性も低いですが、バス接続なので処理効率が良いのが特徴です。

クラスタ

クラスタは、一つのシステムとして処理を実行するひとまとまりの複数のコンピュータ群です。

疎結合マルチプロセッサや密結合マルチプロセッサはプロセッサ同士が対称的な構成ですが、クラスタは対称性は問われません。

この技術の一つの発展形が、最近のトレンドである『クラウドコンピューティング』であり『グリッドコンピューティング』です。

機能分散の意味合いを持たせる場合もあり、可用性の向上、負荷分散を狙ったものなど、色々なケースがある。単に複数のコンピュータを連携させて、一台の高性能なコンピュータであるかのように動かす、というのがクラスタ構成のポイントです。

メモリ

情報処理技術者試験での学習内容

【応用情報・基本情報】
・メモリの種類,特徴,メモリ選択の考え方を修得し,応用する。
・主記憶装置の構成,メモリシステムの構成,記憶階層など,記憶装置の仕組みを修得し,応用する。
・記録媒体の種類,特徴を修得し,応用する。

【ITパスポート】
・メモリの種類と特徴を理解する。
・記録媒体の種類と特徴を理解する。

(1)メモリの種類と特徴 ITパスポート 基本情報 応用情報

半導体の記憶回路,磁気記憶,光記憶を用いたメモリなどの種類があること,半導体メモリ(IC メモリ)の種類,特徴(揮発性,不揮発性,アクセス速度,容量,コスト,物理サイズなど),代表的な用途,システム設計におけるメモリの選択の考え方を理解する。

用語例:RAM,ROM,DRAM,SRAM,リフレッシュ,マスクROM,PROM(Programmable Read Only Memory ), EPROM ( Erasable Programmable Read Only Memory ), EEPROM(Electrically Erasable Programmable Read Only Memory),フラッシュメモリ,SDRAM(DDR2 SDRAM,DDR3 SDRAM)

(2)主記憶装置の構成 基本情報 応用情報

主記憶装置の構成,主記憶装置内のデータがアクセスされるアドレス選択動作,アクセス動作などの手順を理解する。

用語例:記憶部,アドレス選択機構,読取り書込み機構,ECC(誤り検出訂正),パリティ

(3)メモリシステムの構成と記憶階層 ITパスポート 基本情報 応用情報

記憶階層の構成,キャッシュメモリからデータを主記憶に書き出す方式の種類と特徴を理解する。また,キャッシュメモリからデータを主記憶に書き出す方式を理解する。

用語例:補助記憶,ディスクキャッシュ,ライトスルー,ライトバック,ダイレクト方式,フルアソシエイティブ方式,セットアソシエイティブ方式,連想メモリ,命令キャッシュ,データキャッシュ

(4)アクセス方式 基本情報 応用情報

主記憶装置を高速化するメモリインタリーブ方式を理解する。

用語例:バンク

(5)メモリの容量と性能 基本情報 応用情報

アクセス時間とサイクル時間,キャッシュメモリのヒット率,ミス率,実効アクセス時間,ミスペナルティなど,メモリの容量と性能の関係を理解する。

(6)記録媒体の種類と特徴 ITパスポート 基本情報 応用情報

取り外しできる記録媒体(リムーバブルメディア)の種類,記録容量,可搬性,利用法,用途などの特徴を理解する。

用語例:読出し専用型,追記型,書換型,ハードディスク,SSD(ソリッドステートドライブ),光ディスク,CD(CD-ROM,CD-R),DVD(DVD-ROM,DVD-RAM,DVD-R),ブルーレイディスク,光磁気ディスク,MO,半導体ディスク,フラッシュメモリ(USB メモリ,SD カード),ストリーマ,DAT,RAM ファイル

 

メモリの種類と特徴

この記事での学習内容 ITパスポート 基本情報 応用情報

半導体の記憶回路,磁気記憶,光記憶を用いたメモリなどの種類があること,半導体メモリ(IC メモリ)の種類,特徴(揮発性,不揮発性,アクセス速度,容量,コスト,物理サイズなど),代表的な用途,システム設計におけるメモリの選択の考え方を理解する。

用語例:RAM,ROM,DRAM,SRAM,リフレッシュ,マスクROM,PROM(Programmable Read Only Memory ), EPROM ( Erasable Programmable Read Only Memory ), EEPROM(Electrically Erasable Programmable Read Only Memory),フラッシュメモリ,SDRAM(DDR2 SDRAM,DDR3 SDRAM)

半導体メモリ

半導体メモリとは、半導体素子によって構成されるメモリです。半導体メモリは物理的な動作を必要とするメモリ(*)と比べて高速で耐震性に優れています。

半導体メモリは、RAM(Random Access Memory)とROM(Read Only Memory)の二種類があります。

*物理的な動作を必要とするメモリとは、例えばハードディスクなど、モーター等の動作部品がある記憶媒体のこと。

RAM

RAM(Random Access Memory)とは、自由にデータの読み書きを出来ることの出来るメモリです。電源を切ると記憶していた内容が消えてしまう「揮発性」という特徴があります。

RAMにはDRAM(Dynamic Random Access Memory)とSRAM(Static Random Access Memory)があります。

DRAMとSRAM

キャッシュメモリにはDRAMより高速なSRAMが使われます。SRAMは再書き込みをしなくても、通電している限りデータを保持できるメモリです。

 SRAMDRAM
特徴フリップフロップ回路を用いてデータを記憶するコンデンサの電荷のある無しでデータを記憶する
主な用途キャッシュメモリメインメモリ
記憶容量小容量大容量
ビットあたりのコスト高コスト低コスト
再読み込み
(リフレッシュ)
不要必要
消費電力小さい大きい
DRAMとSRAMの比較

名称特徴
ファーストページDRAM高速なデータ転送機能を持つ
EDODRAMファーストページDRAMの読み出し効率を向上させた
SDRAMSynchronous Dynamic Random Access Memory
クロック周波数に同期して高速読み出しを行う
DDR-SDRAMDDR:Double Data Rate の略で、SDRAMの2倍の速度
近年では、さらに高速化して、DDR2(SDRAMの4倍)、DDR3(8倍)、DDR4(16倍)といった規格も出ていている。
DRAMの種類

ROM

ROM(Read Only Memory)は、記録されている情報を読み出すことだけが可能なメモリです。

書き込みができる種類もありますが、RAMと比較して随時書き込みできないものはROMに分類されています。ROMには以下のような種類があります。

名称書き込み消去特徴
マスクROM製造時にデータが書き込まれ、その後は書き換え不可。
EPROMErasable Programmable Read Only Memory
紫外線照射で全消去可能。UV-EPROMという場合もある。
EEPROMElectrically Erasable Programmable Read Only Memory
電圧をかけて部分的に消去することが可能。
フラッシュメモリ電圧をかけて全消去、ブロック単位での消去が可能。
USBメモリやSDカード、SSDなどはこのタイプの記憶媒体。

主記憶装置の構成

この記事での学習内容 基本情報 応用情報

主記憶装置の構成,主記憶装置内のデータがアクセスされるアドレス選択動作,アクセス動作などの手順を理解する。

用語例:記憶部,アドレス選択機構,読取り書込み機構,ECC(誤り検出訂正),パリティ

記憶装置

記憶装置とは、コンピュータが扱うデータやプログラムを記憶しておく装置です。

記憶装置のうち、システムバスを通じてCPUと直接データをやり取りするものを主記憶装置といい、主記憶装置とデータをやり取りするものを補助記憶装置といいます。

いわゆる「メモリ」と呼ばれるものは主記憶装置の方を指します。

主記憶装置

主記憶装置は、システムバスを通じてCPUと直接やり取りをし、CPUでのプログラム処理に必要なプログラムやデータを渡す働きをします。

主記憶装置には、データを電気信号として記憶する半導体を使ったDRAMというLSIチップが用いられます。DRAMはデータ容量あたりのコストが低く、大容量のメモリを構成できるという特徴があります。一方で、放電によってデータが消える性質(揮発性)であるため、データを保持し続けるためには、定期的な再書き込み(リフレッシュ)の動作が必要になります。

パソコンの主記憶装置には、DDR-SDRAMがよく用いられています。

主記憶装置の構成

主記憶装置は、記憶部、アドレス選択機構、読み取り書き込み機構から構成されています。

補助記憶装置

大量のデータを長期間記録するための記憶装置を、補助記憶装置といいます。

補助記憶装置にはOokuno種類があり、ハードディスクやSSD、CD、DVD、USBメモリなどが、用途に応じて使い分けられています。

主記憶装置は、CPUから要求されたデータが自身のもとになければ、補助記憶装置からそのデータを読み込み、CPUに渡します。

キャッシュメモリ

CPUのデータ処理速度に比べると、CPUと主記憶装置間のデータ転送は遅いので、主記憶装置とのやり取りの際にCPUが待たされることがあります。

この速度差を縮めるための仕組みとして、主記憶装置とは別にCPU内に高速な緩衝用のメモリを置きます。これをキャッシュメモリといいます。

キャッシュメモリは複数設置することが多く、CPUがアクセスする順番によって、1次キャッシュ、2次キャッシュなどと呼び分けます。CPUがメモリにアクセスするときには、1次キャッシュ→2次キャッシュ→主記憶装置、という順序で行われます。

キャッシュメモリは読み込みだけでなく書き込みもできます。書き込みには、主記憶装置に反映させるタイミングによってライトスルー方式とライトバック方式の二つの方式があります。

ライトスルー

ライトスルー方式は、キャッシュメモリにデータの書き込み命令が実行された時に、キャッシュメモリと主記憶装置の両方を同時に書き換える方式です。

キャッシュメモリと主記憶装置に同じデータを同時に書き込むためトラブルには強いですが、主記憶装置の処理速度に合わせるため、全体の処理速度は下がります。

ライトバック

ライトバック方式は、データの書き込み命令が実行された時にキャッシュメモリだけ書き換える方式です。キャッシュメモリのブロックを入れ替える時に主記憶装置の書き換えを行います。

キャッシュメモリにだけ書き込むので高速に処理が可能ですが、主記憶装置の書き換えが行われるまで、キャッシュメモリのデータが反映されないため、トラブルに弱く整合性に欠けるという問題もあります。

 

メモリシステムの構成と記憶階層

この記事での学習内容 ITパスポート 基本情報 応用情報

記憶階層の構成,キャッシュメモリからデータを主記憶に書き出す方式の種類と特徴を理解する。また,キャッシュメモリからデータを主記憶に書き出す方式を理解する。

用語例:補助記憶,ディスクキャッシュ,ライトスルー,ライトバック,ダイレクト方式,フルアソシエイティブ方式,セットアソシエイティブ方式,連想メモリ,命令キャッシュ,データキャッシュ

記憶階層

コンピュータの各種の記憶装置は、CPUから補助記憶装置まで、次のような階層構造を持ちます。このことを記憶階層といいます。

高速で小容量のレジスタから、低速で大容量の補助記憶媒体まで、順序よく階層にすることによって高速性と大容量とを両立させます。

ディスクキャッシュ

ディスクキャッシュは、主記憶装置と補助記憶媒体との間に、高速なメモリを置いて高速化する技術、又はそのための半導体メモリのことです。

使用頻度の高いデータを高速なメモリに置けば、いちいち補助記憶媒体からデータを読み込む必要が無いので、速度が向上します。

アクセス方式

この記事での学習内容 基本情報 応用情報

主記憶装置を高速化するメモリインタリーブ方式を理解する。

用語例:バンク

主記憶装置の容量

主記憶装置は容量が大きいほど一度に多くのデータを保持しておけるので、CPUから要求されたデータを補助記憶装置に読みに行く回数が減り、全体の処理が速くなります。

パソコンの主記憶装置では、数Gバイト程度の容量が主流です。

主記憶装置の容量は、LSIチップを搭載したメモリモジュールを追加したり交換したりすることによって拡張できます。

メモリモジュールの種類には、デスクトップパソコン向けのDIMMや、ノートパソコン向けの小型のSODIMMなどがあります。

*DIMM:Dual Inline Memory Module
 SODIMM:Small Outline DIMM

メモリインタリーブ

メモリインタリーブは、CPUと主記憶装置との間のデータ転送を高速化する方法です。

主記憶装置を複数のメモリバンクという区分に分割し、CPUからのデータ転送要求を複数のメモリバンクへ並行して発行します。それによって、CPUの待ち時間が減って高速になります。

メモリの容量と性能

この記事での学習内容 基本情報 応用情報

アクセス時間とサイクル時間,キャッシュメモリのヒット率,ミス率,実効アクセス時間,ミスペナルティなど,メモリの容量と性能の関係を理解する。

アクセス時間とサイクル時間

CPUが主記憶装置へアクセスする詳細な手順は次のとおりです。

  1. アクセス要求
  2. アドレス選択
  3. データ転送
  4. リフレッシュ(DRAMの場合)

アクセス時間は、アクセス要求を始めてからデータ転送が終わるまでの時間です。

サイクル時間は、アクセス要求を始めてから、次のアクセス要求を始められるまでの時間です。

キャッシュメモリのヒット率

キャッシュメモリのヒット率は、CPUが要求するデータがキャッシュメモリに存在する確率です。キャッシュメモリにデータが存在しない場合は、主記憶装置にアクセスする必要があります。ヒット率が高いほど、処理は高速になります。

実効アクセス時間

実効アクセス時間は、キャッシュメモリの効果を踏まえた主記憶装置へのアクセス時間です。以下の式で求められます。

この式は、キャッシュにあった場合のアクセス時間と、主記憶にあった場合の平均を取るための式となっています。

実効アクセス時間の計算例

キャッシュメモリのアクセス時間: 10ナノ秒
主記憶装置のアクセス時間: 60ナノ秒
ヒット率: 70%

実効アクセス時間= 10  × 0.7 + 60 × ( 1-0.7 )
  =7 +18
  =25(ナノ秒)

 

記録媒体の種類と特徴

この記事での学習内容 ITパスポート 基本情報 応用情報

取り外しできる記録媒体(リムーバブルメディア)の種類,記録容量,可搬性,利用法,用途などの特徴を理解する。

用語例:読出し専用型,追記型,書換型,ハードディスク,SSD(ソリッドステートドライブ),光ディスク,CD(CD-ROM,CD-R),DVD(DVD-ROM,DVD-RAM,DVD-R),ブルーレイディスク,光磁気ディスク,MO,半導体ディスク,フラッシュメモリ(USB メモリ,SD カード),ストリーマ,DAT,RAM ファイル

メモリを使った補助記憶装置

小型で持ち運びしやすい補助記憶装置には、SDカードやUSBメモリスティックなどがあります。

これらには、電源を切っても内容が消えない半導体メモリである、フラッシュメモリが使われているのでアクセスが高速です。

容量は数十MBのものから、数百GBのものもあります。

光ディスク

光ディスクは樹脂やアルミの円盤の表面のピットと呼ばれる穴を記録情報として、レーザー光を用いてデータを書き込み、読み出しする補助記憶媒体です。

名称特徴容量
CD-ROMCD-Read Only Memory
読み出し専用の光ディスク
650~700Mバイト
CD-RCD-Recordable
追記は出来るが書き換えはできない
650~700Mバイト
CD-RWCD-Re Writable
書き換えが可能
650~700Mバイト
DVD記録密度が高く大容量な光ディスク。片面記録や両面記録、2層記録など様々な方式がある。
読み出し専用のDVD-ROM、追記型のDVD-R、書き換え可能なDVD-RAM等がある。
数Gバイト
規格により異なる
ブルーレイ波長の短い青紫色のレーザーを使うことで記録密度を向上した光ディスク。片面1層で約25GB
両面2層で約50GB

 

磁気テープ

磁気テープは、粉末状の磁性体をテープ状のフィルムに塗布した記録媒体です。磁化の変化により情報を書き込み、読み出しする磁気記録媒体の一種です。

テープを巻き取るという構造上、アクセスは低速で、順読み出ししか出来ません。しかし数十~数百Gバイトなどの容量があり、単価が安いので、データのバックアップ用に使われます。

ストリーマ

磁気テープを記憶媒体とする補助記憶装置を、磁気テープ装置あるいはストリーマといいます。ストリーマはデータを次々と転送するストリーミング方式を用いるという意味の名称です。

磁気テープを扱う補助記憶装置には、音楽カセット用のDATの技術を用いたDDSなどがあります。

 

バス(概要)

情報処理技術者試験での学習内容

【応用情報】
・バスの種類,特徴,制御方式,標準規格を修得し,応用する。

【基本情報】
・バスの種類,特徴,構成のあらましを理解する。

(1)バスの種類と特徴 基本情報 応用情報

コンピュータ内部でデータをやり取りするための伝送路であるバスの種類,特徴,内部バス(CPU 内部バス),外部バス,拡張バスなどの分類,転送方式を理解する。

用語例:アドレスバス,データバス,コントロールバス(制御バス),システムバス,メモリバス,入出力バス,シリアルバス,パラレルバス

(2)バスのシステムの構成 基本情報 応用情報

バスのシステムの構成には,命令の読込みとデータのアクセスを分離したハーバードアーキテクチャ,両者を分離せず同一のバスでアクセスするプリンストンアーキテクチャがあること,アーキテクチャごとの特徴を理解する。

(3)バスの制御方式 応用情報

複数の装置がバスを共有している場合に,どの装置がバスを使用するかを決めるバスの制御方式や,具体的な動作を理解する。

用語例:バスアービタ,バスマスタ,集中制御方式,割込み方式,ポーリング方式

(4)バスのアクセスモード 応用情報

外部データバス幅を制御するモードであるバスのアクセスモード,その動作,モードを指定することによって,バス幅を指定できることを理解する。

(5)バスの容量と性能 基本情報 応用情報

バス幅を意味するバスの容量,クロック周波数を意味するバスの性能,バスのスループットの計算方法を理解する。

(6)バスの標準規格  応用情報

バスの標準規格の種類と特徴を理解する。

用語例:PCI(Peripheral Component Interconnect)バス,PCI Express,IEEE 1394,ANSI-X3.131(SCSI),USB(Universal Serial Bus)

バスの種類と特徴

この記事での学習内容 基本情報 応用情報

コンピュータ内部でデータをやり取りするための伝送路であるバスの種類,特徴,内部バス(CPU 内部バス),外部バス,拡張バスなどの分類,転送方式を理解する。

用語例:アドレスバス,データバス,コントロールバス(制御バス),システムバス,メモリバス,入出力バス,シリアルバス,パラレルバス

バス

CPUや主記憶装置などの内部装置は、データをやり取りするための伝送路で結ばれています。この伝送路をバスといいます。

バスが一度に送信できるビット数をバス幅といいます。

CPUが内部でデータを伝送するバスを内部バスといいます。内部バスには16ビット、32ビット、64ビットなどのバス幅があり、パソコンでは32ビットバスが主流でしたが、近年は64ビットバスもかなり普及しています。

内部バスに対し、主記憶装置などマザーボード上の各装置を結ぶバスを、外部バス(システムバス)といいます。

アドレスバス

アドレスバスは、CPUがアクセスしたいデータのアドレスを主記憶装置に伝えるためのバスです。アドレスバスのバス幅が広いほど、大きなサイズの主記憶装置のアドレスを扱えます。

16ビットなら 216 = 65536のアドレス、32ビットなら232 = 4,294,967,296(約4G)のアドレス、64ビットなら 264≒約1,800京(約16E)のアドレスを扱うことが出来ます。

但し、64ビットの場合、理論上は16エクサのアドレスを扱うことが出来るが、あまりにも膨大すぎるので、パソコンなどでは数テラバイトまでとしている事が多い、(1エクサ=10億ギガ)

データバス

データバスはCPUが主記憶装置とデータをやり取りするためのバスです。データバスのバス幅が広いほど、一度に多くのビット数のデータをやり取りできます。

コントロールバス

コントロールバスは制御バスともいい、CPUと周辺機器などの間に、タイミング調整などの信号をやり取りするためのバスです。

バスのシステムの構成

この記事での学習内容 基本情報 応用情報

バスのシステムの構成には,命令の読込みとデータのアクセスを分離したハーバードアーキテクチャ,両者を分離せず同一のバスでアクセスするプリンストンアーキテクチャがあること,アーキテクチャごとの特徴を理解する。

バスのシステムの構成

バスは3つ以上の装置が、バス(交通)の停留所を用いて乗り合いするように接続する伝送路です。他の結線方法に比べて単純なのが特徴です。

速度の遅い入出力装置のバスを、高速な装置用のバスと階層構造にする方法もあります。

ノイマンアーキテクチャとハーバードアーキテクチャ

ノイマンアーキテクチャは主記憶に命令もデータも格納する方式です。Pentiumなどの多くのCPUはこの方式です。

プログラムを記憶するメモリとデータを記憶するメモリを別にした構成をハーバードアーキテクチャといい、マイコンなどで使われる方式です。命令とデータに同時にアクセスできるので、高速化に向いています。

最近の高性能CPUチップでは両方の長所を活かした設計が利用されているものもあります。

バスの容量と性能

この記事での学習内容 基本情報 応用情報

バス幅を意味するバスの容量,クロック周波数を意味するバスの性能,バスのスループットの計算方法を理解する。

バス幅とクロック周波数

バスが1クロックで送信できるビット数をバス幅といいます。バス幅には8ビット、16ビット、32ビット、64ビットなどがあります。バス幅が大きいほど性能が良くなります。
また、バスのクロック周波数が高いほど性能が良くなります。

これらのバスの性能と、CPUの性能(MIPS値やFLOPS値)によって、CPUとバスを接続した時の性能が決まります。

バスのアクセスモード

1ビットずつ順番に伝送するバスを、シリアルバスといいます。
対して、複数ビットを1度に伝送するバスをパラレルパスといいます。(伝送路の本数の違いではないので注意)

一見、パラレルバスのほうが高性能に思えますが、パラレルバスの場合、並行する通信路の干渉などの問題があり、そういった問題のないシリアルバスのほうが高性能であることが多いです。

特に通信路同士の干渉は、伝送距離が長くなるほど影響を受けやすくなります。そのため、物理的に距離の短いPCI等のコンピュータ内部のバスにはパラレルバスがよく用いられ、外部との接続に使うLANやUSBなどにはシリアルバスが採用されている。

なお、シリアルバスだからといって伝送路が1本というわけではなく、複数の伝送路で並行して別々の情報を伝送するタイプのシリアルバスもあります。

  • 並列で個別の異なる情報を流す:シリアルバス
  • 複数の伝送路でまとめて一つのデータを流す:パラレルバス

 

入出力デバイス

情報処理技術者試験での学習内容

【応用情報・基本情報】
・入出力インタフェースの種類,特徴を修得し,応用する。
・ デバイスドライバの役割,機能を修得し,応用する。

【ITパスポート】
・入出力インタフェースの種類と特徴を理解する。

(1)入出力インタフェース

1.入出力インタフェースの種類と特徴 ITパスポート 基本情報 応用情報

入出力インタフェースの種類,転送方式,伝送速度,接続可能台数,用途などの特徴を理解する。

用語例:USB,RS-232C,IEEE 1394,SCSI,HDMI,PC カード,シリアルATA, Bluetooth,ZigBee,IrDA,NFC,FC(ファイバチャネル)

2.データ転送の方式と接続形態 基本情報 応用情報

シリアルデータ転送方式とパラレルデータ転送方式や,周辺装置を接続する際の接続形態(トポロジ)の種類,特徴,使用される機器を理解する。

用語例:アナログ,ディジタル,スター接続,カスケード接続,ハブ,デイジーチェーン接続,ターミネータ,ツリー接続

3.入出力制御の方式 基本情報 応用情報

CPU を介さない転送方式であるDMA 方式やチャネル制御方式を理解する。また,入出力割込みが果たす役割を理解する。

用語例:プログラム制御方式,DMA(Direct Memory Access:直接記憶アクセス)方式,チャネルコマンド,光チャネル,オフラインシーク,オフラインサーチ,超高速チャネル,拡張チャネルシステム

4.チャネルの種類と特徴 応用情報

チャネルの種類,特徴,動作モードを理解する。

用語例:マルチプレクサモード,バーストモード

(2)デバイスドライバ 基本情報 応用情報

デバイスドライバの役割,プラグアンドプレイ,ホットプラグの機能,デバイスとの同期を理解する。

入出力インタフェースの種類と特徴

この記事での学習内容 ITパスポート 基本情報 応用情報

  • 入出力インタフェースの種類,転送方式,伝送速度,接続可能台数,用途などの特徴を理解する。
  • シリアルデータ転送方式とパラレルデータ転送方式や,周辺装置を接続する際の接続形態(トポロジ)の種類,特徴,使用される機器を理解する。

 

用語例:USB,RS-232C,IEEE 1394,SCSI,HDMI,PC カード,シリアルATA, Bluetooth,ZigBee,IrDA,NFC,FC(ファイバチャネル)、アナログ,ディジタル,スター接続,カスケード接続,ハブ,デイジーチェーン接続,ターミネータ,ツリー接続

入出力インタフェース

入出力インタフェースとは、コンピュータに周辺機器を接続するためのコネクタやケーブルの形状、伝送に用いる通信規格などを指します。

インタフェースは、コンピュータ本体と周辺装置との通信を整える働きをする部分で、データの転送方式には、シリアル方式のインタフェースと、パラレル方式のインタフェースとがあります。

シリアルインタフェース

1本の信号線を使って1ビットずつ順番にデータを転送する方式です。一度に転送するデータの量は少ないですが、ケーブルやコネクタの構造を単純化出来るので、高い動作周波数での転送速度を上げることが出来ます。

例:USB、LANケーブル、シリアルATA

パラレルインタフェース

複数の信号線を束ねたケーブルで、複数のビットを同時に転送する方式です。一度に転送するデータが多いので、動作周波数が低くてもデータを転送できます。しかし、シリアルインタフェースに比べ仕組みが複雑になること、ケーブルが太く、伝送距離が短いなどの短所もあります。

例:SCSIケーブル、IDE、パラレルケーブル

通信速度

データ通信の速度は「ビット/秒」(bps:bits per second)を単位として表します。「ビット/秒」は1秒間に転送できるデータ量をビット単位で表したものです。

1bpsは、1秒間に1ビットのデータを送ることが出来る速さです。

USB

USBはコンピュータ用の入出力インタフェースとして広く使われている規格です。現在主流であるUSB2.0規格は最高480Mbpsの高速通信が可能です。

USB2.0には3つの転送モードがあり、高速性の求められる外付けハードディスクなどには、480Mbpsのハイスピードモード、プリンタやスキャナなどには12Mbpsのフルスピードモード、低速なキーボードやマウスなどには1.5Mbpsのロースピードモードが使用されています。
*一見、フルスピードモードが最も速いように思えますが、12Mbps=フルスピードモードなのは、旧規格のUSB1.1の規格の名残で、USB1.1の最高速度が12Mbpsであったため。

なお、最近では、転送速度が5Gbpsとさらに高速なUSB3.0という規格も登場し、外付けハードディスクなど対応商品も出てきています。

USB普及の背景

USBが広く使われるのは、プラグ・アンド・プレイやホットプラグインに対応するインタフェースであることも理由の一つです。
ホットプラグインとはコンピュータの電源を入れたままでケーブルの抜き差しができる機能です。
プラグ・アンド・プレイは、接続した周辺機器をOSが自動認識する機能です。

また、USBケーブルを介して周辺機器の電源がコンピュータ側から供給される「バスパワー」にも対応するため、消費電力の小さい機器なら、電源ケーブルを使わずにコンピュータからUSB経由で電源供給を受けて稼働できます。

USBハブ

USBハブを用いると、一つのUSBポートにコンピュータやハブを含めて最大127台までの機器を階層的なツリー型に接続できます。

コンピュータと周辺機器、USBケーブル、USBハブのうち、USB1.1のみに対応する機器が一つでもあれば、USB1.1の最高速度である12Mbpsでしか通信できなくなるため、USB接続する機器の選定には注意が必要です。

IEEE1394

IEEE1394は転送速度が100Mbps以上という高速なシリアルインタフェースで、主にデジタルビデオカメラなどで採用されています。「FireWire」や「i.Link」という名称で商標登録しているメーカーもあります。

最大63台の機器をデイジーチェーン接続(数珠つなぎ)でき、周辺装置同士を直結することもできます。

その他の主なインタフェース

コンピュータに使われる入出力インタフェースには、次のようなものがあります。

名称接続方法特徴
RS-232Cシリアル従来からモデム、TAなどの接続に用いられてきた低速なインタフェース。
セントロニクスパラレル従来からプリンタなどとの接続に用いられてきたインタフェース。
現在はIEEE1284として規格化されている。
SCSIパラレル従来からスキャナや外付けのハードディスクなどに用いられてきたインタフェース。
最大7台までデイジーチェーン接続が可能。
IDE/E-IDEパラレル内蔵ハードディスク、CD-ROMなどを内部で接続するためのインタフェース。
別名でATA、ATAPIともいう。
シリアルATAシリアルIDE/E-IDEの後継として位置づけられる磁気ディスクの高速インタフェース。
ケーブルが細く延長距離も長いため接続がしやすい。
最大転送速度が150MB/秒などと高速である。
IrDA赤外線赤外線による無線通信インタフェース。
最大4Mbpsの通信速度があるが、通信距離が1m程度と短く、機器を向き合わせる必要がある。
PDAとコンピュータ間や携帯電話同士のデータ交換などに使われる。
Bluetooth電波2.4GHz帯の電波を利用する無線通信インタフェース。
半径10m以内で最大3Mbpsの通信速度がある。
赤外線を利用するIrDAと違い、機器間に障害物があっても通信できる。

デバイスドライバと入出力制御

この記事での学習内容 基本情報 応用情報

  • デバイスドライバの役割,プラグアンドプレイ,ホットプラグの機能,デバイスとの同期を理解する。
  • CPU を介さない転送方式であるDMA 方式やチャネル制御方式を理解する。また,入出力割込みが果たす役割を理解する。

用語例:プログラム制御方式,DMA(Direct Memory Access:直接記憶アクセス)方式,チャネルコマンド,光チャネル,オフラインシーク,オフラインサーチ,超高速チャネル,拡張チャネルシステム

デバイスドライバ

デバイスドライバは周辺機器の動作をコントロールするソフトウェアです。OSと周辺機器の仲立ちをし、メーカーや機種の違いによる機器の制御方法の差を吸収するものです。

コンピュータに周辺機器を接続して正常に稼働させるためには、その装置に付属するデバイスドライバをコンピュータにインストールする必要があります。

入出力制御の方式

入出力制御の方式には、CPUを介さないDMA方式、チャネル制御方式、プログラム制御方式などがあります。

プログラム制御方式

CPUがプログラムを実行する中で、CPUが入出力装置と主記憶装置との間のデータ転送を行う方式です。低速の入出力装置が動作する間、CPUが待っているので処理効率が落ちます。

DMA方式(Direct Memory Access:直接記憶アクセス)

DMA方式とは、CPUを介さずに入出力装置が主記憶装置との間のデータ転送を行う方式です。DMA方式によってCPUの待ち時間を減らすことができます。この方式の場合、CPUからの入出力の指示は主記憶装置に対して行われます。

なお、別途DMAコントローラという装置が必要です。

チャネル制御方式

チャネル制御方式とは、チャネル装置が入出力装置と主記憶装置との間のデータの転送を行う方式です。この方式の場合、CPUからの入出力の指示はチャネルに対して行われます。

CPUとチャネルが並行処理をすることによって、CPUの待ち時間を減らすことができます。

 

入出力装置

情報処理技術者試験での学習内容

【応用情報・基本情報】
・代表的な入出力装置の種類,特徴,仕組み,用途を修得し,応用する。
・代表的な補助記憶装置の種類,特徴,仕組み,用途を修得し,応用する。

(1)入力装置 基本情報 応用情報

代表的な入力装置の種類,特徴,仕組み,用途を理解する。

用語例:ポインティングデバイス(マウス,タッチパネル,タッチスクリーン,ジョイスティック,トラックボール,デジタイザ,ペンタブレットほか),キーボード,音声入力装置,画像入力装置(スキャナ,OCR,OMR,ディジタルカメラほか),生体認証装置,バーコード読取装置,磁気カード読取装置,IC カード読取装置,A/D コンバータ

 

(2)出力装置 基本情報 応用情報

代表的な表示装置や出力装置の種類,特徴,仕組み,用途を理解する。また,画像のデータ容量などに関連する計算方法を理解する。

用語例:CRT ディスプレイ,液晶ディスプレイ,TFT 液晶,STN 液晶,有機EL ディスプレイ,プラズマディスプレイ,インタレースモード,ノンインタレースモード,テキストモード,グラフィックスモード,パックトピクセル方式,プレナピクセル方式,VGA,SVGA,XGA,電子ペーパ,インパクトプリンタ,ノンインパクトプリンタ,シリアルプリンタ,ラインプリンタ,ページプリンタ,レーザプリンタ,インクジェットプリンタ,3D プリンタ,プロッタ,D/A コンバータ,プロジェクタ,音声出力装置

(3)補助記憶装置 基本情報 応用情報

代表的な補助記憶装置や記憶媒体の種類,特徴,仕組み,用途,装置の諸元に基づく記憶容量や,平均アクセス時間の計算方法を理解する。

用語例:ハードディスク装置,SSD(ソリッドステートドライブ),SD/SDHC/SDXC カード,CD-R/RW ドライブ,ブルーレイドライブ,DVD-R/RW ドライブ,磁気テープ装置,トラック,シリンダ,ブロック化因数,IBG(Interblock Gap:ブロック間隔),セクタ,トラック密度,スピンドル,アクセスアーム,磁気ヘッド,固定ディスク,デフラグメンテーション,シークタイム,サーチタイム,データ転送時間,データ転送速度,ボリューム,ボリュームラベル,見出しラベル,後書きラベル,ディスクアレイ,RAID

(4)その他の入出力装置 基本情報 応用情報

代表的な通信制御装置,駆動装置,撮像装置の種類,特徴,仕組み,用途を理解する。

用語例:有線LAN インタフェースカード,無線LAN インタフェースカード

入力装置

この記事での学習内容 基本情報 応用情報

代表的な入力装置の種類,特徴,仕組み,用途を理解する。

用語例:ポインティングデバイス(マウス,タッチパネル,タッチスクリーン,ジョイスティック,トラックボール,デジタイザ,ペンタブレットほか),キーボード,音声入力装置,画像入力装置(スキャナ,OCR,OMR,ディジタルカメラほか),生体認証装置,バーコード読取装置,磁気カード読取装置,IC カード読取装置,A/D コンバータ

代表的な入力装置

入力装置では、文字を入力するためのキーボードが代表的です。

その他の入力装置には、マウス、ペンタブレット、タッチパネルなどがあります。

マウスやペンタブレットなど、カーソルを移動して画面上の位置情報をクリックして指示入力できる装置を総称して「ポインティングデバイス」といいます。

画像を読み取る入力装置

イメージスキャナ
印刷物や手書きの絵を静止画像データとしてPCに読み込むことができます。
バーコードリーダ
バーコードを読み取り、数値や文字のデータに置き換えて処理することができます。小売店のPOSシステムなどで広く利用されています。
OCR
OCR(Optical Character Reader:光学文字読取装置)は、画像データを走査して、記憶してある文字とパターン認識して、手書きの文字や印字された文字を入力する装置です。
OMR
OMR(Optical Mark Reader:光学マーク読取装置)は、画像データを走査して、比較的単純な記号を認識して入力する装置です。いわゆる「マークシート」の読取り装置です。
キーボードの代わりに筆記具で記入し、OCRよりも正確に認識できるので、各種試験やアンケート用紙にコンピュータ処理に用いられます。
デジタイザ
デジタイザとは、画面上の位置を指示するためのペン型、あるいはマウス型の装置と、位置を検出するための板状の装置を組合せた入力装置で、ペンタブレットはデジタイザの一種です。
手書きの作業をそのままコンピュータに入力するのに用います。

出力装置

この記事での学習内容 基本情報 応用情報

代表的な表示装置や出力装置の種類,特徴,仕組み,用途を理解する。また,画像のデータ容量などに関連する計算方法を理解する。

用語例:CRT ディスプレイ,液晶ディスプレイ,TFT 液晶,STN 液晶,有機EL ディスプレイ,プラズマディスプレイ,インタレースモード,ノンインタレースモード,テキストモード,グラフィックスモード,パックトピクセル方式,プレナピクセル方式,VGA,SVGA,XGA,電子ペーパ,インパクトプリンタ,ノンインパクトプリンタ,シリアルプリンタ,ラインプリンタ,ページプリンタ,レーザプリンタ,インクジェットプリンタ,3D プリンタ,プロッタ,D/A コンバータ,プロジェクタ,音声出力装置

ディスプレイ

画像を表示するディスプレイとしては、以下の種類が代表的です。

液晶ディスプレイ
液晶を使ったディスプレイです。液晶自体は発光しないため、液晶に電圧をかけて光の透過を変え、バックライトなどをつけることで表示します。
プラズマディスプレイ
ガス放電による発光を利用したディスプレイです。阻止自体が発行するため視野角が大きく、薄型化・大型化しやすいですが、消費電力は大きく、価格は高めです。
有機ELディスプレイ
電圧をかけると発光する有機ELを使ったディスプレイです。バックライトが不要で消費電力が少なく、プラスチック等の曲がる基盤に作ることも可能です。
CRTディスプレイ
ブラウン管を使ったディスプレイです。コストが安く精細なカラー表示が可能ですが、設置面積が大きく、消費電力が大きいため、利用が減っています。

薄型で消費電力の少ない液晶ディスプレイは、パソコン用の画面装置として標準的に使われています。パソコン向けの液晶ディスプレイでは、精細なカラー表示が可能で応答速度も速いTFT型が主流です。

プリンタ

印刷用のプリンタとしては、以下の種類が代表的です。

インクジェットプリンタ
ノズルからインクを噴射して印字するプリンタです。印字音が静かで、小型・低価格でありながら高品質なため、オフィスや家庭で広く使われています。
レーザプリンタ
レーザ光線でドラムを感光させ、ドラムにトナーを付着させてページ単位に印字する方式のプリンタです。
高品質な印刷ができ、印字も高速ですが、印字時の消費電力が比較的大きくなります。
ドットインパクトプリンタ
印字ヘッドをインクリボンに打ち付けて印字するプリンタです。印字音が大きいため余り使われませんが、加圧式なので伝票などのカーボン複写が可能です。

プリンタの性能を表す値

プリンタの印字品質は「dpi値」が目安となります。
dpi(dots per inch)は1インチ(2.54cm)内に印字できるドット(画素)数のことで、この値が大きいほど精細な印刷ができます。

また、印刷性能は1秒間に印字できるページ数である「ppm」(pages per minute)などで表します。

プロッタ

プロッタはCADデータなどの精密な図面を描画する装置です。

描画方式で分類すると、ペンが用紙上を移動するペンプロッタと、図面をビットマップデータとして描画するペンレスプロッタに分けられます。

用紙送りの方式には、用紙を固定するフラットベッド型と、用紙を送り出しながら印字するフリクション型があります。

プロジェクタ

プロジェクタは、映像をスクリーンに投影する投影機です。コンピュータのディスプレイ装置よりも大きく表示することができ、プレゼンテーションなどに利用されます。
光源の明るさをルーメンという単位で表します。

画面の大きさ

ディスプレイが表示する画像は、細かい点(ドット)を縦横に敷き詰め、それぞれに色を発色させることで描いたものです。この点を画素といい、画像データは画素の集合としてメモリに記憶されます。

ディスプレイの大きさは、縦横に何画素数まで表示できるかで決まります。この値が大きいほど、1画面で表示できる文字や画像が多くなり、画面が広く使えます。

パソコン向けのディスプレイは、横1,024ドット×縦768ドットのXGAと呼ばれる規格が主流でしたが、最近ではより画素数が大きく、幅の広いワイドタイプが主流です。

画像のデータ容量

カラー画像は、発色する色の種類が多いほど、一つひとつの画素について色を細かく区別しなければならないため、1画素をメモリに記憶するためのデータ量が多くなります。
例えば、256色に色分けをするには、256=28通りを区別するために、1画素あたり8ビットの情報量が必要です。

画像データの要領を計算するには、画素数の合計に、カラー情報に必要なビット数をかけて求めます。

画像データの容量

画像データ量(byte) =画素数 × カラー情報のビット数 ÷ 8

*最後の「÷8」はビットをバイトに換算するため。

(関連)グラフィックスソフトウェア

グラフィックスソフトウェアとは、図形やイラストを作成するソフトウェアです。ペイント系ソフトウェアとドロー系ソフトウェアに分けられます。

分類特徴代表的なソフトウェア
ペイント系ソフト画像をビットマップ(ラスタデータ)として扱う。
写真などの色調の変化や加工を行ったりするのに向いている。
Adobe Photoshop等のフォトレタッチソフト
ドロー系ソフト図形を輪郭のベクトル(ベクタデータ)として扱う。
実態に近いなめらかな曲線を描くのに向いており、新たにイラストを起こしたり、ロゴを作成したり、という用途に向いている。
Adobe Illustrator等のドローソフト、CADソフト

補助記憶装置

この記事での学習内容 基本情報 応用情報

代表的な補助記憶装置や記憶媒体の種類,特徴,仕組み,用途,装置の諸元に基づく記憶容量や,平均アクセス時間の計算方法を理解する。

用語例:ハードディスク装置,SSD(ソリッドステートドライブ),SD/SDHC/SDXC カード,CD-R/RW ドライブ,ブルーレイドライブ,DVD-R/RW ドライブ,磁気テープ装置,トラック,シリンダ,ブロック化因数,IBG(Interblock Gap:ブロック間隔),セクタ,トラック密度,スピンドル,アクセスアーム,磁気ヘッド,固定ディスク,デフラグメンテーション,シークタイム,サーチタイム,データ転送時間,データ転送速度,ボリューム,ボリュームラベル,見出しラベル,後書きラベル,ディスクアレイ,RAID

ハードディスク

ハードディスクは、磁気を使った高速かつ大容量の補助記憶装置として、広く使われています。PC用としては、数100GB~数TB程度の容量が主流です。

ハードディスクの構造

内部には磁性体をぬった金属などの円盤(ディスク)が数枚、軸を中心に固定されており、高速に回転します。(5000~10000回転/分 程度)
磁気ヘッドの付いたアームがディスク状をスライドし、表面を磁化することでデータを読み書きします。この時に、磁気ヘッドはディスクの表面と接触することはありません。
なお、磁気ヘッドとディスクは接触しないようになっているが、外部からの強い振動で接触してしまう可能性があり、それが故障につながるため、ハードディスクは振動に弱いとされています。

トラックとセクタ

ディスクのオモテウラには、トラックというデータ記録用の領域が同心円状に何本も作られます。1本のトラックはさらにセクタというデータを格納するための小さい区画に分割されます。

各トラックとセクタにはアドレス番号が振られ、この番号でデータが格納されたセクタの記録位置を識別します。

なお、磁気ヘッドのアームはディスクの裏表それぞれに伸びているので、同じ半径上にある全トラックに同時にアクセスできます。同時にアクセスできるトラックをまとめて、シリンダと呼びます。

ディスクの容量

ディスク1面のトラック数や、1トラックあたりのセクタ数、各セクタに格納できるバイト数は、ディスクのフォーマット(初期化)時の形式によって異なります。
これによって、ハードディスク全体の格納容量が決まります。

ディスクの容量

ディスク容量 = ディスク面数 × トラック数 × セクタ数 × セクタのサイズ

ディスクのアクセス時間

ハードディスクはデータを読み取る時、次のような順序で動作します。

  1. 磁気ヘッドがデータのあるトラック位置に来るまでアームを移動(シーク)
  2. ディスクが回転してデータのあるセクタがヘッド位置に来るまで待つ(サーチ)
  3. セクタ内のデータを読み取ってメモリに転送

シーク時間、ディスク回転の平均時間、データ転送時間の合計をディスクのアクセス時間といいます。

ディスクのアクセス時間

アクセス時間 = シーク時間 + サーチ時間 + データ転送時間

*サーチ時間は1/2回転にかかる時間とするのが一般的

ハードディスクの断片化

ディスク内のファイルにデータの削除や追加を何度も繰り返すと、論理的には1つのファイルでありながら、物理的にはディスクのバラバラな領域に格納されてしまうことがあります。この状態を断片化(フラグメンテーション)といいます。

断片化が起きると、データを読み取るために磁気ヘッドがディスク状を頻繁に移動しなければならず、シーク時間が増えてアクセスが遅くなります。

断片化を解消するためには、ファイルを連続した領域に格納し直します。断片化を解消する作業を「デフラグ」(デフラグメンテーション)といいます。
デフラグを行うためには、OSに付属するツールを使うか、ファイルを一旦別の媒体にバックアップし、初期化したハードディスクに再度書き戻します。

ブロック化因数

ブロック化因数とは、入出力ファイルの1ブロックに含まれるレコード数です。レコードはプログラムが処理する論理的なデータの単位です。それに対して、ブロックはコンピュータが入出力装置とデータをやり取りする単位です。

ブロック化因数がnなら、入出力のやり取りをするアクセス回数がn分の1になり、効率が向上します。

ブロック間隔

ブロック間隔は入出力のブロックとブロックの間の間隔です。ブロック間隔は本来記憶可能な部分ですが、1ブロックのアクセス開始や終了に必要な空き領域です。

ブロック化したファイルの容量

ファイル容量 = (レコード長 × ブロック化因数 + ブロック間隔)× ブロック数

その他の入出力装置

この記事での学習内容 基本情報 応用情報

代表的な通信制御装置,駆動装置,撮像装置の種類,特徴,仕組み,用途を理解する。

用語例:有線LAN インタフェースカード,無線LAN インタフェースカード

その他の入出力装置

その他の入出力装置には、PCI(Peripheral Component Interconnect)やAGP(Accelerated Graphics Port)があります。

PCIは代表的な拡張バスでLANカードやSCSIカードなどがあります。AGPはビデオカード用の拡張バスです。

LAN接続に使われる機器

LANインタフェースカードはコンピュータやプリンタなどをLANに接続するための拡張カードです。LANボード、LANカードなどとも呼ばれます。

最近のパソコンにはマザーボード上にネットワークインタフェースが組み込まれています。

無線LANインタフェースカード

無線LANインタフェースカードは、無線の受発信機能を持つLANインタフェースカードです。

システムの構成

情報処理技術者試験での学習内容

【応用情報・基本情報】
・システムの処理形態,利用形態,適用領域を修得し,応用する。
・代表的なシステム構成の種類,特徴,システム構成要素間の機能配分を修得し,応用する。
・クライアントサーバシステムの特徴,構成を修得し,応用する。
・システムの信頼性設計の考え方,技術を修得し,応用する。

【ITパスポート】
・システム構成の基本的な特徴を理解する。

(1)システムの処理形態・利用形態・適用領域 ITパスポート 基本情報 応用情報

1.集中処理システム

集中処理システムの仕組み,特徴を理解する。

用語例:コスト性能比,保守要員の集中化

2.分散処理システム

分散処理システムの仕組み,特徴を理解する。

用語例:分散アーキテクチャ,管理責任,機能配分,水平機能分散システム,水平負荷分散システム,垂直機能分散システム,対話型処理,情報資源の組織への対応性,管理責任,TCO

3.利用形態

バッチ処理,リアルタイム処理などシステムの利用形態の種類と特徴,どのような業務
にどの形態が適しているかを理解する。

(2)システム構成 ITパスポート 基本情報 応用情報

代表的なシステム構成の種類,特徴を理解する。また,システム構成要素間の機能配分,冗長構成によるシステムの信頼性向上,負荷分散によるレスポンス速度の向上などを理解する。

用語例:デュアルシステム,デュプレックスシステム,クラスタ,クラスタリング,タンデム結合,マルチプロセッサシステム,ロードシェアリングシステム,バックアップサイト,ホットサイト,ウォームサイト,コールドサイト,主系(現用系),
従系(待機系),シェアードエブリシング,シェアードナッシング,密結合,疎結合,シンクライアント,ピアツーピア,グリッドコンピューティング,仮想化,VM(Virtual Machine:仮想マシン),クラウドコンピューティング,SaaS,PaaS,IaaS,マイグレーション

(3)ハイパフォーマンスコンピューティング 基本情報 応用情報

高精度な高速演算を必要とするような分野で利用されるHPC ( High Performance Computing:ハイパフォーマンスコンピューティング)の特徴や,HPC を可能にするためのスーパコンピュータや複数のコンピュータをLAN などで結んで,CPU などの資源を共有して単一の高性能なコンピュータとして利用できるようにした構成を理解する。

用語例:大規模並列,アレイプロセッサ

(4)クライアントサーバシステム 基本情報 応用情報

クライアントサーバシステムの特徴,2 層クライアントサーバシステム,3 層クライアントサーバシステムの構成を理解する。また,データベースに対するストアドプロシージャなど,関連技術の特徴を理解する。

用語例:プレゼンテーション層,ファンクション層,データベースアクセス層,クライアント,サーバ,シンクライアントシステム,RPC,ローカル処理の応答速度,コスト性能比,柔軟性,管理責任,サーバへの利用集中

(5)Web システム 基本情報 応用情報

Web システムの特徴,アーキテクチャ,構成,各層間の通信の仕組みを理解する。

用語例:Web ブラウザ,Web サーバ

(6)RAID 基本情報 応用情報

複数の磁気ディスク装置をまとめて一つの装置として扱い,信頼性や速度を向上させる技術であるRAID の種類と特徴,NAS,SAN などストレージ関連技術の特徴を理解する。

用語例:RAID0,RAID1,RAID2,RAID3,RAID4,RAID5,RAID6,ストライピング,ミラーリング,パリティ,チャンクサイズ

(7)信頼性設計 基本情報 応用情報

システム障害の影響を最小限に抑えるフォールトトレラントやヒューマンエラー回避技術など,信頼性設計に関する考え方,どのようなシステム構成,技術があるかを理解する。

用語例:フォールト,信頼性ブロック図,予備切替,並列運転,競合制御,,アクティブ-スタンバイ構成,アクティブ-アクティブ構成,フォールトトレラントシステム,フォールトアボイダンス,フェールセーフ,フェールソフト,フールプルーフ,無停止コンピュータ,UPS

システムの処理形態・利用形態・適用領域

この記事での学習内容 ITパスポート 基本情報 応用情報

  • 集中処理システムの仕組み,特徴を理解する。
  • 分散処理システムの仕組み,特徴を理解する。
  • バッチ処理,リアルタイム処理などシステムの利用形態の種類と特徴,どのような業務にどの形態が適しているかを理解する。

用語例:コスト性能比,保守要員の集中化、分散アーキテクチャ,管理責任,機能配分,水平機能分散システム,水平負荷分散システム,垂直機能分散システム,対話型処理,情報資源の組織への対応性,管理責任,TCO

 

コンピュータシステムの処理形態

コンピュータシステムの処理形態をコンピュータの配置の仕方で分類すると、集中処理と分散処理に分けられます。

1台の高性能コンピュータに複数の端末をつないでユーザー間で共有し、すべての処理を1台で行う方式を集中処理方式といいます。

対して、複数のコンピュータをネットワークで接続し、演算処理などを分担しながら、全体で処理を進める方式を、分散処理方式といいます。

分散処理の利点

分散処理システムの、1台のコンピュータに障害が発生しても、他のコンピュータが処理を肩代わりできるため、システム全体の保全性が高くなります。

また、処理が分散するため、負荷が一極に集中しにくい構造にできます。

分散処理システムは比較的短い期間で構築できるので、導入コストを安くできます。また、業務や技術の変化に合わせて、システムを部分ごとに入れ替えていける柔軟性があります。

分散処理のデメリット

パソコンのような小型で高性能なコンピュータを使った分散処理システムが広く利用されていますが、以下のようなデメリットもあります。

分散処理システムは、遠隔地にあるコンピュータ同士を接続する場合が多いので、リアルタイムに更新するデータの整合性が取りにくくなります。そのため、障害管理やセキュリティ管理の方法も、集中処理方式に比べて複雑になりがちです。

また、バックアップやバージョン管理といった運用管理の作業も各所で行うため、一括管理できる集中処理に比べて管理コストがかさみます。

シンクライアント

運用管理のコストがかかることを踏まえて、シンクライアントという方法を用いて分散処理を行う場合もあります。

これは、アプリケーションソフトやデータなどはサーバで一元管理し、ユーザが使うパソコンには必要最低限の機能だけを持たせて、運用管理のコストを下げようという方法です。

並列処理

ひとまとめの仕事を幾つかに分割し、複数のCPUやコンピュータに割り当てて同時並行に処理をすすめることで、システム全体の処理効率を上げる形態を並列処理といいます。

コンピュータ内部で行う並列処理としては、一つのCPU内に複数のコアを持たせて、同時並行に演算を行うマルチコアプロセッサがあります。

また、コンピュータそのものを複数設置し、並列に接続して処理を分散する技術を並列コンピューティングといいます。

この並列コンピューティングの一つに、グリッドコンピューティングがあります。グリッドコンピューティングは、遠隔地にある多数のパソコンや大型コンピュータ、ストレージなどをネットワークで結んで、複数のプロセッサに処理を分散し仮想的な高性能コンピュータを作り上げる技術です。

コンピュータシステムの利用形態

処理のタイミングでシステムの利用形態を分類すると、バッチ処理とリアルタイム処理に分けられます。

また、システムとユーザの関係で分類した場合、バッチ処理に対するものとして、対話型処理があります。

バッチ処理

バッチ処理とは、処理すべきデータを貯めておき、まとめて処理することです。一連の処理を自動化して、人手を使わずに一括処理することで効率をあげます。

例えば、日中の業務時間内に作られたデータを、業務が止まる夜間にまとめて自動バックアップする処理などがこれに当たります。その他、月毎に行う給与計算の処理などもバッチ処理の典型的な例です。

リアルタイム処理

一つひとつの仕事を即時に処理することをリアルタイム処理といいます。

例えば、ユーザの操作や状況の変化に応じて素早く処理する必要のある、コンピュータゲームなどがこれに当たります。その他、銀行ATMやPOSレジなどもリアルタイム処理の例です。

対話型処理

対話型処理は、処理のたびにユーザからの指示を受け付け、それに応じた処理結果を返すことを会話のように繰り返すものです。対話型処理には操作性の良さと応答時間が短いことが求められます。

多くのアプリケーションソフトがダイアログボックスを表示してユーザの指示を受け、指示に応じた結果を表示するといった対話型の処理を採用しています。

 

システム構成

この記事での学習内容 ITパスポート 基本情報 応用情報

代表的なシステム構成の種類,特徴を理解する。また,システム構成要素間の機能配分,冗長構成によるシステムの信頼性向上,負荷分散によるレスポンス速度の向上などを理解する。

用語例:デュアルシステム,デュプレックスシステム,クラスタ,クラスタリング,タンデム結合,マルチプロセッサシステム,ロードシェアリングシステム,バックアップサイト,ホットサイト,ウォームサイト,コールドサイト,主系(現用系),従系(待機系),シェアードエブリシング,シェアードナッシング,密結合,疎結合,シンクライアント,ピアツーピア,グリッドコンピューティング,仮想化,VM(Virtual Machine:仮想マシン),クラウドコンピューティング,SaaS,PaaS,IaaS,マイグレーション

コンピュータシステムの構成

システムの信頼性を上げる目的で、一つの仕事に二つのシステムを用意することがあります。デュアルシステムとデュプレックスシステムが代表的です。一つのシステムで処理する形態はシンプレックスシステムといいます。

デュアルシステム

全く同じシステムを2系統用意し、並行して同じ処理を行い、結果の突き合わせを行うことで信頼性を向上させる方式です。

片方の系統で障害が発生しても、故障した側を切り離し、残りの系列で処理を中断することなく稼働できます。

デュプレックスシステム

2系統のシステムを用意し、一方を主系としてオンライン処理を行い、もう一方は待機系としておく方式です。稼働中の主系システムが故障したら、待機中のシステムに切り替えて処理を続けます。

通常、待機系はバッチ処理や開発作業などで利用するため、デュアルシステムよりコストパフォーマンスに優れます。

ホットスタンバイ

デュプレックスシステムのうち、待機系のシステムを常時起動しておき、障害発生時に瞬時に切り替えられる設計をホットスタンバイといいます。

コールドスタンバイ

デュプレックスシステムのうち、待機系のシステムは通常別の処理を行い、主系の障害発生時にはその処理を中断して、システムを再起動してから切り替える構成をコールドスタンバイといいます。

ピアツーピア(P2P)

ネットワーク上のコンピュータに特別な役割を与えず、お互いを対等の関係でつなぐ形態をピアツーピアといいます。

ピアツーピア型のネットワークでは、一つのコンピュータがあるときはクライアントとなって、他のコンピュータの機能を利用し、またあるときはサーバとなってサービスを提供するので、専用のサーバは必要ありません。

ホットサイト

ほっとサイトとは、ハードウェア、ソフトウェア、データ等が主要サイトと同じ状態で作動しているバックアップサイトです。ここでいう「サイト」とはコンピュータシステムやその設置場所の意味です。

準備OKの状態で待機しているので、最も短時間に交代が可能ですが費用が高くなります。

コールドサイト

コールドサイトとは、ハードウェア、ソフトウェア、データの基本的なものは用意されているものの、完全には主要サイトと同じ状態にはなっていないバックアップサイトです。

費用は最も安いですが、交代するには最も時間がかかります。

ウォームサイト

ウォームサイトとはホットサイトとコールドサイトの中間の性質を持つバックアップサイトです。ハードウェア、ソフトウェア、データは主要サイトと似た状態に保たれているものの、交代するには少々の作業を必要とします。

費用も交代に要する時間も、ホットサイトとコールドサイトの中間です。

 

クライアントサーバシステム

この記事での学習内容 基本情報 応用情報

クライアントサーバシステムの特徴,2 層クライアントサーバシステム,3 層クライアントサーバシステムの構成を理解する。また,データベースに対するストアドプロシージャなど,関連技術の特徴を理解する。

用語例:プレゼンテーション層,ファンクション層,データベースアクセス層,クライアント,サーバ,シンクライアントシステム,RPC,ローカル処理の応答速度,コスト性能比,柔軟性,管理責任,サーバへの利用集中

クライアントサーバシステム

ネットワークに接続されたコンピュータが、それぞれファイル管理やWebページの提供などの特定の役割を担い、ネットワーク上で処理を分散する仕組みを、クライアントサーバシステムといいます。

サービスを提供する側のコンピュータをサーバ、サービスを要求する側のコンピュータをクライアントといいます。

サーバの種類

クライアントサーバシステムではネットワーク上に各種サーバ機能とクライアント機能を分散して配置します。

主なサーバ機能には次のようなものがあります。

名称役割
ファイルサーバファイルを集中管理し、ファイルの共有機能を提供する。
WebサーバWebページを格納し、クライアントに公開する。
メールサーバ電子メールの送受信、転送を行う。
プリントサーバ印刷要求をプリントキューに格納し、プリンタの共有機能を提供する。
データベースサーバデータベースを集中管理し、アクセス制御とデータの登録/削除などの機能を提供する。

サーバは一つのネットワーク上に複数配置することができます。また、1台のコンピュータが複数のサーバ機能を持つこともできます。
サーバが他サーバのクライアントとして処理要求を出すこともあります。

2層クライアントサーバ

サービスを提供するサーバとそれを利用するクライアントという形態を2層クライアントサーバといいます。

2層クライアントサーバには、ネットワークに接続されるクライアントの数が増えると、サーバとクライアント間の通信料が増えて、ネットワークの負荷やサーバの負荷が高くなるという欠点があります。

3層クライアントサーバ

ネットワークやサーバに掛かる負荷を減らす手法として、処理全体を論理的に3層構造に分け、データの加工などの一部の処理を別のサーバが行うことで、全体の通信料を抑えるという、3層クライアントサーバという形態もあります。

データ層
サーバ又はホストコンピュータにあるデータベースやファイルなどを指します。
アプリケーション層
データの処理や加工、ホストコンピュータへの接続など、中間の業務処理機能です。3層クライアントサーバシステムにおいては、データベースとクライアントの仲介役を果たします。
プレゼンテーション層
クライアント側の処理で、ユーザからの入力を受け付け、処理要求をサーバに送信し、サーバから戻ってきた結果を表示します。

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

遠隔地にあるサブルーチンや手続きを、ローカルなサブルーチンや手続きと同じように呼び出すこと、又はその方式をRPCといいます。

遠隔地にあるサブルーチンや手続きに対して、パラメータを渡して実行し、結果を得るインタフェースが基盤としてあって、プログラムの側は遠隔地にあることを意識しなくても良いようにするものです。

Webシステム

この記事での学習内容 基本情報 応用情報

Web システムの特徴,アーキテクチャ,構成,各層間の通信の仕組みを理解する。

用語例:Web ブラウザ,Web サーバ

Webシステムの特徴

世界各地のテキスト(文献)がインターネットで結ばれた世界で一つのシステムが、ワールドワイドウェブ(WWW)です。

Webシステムは、WWWの一部としての、特定の目的を持った情報システムで、クライアントサーバシステムの一種でもあります。例えば、インターネットバンキングや通販サイト、SNSなどもWebシステムの一例です。

Webシステムは次のような特徴を持っています。

  1. 閲覧ソフトウェア(ブラウザ)さえあれば、ソフトウェアをインストールしたり、遠隔地のサイトのアドレスを意識したりすることなく、簡単にシステムを利用できる。
  2. 文献システムがWWWの出発点なので、システムの操作説明も、システムへのアクセスも、データの入力も、結果の表示も一体となっており、操作性に優れている。
  3. 文献のリンクと同様に、複数のWebシステムの連携が容易である。例えば、不動産検索のシステムが、物件の場所を示すために地図システムと連携するなどの事例がある。
  4. Webシステムの提供者側は、宣伝、契約、機能提供、料金授受など、全てWWWで済ませることが出来る。

Webシステムの基本的な構成

Webシステムの基本的な構成は次のとおりです。WebシステムはWebサーバを中心としたシステムです。

アプリケーションサーバやデータベースサーバの役割はローカルな情報システムと同様です。ワールドワイドウェブへの窓口の部分をWebサーバが担当します。また、簡単なシステムの場合、Webサーバがアプリケーションサーバやデータベースサーバの役割を兼ねることもあります。
なお、Webサーバ側に複数のサーバを置く場合、セキュリティ面を考慮し、Webサーバ以外はWWWに直接接続せず、外部からはアクセス出来ないようにするのが一般的です。

Webシステムの仕組み

Webシステムの処理は次のようにして行われます。

  1. クライアントコンピュータ側で、HTMLなどのマークアップ言語や小さな部品で、説明や簡単な対話操作を処理します。
    これらの処理機構は、閲覧用のWebページと同じように、ブラウザの操作によってWebサーバから送信されます。
  2. Webサーバ側では、PHPやPerlなどのスクリプト言語や部品で複雑な処理を担当します。また、アプリケーションサーバやデータベースサーバへのアクセス処理も担当します。

インターネットとは

TCP/IPという通信プロトコルによって、全世界のネットワークを相互に接続した巨大なコンピュータネットワークのこと。起源はアメリカ国防省のARPANetと言われている。

WWWとは、インターネットの構成要素の一つで、インターネット上での文書のつながりのことを指している。よって、インターネットとWWWは厳密には別物。また電子メールやWWWはともにインターネットを使ったサービスの一つという位置付けである。

 

RAID

この記事での学習内容 基本情報 応用情報

複数の磁気ディスク装置をまとめて一つの装置として扱い,信頼性や速度を向上させる技術であるRAID の種類と特徴,NAS,SAN などストレージ関連技術の特徴を理解する。

用語例:RAID0,RAID1,RAID2,RAID3,RAID4,RAID5,RAID6,ストライピング,ミラーリング,パリティ,チャンクサイズ

RAIDの種類と代表的な特徴

RAID(Redundant Arrays of Inexpensive Disks)は、信頼性や速度の向上を目的として、複数のハードディスク装置をまとめて仮想的な一つのハードディスク装置に見せかけることです。

RAIDには以下の7つのレベルが定義されています。

レベル特徴
RAID0データを分割して、複数のディスクに分散して保存する。(ストライピング)
一つのディスクにアクセスが集中しないので、速度が向上する。
RAID1同じデータを二つのハードディスクに書き込む。(ミラーリング)
一方が故障しても他方を使用できるので信頼性が向上する。
RAID2データとエラー検出用のハミングコードを複数のディスクに分散して保存する。
実用化はされていない方式。
RAID3データをバイト単位で複数のディスクに保存。
パリティ情報を専用のハードディスクに書き込む。
RAID4データをセクタ単位で複数のディスクに保存。
パリティ情報を専用のハードディスクに書き込む。
RAID5パリティ情報を全てのディスクに分散して記録。
信頼性を向上させつつ、パリティ情報へのアクセス集中を避けて速度を向上させる。
RAID6パリティ情報を二つ生成して全てのハードディスクに分散して保存する。

この内、比較的よく用いられているのは、RAID0、RAID1、RAID5ですが、近年ではこれらの発展形である、RAID10やRAID01という種類も存在しています。

RAID0

RAID0は、ストライピングという方法でデータを複数のディスクに分散して保存する方式で、高速化を重視した方式です。

RAID0の場合、ハードディスクが1台でも故障すると全てのデータにアクセスできなくなるため、信頼性には劣ります。

最低でも2台のディスクが必要で、使用できるディスク容量としては、使用しているディスクの合計となります。

RAID1

RAID1は、同じデータを2つのディスクに書き込む、ミラーリングという方法を用いる方式で、信頼性を重視した方式です。

RAID1の場合、1台のハードディスクが故障しても、もう片方のディスクでデータにアクセスすることができます。

最低でも2台のディスクが必要で、使用できる容量は、使用しているディスクの半分となります。

RAID3

RAID3は、データを複数のディスクに分散し、復旧用のパリティを専用のディスクに書き込む方式で、信頼性を重視した方式です。

RAID3の場合、データディスクのうちの1台が故障した場合は、パリティ情報を使って復元が可能ですが、パリティ用のディスクが故障すると、データの復元が出来なくなってしまいます。

最低でも3台のディスクが必要で、使用できる容量は、使用しているディスク全体からパリティ用のディスクを除いた容量となります。

RAID5

RAID5は、データもパリティ情報も複数のディスクに分散する方式で、信頼性と高速性の両立を狙った方式です。

RAID5の場合、ディスクが1台故障しても、分散させているパリティ情報を使用して復元が可能で、稼働中にディスクの交換ができる「ホットスワップ」という機能を持っている製品もあります。

最低でも3台のディスクが必要で、使用できる容量は、使用しているディスク全体からディスク1台分を除いた容量となります。

RAID01

RAID0の発展形として、「RAID01」という方式があります。これは、RAID0でストライピングしたディスクをさらにミラーリングする、という方式です。

この場合、ディスクが1台故障すると、片方のストライピンググループは使用できなくなりますが、もう片方のグループを使ってデータにアクセスすることができます。
複数ディスクが故障した場合は、故障箇所によって異なり、同一のストライピンググループ内であれば復旧できるが、グループをまたがっていれば、全体がアクセス不可能となります。

最低でも4台のディスクが必要で、使用できる容量は、使用しているディスクの半分となります。

RAID10

RAID1の発展形として、「RAID10」という方式があります。(RAID イチゼロで、RAIDジュウではありません)これは、RAID1でミラーリングしたディスクに対してストライピングを行うという方式です。

この場合、1台のディスクの故障は復旧できますが、ミラーリングしているディスクの組が両方故障すると全体がアクセス不能となります。

最低でも4台のディスクが必要で、使用できる容量は、使用しているディスクの半分となります。

NAS

NAS(Network Attached Storage:ネットワークアタッチストレージ)は、ネットワークに直接接続して使用できる、ファイルサーバ機能付きのハードディスク装置です。

ファイルサーバを構築するのに比べて速度も早く管理が容易です。SANに比べて汎用的で安価な方式です。

SAN

SAN(Strage Area Network:ストレージエリアネットワーク)は、サーバとハードディスクや磁気テープ装置を高速なチャネルで結んだネットワークです。

NASと比較して、専用的でローカルな方式であり、膨大なデータを管理するのに特化しています。

信頼性設計

この記事での学習内容 基本情報 応用情報

システム障害の影響を最小限に抑えるフォールトトレラントやヒューマンエラー回避技術など,信頼性設計に関する考え方,どのようなシステム構成,技術があるかを理解する。

用語例:フォールト,信頼性ブロック図,予備切替,並列運転,競合制御,,アクティブ-スタンバイ構成,アクティブ-アクティブ構成,フォールトトレラントシステム,フォールトアボイダンス,フェールセーフ,フェールソフト,フールプルーフ,無停止コンピュータ,UPS

フォールトトレランス

コンピュータシステムに障害が発生した時に、正常な動作を保ち続ける能力のことをフォールトトレランスといい、その能力を備えたシステム設計をフォールトトレラント設計といいます。

フォールトトレラント設計

フォールトトレラント設計は、システムの一部を冗長化したり分散処理化したしすることによって、一部に障害が発生してもシステム全体が停止することがないようにする設計概念です。

フォールトトレラント設計には次のようなものがあります。

フェールセーフ
故障時にも、予備の機構を使って本来の機能を維持し、安全な方向に動作を固定してその影響を限定させる設計のこと。
フェールソフト
縮退運転ともいい、故障時にも、障害箇所を部分的に切り離し、システムの機能や処理能力を落としても停止することなく最小限の機能を維持できる設計のこと。
フールプルーフ
「人間は必ずミスをするもの」という前提に立って、ユーザが操作ミスをしても故障しないような設計のこと。
冗長化

冗長化とは、故障に備えるために、設備を必要な量よりも多めに用意することです。具体的にはディスクのミラーリングや、システム全体の二重化などが挙げられます。

フォールトアボイダンス

フォールトアボイダンス(故障排除)とは、システム又はそれを構成する要素の故障の発生を可能な限り排除することです。フォールトトレランスと反対の概念であると同時に、フォールトトレランスと組み合わせて、費用対効果のバランスをとる場合もあります。

フォールトアボイダンスと実現する手段として、高信頼部品の採用、高信頼設計、および品質管理の徹底などがあります。

 

 

システムの評価指標

情報処理技術者試験での学習内容

【応用情報・基本情報】
システムの性能,信頼性,経済性を測るための考え方,評価指標,それらを高める設計の考え方を修得し,応用する。

【ITパスポート】
システムの性能,信頼性,経済性の考え方を理解する。

(1)システムの性能特性と評価 ITパスポート 基本情報 応用情報

1.システムの性能指標

システムの性能を評価する際の評価項目の種類や特徴,その指標を理解する。

用語例:レスポンスタイム(応答時間),スループット,ベンチマーク,システムモニタ,TPC,SPEC(Standard Performance Evaluation Corporation),SPECint,SPECfp,モニタリング,ギブソンミックス

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

キャパシティプランニングの目的,考え方,システムに求められる処理の種類,量,処理時間などを検討し,性能要件からサーバやストレージなどの性能諸元を見積り,システムの性能を継続的に把握,評価するという手順を理解する。

用語例:負荷,サイジング,スケールアウト,スケールアップ,容量・能力管理,システムパラメータ,プロビジョニング

(2)システムの信頼性特性と評価 ITパスポート 基本情報 応用情報

1.RASIS

システムを評価する際の評価項目となるReliability(信頼性),Availability(可用性),Serviceability(保守性),Integrity(完全性),Security(安全性)とその指標を理解する。

2.信頼性指標と信頼性計算

MTBF,MTTR,稼働率などシステムの信頼性を評価する際の評価項目とその指標,並列システム,直列システムの稼働率の計算方法を理解する。

用語例:バスタブ曲線

(3)システムの経済性の評価 ITパスポート 基本情報 応用情報

システムの経済性に関する評価の考え方,評価項目,指標,評価の対象と具体的な方法や,初期コスト(イニシャルコスト)やTCO による評価を理解する。また,初期コスト,運用コスト(ランニングコスト)に含まれる費用,直接コストと間接コストの区別などを理解する。

 

システムの性能特性と評価

この記事での学習内容 ITパスポート 基本情報 応用情報

システムの性能を評価する際の評価項目の種類や特徴,その指標を理解する。

用語例:レスポンスタイム(応答時間),スループット,ベンチマーク,システムモニタ,TPC,SPEC(Standard Performance Evaluation Corporation),SPECint,SPECfp,モニタリング,ギブソンミックス

システムの性能評価

システムの性能を数値化して評価するための指標には、次のものがあります。

  • レスポンスタイム: 入力完了から出力完了までの応答時間、内部処理時間やデータ転送時間など
  • スループット: 単位時間あたりのシステムの仕事量
  • ターンアラウンドタイム: 情報がシステムを一巡して返ってくるまでの時間


幾つかのシステムの性能を比較するために、同じ条件下で同じ処理をさせてスループットなどを計測するテスト方式を、ベンチマークテストといいます。

ベンチマーク

ベンチマークとは、異なるコンピュータのハードウェアやソフトウェアの性能を表す指標のことです。

ベンチマークテストでは、特別なプログラムを実行して性能を測定します。高性能コンピュータの性能を測る「LINPACK」、トランザクション処理の性能を測る「TPC」、3次元画像処理性能の性能を測る「3DMark」などがあります。

インストラクションミックスと同様の指標の仲間ですが、インストラクションミックスは使用を基に計算できるのに対して、ベンチマークは主にプログラム実行によって測定します。

TPC(Transaction Processing Performance Council)

TPC(トランザクション処理性能評議会)は、異なるトランザクション処理システムの共通のベンチマークを制定している企業等の団体です。制定されたベンチマークはTPC-A, B, C, D, E などと命名されています。

SPECint(Standard Performance Evaluation Corporation Integer benchmark)

SPECint(標準性能評価法人整数指標)は、標準性能評価法人(SPEC)によって制定された、異なるコンピュータの整数演算を測定するベンチマークです。

SPECfp(Standard Performance Evaluation Corporation Floating Point number benchmark)

SPECfp(標準性能評価法人浮動小数点数指標)は、標準性能評価法人(SPEC)によって制定された、異なるコンピュータの浮動小数点数演算を測定するベンチマークです。

モニタリング

モニタリングとは、情報システムの全体が意図通りに運用されているかどうかを把握するために、実行状況を眺めている活動です。次のような事項を監視します。

  • さまざまな処理を効率的に処理しているか
  • 負荷が大きくなって効率が低下していないか
  • サーバやネットワークが停止していないか

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

情報システムのニーズによって、情報システムの処理性能や数量などを見積もって、費用や納期を考慮しつつ最適なシステム容量を計画することを、キャパシティプランニングといいます。

情報システムが稼働を開始した後も、利用件数の増加に応じてサーバを高性能のものへ変えたり、外部記憶装置の容量を増やしたり、通信回線の容量を増やしたりすることがあります。

したがって、キャパシティプランニングはシステムの新規開発のときだけではなく、稼働を開始した後も継続的に行われます。

 

システムの信頼性特性と評価

この記事での学習内容 ITパスポート 基本情報 応用情報

  • システムを評価する際の評価項目となるReliability(信頼性),Availability(可用性),Serviceability(保守性),Integrity(完全性),Security(安全性)とその指標を理解する。
  • MTBF,MTTR,稼働率などシステムの信頼性を評価する際の評価項目とその指標,並列システム,直列システムの稼働率の計算方法を理解する。

用語例:バスタブ曲線

システムの信頼性

システムの信頼性を評価する指標に「RASIS」があります。RASISとは、下の表に上げる各キーワードの頭文字を取ったものです。

Reliability(信頼性)故障や障害の発生しにくさ、安定性を表します。
Availability(可用性)稼働している割合の多さ、稼働率を表します。
Serviceability(保守性)障害時のメンテナンスのしやすさ、復旧の速さを表します。
Integrity(保全性・完全性)障害時や過負荷時におけるデータの書き換えや不整合、消失の起こりにくさを表します。
Security(機密性)情報漏えいや不正侵入などの起こりにくさを表します。

システムの稼働率

システムの信頼性を数値的に評価する基準として、MTBFやMTTR、稼働率が使われます。稼働率はシステムの全稼働時間に対する、正常に動作している時間の割合です。

MTBFとMTTR

MTBF(Mean Time Between Failure:平均故障間隔)
故障から次の故障までの時間の平均値です。システムが正常に稼働していた時期を指します。
MTTR(Mean Time To Repair:平均修復時間)
修理にかかる時間の平均値です。システムが停止していた時期を指します。

全稼働時間を「MTBF+MTTR」とし、全稼働時間のうち正常に稼働した時間(MTBF)の割合を稼働率として求めます。

稼働率やMTBF、MTTRはRASISの尺度となる値です。

MTBFが長い:停止しにくく「信頼性」の高いシステム
MTTRが短い:復旧が速く「保守性」の高いシステム
稼働率が高い:「可用性」の高いシステム

直列接続の稼働率

いくつかの装置やシステムを組み合わせて構築したシステム全体の信頼度は、個々の装置などの稼働率から求めることができます。

二つ(又はそれ以上)のサブシステムが直列の状態で連結している構造のシステムでは、いずれかのサブシステムが停止するとシステム全体の機能が停止してしまいます。この場合、システム全体の稼働率は各サブシステムの稼働率をかけ合わせた値となります。

並列接続の稼働率

二つ(又はそれ以上)のサブシステムが並列の状態で連結している構造のシステムは、いずれかのサブシステムが停止しても、残りのサブシステムで処理と代行できるため、システム全体の停止を避けられる構造です。この場合、システム全体の稼働率は以下の式で求めます。

バスタブ曲線

バスタブ曲線とは、システムの故障率曲線のことで、機械や装置の時間経過tに伴う故障率y(t)の典型的な変化を表す曲線のことです。形状が浴槽(バスタブ)の底の曲線に似ているためバスタブ曲線と呼ばれます。

時間経過により、初期故障期、偶発故障期、摩耗故障期の3期に分けられます。

  • 初期故障機には、故障率が高い状態から始まって、次第に故障率が減少して、安定した状態へ移ります。主に製造上の欠陥による故障が起きます。
  • 偶発故障期には、故障率は時間経過にかかわらず、ほぼ一定です。故障は主に偶発的に起きます。
  • 摩耗故障機には、故障率は次第に増加して寿命に達したと判断されます。故障は主に摩耗などによっておきます。

ソフトウェアの場合「摩耗」というのはイメージしにくいですが、技術の陳腐化による保守性の低下や、セキュリティホールの発覚など、摩耗機に顕在化するリスクも存在します。

システムの経済性の評価

この記事での学習内容 ITパスポート 基本情報 応用情報

システムの経済性に関する評価の考え方,評価項目,指標,評価の対象と具体的な方法や,初期コスト(イニシャルコスト)やTCO による評価を理解する。また,初期コスト,運用コスト(ランニングコスト)に含まれる費用,直接コストと間接コストの区別などを理解する。

システムの経済性

 

システムを新たに導入するときには、ソフトウェアの開発費用はハードウェアの購入設置費用といった初期コストがかかります。

また、導入後には設備維持費や光熱費、人件費、リース料などの運用コスト(ランニングコスト)がかかります。

システム導入を検討する際には、ランニングコストを含めた総保有費用(TCO:Total Cost of Ownership)を試算して、費用対効果を検討する必要があります。

リースとレンタル

・リース
 数ヶ月~数年の長期の賃貸契約
 期間あたりの費用は安い
 基本的には中途解約は出来ない
 修繕費などの維持管理コストは貸した側が負担する

・レンタル
 数日程度の短期の賃貸契約
 期間あたりでは割高
 修繕費用は借りた側が負担する

 

オペレーティングシステム(OS)

情報処理技術者試験での学習内容

【応用情報】
・OS の種類,特徴,機能,構成を修得し,応用する。
・ジョブ管理,タスク管理,記憶管理などOS の代表的な機能,役割を修得し,応用する。
・プログラムの形態,性質,OS の動向を修得し,応用する。

【基本情報】
・OS の種類,特徴,機能,構成を理解し,担当する事項に適用する。
・ジョブ管理,タスク管理,記憶管理などOS の代表的な機能について,管理の仕組みを
理解し,担当する事項に適用する。

【ITパスポート】
オペレーティングシステム(OS:Operating System)の必要性,機能,種類を理解する。

(1)OS の種類と特徴 ITパスポート 基本情報 応用情報

ソフトウェアの体系におけるOS の位置付けと必要性,汎用機用,パソコン用,リアルタイム用などのOS の種類,特徴を理解する。

用語例:システムソフトウェア,UNIX,PC 用OS,オープンOS,リアルタイムOS,VM(Virtual Machine:仮想マシン),互換性

(2)OS の機能と構成 ITパスポート 基本情報 応用情報

OS の機能,構成,カーネル,言語プロセッサなどを理解する。

用語例:マイクロカーネル,モノリシックカーネル,ミドルウェア,カーネルモード(スーパバイザモード),特権モード,ユーザモード,非特権モード,コンパイラ,インタプリタ,リンケージエディタ,サービスプログラム,仮想記憶管理,プロセス管理,タスク管理,記憶管理,データ管理,運用管理,障害管理,入出力管理,ユーザ管理,割込み,多重(マルチ)プログラミング,ブートストラップ,ネットワークブート,マルチブート,フラッシュブートローダ

(3)ジョブ管理 基本情報 応用情報

一つのまとまった仕事の単位であるジョブと,それを構成するジョブステップの概念,ジョブ管理の手順,ジョブ管理に関連する制御プログラムの役割を理解する。

用語例:ジョブスケジューラ,マスタスケジューラ,セション,省力化,自動運転,システム管理,バックグラウンドジョブ,バッチ処理,cron

(4)タスク管理 基本情報 応用情報

1.タスクと状態遷移

タスクとジョブステップ,スレッドとの関係,タスクの生成から実行,消滅までの状態遷移,ディスパッチャの役割を理解する。

用語例:軽量プロセス,実行可能状態,実行状態,待ち状態,プロセス,スレッド

2.多重(マルチ)プログラミング(マルチタスク)とスケジューリング

多重(マルチ)プログラミングの考え方,タスクのスケジューリングの代表的な方式について,スケジューリングの方法,特徴,スケジューリングにおけるトリガと優先順位の役割,同期制御・排他制御の必要性,実現方法を理解する。また,タスクとタスクの同期,タスク間でのデータの受け渡し,マルチスレッドの考え方,並列処理などを理解する。

用語例:プリエンプティブ方式,ノンプリエンプティブ方式,タイムスライス方式,イベントドリブン方式,フィードバック待ち行列方式,処理時間順方式,優先順,静的優先順位方式,動的優先順位方式,ラウンドロビン,SJF(Short Job First),最短時間順,割込み禁止,マルチCPU,排他制御,FCFS(First Come First Served),タイムクウォンタム,リソーススタベーション,SVC(Super Visor Call)割込み,入出力終了割込み,ディスパッチ

(5)データ管理 基本情報 応用情報

補助記憶装置へのアクセスを装置に依存しないインタフェースで応用プログラムに提供する機能を理解する。

用語例:レコード,スペース管理,カタログ管理,ファイル保護

(6)入出力管理 基本情報 応用情報

入出力装置を効率良く動作させる入出力制御方式の種類,特徴,チャネルの種類,データ転送方式など,入出力制御の仕組みを理解する。また,スプール,バッファリングなどCPUのアイドル時間を減らして効率を上げるための仕組みを理解する。

IOCS(Input/Output Control System:入出力制御システム),スプーリング,バッファプール,入出力ポート(I/O ポート),入出力マッピング(I/O マッピング),メモリマッピング,チャネル,チャネル制御方式,DMA(Direct Memory Access:直接記憶アクセス),チャネルサブシステム,セレクタチャネル,マル
チプレクサチャネル,入出力割込み,メモリマップドI/O,I/O マップドI/O

(7)記憶管理 基本情報 応用情報

1.実記憶管理

記憶領域の管理方式である固定区画方式,可変区画方式など,実アドレス空間の割当て方式の特徴,フラグメンテーションとその対策を理解する。また,主記憶装置を効率良く使うためのスワッピングとオーバレイを理解する。

用語例:実アドレス方式,単一連続割当て方式,記憶域管理アルゴリズム(ファーストフィット,ベストフィット,ワーストフィット),メモリコンパクション,ロールイン,ロールアウト,スワップイン,スワップアウト,セグメント方式,コンパクション

2.仮想記憶管理

実記憶と仮想記憶の関係,仮想記憶の有効性,仮想記憶方式の種類と特徴,動的アドレス変換の仕組みを理解する。また,ページング方式の代表的なページ置換えアルゴリズムについて,ページ置換え手順を理解する。

用語例:ベースアドレス方式,セグメント方式,セグメントページング方式,単一仮想空間方式, 多重仮想空間方式, スラッシング, DAT ( Dynamic Address Translator:動的アドレス変換),TLB(Translation Lookaside Buffer),ページフォールト,ページイン,ページアウト,デマンドページング,ページリプレースメント,LRU,FIFO,ワーキングセット

(8)ネットワーク制御 基本情報 応用情報

ネットワーク制御プログラムの役割,機能,OS における位置付けを理解し,OS が提供する通信インタフェースを理解する。

用語例:ネットワークOS,LAN,WAN,プロトコル制御,リアルタイムOS,通信プロトコル,TCP/IP,OSI 基本参照モデル

(9)運用の管理 基本情報 応用情報

システム始動処理(OS の初期化),システム終了処理,オペレータとの交信,ユーザ管理機能,スケジューリング,システムモニタリングなど,運用に関する容易性や柔軟性を実現する機能を理解する。

用語例:プロファイル,ユーザアカウント,システム利用権,ファイルアクセス権,端末利用権,ディスククオータ

(10)ユーザ管理 基本情報 応用情報

ユーザアカウントの種類,特徴を理解し,アカウントの作成方法,パスワードの設定や変更方法,権限の付与や変更方法などを理解する。また,アカウントを一元管理するためのディレクトリサービスなどを理解する。

用語例:スーパユーザ,root,Administrator,ゲスト,管理者権限,LDAP,Active Directory

(11)セキュリティ制御 基本情報 応用情報

OS には,アクセス制御,フロー制御,推論制御,暗号化制御などのセキュリティ制御機能があることを理解し,OS での制御方法の種類と特徴を理解する。また,ファイル保護,外部からの侵入検出と防御などのセキュリティが施されたセキュリティカーネルの特徴を理解する。

用語例:外部セキュリティ,内部セキュリティ,多重レベルセキュリティ,BLP(Bell-LaPadula)モデル,ロギング機能,オーディット機能,アカウンタビリティ,信頼プロセス, 完全性, 隔離, 認証, 検証可能性, ITSEC ( Information Technology Security Evaluation Criteria)

(12)障害管理 基本情報 応用情報

障害の検出,試験と診断,自動訂正,障害の記録,再構成,リスタート,原因の解決など,障害発生から対策完了までの一連の工程を理解する。

用語例:タイマ監視,CPU 監視装置,ハードウェア障害,ソフトウェア障害,再構成(動的装置再構成,自動CPU 再構成),多重化(入出力パスの多重化,補助記憶装置の二重化,ライブラリの二重化,ディスクの二重書き),システムの多重化(デュアルシステム,デュプレックスシステム),ホットスタンバイシステム,障害回復ルーチン

(13)プログラムの形態と性質 応用情報

プログラムには,ソースプログラム,オブジェクトプログラムなどの形態があること,ソースプログラムの管理対象には,データ構造定義,レコード構造定義などのマクロソースがあることを理解する。また,再入可能プログラム,逐次再使用可能プログラムなどの性質と,それらの使用のされ方を理解する。

用語例:原始プログラム,目的プログラム,コンパイラ,ロードモジュール,ローダ,ライブラリ,動的リンキング,リエントラント,API,ABI(Application Binary Interface),POSIX(Portable Operating System Interface),SCM(Software Configuration Management:ソフトウェア構成管理)

(14)サービスプログラム 応用情報

サービスプログラムの種類と特徴を理解する。

用語例:ユーティリティプログラム,整列プログラム,併合プログラム,フォーマッティング,アーカイバ,データ編集,ファイルコピー,バックアップ

(15)OS の動向 応用情報

OS に関連する最新のトピックス,標準化,技術動向などを理解する。

用語例:移動型小型OS,JavaOS,携帯電話系OS,OSE(Open Systems Environment),ODP(Open Distributed Processing:開放型分散処理),セキュアOS,クラウドコンピューティング用OS

OSの種類と特徴

この記事での学習内容 ITパスポート 基本情報 応用情報

ソフトウェアの体系におけるOS の位置付けと必要性,汎用機用,パソコン用,リアルタイム用などのOS の種類,特徴を理解する。

用語例:システムソフトウェア,UNIX,PC 用OS,オープンOS,リアルタイムOS,VM(Virtual Machine:仮想マシン),互換性

オペレーティングシステム(Operating System:OS)

OSはプログラムの実行を管理するソフトウェアです。作業の運用(オペレーション)に由来しています。

OSは「プログラムを主記憶装置に読み込む」「ユーザが入力した文字を画面に表示させる」などといった、コンピュータの基本的な動作を指示するソフトウェアであり、OSがあることによって、さまざまなアプリケーションソフトを起動できるようになります。

OSの種類

主なOSには次のようなものがあります。

名前インタフェースハードウェア特徴
WindowsGUIPC
(PC/AT互換機)
マルチタスク、プラグアンドプレイ等に対応
PC向けOSのデファクトスタンダード
Mac OSGUIPC
(Macintosh)
マルチタスク、プラグアンドプレイ等に対応
GUIに優れ、マルチメディア系のソフトが豊富
UNIXCUIサーバマルチユーザ、マルチタスク対応OS
ソースコードが公開されており移植性が高い
LinuxCUIPC/サーバPC上でUNIX環境を作るために開発され、無償で配布されるOS

OSの働き

OSの主な働きには次のものがあります。

入出力管理
周辺機器のコントロールやヒューマンインタフェースの提供など、コンピュータが動作する環境を管理します。
タスク管理
タスクの実行管理を行います。一度に複数のアプリケーションを動かすOSの機能を、マルチタスクといいます。
メモリ管理
マルチメディア処理のような大容量のメモリが必要な処理にも対応できるよう、メモリの使用領域を管理して効率良く使えるようにします。
ファイル管理
ディレクトリ(フォルダ)などを使ってファイルを効率よく格納します。
ユーザ管理
ユーザIDの登録・抹消の管理、ユーザ別のアクセス権の管理を行います。

*ハードウェアやOSによって構成される、アプリケーションソフトを実行するための動作環境のことをプラットフォームといいます。

OSの機能と構成

この記事での学習内容 ITパスポート 基本情報 応用情報

OS の機能,構成,カーネル,言語プロセッサなどを理解する。

用語例:マイクロカーネル,モノリシックカーネル,ミドルウェア,カーネルモード(スーパバイザモード),特権モード,ユーザモード,非特権モード,コンパイラ,インタプリタ,リンケージエディタ,サービスプログラム,仮想記憶管理,プロセス管理,タスク管理,記憶管理,データ管理,運用管理,障害管理,入出力管理,ユーザ管理,割込み,多重(マルチ)プログラミング,ブートストラップ,ネットワークブート,マルチブート,フラッシュブートローダ

システムソフトウェア

システムソフトウェアは、基本ソフトウェアとミドルウェアに大別されます。基本ソフトウェアというのは、広い意味でのOSです。

基本ソフトウェアには、狭義のOS、言語プロセッサ、サービスプログラムが含まれます。

ミドルウェア

ミドルウェアはOSとアプリケーションソフトウェアの中間で動作するソフトウェアです。多くのアプリケーションソフトウェアに共通する機能を標準的なインタフェースで提供します。

ミドルウェアの例としては、Java VMなどの仮想マシン環境や、データベース管理システム、クラスタ管理システム、統合運用管理システムなどがあります。

API(Application Programming Interface)

多くのアプリケーションに共通する、ウィンドウ操作や印刷などの機能については、OSやミドルウェアで用意されていることがあります。これらをアプリケーションから、呼び出すための仕様をAPIといいます。

OSの構成

OSはカーネルとカーネルモジュールから構成されています。

カーネルは、メモリ管理やタスク管理、周辺機器の管理などを行うOSの中核的な機能です。

カーネルモジュールは必要に応じてOSに追加される部品で、デバイスドライバなどがあります。

OSの実行モード

OSの実行モードには以下のものがあります。

  • カーネルモード:あらゆるハードウェアにアクセス可能(OSの実行モード)
  • ユーザモード:周辺機器やメモリへのアクセスが制限・監視される(通常のアプリケーションの実行モード)

マイクロカーネル

マイクロカーネルとは、オペレーティングシステムの同心円構造において、タスク管理やメモリ管理などの最小限の機能だけを担うように設計されたカーネルです。それ以外の機能は外側の層として作動します。マイクロカーネルの特徴は、簡潔で保守性が良いことです。

モノリシックカーネル

モノリシックカーネルとは、オペレーティングシステムの同心円構造において、プログラム管理、メモリ管理、入出力管理、ネットワーク管理などの基本的な機能をモノリシック(一枚岩)のように担うように設計されたカーネルです。

言語プロセッサ

言語プロセッサとは、ある文法に従うコンピュータ言語を処理するソフトウェアの総称です。オペレーティングシステムが作業を運用するのに対して、言語プロセッサは作業の段取り(プログラム)を準備するものです。

言語プロセッサには次のような種類があります。

名称特徴
アセンブラアセンブラ言語を機械語へ翻訳する。
コンパイラ高水準言語を機械語へ翻訳する。
インタプリタ高水準言語の文を一つひとつ解釈しながら実行する。
ジェネレータパラメータを入力してプログラムを生成する。
エミュレータ別の種類のコンピュータ用のプログラムを実行する。
トランスレータ高水準言語を異なる高水準言語に翻訳する。

言語プロセッサが入力するプログラムを原始プログラム、言語プロセッサが出力する機械語などのプログラムをオブジェクトモジュールといいます。

サービスプログラム

サービスプログラムとは、コンピュータの基本ソフトウェアの中で、オペレーティングシステム、言語プロセッサ以外の、様々な機能を提供するソフトウェアのことで、ユーティリティプログラムともいいます。

言語プロセッサがプログラムという製品(プロダクト)を提供するのに対して、サービスプログラムは利用者が直接何かを処理するための役務(サービス)を提供します。

プログラム実行の手助けになる機能や、システム運用のための定型業務を行うプログラムなどがあります。

 

ジョブ管理

この記事での学習内容 基本情報 応用情報

一つのまとまった仕事の単位であるジョブと,それを構成するジョブステップの概念,ジョブ管理の手順,ジョブ管理に関連する制御プログラムの役割を理解する。

用語例:ジョブスケジューラ,マスタスケジューラ,セション,省力化,自動運転,システム管理,バックグラウンドジョブ,バッチ処理,cron

ジョブ

ジョブとは、メインフレームコンピュータやサーバに処理させる一連の仕事のまとまりを指し、ユーザから見た仕事の単位となります。一つのジョブはバッチ処理させる幾つかのジョブステップのまとまりで、ジョブ制御言語によって記述されます。
一つのジョブステップはいくつかのタスクで構成されます。タスクはシステム側から見た仕事の単位となります。

ジョブステップ

ジョブステップとは、一つのジョブを構成するより小さな単位です。ジョブとタスクの中間のまとまりです。一つのジョブステップが一つのプログラムの実行に相当します。

ジョブ管理

ジョブ管理はオペレーティングシステムの管理作業の一つであり、ユーザから依頼されるジョブ及びジョブステップの実行を管理します。オペレーティングシステムを構成するジョブ管理プログラムが、次のような処理をします。

  • ジョブの起動
  • ジョブステップの実行順序の管理
  • ジョブの終了の監視・報告
  • 複数のジョブの実行順序の管理
  • 日時指定のジョブの実行や定例的なジョブの反復

なお、ジョブ管理プログラムの構成は下記のようになっています。

  • マスタスケジューラ
  • ジョブスケジューラ
    • リーダ
    • イニシエータ
    • ターミネータ
    • ライタ

マスタスケジューラ

マスタスケジューラは、ジョブスケジューラより上位の制御をするプログラムです。オペレータからの指示をジョブスケジューラに伝えたり、ジョブスケジューラからの状況報告をオペレータに伝えたりします。(ユーザとジョブ管理プログラムとのやりとりを管理する部分)

ジョブスケジューラ

ジョブスケジューラは、待ち行列として並んでいるジョブの実行順序を制御します。

ジョブスケジューラは下記のプログラムから構成されています。

リーダ

ジョブ管理プログラムの最初の処理をするリーダは、ユーザから依頼された一連のジョブ制御分を入力して、解釈するプログラムです。

イニシエータ

イニシエータはジョブに必要な資源を割り振る準備処理をして、プログラムの実行を開始します。

ジョブの実行順序は、下記のようなルールで管理されます。

  1. 原則としてジョブは入力された順序に実行されます。
  2. 優先順位が指定されていれば、それに従います。
  3. 前提となるジョブの正常終了や異常終了に応じて、後継のジョブの実行開始や実行中止が指定されていれば、それに従います。
  4. 開始日時が指定されていれば、それに従います。
ターミネータ

ターミネータは、ジョブが使用した資源を解放する後始末をします。

ライタ

ライタは、ジョブの出力を処理します。例えばプリンタへの出力は速度が遅いので、指定したプログラムの実行中は高速な外部記憶装置へいったん出力して、ライタがプリンタへの出力を引き継ぎます。ジョブの実行とプリンタへの出力を並行処理することによって、コンピュータシステムの効率を向上させます。

ジョブスケジューリング

ジョブ管理プログラムでの、ジョブの処理順序をまとめると、以下のようになります。

  1. リーダが一連のジョブ制御文を入力する。
  2. ジョブスケジューラが、ジョブの実行順序をスケジューリングする。
    1. イニシエータがジョブの開始処理をする。
    2. <ジョブステップとして指定したプログラム群が実行される>
    3. ターミネータがジョブの終了処理をする。
  3. 必要ならマスタスケジューラが、オペレータとジョブスケジューラのやりとりを仲介する。
  4. ライタがジョブの報告を出力する。

タスク管理

この記事での学習内容 基本情報 応用情報

  • タスクとジョブステップ,スレッドとの関係,タスクの生成から実行,消滅までの状態遷移,ディスパッチャの役割を理解する。
  • 多重(マルチ)プログラミングの考え方,タスクのスケジューリングの代表的な方式について,スケジューリングの方法,特徴,スケジューリングにおけるトリガと優先順位の役割,同期制御・排他制御の必要性,実現方法を理解する。また,タスクとタスクの同期,タスク間でのデータの受け渡し,マルチスレッドの考え方,並列処理などを理解する。

用語例:軽量プロセス,実行可能状態,実行状態,待ち状態,プロセス,スレッド、プリエンプティブ方式,ノンプリエンプティブ方式,タイムスライス方式,イベントドリブン方式,フィードバック待ち行列方式,処理時間順方式,優先順,静的優先順位方式,動的優先順位方式,ラウンドロビン,SJF(Short Job First),最短時間順,割込み禁止,マルチCPU,排他制御,FCFS(First Come First Served),タイムクウォンタム,リソーススタベーション,SVC(Super Visor Call)割込み,入出力終了割込み,ディスパッチ

タスクとジョブステップ

ジョブステップは一つのプログラムの実行に相当し、一つのプログラムはいくつかの小さなタスクに分解されて、CPUや入出力チャネルなどのハードウェアで実行されます。

ジョブステップの実行順序は、ユーザがジョブ制御分によって指定することができます。これは人間の作業の日程計画に相当します。

一方、タスクの実行順序はユーザが指定するというよりも、前のタスクの実行終了によるCPUや入出力チャネルの空き具合に応じて、臨機応変に決定されます。

スレッド

タスクと似た仕事の単位には、プロセスやスレッドがあります。これらはオペレーティングシステムの種類によって用語の異なる同義語であることがあります。あるいはハードウェアの並列処理の細かさによる階層関係であることもあります。

典型的には、一つのタスクが幾つかのプロセスで構成され、一つのプロセスが幾つかのスレッドで構成されます。それらが並行処理の単位になり、ハードウェアを有効利用して、性能を向上させます。

タスクの生成から実行

タスクは、ハードウェアで実行される小さな作業単位であり、次のように状態遷移をして処理されます。

タスクが生成されると「実行可能状態」になります。ディスパッチャによって実行可能状態から「実行状態」になります。

タスクの消滅までの状態遷移(実行可能状態、実行状態、待ち状態)

実行状態のタスクは、入出力処理の間は待ち状態になります。入出力処理が終わると実行可能状態になります。
実行状態のタスクは、割り込みがあると実行状態から実行可能状態になります。

どちらの場合も実行可能状態のタスクはディスパッチャによる実行再開を待ちます。

タスクの実行が完了すると、使用した資源が開放され、タスクは消滅します。

ディスパッチャ

ディスパッチャとは並行処理されている複数のタスクやプロセスに、次々とCPUへ割り振るプログラムです。CPUの処理は極めて短時間なので、人間がジョブ制御文で実行順序を計画するよりも、ディスパッチャに実行制御を任せるほうが効率的です。

優先度順方式

スケジューリングの一種である優先度準方式は、各タスクに優先度を設定して、優先度の順に実行する方式です。

即時処理すべき業務と、それ以外の業務を区別することなどに役立ちます。優先度に低いタスクは、待ち時間が長引く可能性があります。

ラウンドロビン方式

スケジューリングの一種であるラウンドロビン方式は、中断されたタスクが待ち行列の最後に並ぶことによって、グルグル回るように順番が来るという単純な方式です。

多重プログラミング(マルチプログラミング)

多重プログラミングとは、1台のコンピュータで複数のプログラムを見かけ上並行処理する方式です。タスク管理などによってCPUと入出力チャネルを並行処理させることによって、ハードウェア資源を有効に利用し、処理能力を向上させます。

多重プログラミングにおけるタスクのスケジューリング方式には以下のような種類があります。

プリエンプティブ方式

プリエンプティブ方式は、本格的なタイムスライス方式です。オペレーティングシステムがハードウェアタイマを用いて、もれなく制御する方式です。

タイムスライス方式

スケジューリングの一種であるタイムスライス方式は、ハードウェア大麻によるクロック割込みによって、一定時間(タイムクォンタム)で次のタスクに切り替える方式です。長時間を要するタスクの終了を、他のタスクが待つ必要がなくなります。

タイムクォンタム

タイムクォンタムとは、タイムスライス方式においてタスクを切り替える一定時間のことです。タイムクォンタムを短くするほど、タスクの待ち時間が減る可能性が高まります。

タイムクォンタムと切替回数は反比例するので、タイムクォンタムを短くするほど、切替処理のオーバーヘッドが増える欠点があります。

ノンプリエンプティブ方式

ノンプリエンプティブ方式とは、簡易的なタイムスライス方式です。オペレーティングシステムの管理のもとに実行されるプログラムの側が、自発的に空き時間を開放する方式です。

オペレーティングシステムの処理が完結になりますが、何らかの理由で空き時間の開放がなされないと、ハードウェア資源の利用効率が落ちるという欠点があります。

マルチタスク(プログラミング)の実行イメージ

以下の2つのプログラムを並行処理させた場合のイメージは以下のようになります。

  • プログラムA:CPU(20ms)→I/O(30ms)→CPU(20ms)→I/O(40ms)→CPU(10ms)
  • プログラムB:CPU(10ms)→I/O(30ms)→CPU(20ms)→I/O(20ms)→CPU(20ms)

データ管理

この記事での学習内容 基本情報 応用情報

補助記憶装置へのアクセスを装置に依存しないインタフェースで応用プログラムに提供する機能を理解する。

用語例:レコード,スペース管理,カタログ管理,ファイル保護

データ管理

データ管理とは、論理的なファイルの入出力の管理です。オペレーティングシステムの一部である、データ管理プログラムが管理します。

特にメインフレームコンピュータのデータ管理では、次のようなことを扱います。

  • 物理的な入出力単位であるブロックを、論理的な入出力単位であるレコードとして扱えるようにする。
  • 固定長レコードや可変長レコードなどの様々な種類のレコードを扱う。
  • ファイルの開始処理および後始末処理をまとめて、オープン処理およびクローズ処理のモジュール呼び出しで済むように抽象化する。
  • 順編成ファイルや区分編成ファイルなどの、様々な編成のファイルを扱う。

 

入出力管理

この記事での学習内容 基本情報 応用情報

入出力装置を効率良く動作させる入出力制御方式の種類,特徴,チャネルの種類,データ転送方式など,入出力制御の仕組みを理解する。また,スプール,バッファリングなどCPUのアイドル時間を減らして効率を上げるための仕組みを理解する。

IOCS(Input/Output Control System:入出力制御システム),スプーリング,バッファプール,入出力ポート(I/O ポート),入出力マッピング(I/O マッピング),メモリマッピング,チャネル,チャネル制御方式,DMA(Direct Memory Access:直接記憶アクセス),チャネルサブシステム,セレクタチャネル,マルチプレクサチャネル,入出力割込み,メモリマップドI/O,I/O マップドI/O

入出力管理

入出力管理とは、コンピュータ本体と入出力装置との間の入出力の管理です。次のような機能があります。

  • オペレーティングシステム全体での標準的な入出力方式と、装置ごとの固有の処理を仲介する。装置ごとの固有の処理のアダプタとなるプログラムをデバイスドライバといいます。
  • データを直接に入出力するのではなく、バッファを経由させることによって、コンピュータ本体と入出力装置を並行処理させて性能を向上させる。バッファとはデータを一時的に保存する場所のことで、バッファ用の領域のことをバッファプールといいます。
  • プリンタなどの低速な装置の入出力データを、高速な外部記憶装置を経由させることによって性能を向上させる。この方式をスプーリングといいます。

入出力制御

入出力制御方式は、各種の入出力装置を効率よく動作させる方式のことです。データ管理や入出力管理と比べると、ハードウェア側の細かな制御です。入出力制御方式には、次のようなものがあります。

プログラム制御方式
プログラム中の入出力命令を実行して、レジスタを経由して、主記憶装置と入出力装置との間のデータのやり取りをします。低速な入出力処理の間、CPUが待たされます。
DMA(Direct Memory Access)方式
DMA方式とはプログラムが入出力命令を実行した時に、DMAコントローラという専用のハードウェアが主記憶装置と入出力装置との間のデータのやり取りをします。CPUと入出力装置が並行処理されます。
チャネル制御方式
チャネル制御装置という専用のプロセッサが。主記憶装置上のチャネルプログラムを解読して、一連の入出力命令とCPUとを並行処理します。元のプログラムはチャネルプログラム単位の処理依頼だけをします。

チャネル

チャネルとは、入出力や通信のためのデータの通路のことです。電気ケーブルに対応する物理チャネルと、一対一には対応しない論理チャネルとがあります。

チャネル制御装置(チャネルコントローラ)は、チャネルを経由してデータをやり取りする簡単なプロセッサです。CPUと入出力装置の並行処理を可能にします。DMAコントローラもこの仲間です。

入出力割込み

外部割込みの一種であり、入出力が完了したり、入出力に異常が起きたりした時に起こります。入出力割込みが起きるまでは、CPUは他のタスクを処理できるので、並行処理によって性能を向上させることができます。

 

記憶管理

この記事での学習内容 基本情報 応用情報

  • 記憶領域の管理方式である固定区画方式,可変区画方式など,実アドレス空間の割当て方式の特徴,フラグメンテーションとその対策を理解する。また,主記憶装置を効率良く使うためのスワッピングとオーバレイを理解する。
  • 実記憶と仮想記憶の関係,仮想記憶の有効性,仮想記憶方式の種類と特徴,動的アドレス変換の仕組みを理解する。また,ページング方式の代表的なページ置換えアルゴリズムについて,ページ置換え手順を理解する。

用語例:実アドレス方式,単一連続割当て方式,記憶域管理アルゴリズム(ファーストフィット,ベストフィット,ワーストフィット),メモリコンパクション,ロールイン,ロールアウト,スワップイン,スワップアウト,セグメント方式,コンパクション、ベースアドレス方式,セグメント方式,セグメントページング方式,単一仮想空間方式, 多重仮想空間方式, スラッシング, DAT ( Dynamic Address Translator:動的アドレス変換),TLB(Translation Lookaside Buffer),ページフォールト,ページイン,ページアウト,デマンドページング,ページリプレースメント,LRU,FIFO,ワーキングセット

実記憶管理

実記憶管理とは、それぞれのプログラムとそのためのデータが使用する主記憶装置の領域の確保および解放の管理です。基本的な領域の区画方法の管理、限られた主記憶装置領域の有効利用、および領域の制約の解消などを行います。

固定区画方式

固定区画方式とは、主記憶管理の区画方式の一種であり、主記憶を固定長の区画として管理する方式です。管理が簡単ですが、それぞれのプログラムが使用する領域は可変なので、使用されない部分が無駄になります。固定区画方式には区画が一つだけの単一区画方式と多重区画方式とがあります。

単一区画方式は、区画が一つだけであり、最も簡単な方式です。

多重区画方式は、複数の区画を設けて、それぞれのプログラムに割り当てます。単一区画方式より少し管理が複雑になりますが、複数のプログラムを処理できます。

いずれの方法でも、プログラムが使用しない部分が無駄になります。

可変区画方式

可変区画方式とは、主記憶管理の区画方式の一種であり、それぞれのプログラムに必要なだけの可変長の領域を割り当てるため、主記憶装置の利用効率が高まります。

各プログラムの実行が終了すると、使用していた領域は開放されます。次々に実行されるプログラムの使用領域の大きさはそれぞれ異なるので、空き領域が細分化されて利用しにくくなるという、フラグメンテーションが発生します。

フラグメンテーション対策

主記憶装置や仮想記憶用の外部記憶装置の空き領域は、次々とプログラムを実行して、領域の確保と開放を繰り返しているうちに、領域が細分化されて再利用しにくくなるという、フラグメンテーションが発生します。

使用中の領域を移動させて隣り合わせに配置し直して、細分化されていた空き領域を隣り合わせにまとめて再利用しやすく処理をデフラグメンテーション又はコンパクションといいます。

ガベージコレクション

ガベージコレクションとは、「ゴミ集め」という意味の言葉であり、プログラムが使用しなくなった主記憶領域を集めて、再利用に備えることです。主記憶領域の再利用に備える処理には次のような種類があります。

  • プログラムの実行終了時に、一括して領域を解放する。解放のためのオーバーヘッドが少なくて済みますが、きめ細やかな再利用はできません。
  • プログラムの実行中に、関数実行などによって、きめ細かく領域の確保と解放を行う。領域の有効利用ができますが、開放のためのオーバーヘッドが多くなります。

ガベージコレクションは、専用のプログラムが使用しなくなった領域を開放するので、領域の有効利用とオーバーヘッドのバランスをとることができます。

オーバーレイ方式(セグメント方式)

オーバーレイ方式は、一つのプログラムを主記憶装置の区画に収まる大きさのセグメントに分割しておき、実行するセグメントをその都度外部記憶装置からロードする方式です。オペレーティングシステムの主記憶管理よりも、プログラム側とプログラム管理が主記憶装置の使用方法を考慮する方式です。

仮想記憶

仮想記憶とは、領域の物理的なアドレスとは別に仮想的なアドレスを設けて管理される記憶領域です。飛び飛びの領域を一連の領域として利用したりします。

フラグメンテーション対策として、プログラムやデータを移動したり、空き領域をまとめたりする必要が無いことと、主記憶装置の全体の大きさや区画の大きさを気にせずに、大きな領域を使用できることが仮想記憶のメリットです。

処理しなければならないプログラムやデータが主記憶装置の空き領域に格納しきれない時、一旦ハードディスク上の仮想記憶領域へ一部を書き出し、必要に応じて主記憶装置と仮想記憶の間でプログラムやデータを入れ替えながら処理を進める方法で、この入れ替えをスワッピングといいます。

補助記憶装置は主記憶装置よりも低速なので、スワッピングが多発すると処理に時間がかかるのが仮想記憶のデメリットです。

スワップイン(ロールイン)

仮想記憶のスワッピングにおいて、プログラムやデータを補助記憶装置から主記憶装置へ読み込むことをスワップイン又はロールインといいます。

スワップアウト(ロールアウト)

仮想記憶のスワッピングにおいて、プログラムやデータを主記憶装置から補助記憶装置へ書き出すことをスワップアウト又はロールアウトといいます。

スワッピングの欠点

仮想記憶と、主記憶装置の容量不足で実行できなかったプログラムを動かせるようになります。その反面、転送速度の遅いハードディスクなどの補助記憶装置に繰り返しアクセスしなければならないという欠点があります。そのため、スワッピングが多発すると、全体の処理速度が低下してしまいます。

スラッシング

スラッシングとは、仮想記憶にロードされたプログラムの数が多すぎたり、巨大なプログラムがロードされたりして、主記憶装置と補助記憶装置との間のプログラムやデータのやり取りが頻繁になり、補助記憶装置が激しく作動していながら、プログラムの実行がなかなか進まないことです。

スラッシングへの対策としては、プログラムの数や大きさを制限したり、主記憶装置を容量の大きいものに取り替えるといったことがあります。

仮想記憶管理

仮想記憶管理とは、仮想記憶を取り扱う管理のことです。ハードウェア側の仮想記憶管理の機構が処理する場合があります。また、オペレーティングシステムの記憶管理プログラムが介在する方式もあります。

仮想記憶管理を行うために必須なのが、動的アドレス変換機構(DAT:Dynamic Address Translator)と呼ばれるものです。

動的アドレス変換の代表的な方式としては、ページングという方式があります。(他の方式として、セグメント方式、セグメントページング方式など)

ページング方式

ページング方式は、主記憶とプログラムを固定長であるページに分割し、効率よく記憶管理する方法です。「大きなプログラムの実行でも、ごく短い時間を見れば、必要なのはほとんど一部のみである」という性質を利用したもので、この場合のプログラムの実行は下記の手順で行われます。

  1. 主記憶とプログラムをページ単位に分割
  2. 実行に必要なページを補助記憶から主記憶にロード(ページイン)
  3. 必要なページが主記憶上にない場合、ページ不在の割り込み(=ページフォルト)が発生します。この時、補助記憶から主記憶城の空きスペースにページインします。
  4. どんどんロードしていくと、主記憶に空きスペースがなくなります。
  5. ページ置き換えアルゴリズムに従い、置き換え対象のページを決定します。
  6. 実行に必要のないページを補助記憶に退避します(ページアウト)
  7. 実行に必要なページを主記憶上にロードします(ページイン)

ページイン、ページアウトの操作を総じて、ページングと呼んでいます。また、ページングが多発する現象をスラッシングといいます。

ページフォールト

ページフォールトとは、必要な仮想記憶のページが主記憶装置上にない状態です。ページフォールトは、割込みの形で仮想記憶管理の機構に知らされます。

ページ置き換え

ページ置き換えとは、ページング方式の記憶管理において、主記憶装置の空き領域が不足した時、ページの置き換えをする処理です。ページ置き換えアルゴリズムが使われます。

ページ置き換えアルゴリズム(FIFO,LRU)

ページ置き換えアルゴリズムとは、ページング方式の記憶管理において、主記憶装置の空き領域が不足した時、ページを置換する処理のアルゴリズムです。

FIFOやLRU、LFUというページ置き換えアルゴリズムがあります。

FIFO(First In First Out)
最初に読み込まれたページを最初に補助記憶装置へ書き出すというアルゴリズムです。処理は簡単ですが、頻繁に使われているページが書き出されると性能が低下します。
LRU(Least Recently Used)
最も長く使われていないページを補助記憶装置へ書き出すというアルゴリズムです。使用履歴が必要なのでアルゴリズムは少し複雑ですが、頻繁に使われているページは主記憶装置にある確率が高いので、性能が良くなります。
LFU(Least Frequency Used)
最も使用頻度の低いページを補助記憶装置へ書き出すというアルゴリズムです。使用履歴が必要なのでアルゴリズムは少し複雑ですが、頻繁に使われているページは主記憶装置にある確率が高いので、性能が良くなります。

セグメント方式

セグメント方式は、プログラムやデータをセグメントという可変の大きさの区分で記憶管理をする方式です。セグメントが仮想記憶やメモリ保護の単位になります。各セグメントの先頭アドレスと大きさは、セグメントテーブルで管理されます。

一定の大きさのページという区分を用いるページング方式より、手間はかかりますが、領域のムダは少なくなります。

セグメントページング方式

セグメントページング方式は、ページング方式とセグメント方式を組み合わせた方式です。セグメントテーブルの各セグメントにページテーブルをリンクします。

ページング方式の簡潔さを活かしつつ、セグメントの種類によってプログラムのセグメントを書き換え禁止にしたり、リードオンリーのセグメントを共有したりすることができます。

ネットワーク制御

この記事での学習内容 基本情報 応用情報

ネットワーク制御プログラムの役割,機能,OS における位置付けを理解し,OS が提供する通信インタフェースを理解する。

用語例:ネットワークOS,LAN,WAN,プロトコル制御,リアルタイムOS,通信プロトコル,TCP/IP,OSI 基本参照モデル

ネットワーク制御

ネットワーク制御とは、コンピュータがネットワークを経由してデータの送信・受信をすることやその際の通信異常などを制御することです。オペレーティングシステムの機能の一つであり、入出力管理が入出力装置を管理するように、ネットワーク制御はネットワークアダプタやLANカードなどのネットワーク用の装置を制御します。高水準の処理はネットワーク管理ともいいます。通信制御・通信管理も類似の概念です。

通信プロトコルはコンピュータ同士がネットワーク経由で通信を行うために、ネットワーク全体で決められた通信手順です。送信するデータの他に、送信先アドレス、発信元アドレスなどを付加する規約です。

OSI参照モデルは国際最標準化機構(ISO)が定めた次の表のような階層モデルの規定です。ネットワークを扱うシステムを階層的にして、全体を簡潔かつ柔軟にするのに役立ちます。

7アプリケーション層ユーザレベルの通信。メールやファイルの転送等。
6プレゼンテーション層データの表現方法。圧縮や文字コード、暗号化など。
5セッション層通信の開始から終了までの1回分の手順。プログラム間の会話単位の制御。
4トランスポート層エラー訂正や再送信などの信頼性の確保。
TCP(Transmission Control Protocol)など。
3ネットワーク層通信経路の選択(ルーティング)
IP(Internet Protocol)など。
2データリンク層装置間の信号の送受信。
スイッチングHUBなど。
1物理層物理的なコネクタの形状や電気的な信号

 

 

運用の管理

この記事での学習内容 基本情報 応用情報

システム始動処理(OS の初期化),システム終了処理,オペレータとの交信,ユーザ管理機能,スケジューリング,システムモニタリングなど,運用に関する容易性や柔軟性を実現する機能を理解する。

用語例:プロファイル,ユーザアカウント,システム利用権,ファイルアクセス権,端末利用権,ディスククオータ

運用に関する容易性や柔軟性を実現する機能

オペレーティングシステムの基本的な昨日は、個々のプログラムの運用(実行)を管理することです。その他プログラム群の全体の運用管理をする機能もあります。それによってユーザが全体の運用をする操作が用意かつ安全になります。また、オプションも選択できて、ユーザ間の違いに柔軟に対応します。

システム指導処理は、システムの開始時にはオペレーティングシステムのさまざまな初期化のプログラム群を一連の手続きにまとめて、ユーザの操作を容易にします。また日常のシステムの指導のときには、基盤となるプログラム群をまとめて実行開始します。

システム終了処理は、電源をオフにする前に、基盤として実行されていたプログラム群をまとめて終了させます。

運用の面倒を見るオペレータのためには、システムと更新する機能、システムの状態を監視するためのシステムモニタリング機能、および定形操作や期日指定の処理を容易にするスケジューリング機能があります。

その他に、ユーザ管理、セキュリティ制御、および障害管理の機能があります。

 

 

ユーザ管理

この記事での学習内容 基本情報 応用情報

ユーザアカウントの種類,特徴を理解し,アカウントの作成方法,パスワードの設定や変更方法,権限の付与や変更方法などを理解する。また,アカウントを一元管理するためのディレクトリサービスなどを理解する。

用語例:スーパユーザ,root,Administrator,ゲスト,管理者権限,LDAP,Active Directory

ユーザアカウントの種類

ユーザアカウントは、ユーザの権利の単位となる「口座」に相当します。ユーザアカウントはユーザ名やパスワードによって識別されます。その他のユーザ固有の情報やオプション指定を含めてプロファイルといいます。

ユーザアカウントには権限の異なる次のような種類があります。

スーパユーザ
システムのすべての操作ができる管理者権限を持つユーザです。オペレーティングシステムによっては、rootやAdministratorといいます。
標準ユーザ
一般的なファイル、フォルダ、およびプログラムへのアクセス、自分のプロファイルの変更、およびスーパユーザが許可するソフトウェアやハードウェアのインストールやアンインストールの権限を持ちます。このような権限の範囲が付与されることによって、一つのシステムを他のユーザと共用することができます。
ゲスト
システムを一時的に使用するユーザです。所定のゲスト用のユーザ名やパスワードを用いてシステムを使用します。ソフトウェアやハードウェアのインストール及びアンインストールはできません。また、ファイルの新規作成、削除、および保存には制限がつきます。

管理者権限

システムのすべての操作ができる権限を管理者権限といいます。あらゆすソフトウェアおよびハードウェアのインストールおよびアンインストール、システムの基盤となる設定、ファイル、およびフォルダへのアクセス、およびそれらの新規作成、変更、削除ができます。また、ユーザアカウントの許可や設定変更などの権限も持ちます。

ディレクトリサービス

ディレクトリサービスは、システムやネットワーク上にあるユーザプロファイルやプリンタ等の共有資源のプロファイルを管理するサービスです。

ここでいうディレクトリとは住所録や案内図という意味を持ちます。

LDAP(Lightweight Directory Access Protocol)

LDAPは、ネットワークのディレクトリサービスにアクセスするためのプロトコルの一種です。ユーザプロファイルや共有資源の扱いを標準化することに役立ちます。

セキュリティ制御

この記事での学習内容 基本情報 応用情報

OS には,アクセス制御,フロー制御,推論制御,暗号化制御などのセキュリティ制御機能があることを理解し,OS での制御方法の種類と特徴を理解する。また,ファイル保護,外部からの侵入検出と防御などのセキュリティが施されたセキュリティカーネルの特徴を理解する。

用語例:外部セキュリティ,内部セキュリティ,多重レベルセキュリティ,BLP(Bell-LaPadula)モデル,ロギング機能,オーディット機能,アカウンタビリティ,信頼プロセス, 完全性, 隔離, 認証, 検証可能性, ITSEC ( Information Technology Security Evaluation Criteria)

セキュリティ制御

セキュリティ制御とは、システムの機密性、安全性、可用性、およびアカウンタビリティを保つための制御です。アクセス制御、暗号化制御、外部からの侵入の防御・検出、ロギング機能、オーディット機能などがあります。これらの制御や機能による記録は、記録を根拠にする説明に利用でき、アカウンタビリティを保ちます。

アクセス制御

ユーザごとにシステムの利用券を定義し、アクセスを管理することです。セキュリティポリシに沿わないアクセスはOSが強制的に制御する、管理者権限をできるだけ分散化するなどの仕組みを設定します。

暗号化制御

情報を暗号化して機密が第三者にもれないようにすることです。

外部からの侵入の防御・検出

ファイアウォール機能によって外部からの不正アクセスを防ぎます。

ロギング機能

ロギング機能は、システムのエラーや警告が発生した時に、その情報をファイルに記録する機能です。システムの安全性および可用性を保つのが主な目的です。

オペレータなどが障害に気づいた時に、ログファイルを分析して、原因を究明することができます。また、信頼できないプロセスが実行されようとした時の警告、あるいは監査の成功や失敗なども記録して、監査にも利用されます。

オーディット機能

オーディット機能(監査機能)は、ユーザのシステムへのアクセスやファイルへのアクセスなどセキュリティに関する事象を記録する機能です。

オーディットの記録はシステムの機密性および安全性が保たれていることの証拠や、機密性や安全性を損なったユーザを特定する証拠になります。

 

障害管理

この記事での学習内容 基本情報 応用情報

障害の検出,試験と診断,自動訂正,障害の記録,再構成,リスタート,原因の解決など,障害発生から対策完了までの一連の工程を理解する。

用語例:タイマ監視,CPU 監視装置,ハードウェア障害,ソフトウェア障害,再構成(動的装置再構成,自動CPU 再構成),多重化(入出力パスの多重化,補助記憶装置の二重化,ライブラリの二重化,ディスクの二重書き),システムの多重化(デュアルシステム,デュプレックスシステム),ホットスタンバイシステム,障害回復ルーチン

障害管理

障害管理は、システムのハードウェア障害やソフトウェア障害に対処する機能です。システムの安全性および可用性を保つのが主な目的です。

障害の検出、自動訂正、障害の記録、システムの再構成、リスタートなどが含まれます。

オペレータやユーザは、障害管理機能を用いて、障害の影響範囲限定、現象把握、切り分け、原因究明、修正、およびシステムの復旧をします。

 

ミドルウェア

情報処理技術者試験での学習内容

【応用情報・基本情報】
代表的なミドルウェアの役割,機能を修得し,応用する。

(1)ミドルウェアの役割と機能 基本情報 応用情報

OS と応用ソフトウェアの中間に位置する各種ミドルウェアの役割と機能,ミドルウェアの選択と利用の考え方を理解する。

用語例:応用プログラム間連携ソフトウェア,DBMS,通信管理システム,ソフトウェア開発支援ツール,運用管理ツール,TP(Transaction Processing:トランザクション処理)モニタ

(2)シェルの役割と機能 基本情報 応用情報

シェルは,利用者からのコマンド,指示を受けてそれを解釈し,プログラムの起動,制御などカーネルの機能を呼び出す役割をもつこと,及び代表的なコマンドを理解する。

用語例:コマンドインタプリタ,BShell,CShell,COMMAND.COM,cmd.exe

(3)API 基本情報 応用情報

応用プログラムから見たAPI の役割,機能を理解する。

用語例:関数,ライブラリ,Web API,API 仕様

(4)ライブラリ 基本情報 応用情報

プログラムやマクロなどを格納するライブラリを理解する。

用語例:ソースライブラリ,オブジェクトライブラリ,ロードライブラリ,DLL(Dynamic Link Library),クラスライブラリ

(5)コンポーネントウェア 基本情報 応用情報

オブジェクト指向技術を基盤としたソフトウェアの部品化によるソフトウェア開発手法であるコンポーネントウェアの考え方,代表的なコンポーネントウェア技術を理解する。

用語例:コンポーネント,Java Beans,ActiveX,CORBA

(6)開発フレームワーク 基本情報 応用情報

アプリケーションソフトウェアの標準構造の実装に使われるクラスやライブラリの集まりである開発フレームワークの考え方,代表的なフレームワークを理解する。

Apache Struts,CakePHP,Spring,Ruby on Rails

ミドルウェアの役割と機能

この記事での学習内容 基本情報 応用情報

 

OS と応用ソフトウェアの中間に位置する各種ミドルウェアの役割と機能,ミドルウェアの選択と利用の考え方を理解する。

用語例:応用プログラム間連携ソフトウェア,DBMS,通信管理システム,ソフトウェア開発支援ツール,運用管理ツール,TP(Transaction Processing:トランザクション処理)モニタ

ミドルウェアの役割と機能

ミドルウェアは、オペレーティングシステムと応用ソフトウェアの中間に位置するソフトウェアの総称です。応用プログラム間連携ソフトウェアともいいます。

ミドルウェアには、データベース管理システム、通信管理システム、ソフトウェア開発支援ツール、運用管理ツール、TPモニタなどがあります。これらのソフトウェアはプログラミングやプログラムの実行管理の基本的なソフトウェアとはいえませんし、業種や業務の実務を担う応用ソフトウェアとも言えません。

ミドルウェアを共通基盤として利用することによって、応用ソフトウェアの開発の効率化、および応用ソフトウェアの間の連携の標準化が可能です。

応用プログラム間連携ソフトウェア

応用プログラム間連携ソフトウェアはミドルウェアの別名です。例えば、データベース管理システムは、ファイルにアクセスするインタフェースを高水準かつ柔軟にすることにより、購買管理システム、生産管理システム、販売管理システムなどの応用プログラム間の連携を容易にします。

DBMS(DataBase Management System)

DBMS(データベース管理システム)はファイルに含まれるデータ群を、多角的かつ標準的なアクセスが出来るように管理するシステムです。応用ソフトウェアの間でファイルを受け渡しする必要がなくなり、それぞれが一つのデータベースにアクセスする形で、データを共有できます。また、DBMSはデータ処理の共通機能を提供するので、応用ソフトウェアの開発を効率化したり、ユーザが直接利用したりすることができます。

通信管理システム

コンピュータ間の通信のために、高水準かつ標準的なインタフェースを提供するシステムです。パソコンのオペレーティングシステムには、ネットワーク制御の機能があることが多いですが、本格的な応用ソフトウェアは、ミドルウェアである通信管理システムが用いられることが多いです。

ソフトウェア開発支援ツール

ソフトウェア開発支援ツールは、ソフトウェアの要求分析、設計、開発、試験を支援するソフトウェアの総称です。プログラミングのためのコンパイラというツールがあったのに対して、ソフトウェア開発が大規模な仕事であるという考え方による広い総称です。

運用管理ツール

運用管理ツールは、コンピュータやネットワークの運用のための高水準な機能を持つソフトウェアです。基本的な運用管理機能はオペレーティングシステムに含まれます。本格的な応用情報システム向きのミドルウェアが運用管理ツールです。システムの関し、オペレータ作業の自動化、セキュリティ管理などを行います。

TPモニタ

TP(Transaction Processing)モニタは、通信回線を経由するトランザクション(取引)単位を応用ソフトウェアとオペレーティングシステムの中間で監視・制御するミドルウェアです。

 

その他の主要なミドルウェアとして、障害監視システム、トランザクションスケジューリング、システム資源管理などがあります。

 

シェルの役割と機能

この記事での学習内容 基本情報 応用情報

シェルは,利用者からのコマンド,指示を受けてそれを解釈し,プログラムの起動,制御などカーネルの機能を呼び出す役割をもつこと,及び代表的なコマンドを理解する。

用語例:コマンドインタプリタ,BShell,CShell,COMMAND.COM,cmd.exe

シェルの役割と機能

シェルは、オペレーティングシステムのカーネルに対して、コマンドインタプリタやグラフィカルユーザインタフェースなどの外周の部分です。オーペレーティングシステムを階層化して、標準化や柔軟性を図ります。

カーネル・コアに対して、貝殻のようにそれらを守るということで、”Shell”(=貝殻の意)と呼ばれています。

機能としては、プログラムの起動や制御など、カーネルの機能を呼び出す、ユーザの入力を受け付けてコマンドをOSのカーネルに伝えるといったものです。

コマンドインタプリタ

コマンドインタプリタは、コマンド走査型のオペレーティングシステムのシェルの代表的なプログラムです。ユーザの入力したコマンドの種類とパラメータを解釈して、カーネルの該当機能へ引き継ぎます。

 

API

この記事での学習内容 基本情報 応用情報

応用プログラムから見たAPI の役割,機能を理解する。

用語例:関数,ライブラリ,Web API,API 仕様

API

API(Application Programming Interface:アプリケーション・プログラミング・インタフェース)とは、応用ソフトウェアから利用できるオペレーティングシステムのモジュール、プログラミング言語のライブラリモジュール、及びそれらの利用規約のことです。

多くのアプリケーションに共通する、文字処理、画像処理、入出力、ウィンドウ制御などがその例です。エンドユーザによるプログラミングを推進する役割もあります。

 

ライブラリ

この記事での学習内容 基本情報 応用情報

プログラムやマクロなどを格納するライブラリを理解する。

用語例:ソースライブラリ,オブジェクトライブラリ,ロードライブラリ,DLL(Dynamic Link Library),クラスライブラリ

ライブラリ

ライブラリとは、応用ソフトウェアでよく利用される関数や機能などを一箇所にまとめて、共用できるようにしたもののことです。

提供される形式や利用形態によって、以下の様なものがあります。

ソースライブラリ

ソースライブラリは共用するためのライブラリとして提供されるソースモジュールの集合です。応用ソフトウェアの共通部分をカバーすることによって、開発を効率化します。

APIやオブジェクトライブラリとは異なり、応用ソフトウェアとあわせてコンパイルして用いられます。

オブジェクトライブラリ

オブジェクトライブラリは、共用するためのライブラリとして提供される、実行形式のモジュールの集合です。

クラスライブラリ

ライブラリのうち、オブジェクト指向に基づいて設計・作成されたライブラリのことをクラスライブラリと呼んでいます。

ロードライブラリ

ロードライブラリは、共用するためのライブラリとして提供される、実行形式のモジュールで、主モジュールと連結されて実行されます。

DLL(Dynamic Link Library)

DLL(ダイナミックリンクライブラリ)は、共用するためのライブラリとして提供される、動的リンクを用いた実行形式のモジュールの集合です。

 

コンポーネントウェア

この記事での学習内容 基本情報 応用情報

オブジェクト指向技術を基盤としたソフトウェアの部品化によるソフトウェア開発手法であるコンポーネントウェアの考え方,代表的なコンポーネントウェア技術を理解する。

用語例:コンポーネント,Java Beans,ActiveX,CORBA

コンポーネントウェア

コンポーネントウェアは、ソフトウェアのコンポーネント(部品、モジュール)の総称です。ハードウェアやソフトウェアと同じように命名したものです。

Java Beans

Java Beansとは、Java言語でプログラミングされたオブジェクトライブラリです。Java言語で書かれたコンポーネントウェアとその技術仕様ともいえます。

開発フレームワーク

この記事での学習内容 基本情報 応用情報

アプリケーションソフトウェアの標準構造の実装に使われるクラスやライブラリの集まりである開発フレームワークの考え方,代表的なフレームワークを理解する。

開発フレームワーク

開発フレームワークとは、システム開発を標準化して効率的にすすめるための全体的な枠組みです。ソフトウェアをどのように開発すべきかを、再利用可能なクラスなどによって示し、特定の用途に使えるようにしています。

例えば、Webアプリケーションを開発するための、JavaのStrutsやSpring、RubyのRuby on Rails、PHPのCake PHP等のWebアプリケーションるフレームワークがあります。

 

ファイルシステム

情報処理技術者試験での学習内容

【応用情報・基本情報】
・ファイルを階層化して管理するディクトリの種類,特徴,ファイル管理の仕組みを修得し,応用する。
・ファイルシステムの種類,特徴を修得し,応用する。
・ファイル編成,アクセス手法,検索手法,バックアップ方式を修得し,応用する。

【ITパスポート】
・ファイル管理の考え方を理解し,基本的な機能を利用する。
・バックアップの基本的な考え方を理解する。

(1)ディレクトリ管理とファイル管理 ITパスポート 基本情報 応用情報

ファイルを階層化して扱うディレクトリの種類と特徴,ディレクトリが管理するファイル情報,ファイル制御ブロック,ファイルポインタ,ファイルハンドルなどのファイル管理の仕組み,絶対パス,相対パスを使用したファイルの特定方法を理解する。また,ディレクトリ管理,ファイル共有の仕組み,考え方,アクセス権を理解する。

用語例:物理的位置,保護情報,参照情報,シンボリックリンク,ショートカット,エイリアス,ルートディレクトリ,カレントディレクトリ,ホームディレクトリ,単一ディレクトリ,2 階層ディレクトリ,階層型ディレクトリ,木構造ディレクトリ,パス名,ファイルハンドル,ファイル記述子,キャラクタデバイス,ブロックデバイス,ブロッキング,共有ファイル

(2)ファイルシステムの種類と特徴 ITパスポート 基本情報 応用情報

ハードディスク装置などの補助記憶装置の領域を,OS や利用者がファイルやディレクトリ(フォルダ)として使用できるようにするための機能を理解する。また,OS ごとに異なるファイルシステムが提供されていること,代表的なファイルシステムの特徴を理解する。

用語例:FAT ファイルシステム,NTFS,HFS(Hierarchical File System),NFS(Network File System),ボリューム

(3)ファイル編成とアクセス手法 基本情報 応用情報

ファイル編成やアクセス手法の種類,特徴を理解する。また,各編成方式におけるレコードの追加,削除,変更などの処理方法を理解する。

用語例:論理レコード,物理レコード,ブロック,非ブロックレコード,ブロックレコード,ブロックサイズ,順次アクセス,直接アクセス,動的アクセス,順編成,区分編成,索引順編成,直接編成,VSAM 編成,あふれ域,ブロッキング,デブロッキング

(4)検索手法 応用情報

ディレクトリの構造の特徴による検索手法の違いを理解する。

用語例:ハッシング,インデックス

(5)バックアップ ITパスポート 基本情報 応用情報

ファイルのリカバリを目的としたバックアップの取得方法と手順,世代管理,ファイルの修復方法と手順など,バックアップの方式を理解する。

用語例:多重バックアップ,フルバックアップ,差分バックアップ,増分バックアップ

ディレクトリ管理とファイル管理

この記事での学習内容 ITパスポート 基本情報 応用情報

ファイルを階層化して扱うディレクトリの種類と特徴,ディレクトリが管理するファイル情報,ファイル制御ブロック,ファイルポインタ,ファイルハンドルなどのファイル管理の仕組み,絶対パス,相対パスを使用したファイルの特定方法を理解する。また,ディレクトリ管理,ファイル共有の仕組み,考え方,アクセス権を理解する。

用語例:物理的位置,保護情報,参照情報,シンボリックリンク,ショートカット,エイリアス,ルートディレクトリ,カレントディレクトリ,ホームディレクトリ,単一ディレクトリ,2 階層ディレクトリ,階層型ディレクトリ,木構造ディレクトリ,パス名,ファイルハンドル,ファイル記述子,キャラクタデバイス,ブロックデバイス,ブロッキング,共有ファイル

ディレクトリ(フォルダ)

ディレクトリとは、OSの持つファイル管理機能で、ファイル群を保存、分類、整理するものです。ディレクトリには住所録や案内図という意味があります。ユーザはディスク内に階層的にディレクトリを作ることができます。

ディスク装置の中の最上位に当たるディレクトリを、ルートディレクトリといいます。ルートディレクトリの下には、ファイルを保存したり、さらに別のディレクトリを作ったりすることができます。

あるディレクトリの下に作られている別のディレクトリのことを、サブディレクトリともいいます。

OSによっては、ディレクトリをフォルダと呼ぶものもあり、Windows系では『フォルダ』、UNIX系では『ディレクトリ』と呼ばれるのが一般的です。

なお『ルートディレクトリ』に関して、UNIX系では明確に定義されているものはあるが、Windows系ではイメージしにくくなっています。一部の解説では、『Windowsのルート=デスクトップ』とされているものがあるが、これは明らかな間違いです。例えばWindows7の場合では『C:\Users\(ユーザ名)\Desktop』をさしており、明らかにルートではありません。

パス

コマンドの操作や、HTML文書のハイパーリンクで、あるファイルを参照したいときには、「どのディレクトリに保存されている何というファイルか」を指示する必要があります。

参照するファイルの位置を指定する方法を「パス」といいます。パスの記述には、頂点にあるルートディレクトリを起点とし、そこから順にたどってディレクトリ名を記述する絶対パスと、現在操作しているディレクトリ(=カレントディレクトリ)を起点とする相対パスの二つの方法があります。

絶対パス

絶対パスは、ルートディレクトリを起点として、上位→下位の順にたどる記述方法です。ルートディレクトリを「/」と表し、続けてサブディレクトリ名やファイル名を「/」で区切りながら記述します。

相対パス

相対パスでは、カレントディレクトリを起点として、親ディレクトリ又は子ディレクトリに移りながら順にたどって参照ファイルに行き着きます。

参照元となるファイルがあるディレクトリをカレントディレクトとし、カレントディレクトリを「 . / 」という記号で表して、続けて相対パスを記述します。(「 . / 」は多くの場合省略される)

カレントディレクトリより下位のサブディレクトリの中のファイルを参照するときは、パスにそのサブディレクトリ名を指定し「サブディレクトリ名 / ファイル名」のように記述します。

カレントディレクトリより一つ上位になるディレクトリ(親ディレクトリ)に遡ってファイルを参照する場合には、親ディレクトリを「 . . / 」という記号で表して、「  . . / ファイル名」とします。

 

ファイルシステムの種類と特徴

この記事での学習内容 ITパスポート 基本情報 応用情報

ハードディスク装置などの補助記憶装置の領域を,OS や利用者がファイルやディレクトリ(フォルダ)として使用できるようにするための機能を理解する。また,OS ごとに異なるファイルシステムが提供されていること,代表的なファイルシステムの特徴を理解する。

用語例:FAT ファイルシステム,NTFS,HFS(Hierarchical File System),NFS(Network File System),ボリューム

ファイルシステム

ファイルシステムとは、ハードディスクなどの記憶媒体中にファイルやディレクトリを作成・管理する仕組みのことです。ファイルシステムはOSによって異なり、FAT、NTFS、HFSなどがあります。

FAT(File Allocation Tables)

FATはハードディスク媒体の領域の区分である、クラスタの割り付け状況の表です。クラスタの使用状態・空き状態を記録したり、クラスタの連鎖を表すためにFATをリンクしたりします。FAT方式は、ハードディスク媒体のファイル管理の方式として普及しています。

FATの項目はクラスタの状態をビットで表す簡潔な形式です。ビット数の異なる幾つかの方式があり、扱えるハードディスク媒体の容量には限界があるので、非互換や効率低下があることをユーザが意識することがあります。代表的なものにFAT16、FAT32があり、WindowsでもUSBメモリなどの外部媒体にはFAT32がよく用いられています。

NTFS(NT File System)

NTSFはマイクロソフトのOSであるWindows NTで使われはじめて本格的なファイル管理方式です。FATよりも複雑ですが、アクセス権を記録するので、複数のユーザが使用する場合の安全性が高まります。また、アクセスを記録して障害時の復旧が容易なので信頼性が高まります。

アクセス権の細かな設定の他に、1ファイル、1ドライブの最大容量がFATよりも大きく取れるのが特徴です。

HFS(Hierarchial File System)

HFSは、木構造の管理情報を用いてハードディスク媒体のファイルを階層的に管理する方式です。配列型の表を用いるFATに比べて柔軟性があるのが特徴です。

ボリューム

ボリュームとは一つの記憶媒体の一区画を示す単位です。磁気テープ1本、ハードディスク1台といった単位でボリューム名(ボリュームラベル)がつけられて管理されます。OSによっては、1台のハードディスクに複数のボリュームを作成できるものもあります。

通常、1つのボリュームには複数のファイルを収納します。ファイル管理プログラムが表示するファイルやフォルダの階層図にはボリュームも表示されます。

その他のファイルシステム

その他の代表的なファイルシステムとしては、UNIX系で用いられるJFSがあります。

JFSはジャーナル・ファイル・システムの意味で、ファイルシステム上のメタデータをトランザクション単位で管理・保持している。

その他、Linux系で用いられるext3、ext4などもよく知られています。

 

ファイル編成とアクセス手法

この記事での学習内容 基本情報 応用情報

ファイル編成やアクセス手法の種類,特徴を理解する。また,各編成方式におけるレコードの追加,削除,変更などの処理方法を理解する。

用語例:論理レコード,物理レコード,ブロック,非ブロックレコード,ブロックレコード,ブロックサイズ,順次アクセス,直接アクセス,動的アクセス,順編成,区分編成,索引順編成,直接編成,VSAM 編成,あふれ域,ブロッキング,デブロッキング

アクセス方式

順次アクセス

順次アクセスとは、記憶媒体のデータを先頭から順序どおりに読み込みや書き出しをするアクセス方式です。磁気テープ媒体に向いています。後述する直接アクセスと比較すると、場所を探す時間がかかりませんが、任意の場所にアクセスするためには、順送りや順戻しをするのに時間がかかります。

直接アクセス

直接アクセスとは、記憶媒体のデータを配列とみなして、任意の場所を直接アクセスして、読み込みや書き出しを行うアクセス方式です。ハードディスク媒体やフラッシュメモリに向いています。目的の場所に移動するのに少し時間がかかりますが、順送りや順戻しの時間はかかりません。

動的アクセス

動的アクセスとは、基本的には順次アクセスをしますが、任意の場所へ移動するときだけは直接アクセスで行うという、順次アクセスと直接アクセスを組み合わせた方式です。光ディスクの類はこの方法です。映画のDVDのように、先頭からの順次アクセスであったり、ドラマやバラエティー、音楽等の場合、チャプタや曲の先頭に行くまでは、直接アクセスする必要があるが、そこからしばらくは順次アクセスで良い場合が多いので、映像・音楽コンテンツでよく利用される光ディスクにはこのアクセス方法がマッチしています。

ファイル編成

順編成

順編成は、一つのファイルを構成する複数のレコードが、一次元的に並んだ編成です。順次アクセス向きです。

直接編成

直接編成は、一つのファイルを直接アクセス可能なレコードの集合とする編成です。レコード中のキー値を元にして格納アドレスを決定します。その位置をアクセスして読み込みや書き出しをします。

索引順編成

索引順編成は、本来のデータの他に索引(インデックス)部を持つ本のような編成です。任意に索引を作ることによって、順次アクセスを基本として、直接アクセスや動的アクセスも可能です。

あふれ域

あふれ域とは、索引編成において本来のデータ域に収まりきらなくなったデータを収容する領域です。索引順編成が順次アクセス、直接アクセス、および動的アクセスを可能にするために、あふれ領域が使われます。なお、あふれ域が大きくなってくると、再編成という作業が必要になります。

区分編成

区分編成は、一つのファイルを構成する複数のメンバの先頭アドレスをディレクトリに記録して、それぞれ一つのメンバは複数のレコードの順編成である階層的な編成です。メンバに対して直接アクセスし、メンバ内のレコードに対しては順次アクセスするので、動的アクセス向きです。

VSAM(Virtual Strage Access Method)編成

VSAM編成は主記憶装置と補助記憶装置の両方にわたって、仮想的なファイルを編成するものです。レコードが主記憶装置にあれば、アクセスは高速になります。

仮想記憶が主記憶装置のメモリを補助記憶装置へも仮想的に拡張したものであるのと反対に、VSAMは補助記憶装置上のファイルを主記憶装置に仮想的に拡張したものです。

レコードを論理的な記憶空間上で管理するもので、媒体の物理的特性に依存しない方式です。

ファイル=データセットという単位で扱い、
・入力順データセット=順編成ファイルに相当します。
・キー順データセット=索引順編成ファイルに相当します。
・相対レコードデータセット=直接編成ファイルに相当します。

 

なお、最近のサーバ~PC向けのOSの場合、OSが管理するのはファイルシステムまでとし、ファイルの中身の編成方法については、アプリケーションに任せているケースも多くあります。
例えばPDFファイルなどのように、多数のOSをまたがってやり取りされるようなファイルも存在するので、ファイルの中身についてはプラットフォームに依存しないように、アプリケーション側にファイルの編成方式を委ねています。

バックアップ

この記事での学習内容 ITパスポート 基本情報 応用情報

ファイルのリカバリを目的としたバックアップの取得方法と手順,世代管理,ファイルの修復方法と手順など,バックアップの方式を理解する。

用語例:多重バックアップ,フルバックアップ,差分バックアップ,増分バックアップ

バックアップ

大量のデータを保存し、大勢のユーザが共有利用するデータベースは万が一の障害に備えて、定期的にバックアップを作る必要があります。

バックアップの作成方法には、データをすべてコピーするフルバックアップ方式と、部分的にコピーする差分バックアップ方式、増分バックアップ方式があります。

一般的には、定期的なフルバックアップと差分又は増分バックアップを組み合わせて運用します。

フルバックアップ

ファイルを丸ごとコピーしてバックアップファイルを作成する方法をフルバックアップといいます。

フルバックアップは作成時も復旧(リストア)時も一度のコピー作業で済みますが、大量のデータを一括してコピーするためバックアップ作業に長時間かかるという欠点があります。

差分バックアップ

一度フルバックアップを行った後、さらに更新されたデータのみをバックアップする方法を、差分バックアップといいます。差分バックアップは通常、定期的なフルバックアップと組み合わせて行います。

差分バックアップはフルバックアップに比べるとコピーするデータの量が少なくなるので、作業時間が短くて済むという利点があります。

しかし、障害が起きた後のリストア作業として、一旦フルバックアップのデータを書き戻し、それから障害発生の直前に作成した差分バックアップのデータを書き戻す必要があるため、復旧作業の時間が長くなるという欠点があります。

増分バックアップ

前回のフルバックアップもしくは差分バックアップの後で、さらに更新されたデータのみをバックアップしていく方法を増分バックアップといいます。

増分バックアップはコピーするデータ量が少なくて済むので短時間でバックアップできますが、リストア作業として、直前のフルバックアップのデータを書き戻し、その後に作成した全ての増分バックアップのデータを順に書き戻す必要があるため、復旧作業に手間と時間がかかります。

 

どのバックアップ方式を選ぶか、どんな周期でフルバックアップを作成するかは、データの量や重要度に応じて決定します。

頻繁に更新するデータほど、こまめにバックアップを取る必要があり、速く復旧させることが重視される場合には、フルバックアップもこまめに作成する必要があります。

バックアップの運用ルール

大量のデータのフルバックアップを作るには長い時間がかかるため、運用スケジュールと実施責任者を決め、業務に支障なく確実に行えるように管理する必要があります。

バックアップ処理中にファイルを更新すると正副のデータに矛盾が起きてしまうので、バックアップ処理はユーザからのファイルアクセスのない、業務時間外や深夜などに行います。確実に手間なくバックアップを作成するためには、バックアップ作業を自動化するのが一般的です。

バックアップ用の媒体

バックアップを作成する媒体には、DATなどの磁気テープや、DVD-RAMなど、大量のデータを繰り返し複写できる媒体が適しています。

媒体の管理

バックアップファイルを、原本となるデータと同じハードディスク内などに作ると、ディスク装置が故障した場合に両方共失われてしまうので、通常、原本とは別の媒体に作成します。

また、地震や火事などの災害時を考慮し、バックアップ媒体はシステムのある場所とは別のところに保管するのが望ましいとされています。

世代管理

バックアップ媒体を最新の1セットしか保存しないと、バックアップ作成途中のトラブルなどで正副両方のデータが失われてしまった場合に復旧できなくなるので、以前のバックアップデータも何世代かに渡って残しておくほうが安全です。バックアップ媒体にはラベルを貼るなどし、世代別にきちんと管理します。

開発ツール

情報処理技術者試験での学習内容

【応用情報・基本情報】
ソフトウェア開発に用いる開発ツールの種類,特徴,機能を修得し,応用する。

【ITパスポート】
オフィスツールなどのソフトウェアパッケージの特徴と基本操作を理解する。

(1)開発ツールの種類と特徴 基本情報 応用情報

設計を支援するツール,プログラミングやテストを支援するツール,ソフトウェア開発の各工程を通して自動化,効率化を目的とするツール,開発作業全体を一貫して工程を支援するIDE(Integrated Development Environment:統合開発環境)など,代表的な開発ツールの種類,特徴,機能を理解する。

用語例:設計支援ツール(SADT:Structured Analysis and Design Techniques,SREM:Software Requirement Engineering Methodology,PSL/PSA:Problem Statement Language /Problem Statement Analyzer),設計ツール,ドキュメント生成ツール,構築ツール,テストツール(静的デバッギングツール(プリティプリンタ,クロスリファレンス),動的デバッギングツール,静的解析ツール(ソースコード解析ツール,プログラム構造解析ツール),動的解析ツール(テストデータ生成ツール,テストカバレージツール,テストベッドツール,プログラム検証ツール)),ツールチェーン, エミュレータ,シミュレータ, ICE ( In-Circuit Emulator:インサーキットエミュレータ),トレーサ,インスペクタ,スナップショット,アサーションチェッカ,バージョン管理ツール

(2)言語処理ツールの種類と特徴 基本情報 応用情報

代表的な言語処理ツールの種類,特徴,機能を理解する。

ジェネレータ,原始プログラム,プリプロセッサ,アセンブラ,コンパイラ,実行時コンパイラ,クロスコンパイラ,インタプリタ,目的プログラム,リンカ,ローダ,ロードモジュール

 

開発ツールの種類と特徴

この記事での学習内容 基本情報 応用情報

設計を支援するツール,プログラミングやテストを支援するツール,ソフトウェア開発の各工程を通して自動化,効率化を目的とするツール,開発作業全体を一貫して工程を支援するIDE(Integrated Development Environment:統合開発環境)など,代表的な開発ツールの種類,特徴,機能を理解する。

用語例:設計支援ツール(SADT:Structured Analysis and Design Techniques,SREM:Software Requirement Engineering Methodology,PSL/PSA:Problem Statement Language /Problem Statement Analyzer),設計ツール,ドキュメント生成ツール,構築ツール,テストツール(静的デバッギングツール(プリティプリンタ,クロスリファレンス),動的デバッギングツール,静的解析ツール(ソースコード解析ツール,プログラム構造解析ツール),動的解析ツール(テストデータ生成ツール,テストカバレージツール,テストベッドツール,プログラム検証ツール)),ツールチェーン, エミュレータ,シミュレータ, ICE ( In-Circuit Emulator:インサーキットエミュレータ),トレーサ,インスペクタ,スナップショット,アサーションチェッカ,バージョン管理ツール

CASEツール

CASEツールはコンピュータ支援ソフトウェア工学(Computer Aided Software Engineering:CASE)というソフトウェア開発方法論のための開発支援ツールの総称です。

要求分析、機能設計、内部設計のツールを上流CASEツール、プログラム作成、試験、提供、保守のツールを下流CASEツールに区分されます。

全てのプロセスのツールを備えたものを統合CASEツールといいます。

現在よく使われているツールの例として、業務などをモデル化するためのUML作成ソフトや、プログラムソース生成ツール、バージョン管理システムなどがあります。

統合開発環境(Integrated Development Environment)

統合開発環境(IDE)は、ソフトウェアの開発支援ツール軍に対して、統一された操作インタフェースと、統一されたファイル管理を備えた開発支援システムです。

操作性やファイル管理が標準化されるとともに、開発プロセス間のファイルの受け渡しが用意になります。

ツールチェーン

ツールチェーンは、一連の開発プロセス用に並んだツール群の総称です。一つのツールの出力ファイルが、次のツールの入力ファイルになります。

コンパイラやリンカ、ユーティリティプログラムなどを組み合わせた、一連の開発プロセス用ツール群の総称です。

エミュレータ

エミュレータは、あるハードウェアやオペレーティングシステムで動作していたプログラムを、異なるハードウェアのマイクロプログラムやオペレーティングシステムのAPIを調整して動作可能にする機構です。

コンピュータをリプレースしたときや、新たなコンピュータを開発する時に利用されます。

シミュレータ

シミュレータは、あるハードウェアやオペレーティングシステムで動作していたプログラムを、異なるコンピュータで動作させる模擬実行用のソフトウェアです。

エミュレータと違って、ハードウェアやオペレーティングシステムには手を加えませんが、動作は遅くなります。

最近の流れとして、エミュレータ・シミュレータの境界線は曖昧になっており、どちらの特性も兼ね備えた、『仮想マシン環境』と呼ばれるものも存在しています。

元々は『仮想マシン環境』もテストツールとして用いられることが主流でしたが、機器の高性能化やダウンサイジング化の流れの中で、レンタルサーバ、ホスティングといった事業で、1機器で複数のサーバを運用するといった用途で用いられています。

ICE(In-circuite Emulator)

インサーキットエミュレータは、デジタル回路のエミュレータです。組込みソフトウェアを含むハードウェアの開発に用いられます。

マイクロプロセッサをエミュレーションしつつ、ソフトウェアのデバッグ機能を持っており、実際にマイクロプロセッサにソフトウェアを組み込んでデバッグするのに比べて、バグ分析やソフトウェア修正の手間が減ります。

トレーサ

トレーサは、デバッグツールの一種であり、プログラムの実行経路を表示するツールです。選択や反復の判定の間違いや性能不良の問題箇所を発見するのに役立ちます。

スナップショット

スナップショットは、デバッグツールの一種であり、データの値を表示するツールです。固定のプログラム部と変化するデータぶとを分割するオブジェクト指向プログラミングによく用いられます。

アサーションチェッカ

アサーションチェッカは、デバッグツールの一種であり、プログラムの実行経路の特定の地点で、あるデータが所定の条件を満たすか診断して、満たさなければ警告を表示するツールです。

アサーション(主張)という名前のとおり、人間だけに判断を委ねるスナップショットよりも積極的です。また、通常の診断メッセージがユーザへの表示であるのに対して、アサーションチェッカはソフトウェア開発者へのメッセージを表示します。

 

言語処理ツールの種類と特徴

この記事での学習内容 基本情報 応用情報

代表的な言語処理ツールの種類,特徴,機能を理解する。

ジェネレータ,原始プログラム,プリプロセッサ,アセンブラ,コンパイラ,実行時コンパイラ,クロスコンパイラ,インタプリタ,目的プログラム,リンカ,ローダ,ロードモジュール

原始プログラム

原始プログラムは、プログラム言語で書かれた文字列のファイルです。人間が書いたり読んだりするプログラムであり、そのままではコンピュータでは実行できません。

オブジェクトプログラム

オブジェクトプログラムは、コンパイラやアセンブラが出力した機械語プログラムです。メインルーチンやサブルーチンや再利用のためのルーチンが分かれており、機械語部分の他に、リンカが結合するための結合用の情報がついています。

ロードモジュール

ロードモジュールは、主記憶装置にロードして実行できる機械語命令だけのファイルです。ただし、動的リンクのための情報を持っていることがあります。ロードモジュールはリンカによって出力され、ローダによって入力されます。

リンカ

リンカ(連係編集プログラム)は、複数のオブジェクトプログラムを入力して結合し、一つのロードモジュールを出力するソフトウェアです。コンパイラやアセンブラが原始プログラムの形式のメインルーチンやサブルーチンを翻訳して、複数のオブジェクトプログラムを出力します。リンカはそれらを結合するのに加えて、既存の目的ライブラリの中のオブジェクトプログラムを再利用するために結合することも行います。

ローダ

ローダは、補助記憶装置上のロードモジュールを主記憶装置上へ読み込むソフトウェアです。

クロスコンパイラ

クロスコンパイラは、原始プログラムを翻訳して、異なる種類のコンピュータ向けのオブジェクトプログラムを出力するコンパイラです。

対象のコンピュータの開発途上の期間に用いたり、対象のコンピュータがソフトウェアの開発に向かない場合に用いたりします。

ジェネレータ

ジェネレータは、パラメータを入力して目的プログラムを出力するソフトウェアです。プログラムのロジックが定型的である分野で、本格的なプログラミングをすること無しにプログラムを作成することができます。

プリプロセッサ

プリプロセッサは、何らかのファイルを入力して、原始プログラムを出力するソフトウェアです。

原始プログラムを整形したり、定型的な部分を、ライブラリから取り込んで展開したりします。

コンパイラの前に実行されるプロセッサなので、プリプロセッサといいます。

 

オープンソースソフトウェア(概要)

情報処理技術者試験での学習内容

【応用情報・基本情報】
オープンソースソフトウェアの種類,特徴,機能,構成,利用上の考慮点,動向を修得し,応用する。

【ITパスポート】
オープンソースソフトウェア(OSS:Open Source Software)の特徴を理解する。

(1)OSS の種類と特徴,機能,構成 ITパスポート 基本情報 応用情報

LAMP/LAPP(LAMP:Linux,Apache,MySQL,PHP,LAPP:Linux,Apache,PostgreSQL,PHP)を中心に広く利用されているOSS(Open Source Software:オープンソースソフトウェア)の代表的な種類,特徴,機能,再配布の自由,派生ソフトウェア改変の許諾などオープンソースライセンシングの内容を理解する。

用語例:Linux カーネル,Perl,Python,Ruby,オープンソースライブラリ,CPAN,PEAR,jQuery,コピーレフト(Copyleft),デュアルライセンス,GPL(General Public License ), BSDL ( Berkeley Software Distribution License ), MPL ( Mozilla Public License),Apache ライセンス

(2)UNIX 系OS 基本情報 応用情報

代表的なOSS であるUNIX,UNIX 互換OS を含むUNIX 系OS を理解する。

用語例:NetBSD , IRIX , Linux , FreeBSD ( Free Berkley Software Distribution ),OpenBSD,The Open Group

(3)オープンソースコミュニティ 基本情報 応用情報

オープンソースコミュニティによるソフトウェア開発の仕組みを理解する。

用語例:SCM(Source Code Management:ソースコード管理)

(4)OSS の利用・活用と考慮点 ITパスポート 基本情報 応用情報

ライセンスの適用範囲,利用時のサポートにかかるコスト,問題発生時の対処など,OSSを利用する上で考慮すべき点を理解する。

用語例:安全性,信頼性

(5)OSS の動向 基本情報 応用情報

OSS の開発や普及の動向を理解する。

オープンソースソフトウェア

OSSの種類と特徴、構成 ITパスポート 基本情報 応用情報

無償で利用できるソフトウェア

一定の制限のもとに無償で利用できるソフトウェアがあります。インターネット上のサイトからダウンロードして利用できるものが一般的で、利用の仕方によって、フリーウェア、シェアウェア、オープンソースソフトウェアに分けられます。

フリーウェア
開発者が誰でも自由に使えるようにネットワークなどで配布しているソフトウェア。著作権を放棄しているわけではなく、ユーザが無償で使うことを許諾している。
シェアウェア
通常、無償で使える試用期間を設けて、使用を継続するためには料金を払う形式で配布されるソフトウェア
オープンソースソフトウェア
プログラムのソースコードをインターネット状などで公開し、一定の条件のもとでの変更や改変を許しているソフトウェア。
再配布が自由で、ソースコードから派生ソフトウェアを改変することが許されている。Linuxが代表的。

コピーレフト

コピーレフトとは、著作者が著作物の自由な利用、再配布、改変を許諾する考え方です。著作権(コピーライト)が許諾契約なしには、再配布や改変ができないのとは反対の考え方なので、コピーライトに対してコピーレフトという造語で呼ばれています。

ソフトウェアの添付文書や表示画面に、コピーレフトである旨を表示することによって、不特定多数の人が利用、再配布、改変、改変物の再配布ができます。

OSSのライセンス

オープンソースソフトウェア(OSS)は一定の条件下での利用・改変・頒布を認めているソフトウェアのことです。

そのライセンス体系の代表的な種類として、GPL、BSDL、MPLがあります。

GPL(GNU General Public License:GNU GPL)

GPLはコピーレフトの代表的なものです。フリーソフトウェアと比べると、二次的著作物についてもコピーレフトの制約を引き継ぐ点が異なります。

GPLで制約されているコピーレフトの制約とは、2次的著作物を再頒布する場合には、GPLライセンスを継承する必要がある点、GPLライセンスのソースコードを一部でも組み込んだものはその制約によって、ソースコードを公開することが求められる点などがあります。

BSDL

自由度の高いライセンス形態。無保証を宣言し、著作権やライセンス条項にBSDLである旨を表示すれば、改変や再頒布が認められる。その際にソースコードの改変は必要なく、二次的著作物でコピーレフトを引き継ぐ必要はない。

MPL

独自開発のソースコードにMPL適用のOSSのコードを組み合わせた場合、改変部分のソースだけを開示すればよい。また、二次的著作物はMPL/GPL/LGPLのいずれかを採用することが選択できる。

LGPL

GPLライセンスから派生した、主にライブラリとして提供されるソフトウェア向けのライセンス形態。LGPLライセンスのソフトウェアを『リンク』として利用するだけであれば、コピーレフトの制約を引き継ぐ必要がないというもの。

OSSを利用したシステムの構成

LAPP

LAPPとは、オープンソースソフトウェアだけでオペレーティングシステムおよびミドルウェアを揃えた定番の組み合わせです。

Linux、Apache、PostgresSQL、PHPの頭文字を取ってLAPPと呼ばれます。

  • Linux:オペレーティングシステム
  • Apache:Webサーバソフトウェア
  • PostgresSQL:データベース管理システム
  • PHP:Web用スクリプト言語及び言語処理ソフトウェア

LAMP

LAPPと同様に、オープンソースソフトウェアだけでオペレーティングシステムおよびミドルウェアを揃えた定番の組み合わせです。

  • Linux:オペレーティングシステム
  • Apache:Webサーバソフトウェア
  • MySQL:データベース管理システム
  • PHP:Web用スクリプト言語及び言語処理ソフトウェア

UNIX系OS 基本情報 応用情報

主なUNIX系OSには、次のようなものがあります。

Solaris
商用UNIX。旧サン・マイクロシステムズ社が開発し販売したOS。
AIX
商用UNIX。IBM社が開発したOSで、サーバコンピュータで採用される。
UnixWare
SCO社による、商用UNIX。
HP-UX
商用UNIX。ヒューレット・パッカード社が開発したOS。
NetBSD
非商用UNIX。カリフォルニア大学バークレー校が開発したOSをベースとしている。移植性が高い。
FreeBSD
PC/AT互換機向けに特化した、非商用UNIX。
OpenBSD
NetBSDから派生した非商用UNIX。セキュリティが高い。
Linux
ライナス・トーバルス氏によって開発された非商用UNIX。この派生版が多数存在し、インターネット上のサーバによく用いられる。

オープンソースコミュニティ 基本情報 応用情報

オープンソースコミュニティとは、OSSの開発者やユーザから構成される非営利の団体です。

OSSの共同開発やバグ修正のパッチ作成と配布、セミナー開催などの啓蒙活動を行います。

現在、LinuxやApacheなど、さまざまなOSSのオープンソースコミュニティが活動しています。

OSSの利用・活用と考慮点 ITパスポート 基本情報 応用情報

オープンソースソフトウェアを利用・活用するには、次のような点を考慮する必要があります。

  • ソフトウェアの利用条件(ライセンス)をすべての関係者が正確に理解する。
    • フリーウェア、シェアウェア、コピーレフトなどとの違いを理解する。
    • 当該ソフトウェアの添付文書や表示画面の許諾条件を理解する。
    • 条件を遵守できない場合にどういう問題になるかを理解する。
  • 有償であれば、販売者側の営業員、SE、保守員、教育講師、ヘルプデスク等がしてくれる作業が、利用・活用する側の労力コストになるかどうかを見積もる。必要なら適度の料金の有償の支援サービスを依頼する。
  • ソフトウェアの安全性を検討する。委託開発と違って、導入に要する期間が短いが、安全性などの検討を疎かにしないようにする。
  • ソフトウェアに不具合があっても、修正サポートや損害賠償の責任を要求できないことを理解する。自社および社外の再配布先で不具合があった場合にどうするかを考えておく。

 

ハードウェア

情報処理技術者試験での学習内容

【応用情報・基本情報】
・コンピュータの構成部品である電気・電子回路,機械・制御を修得し,応用する。
・構成部品や要素とその実装,組込みシステムを構成する部品の役割,部品間の関係を修得し,応用する。
・最適な構成で設計するための論理設計の留意事項を修得し,応用する。
・組込み機器の開発における消費電力の重要性,関連する技術,動向を修得し,応用する。

(1)電気・電子回路 基本情報 応用情報

コンピュータの基本的な論理回路であるAND 回路,OR 回路,NOT 回路などの動作原理,論理回路は,組合せ論理回路と順序論理回路に分類できること,回路ごとの特徴を理解する。

用語例:NAND 回路,XOR 回路,フリップフロップ

(2)機械・制御 基本情報 応用情報

代表的な機械電子制御の実現方法について,その構造や動作原理,各部の働きを理解する。

用語例:オープンループ制御,クローズドループ制御,シーケンス制御,フィードバック制御,PWM(Pulse Width Modulation:パルス幅変調)制御

(3)構成部品及び要素と実装 基本情報 応用情報

1.半導体素子

代表的な半導体素子の動作原理,構造,特性,実装を理解する。

用語例:ダイオード, LED , トランジスタ, IC , LSI , VLSI ( Very Large Scale Integration),CMOS,バイポーラ,BiCMOS(Bipolar Complementary MOS),バイポーラメモリ

2.カスタムIC

利用者が要求する回路をIC として実現できることを理解する。

用語例:ASIC(Application Specific IC),FPGA(Field Programmable Gate Array),HDL(Hardware Description Language:ハードウェア記述言語)

3.システムLSI

組込み分野などで利用され,複数の半導体を組み合わせることによって占有面積を縮小し,システムを小型化し,高速化,低コスト化などのメリットがあることを理解する。

用語例:コデザイン,SoC(System on a Chip)

4.組込みシステムの構成部品

組込みシステムを構成する部品の役割,部品間の関係を理解する。

用語例:プロセッサ,DSP(Digital Signal Processor),センサ,アクチュエータ,メモリ,ASIC,D/A コンバータ,A/D コンバータ,MEMS,診断プログラム

(4)論理設計 基本情報 応用情報

性能,設計効率,コストなどを考慮して,どの構成が最適であるのかを検討し,設計することを理解する。 

用語例:回路設計,タイミング設計,同期式設計,非同期式設計,加法標準形,論理圧縮

(5)消費電力 基本情報 応用情報

ハードウェアの消費電力について,組込み機器の開発における消費電力の重要性,関連する技術,動向を理解する。

用語例:低消費電力化,リーク電流,パワーゲーティング,クロックゲーティング

電気・電子回路

この記事での学習内容 基本情報 応用情報

コンピュータの基本的な論理回路であるAND 回路,OR 回路,NOT 回路などの動作原理,論理回路は,組合せ論理回路と順序論理回路に分類できること,回路ごとの特徴を理解する。

用語例:NAND 回路,XOR 回路,フリップフロップ

AND/OR/NOT回路の動作原理

コンピュータのデジタル処理は、論理積(AND)、論理和(OR)、否定(NOT)などの論理演算の組み合わせです。数値の加減乗除も論理演算の組み合わせです。

論理演算は半導体集積回路(IC)で実現されますが、原理としてはダイオード、トランジスタ、抵抗などで構成される電気回路です。電圧の高低を論理演算の真と偽、あるいは2進数の1と0として扱います。

ここではわかりやすいように、トランジスタなどによる回路の代わりに簡単なスイッチを用いて論理演算の原理を説明します。

組み合わせ回路と順序回路

組み合わせ回路:入力された値で出力値が決まる回路。半加算回路、全加算回路など

順序回路:入力値+その時の内部の値とで出力する値が決まる回路。フリップフロップ回路など

フリップフロップ回路

フリップフロップ回路は、二つの論理素子が、入力の真偽を反転して出力し、それを他方の入力としてフィードバックし合うことによって、真または偽の状態を保ち続ける回路です。外部からの入力が真偽を反転させると、反転した状態へ遷移します。

磁気などを用いずに電気だけで記憶することが出来るので、高速の記憶手段として使われます。一つのフリップフロップ回路が1ビットに相当します。

主に主記憶装置やレジスタ、キャッシュなどSRAMに使われている回路。その回路の方式で、RS型、JK型、D型、T型など、多種に渡ります。

例として、最もシンプルなRS型の回路図を示します。

RSという名称は、リセット(Reset)とセット(Set)の2入力の信号名に由来する。 RS型フリップフロップのブロック図と真理値表を示す。

なお、RS型は同時にRとSに入力があると、結果が不定になります。

機械・制御

この記事での学習内容 基本情報 応用情報

代表的な機械電子制御の実現方法について,その構造や動作原理,各部の働きを理解する。

用語例:オープンループ制御,クローズドループ制御,シーケンス制御,フィードバック制御,PWM(Pulse Width Modulation:パルス幅変調)制御

制御

制御とは、計測によって得られた入力値を元に、出力値を調整することです。

入力や出力に使われるものは、電圧、電流、圧力、温度、音量、音程などアナログ信号が使われます。

これに対して、入力された値をコンピュータ処理する際には、デジタル信号で扱われますので、必要に応じてA/D変換、D/A変換が行われます。

クローズドループ制御

クローズドループ制御とは、機械を電子制御する方式の一種で、対象を操作して、対象が変化した状態を確認して操作を調整する方式です。

クローズドループ制御の例としては、電気ポットがあります。水を加熱して、所定の温度になったら加熱を止めます。

フィードバック制御

フィードバック制御とは、制御した結果を常に監視して、目標値と比較し、次の制御に反映させる制御方法です。フィードバックとは、ある出力・結果を差し戻して反映させるという意味です。

シーケンス制御

シーケンス制御とは、あらかじめ定められた順序又は手続きに従って制御の各段階を逐次進めていく電子制御です。シーケンス制御の例には洗濯機があります。洗濯をして、すすぎをして、脱水をします。

オープンループ制御

オープンループ制御とは、制御量の入力値のみを計算する制御方法です。測定値によるフィードバックはせず、外的要因などは一切考慮しません。あらかじめ決められた手順や時間のみで制御する場合に適します。

フィードフォワード制御

フィードフォワード制御とは、外的要因が出ないように必要な反映を行う制御方法です。影響が現れる前に必要な修正を行います。探知機(センサ)を使用することなく、使用機器の精度に頼ります。また外的要因に対して適切な制御を行えるとは限りません。

PWM(パルス幅変調)

パルス幅変調(Pulse Width Modulation:PWM)とは、パルスの幅を変化させて信号を伝送する方式の変調です。この信号によって機械ので夏や電流を制御します。PWMは空調機などの制御に用いられます。

構成部品及び要素と実装

この記事での学習内容 基本情報 応用情報

  • 代表的な半導体素子の動作原理,構造,特性,実装を理解する。
  • 利用者が要求する回路をIC として実現できることを理解する。
  • 組込み分野などで利用され,複数の半導体を組み合わせることによって占有面積を縮小し,システムを小型化し,高速化,低コスト化などのメリットがあることを理解する。
  • 組込みシステムを構成する部品の役割,部品間の関係を理解する。

用語例:ダイオード, LED , トランジスタ, IC , LSI , VLSI ( Very Large Scale Integration),CMOS,バイポーラ,BiCMOS(Bipolar Complementary MOS),バイポーラメモリ、ASIC(Application Specific IC),FPGA(Field Programmable Gate Array),HDL(Hardware Description Language:ハードウェア記述言語)、コデザイン,SoC(System on a Chip)、プロセッサ,DSP(Digital Signal Processor),センサ,アクチュエータ,メモリ,ASIC,D/A コンバータ,A/D コンバータ,MEMS,診断プログラム

半導体

半導体とは、電気を通す物質(良導体)と電気を通さない物質(絶縁体)の中間的な性質を持つ物質です。シリコンやゲルマニウムなどを用いる微量の添加物によって伝導性を調整します。(N型半導体、P型半導体など)

このような半導体の性質を利用した素子や電子部品を半導体素子といいます。ダイオード、トランジスタ、発光ダイオード(LED)、集積回路(IC、LSI)などがあります。

ダイオード

ダイオードは、電流を整流する電子部品です。交流を直流を帰ることなどに使われます。現在では半導体ダイオードが普通です。

整流ダイオード
交流を直流に変える
スイッチングダイオード
高速スイッチとして用いる
ツェナーダイオード
定電圧化、過電流防止に用いる。

トランジスタ

トランジスタは、増幅やスイッチ動作をする半導体部品です。アナログ回路ではラジオ、テレビ、音響機器の増幅回路などに使われますが、デジタル回路では論理素子として使われます。トランジスタは典型的にはシリコンという半導体で作られます。

LED(Light Emitting Diode)

LED(発光ダイオード)はエレクトルミネセンスという原理に基づく、電流を流すと発光する半導体素子です。長寿命で小型軽量なことも特徴で、小さな表示ランプ、照明器具、およびディスプレイ装置などに使われます。

IC(Integrated Circuit)

IC(半導体集積回路)は、抵抗、コンデンサ、ダイオード、トランジスタ、電線などの電子素子を半導体だけで全て一体として作った部品です。複数の端子が出ていて、他の部品と接続します。

トランジスタなどの部品を用いるのに比べて格段に小さくすることができ、複雑なCPUや主記憶装置も爪程度の大きさで実現できます。

LSI(Large Scale Integration:大規模集積回路)は、素子の集積度が1000個から10万個程度の半導体集積回路です。

VLSI(Very Large Scale Integration)は、素子の集積度が10万個から1000万個程度の半導体集積回路です。

現在では集積度の高い半導体集積回路は珍しくないので、集積度に関わりなくICやLSIと呼ぶのが普通です。

CMOS(Complementary Metal Oxide Semiconductor)

CMOS(相補型金属酸化膜半導体)は、その名の示すとおりの構造の半導体で、チャネルの異なるトランジスタを一つの半導体に組み込んだ論理回路です。消費電力が低いことや安価であることが特徴であり、携帯機器やノートパソコンに用いられたり、コンピュータの中でも性能よりも低価格を重視する部品に用いられたりします。

 

 

論理設計

この記事での学習内容 基本情報 応用情報

性能,設計効率,コストなどを考慮して,どの構成が最適であるのかを検討し,設計することを理解する。 

用語例:回路設計,タイミング設計,同期式設計,非同期式設計,加法標準形,論理圧縮

論理回路

論理回路は、論理演算を行う電気回路です。電気信号は連続した信号値を扱うアナログ回路と、電圧の高低で0と1だけを扱うデジタル回路とに区分されます。

論理回路はデジタル回路の類似語であり、0と1のデジタル値について論理積(AND)、論理和(OR)、否定(NOT)などの論理演算を行うことを特徴に出した用語です。これらの論理演算の素子を回路として組み合わせて、加減乗除を含む高度な処理をします。

コンピュータを構成するCPU、主記憶装置、補助記憶装置、入出力装置、ネットワーク装置のいずれにも、論理回路が用いられています。

論理設計

論理設計は、論理回路を設計することです。狭義には論理演算を組み合わせる部分を設計することを論理設計といいます。

講義の論理設計では、次のような性質を考慮します。

回路設計

回路設計とは、回路を設計することです。論理回路の場合には、狭義の論理設計をしたあとを受けて、狭義の回路設計として、トランジスタ、抵抗、コンデンサの電気的性質を考慮して設計するプロセスを意味します。

  • システム設計:回路全体の構造
  • アーキテクチャ設計:ソフト・ハードの切り分け
  • 論理設計:回路で用いるCMOSの種類
  • レイアウト設計:回路や配線の配置
  • マスク設計:マスクパターンの設計
  • デバイス設計:CMOSの構造、配線の種類等

論理設計上の考慮点

論理設計では、以下のような項目を考慮して設計を勧めますが、全てを満たせるとは限らないので、優先順位を明確にすることが重要です。

  • 機能を高度にする。又は特殊な機能を追求する。
  • 速度性能を速くする。
  • サイズを小さくする。
  • 価格を安くする。また、消費電力などの運用コストを安くする。
  • 発熱量を減らす。
  • 設計・製造の品質、費用、時間を改善する。

素子を小さくして、集積度を上げることは、機能、速度、サイズ、価格、消費電力、発熱などのすべての面で高影響をあたえることが多いです。ただし、対立する場合もあり、高性能製品と安価製品とに設計方針が別れたりします。

論理回路が複雑になると、その設計にはソフトウェア開発と似たような性質が見られ、人間の設計ミス(バグ)が問題になります。一方、設計作業にもデジタル処理という誤差のない情報処理を適用できるので、ハードウェア記述言語(HDL)、正当性の検証、シミュレーションなどによって、品質や生産性を向上させることができます。

HDL(Hardware Description Language)

HDLはハードウェアの動作を記述する言語です。プログラム言語と同じような記述で電子回路を自動設計できます。

  • 回路の動作を文字で記述
  • 論理シミュレーションで動作を確認
  • 構成部品の接続関係を記述したファイル(ネットリスト)に変換

 

消費電力

この記事での学習内容 基本情報 応用情報

ハードウェアの消費電力について,組込み機器の開発における消費電力の重要性,関連する技術,動向を理解する。

用語例:低消費電力化,リーク電流,パワーゲーティング,クロックゲーティング

消費電力

デジタル回路やモーターなどの消費電力は、コンピュータにおいてもその削減が重要な課題です。特に大型のメインフレームコンピュータやサーバコンピュータでは、1台あたりの消費電力が大きく、休みなく作動させるという意味で消費電力の改善が大切です。パソコンの場合は、台数が多いという意味で改善が大切です。また、ノートパソコンの場合は、形態時の消費電力を削減するほど、使用可能時間を長くすることが出来るので、やはり重要な課題となります。

コンピュータ組み込み機器の場合には、消費電力について次のような点を考慮する必要があります。

  • 機器分野が消費電力の削減にしのぎを削っているので、主要な部品とはいえないコンピュータだけが特別扱いを受ける訳にはいかない。
  • 携帯機器の場合には、使用可能時間を伸ばすために、消費電力の削減が必要である。
  • 冷却機器を付けられない機器の場合には、発熱量の削減が必要であり、それが消費電力の削減にもつながる。
  • 機能や速度性能よりも、製造コストやサイズが優先されることが多いので、機能や速度向上をどの程度で見切るかが、消費電力の削減にもつながる。