コンピューターシステムは,単体の機器だけで動いているわけではなく,複数の装置や構成要素が組み合わさって成り立っています。基本情報技術者試験でも,「システム構成」は頻出かつ理解差が出やすい重要分野です。システムの全体像をきちんと整理できていますか?
- システム構成=単一構成・多重化構成・分散処理で信頼性と効率を高めるしくみ
初学者の方や,基礎を体系的に復習したい方に向けたまとめページです。
後半には練習問題も用意しています。各構成の特徴と違いを意識しながら理解を確認していきましょう。
システムの処理方式とは
処理を行うタイミングによる分類
バッチ処理(一括処理)とは
バッチ処理とは,一定期間に発生したデータを蓄積しておき,あとで,まとめて(一括で)処理する方式のことをいいます。給与計算など,大量のデータを一定期間ごとに処理する業務に適しています。
※ 金融機関などでは,夜間にバッチ処理を行うことが多い
リアルタイム処理とは
オンライントランザクション処理とは
オンライントランザクション処理とは,利用者などが端末から入力したデータを即座に処理する方式のことをいいます。大量のデータを遅延なく処理する必要があるため,システムには高い性能が要求されます。また,処理途中で中断できないため,高い信頼性も要求されます。座席予約やチケットの予約,金融機関の入出金,オンラインショッピングなどの業務に適しています。
リアルタイム制御処理とは
リアルタイム制御処理とは,利用者からの指示や機器などの状態の変化,まわりの環境の変化などに応じて,即座に機器の制御を行う方式のことをいいます。工場のロボットや,家電などに用いられています。
ハードリアルタイムシステムとは
ハードリアルタイムシステムは,遅延が許されない(遅延が発生した場合,致命的な問題が生じる)システムをいいます。
例)エアバッグ制御システム,ペースメーカーなど
処理を行う場所による分類
集中処理とは
集中処理とは,1か所(または1台)で処理することをいいます。アプリケーションやデータを中央に配置し,複数の端末で共有します。個々の端末では処理は実行せず,データの入出力などを行います。
長所
- 管理が容易(資源が中央に集中しているため)なので,効率よく運用できる
- セキュリティの確保が容易
短所
- 中央の装置は複雑になりやすい
- 中央の装置が故障すると,システム全体が停止する恐れがある
分散処理とは
分散処理とは,複数箇所で(分散して)処理することをいいます。それぞれのコンピューターの性能は平凡でも,多数のコンピューターが連携すると,全体としては高い性能を得ることができます。
長所
- システムの拡張が容易(必要な部分のみ追加・変更できる)
- 1か所(または1台)が故障しても,システム全体に与える影響が小さい
短所
- データが分散するため更新に時間がかかり,また,不整合も発生しやすい
- セキュリティの確保が難しい
練習問題
問1 次の①~⑤について,システムの処理方式を答えよ。
① 入力されたデータを即時に処理する方式は?
② 一定期間分のデータをまとめて一括処理する方式は?
③ 機器の状態変化に応じて即座に制御を行う方式は?
④ 給与計算を夜間にまとめて実行するのに適しているのは,①~③のどの処理方式か?
⑤ 工場のロボット制御など,外部からの入力や環境変化に対して,即座に制御処理をするのに適しているのは,①~③のどの処理方式か?
⑥ 銀行のATMで入出金を即時に処理するのに適しているのは,①~③のどの処理方式か?
① オンライントランザクション処理
② バッチ処理(一括処理)
③ リアルタイム制御処理
④ バッチ処理(一括処理)
⑤ リアルタイム制御処理
⑥ オンライントランザクション処理
問2 次の①~⑤について,処理を行う場所による処理方式を答えよ。
① すべての処理を1か所のコンピューターで行う方式は?
② 複数のコンピューターに処理を分散する方式は?
③ セキュリティの確保が容易なのは①と②のどちらの処理方式か?
④ データの不整合が発生しやすいのは①と②のどちらの処理方式か?
⑤ 管理が容易なのは①と②のどちらの処理方式か?
① 集中処理
② 分散処理
③ ①(集中処理)
④ ②(分散処理)
⑤ ①(集中処理)
広告
システムの高信頼化とは(故障への対応設計)
システムの信頼性を高めるためには,障害が発生しないようにしたり,万が一,障害が発生した場合でも影響を最小限に抑えるようにしなければなりません。
フォールトアボイダンスとは
フォールトアボイダンスとは,信頼性の高い機器を使用したり,定期保守を行ったりして,障害が発生しないようにすることをいいます。
※ アボイダンス(avoidance)は「回避」という意味
フォールトトレランスとは
フォールトトレランスとは,(障害が起きることを前提に)障害が発生した場合でも,機能を保ち,稼働を続けるようにすることをいいます。システムの一部に障害が発生した場合に,予備の系統に切り替えるなどします。
フェイルセーフとは
フェイルセーフとは,障害が発生した場合に,安全な状態になるよう制御することをいいます。
- 信号機が故障した場合,すべての信号を赤に切り替え,安全性を確保する
- 電気ヒーターが転倒した場合,自動的にオフにする
フェイルソフトとは
フェイルソフトとは,障害が発生した場合に,障害箇所を切り離して一部の機能を停止し,残りの部分で稼働を続けることをいいます。
フェイルオーバーとは
フェイルオーバーとは,待機系の機器を用意(システムを二重化する)しておき,障害が発生した場合に,自動で待機系に切り替えることをいいます。
- 情報システム機器やネットワークを二重化して信頼性を高める
フォールバック(縮退運転)とは
フォールバックとは,障害が発生した場合に,障害箇所を切り離し,処理能力を落とした状態で稼働を続けることをいいます。
- 飛行機のエンジン1つが故障した場合,故障したエンジンを停止し,残りのエンジンで飛行を続ける
フールプルーフとは
フールプルーフとは,利用者の誤操作を防ぐしくみや,利用者が誤操作をした場合でも,障害が発生したり,危険が生じたりしないような設計をすることをいいます。
- 電気ポットは,ロックを解除しないと給湯できない
- 電子レンジは,ドアが完全に閉まらないと起動しない
- 自動車は,ギアがパーキングに入っていないとエンジンをかけられない
練習問題
問 システムの高信頼化について,次の①~⑤の考え方を答えよ。
① 障害が起きないように設計・予防する考え方を何というか?
② 障害が起きても動作を継続する考え方を何というか?
③ ②の中で,障害時に安全な状態にする設計を何というか?
④ ②の中で,障害時に機能を制限して動作を続ける方式を何というか?
⑤ ④の中で,障害が発生した場合に,自動で待機系に切り替えることを何というか?
⑥ ④の中で,障害が発生した場合に,障害箇所を切り離し,処理能力を落とした状態で稼働を続けることを何というか?
⑦ 利用者の誤操作を防ぐしくみや,利用者が誤操作をした場合でも,障害が発生したり,危険が生じたりしないような設計をすることを何というか?
① フォールトアボイダンス
② フォールトトレランス
③ フェイルセーフ
④ フェイルソフト
⑤ フェイルオーバー
⑥ フォールバック(縮退運転)
⑦ フールプルーフ
広告
システム構成の基本
シンプレックスシステムとは
シンプレックスシステムは,必要最小限の機器で構成されたシステムです。経済的でコストを抑えることができますが,障害が発生した場合はシステム全体に影響が及ぶため信頼性は高くありません。
デュアルシステムとは
デュアルシステムは,同じ構成のシステムを二重化したシステムです。2系統ともに同じ処理を行い,処理結果を定期的に照合することで信頼性を高めています。一方のシステムに障害が発生した場合でも,処理を中断することなく,もう一方のシステムで処理を続けることができます。ただし,コストは高くなります。
デュプレックスシステムとは
デュプレックスシステムは,主系(現用系)と従系(待機系)の2系統で構成されたシステムです。主系のシステムでは,主に,中断することのできないオンライン処理などを実行し,従系のシステムでは,バッチ処理などを実行するか待機するかしておきます。主系のシステムに障害が発生した場合は,従系のシステムに切り替えることで信頼性を高めることができます。主系と従系で異なる処理を並行して実行することができるので,デュアルシステムよりコストを抑えられます。
主系から従系への切替方式には,次のようなものがあります。
| ホットスタンバイ | 主系のシステムと従系のシステムを同じ状態で起動しておき,主系のシステムに障害が発生した場合は,自動的に従系のシステムに切り替える |
| ウォームスタンバイ | 従系のシステムはOSを起動(業務システムは起動しない)しておき,主系のシステムに障害が発生した場合は,従系のシステムに切り替えて業務システムを起動する |
| コールドスタンバイ | 従系のシステムは,他の処理をするか待機しておき,主系のシステムに障害が発生した場合は,(従系のシステムが他の処理を実行していた場合は,その処理を中断し)従系のシステムに切り替えて業務システムを起動する |
※ 従系のシステムへの切り替えの速さは,速い方から,ホットスタンバイ,ウォームスタンバイ,コールドスタンバイとなる
練習問題
問1 次の①~③について,システムの名称を答えよ。
① 主系と従系で構成され,待機系へ切替可能な構成のシステムを何というか?
② 単一構成でコストが低いが,障害時にシステム停止となる構成のシステムを何というか?
③ 2系統が同時に動作し,結果を照合する構成のシステムを何というか?
① デュプレックスシステム
② シンプレックスシステム
③ デュアルシステム
問2 次の①~③について,主系から従系への切替方式(スタンバイ方式)を答えよ。
① OSは起動しているが,業務アプリケーションは起動していない状態で待機している方式を何というか?
② すべて停止状態で待機している方式を何というか?
③ OS・業務システムとも起動済みで即切替可能な方式を何というか?
① ウォームスタンバイ
② コールドスタンバイ
③ ホットスタンバイ
広告
さまざまなシステム例
クライアントサーバーシステムとは
クライアントサーバーシステムは,代表的な分散処理形態のシステムであり,サービスを要求するクライアントと,サービスを提供するサーバーで構成されます。
※ サーバーは,ハードウェアとしてではなく,サービスを提供するプログラムとして割り当てられる。1台のコンピューターに複数のサーバーが存在したり,1台のコンピューターにクライアントとサーバーが共存することもある
サーバーの種類(役割と分類)
サーバーは,サービスを提供するプログラムとして割り当てられるので,1台のコンピューターで複数のサーバーを稼働させることができます。
| Webサーバー | クライアントのWebブラウザから入力されたリクエストに応じて,HTMLやCSSなどを返すサーバー |
| メールサーバー | 電子メールを配信するサーバー |
| ファイルサーバー | ファイルやプログラムの共有や公開をするサーバー |
| プリントサーバー | 複数のクライアントでプリンターを共有する際に使用するサーバー |
| データベースサーバー | データベースの管理や,アクセス制御をするサーバー |
| コミュニケーションサーバー | 他との通信機能を提供するサーバー |
3層クライアントサーバーシステムとは
3層クライアントサーバーシステムは,データベースを利用するシステムにおいて,次の3つの機能を,それぞれの層で表し構成したものです。
| 3 | データベース層 | データベースを管理する機能 |
| 2 | ファンクション層 (アプリケーション層) | データの加工や,処理をする機能 |
| 1 | プレゼンテーション層 | ユーザーインタフェース(GUIなど)を提供する機能 |
3層クライアントサーバーシステムの場合,処理は,すべてサーバー側(アプリケーションサーバーとデータベースサーバー)で行います。クライアントにはサーバーから送られてきたHTMLなどから,その内容がWebブラウザに表示され,入出力処理などを行います。このようにすることで,クライアントとサーバーの間のデータ転送量を抑えることができます。また,プログラムを修正する場合でも,サーバー側の対応だけで済みますので保守も容易になります。
2層クライアントサーバーシステムとは
2層クライアントサーバーシステムの場合は,各クライアントに専用アプリケーションを導入する必要があります。そのため,専用アプリケーションを修正する場合は,すべてのクライアントで作業しなければなりません。また,データベースへアクセスする際も,データがそのまま送られるため,ネットワーク上のデータ量も増大します。
※ 上記の理由から,現在は,3層クライアントサーバーシステムが一般的となっている
ストアドプロシージャとは
ストアドプロシージャとは,利用頻度の高い処理や,連続する複数の処理をひとつにまとめたプログラムのことをいいます。ストアドプロシージャは,データベース管理システム(DBMS)に保存され,外部から利用する場合は,プロシージャ名を指定し実行します。
利点
- データベースサーバーに対して,SQL文を発行する必要がない
- 事前にSQL文の構文解析などが済んだ状態で準備されているため高速に実行できる
- ネットワークの負荷などを減らすことができる
シンクライアントとは
シンクライアントとは,ユーザーが操作するクライアントに必要最低限の機能だけを持たせたものをいいます。外部記憶装置を持たないので,情報漏洩やウイルス感染のリスクを低減できます。
練習問題
問1 クライアントサーバーシステムについて,次の①~③に答えよ。
① サービスを要求する側を何というか?
② サービスを提供する側を何というか?
③ 1台のコンピューターで複数の②機能を提供することは可能か?
① クライアント
② サーバー
③ できる
問2 3層クライアントサーバーシステムについて,図の①,②に当てはまる語句を答えよ。
① アプリケーション
② データベース
問3 データベース管理システムにおいて,あらかじめ一連のSQL文や処理手順をまとめて保存しておき,必要に応じて呼び出して実行できるしくみを何というか。
ストアドプロシージャ
問4 クライアント側には最低限の処理機能のみを持たせ,アプリケーションの実行やデータの管理などの主要な処理はサーバ側で行うことで,端末の管理負荷を軽減したシステム形態を何というか。
シンクライアント
広告
RAID(Redundant Array of Independent (Inexpensive) Disks)とは(冗長化と高速化の基礎)
RAIDは,複数の磁気ディスク装置を,1台の仮想的な装置として利用できるようにする技術です。システムの信頼性を高めたり,高速化することができます。
RAIDの技術
ストライピングとは
ストライピングとは,データをビット単位やバイト単位,ブロック単位に分割したものを,複数の磁気ディスク装置に振り分けて管理する方式のことをいいます。複数の磁気ディスク装置に同時にアクセスしますので,高速に読み書きすることができます。
ミラーリングとは
ミラーリングとは,同じデータを複数の磁気ディスク装置に書き込むことをいいます。
パリティチェックとは
パリティチェックとは,データにエラーがあるのかをチェックすることをいいます。
RAIDの場合は,パリティデータ(冗長コード)を障害発生時に使用します。たとえば,RAID5の場合,1台の磁気ディスク装置が故障した場合でも,残りの磁気ディスク装置とパリティデータを使用して復元することができます。
※ パリティチェックの詳細は,「通信に関する理論の基礎まとめ(パリティチェック方式とは)」を参照
RAIDの種類・特徴
RAID0とは
RAID0の場合,ストライピングにより,高速化・大容量化できます。しかし,信頼性は低いです。
RAID1とは
RAID1の場合,ミラーリングにより,複数の磁気ディスク装置に同じデータを保存します。そのため,障害に強いです。しかし,使用効率は低いです。
RAID2とは
RAID2は,コストが高いので,ほとんど使われていません。
※ ストライピングとECCの技術が利用されている
RAID3,RAID4とは
RAID3,RAID4は,ストライピングとパリティチェックにより,高速化・大容量化ができ,障害にも強いです。パリティ専用の磁気ディスク装置を使用し(図の場合,ディスク3),1台の磁気ディスク装置が故障した場合でも,残りの磁気ディスク装置とパリティデータを使用して復元することができます。RAID3は,データをビット単位,または,バイト単位で,RAID4は,データをブロック単位で扱います。
RAID5とは
RAID5も,ストライピングとパリティチェックにより,高速化・大容量化ができ,障害にも強いです。RAID5では,データとパリティデータを分散配置します。また,データはブロック単位で扱います。
RAID6とは
RAID6の場合は,パリティデータを2つ作成し,分散配置します。磁気ディスク装置2台が故障した場合でも復元できますので,RAID5よりも障害に強いです。また,データはブロック単位で扱います。
練習問題
問1 次の①~③に当てはまる語句を答えよ。
① データをビット単位やバイト単位,ブロック単位に分割したものを,複数の磁気ディスク装置に振り分けて管理する方式のことを何というか?
② 同じデータを複数の磁気ディスク装置に書き込むことを何というか?
③ 送信データにパリティビットを用いて誤りを検出する方式を何というか?
① ストライピング
② ミラーリング
③ パリティチェック
問2 次の①~③に当てはまるRAIDのレベルを答えよ。
① ブロック単位でストライピングしてパリティデータを分散配置し,1台の障害まで復旧可能
② ミラーリングを用い,信頼性が高いが効率は低い
③ ストライピングのみで高速だが信頼性は低い
④ ビット単位でストライピングしてパリティデータを専用ディスクに配置し,1台の障害まで復旧可能
⑤ ブロック単位でストライピングしてパリティデータを専用ディスクに配置し,1台の障害まで復旧可能
⑥ パリティデータを2つ作成して分散配置し,2台の障害まで復旧可能
① RAID5
② RAID1
③ RAID0
④ RAID3
⑤ RAID4
⑥ RAID6
広告
ネットワークストレージとは
ネットワークストレージとは,ストレージ(補助記憶装置)をネットワークに接続したものをいいます。
DAS(Direct Attached Storage)とは
DASとは,ストレージをSATAやATA,SCSIなどの接続方式でサーバーに接続したものをいいます。
NAS(Network Attached Storage)とは
NASとは,OSやストレージ,ネットワーク接続装置などで構成されるファイルサーバー専用の装置をネットワークに接続したものをいいます。利用者は,ファイル共有プロトコル(NFSやCIFSなど)を使用し,ファイルを共有したりします。
SAN(Storage Area Network)とは
SANとは,ストレージとサーバーをファイバーチャネルにより接続したものをいいます。
※ ファイバーチャネルとは,ストレージなどとサーバーを光ファイバーで接続する方式のことをいう。高速伝送を可能にする
練習問題
問 ストレージ(補助記憶装置)について,次の①~③に当てはまるものを答えよ。
① ネットワーク経由でファイル共有する専用装置を何という?
② ストレージとサーバーを高速ネットワーク(ファイバーチャネル)で接続したものを何という?
③ ストレージをSATAやATA,SCSIなどの接続方式でサーバーに直接接続したものを何という?
① NAS(Network Attached Storage)
② SAN(Storage Area Network)
③ DAS(Direct Attached Storage)
マルチプロセッサシステムとは
マルチプロセッサシステムは,複数のプロセッサ(CPU)で処理を分担し並列実行するシステムです。次の2つに分類できます。
- 密結合マルチプロセッサシステム
- 疎結合マルチプロセッサシステム
※ マルチプロセッサの詳細は,「プロセッサの基礎まとめ(マルチプロセッサ)」を参照
クラスタシステムとは
クラスタシステムは,複数のコンピューターを組み合わせて,1台のコンピューターのように動作させるシステムです。
HPCクラスタ(High Performance Computing cluster)とは
HPCクラスタは,多数のコンピューターを組み合わせて並列処理を行わせることで,1台の高性能のコンピューターのように動作させる方式です。
※ スーパーコンピューターを構成する方法の一つ
※ 障害が発生した場合は,当該コンピューターを切り離して,残りのコンピューターで稼働を続ける(フェイルソフト)
HAクラスタ(High Availability cluster)とは
HAクラスタは,複数のコンピューターを用意して,可用性を高める方式です。
※ 障害が発生したコンピューターを,システムを運用したまま交換することができる(ホットスタンバイ)
負荷分散クラスタとは
負荷分散クラスタは,すべてのコンピューターを同時に稼働させ,処理を分散させる方式です。
※ 障害が発生した場合は,当該コンピューターを切り離して,残りのコンピューターで稼働を続ける(フェイルソフト)
練習問題
問 複数のコンピューターを組み合わせて,1台のコンピューターのように動作させるシステムを何というか?
クラスタシステム
まとめ
今回は,システム構成について,「処理方式」,「高信頼化」,「代表的な構成例」という3つの観点からシンプルにまとめてみました。システム構成の分野では,各方式や技術の意味を覚えるだけでなく,「どのような特徴があり,どのような場面で使われるのか」,「それぞれの違いは何か」を整理して理解することが重要です。特に,バッチ処理とリアルタイム処理,集中処理と分散処理,高信頼化技術(フォールトトレランスやフェイルオーバーなど)の違いは,試験で繰り返し問われる重要ポイントです。RAIDやクラスタリングなども含めて,全体像をつかんでおきましょう。
理解が進んだら,基本情報技術者試験の過去問題にもチャレンジしてみてください。
システム構成は,ハードウェアの基本を理解していると一気に分かりやすくなります。
※ このページでは読みやすさを考慮し「コンピューター」,「サーバー」など長音付きで表記していますが,試験では「コンピュータ」,「サーバ」と表記されます

