MacOS X Yosemite Yosemite
RAID 5 の動作原理RAID 5の動作原理
RAID 5 の動作原理
•
データを分割して各ディスクに格納するという 原理はRAID 0
(ストライピング)と同じだ。異な るのは、データ・ブロックの組(上図でいえば1
/
2
や3
/4 5
/6
)ごとにパリティが生成され/
2
や3
/4
、5
/6
)ごとにパリティが生成され る点である。たとえ1
台のディスクが壊れても、残りのディスクに格納されたデ タとパリティ 残りのディスクに格納されたデータとパリティ から、失われたデータを復活させることができ る
る。
オペレーティングシステム2014 123
Raid5 の利用効率 Raid5 の利用効率
パ 保存 必要な は 全デ ク台
•
パリティの保存に必要なのは、全ディスク台 数に関係なくディスク1
台分の容量である。従 デ 台数が多 ど容 効
従ってディスク台数が多いほど容量の利用効 率も向上する。
RAID 1
(ミラーリング)と比較し た場合 利 効率 高さがた場合、この利用効率の高さが
RAID 5
のメ リットの1
つとされる。•
ディスク容量の利用効率•
ディスク容量の利用効率– 100 *
(n‐1)/n %
オペレーティングシステム2014 124
Raid10 Raid1+0 Raid10 Raid1+0
ググ プを ピ グ
•
ミラーリンググループをストライピング•
冗長性と高速性冗長性と高速性オペレーティングシステム2014 125
その他 ( 覚えなくて良い ) その他 ( 覚えなくて良い )
RAID 2
• RAID 2
• RAID 2
では、エラーを修復するための冗長コードを元のデータとともに、複数のディスクにまたがって記録する。特 デ タとともに、複数のディスクにまたがって記録する。特 徴は、冗長コードが多ビットの
ECC
(Error Correcting Code
: 誤り訂正符号)であることと、データを配分するときの単位 サイズがブロック(セクタ)単位ではなくbit
またはbyte
単位。サイズがブロック(セクタ)単位ではなく
bit
またはbyte
単位。•
多ビットのECC
による冗長コードは、元のデータに対して そのサイズが大きくなりがちで、容量面でのオーバーヘッ ドが大きいというデメリ トがあ る 例えば 代表的なECC
ドが大きいというデメリットがあ る。例えば、代表的なECC
の1
つであるハミング符号を用いると、元のデータを2
台の ディスクに分散するには、冗長コードだけのために3
台の デ クが必 要 な まう デ タより 長 ド ディスクが必 要になってしまう。元のデータより冗長コード の容量を小さくするには、元のデータを格納するディスクを4
台以上にしなければならない。台以 しなければならな 。オペレーティングシステム2014 126
その他(覚えなくて良い)
その他(覚えなくて良い)
• RAID 3
デ タ ドを加 複数 デ ク 録
–
元のデータに冗長コードを加えて複数のディスクに記録。–
冗長コードには、RAID 5
と同じパリティを採用する。– RAID 5
と大きく異なるのは 各ディスクにデータを配分する際の単位– RAID 5
と大きく異なるのは、各ディスクにデ タを配分する際の単位サイズが、ブロック(セクタ)単位ではなく
bit
またはbyte
単位–
パリティが特定のディスクに保存される(全ディスクには分散されな) い)
–
高速化のためには、複数のディスクをまったく同時に読み書きするた めの同期機能が必要めの同期機能が必要
• RAID 4
– RAID 4
は、RAID 5
と同様に、元のデータからパリティを生成して、ブ ロック単位で複数のディスクに記録する、という点でよく似ている。異 なるのは、パリティを全ディスクに 分散するのではなく、なるのは、 リティを全ディスクに 分散するのではなく、
–
特定のディスクだけに格納する点だ。•
元のデータとパリティそれぞれを格納するディスクが別々に分かれているオペレーティングシステム2014 127その他(覚えなくてよい)
その他(覚えなくてよい)
RAID 6
• RAID 6
– RAID 6
は、RAID 5
の改良版といえる技術1
つのデ タ ブロックにつき2
つのパリティを生成– 1
つのデータ・ブロックにつき2
つのパリティを生成–
同時に2
台のハードディスクが故障しても、元のデータを修復可能 タを修復可能
–
パリティが増えた分、その計算や書き込みのオーパリティが増えた分、その計算や書き込みのオ バーヘッドも増加する–
特に書き込みの性能は高くない。パ 台分 デ ク容量を必 とするため
–
パリティ用に2
台分のディスク容量を必要とするため、ディスクの利用効率は
RAID 5
より下がる。オペレーティングシステム2014 128
パリティ計算に使う排他的論理和 パリティ計算に使う排他的論理和
命題
P
命題Q P ⊻ Q
真 真 偽
真 偽 真
偽 真 真
偽 偽 偽
偽 偽 偽
オペレーティングシステム2015 129
補足説明 補足説明
のデ スクがあ た時
• A,B,C,D
のディスクがあった時•
パリティを• A1 xor B1 xor C1 =P1
とおく• P1
をディスクD
に保存する• P1
をディスクD
に保存する。•
ディスクB
が壊れた場合• P1 oxr (A1 xor C1)
で復旧できる。• K xor (R or K) =(K xor K) xor R = 0 xor R = R
オペレーティングシステム2015 130
•
論理記号•
プログラミングの書き方プログラミングの書き方– !(P || Q) == !P && !Q
!(P && Q) == !P || !Q – !(P && Q) == !P || !Q
•
集合•
ベン図•
ベン図=
オペレーティングシステム2015 131
以下の文は同値か?
以下の文は同値か?
「私 身 あ 私
•
「私の身長は160 cm
以上であり、かつ私の 体重は50 kg g
以上」である の否定•
「私の身長は160 cm
以上であり、かつ私の 体重は50 kg
以上」ではない体重は
50 kg
以上」ではない「私の身長は
160
未満であるか または•
「私の身長は160 cm
未満であるか、または 私の体重は50 kg
未満」であるオペレーティングシステム2015 132
更に Raid を学習したい人へ 更に Raid を学習したい人へ
// / / / /
• http://www.atmarkit.co.jp/fpc/special/raidglossary/raidglossa ry01.html
htt // ikk ib j / ti l /NPC/20061225/257746/? t
• http://pc.nikkeibp.co.jp/article/NPC/20061225/257746/?rt=n ocnt
• http://www raid 119 com/raid html
• http://www.raid‐119.com/raid.html
• http://www.data‐sos.com/raid/raid03.html
オペレーティングシステム2014 133
OS の位置づけ OS の位置づけ
金融システム 飛行機の座席 予約システム
アドベンチャー ゲーム
アプリケーション・
プログラム
コンパイラ エディタ コマンド・インタ プリタ
オペレーティングシステム 機械語
システム・
プログラム
機械語
マイクロプログラム ハードウェア 物理装置
オペレーティングシステム2015 134
OS とは何か OS とは何か
•
拡拡張マシンとしてのOS
–
ハードウェアの詳細を隠蔽し、拡張マシンハ ドウ アの詳細を隠蔽し、拡張マシン(extended machine)
、仮想マシン(virtual machine)
としての機能をユーザに提供機能を ザ 提供•
資源管理システムとしてのOS
CPU
メモリなどを管理する– CPU
、メモリなどを管理する•
複数のプロセス、複数のユーザに競合や不整合が起 こらないように資源を割り当てるこらないように資源を割り当てる
オペレーティングシステム2015 135
単位の説明 単位の説明
•
ジョブジョブ–
ユーザがシステムに対して依頼する仕事の単位•
プロセス–
システムが処理する仕事の単位システムはジョブをプロセスに分割して処理
–
システムはジョブをプロセスに分割して処理–
リソースはプロセス単位で割り当てられるオペレーティングシステム2015 136
プログラムの処理形態 プログラムの処理形態
バ 処
•
バッチ処理–
必要な情報を前もって決定必要な情報を前も 決定–
実行してほしいジョブを一括依頼•
対話(インタラクティブ)処理そのつど プログラムに対して入力を行う
–
そのつど、プログラムに対して入力を行うオペレーティングシステム2015 137
バッチ処理 バッチ処理
ジョブを 括して依頼
•
ジョブを一括して依頼–
ユーザは、必要なリソース、実行したいプログラム、処理に使うデータの全てをあらかじめ決定 処理に使うデ タの全てをあらかじめ決定
–
それをJCL (Job Control Language)
によって記述し、コンピュータに投入
//JOB1 JOB (12345), CLASS=X //STEP1 EXEC PGM=TEST
//DDIN DD DISP=SHR, DSN=INPUT1
//DDOUT DD DISP=(NEW CATLG) DNS=OUTPUT(+1)
–
各ジョブは、実行中は全てのリソースを占有する//DDOUT DD DISP=(NEW, CATLG), DNS=OUTPUT(+1),
// UNIT=SYSDA, SPACE=(CYL,(15,15),RLSE),DCB+*.DDIN :
オペレーティングシステム2015 138
バッチ処理 バッチ処理
待ち行列
Job Job
Job
リソ ス リソース
(
CPU,
メモリなど)•
一定期間ごとに大量のデータを集めて 処理するような場合に便利処理するような場合に便利
–
例)売り上げデータ・受注データの集計オペレーティングシステム2015 139
バッチ処理 バッチ処理
•
利点利点–
スケジューリングが単純前も プ グ が必 す がわ
•
前もって、プログラムが必要とするリソースがわかる•
複数のジョブのスケジューリングが比較的楽例)必要リソースの少ないジョブを優先的に実行すると 例)必要リソ スの少ないジョブを優先的に実行すると
全ジョブの平均待ち時間(ターンアラウンドタイム)
が短くなる
ジョブの切り替えも少なくてすむため 無駄が少ない
•
ジョブの切り替えも少なくてすむため、無駄が少ない•
欠点•
欠点–
前もって全てを決めないとジョブが投入できないオペレーティングシステム2015 140
対話(インタラクティブ)処理 対話(インタラクティブ)処理
必要に応じて人間が入力し それを処理する
•
必要に応じて人間が入力し、それを処理する–
人間の反応速度は10 ‐1
秒 程度–
計算機は10 ‐9
秒 オーダで命令を処理ダ–
人間の入力を待っている時間はすごく無駄特に昔 計算機が非常に高価だ た時代はなおさら 特に昔、計算機が非常に高価だった時代はなおさら
–
一定時間に処理できる仕事量(スループット)が低下=もったいない
=もったいない
タイムシ アリングシステム(
TSS
)•
タイムシェアリングシステム(TSS
)–
使っていないCPU
時間を他に割り当てよう!
オペレーティングシステム2015 141