割り込み制御
割り込みとは、コンピュータが処理中に現在の作業を中断して、他の作業をやること。
内部割込み
プログラムの演算などによって行われる割り込み。
ゼロによる除算、オーバーフロー、プログラムからOSへの入出力要求(スーパーバイザコール割り込み)、例外処理、ページフォルト、メモリ上存在しない領域にアクセスしようとしたとき等。
外部割込み
ハードウェアなど、プログラム以外の要因による割り込み。
利用者のキーボード操作、ハードウェアの故障や異常検知、(ハードウェアの)指定時間経過時に起こる割り込み、周辺機器への入出力の完了等
シェアードエブリシング、シェアードナッシング
シェアードエブリシング
リクエスト処理のノードは分散配置するが、1つのデータベースを(論理的に)共有する方式のこと。
すべてのノードから同じデータにアクセスできるため、障害には強いが、排他制御の資源の奪い合いなどで処理速度は低下する。
シェアードナッシング
ノードごとにデータベースを割り当てる方式のこと。
ノードの障害時に特定データにアクセスできなくなる問題があるが、並列処理に強く、ノードを追加してスケールアウトしやすい。
RAID(Redundant Arrays of Inexpensive Disks)
一般的なハードディスクを複数台組み合わせて、高価なディスクに相当する性能や容量、信頼性の実現を目指す方式のこと
RAID0
ストライピングとも呼ばれる。データを複数ディスクに分けて保存する。冗長構成ではなくRAIDじゃないじゃんということでRAID0。
RAID1
ミラーリングとも呼ばれる。複数ディスクに同じデータをコピーして保存する。同じディスクができるのでミラー(鏡)となる。
RAID2
ほとんど利用されていない。データ本体とエラー修正用の冗長コードをそれぞれ専用のディスクに保存する方式。エラー修正用コードではECC(ハミングコード)が利用されるため遅い。
RAID3
現在はRAID5に代替されている。RAID2のエラー修正用コードをパリティにしたもの。RAID2よりは演算負荷が低い。
RAID4
現在はRAID5に代替されている。RAID3ではパリティを(bit、byte等の)容量単位で保存したが、RAID4ではブロック単位で保存している。
RAID5
ストライピングでデータを複数のディスクに保存しつつ、パリティも同様に複数のディスクに分散して保存する。冗長性、容量の拡張、高速性をバランスよく実現できる。
RAID6
ダブルパリティレイドとも呼ばれる。RAID5のパリティデータを2重にして信頼性を高めたもの。
RAID10(1+0)
RAID0(ストライピング)とRAID1(ミラーリング)を組み合わせた方式。ストライピングで分散したディスクをミラーリングで複数用意する。最低4台のディスクが必要。パリティの計算の必要がなくなる。