この記事基本情報技術者試験の資格勉強において、アウトプットすることによって
より理解を深め、合格するだけではなく、実務で使えるような考え方を発信していきます。
システム構成で知っておかなければいけない用語まとめ
1.ミッションクリティカル
業務を遂行する上で不可欠なシステムや、停止すると社会に深刻なダメージを及ぼすシステムのことをいいます。
2.デュプレックスシステム
一つのCPUで処理を行うことは大きくミッションクリティカルになりかねません。
例えば、オーバーフローしてしまって、サーバーが落ちてしまう
なんてこともあり得ます
対策として、並列にCPUを設置する手段をデュプレックスシステムといいます。
その中でも
ホットスタンバイとコールドスタンバイが存在します。
ホットスタンバイは、稼働中のシステムと待機中のシステムがあり
稼働中のシステムが停止した場合、速やかに移行することです。
コールドスタンバイは、稼働中のシステムが停止した場合
待機中のシステムに移行することは同じですが、待機中のシステムは待機中に別のシステムが動いていて、停止した場合、そのシステムを中断して待機中に移行するものになってます。
これはシステムの信頼性評価にかかわるものであり、
システムが故障して修復に要する時間のことをMTTR(Mean Time Time To Repair)といいます。
また、MTBFというものもあり、システムが故障してから次に故障するまでの平均時間というものがあり、長ければ長いほど信頼性が高いシステムといえます。
また、MTTRをMTTRとMTBFの和で除したものを
稼働率といいます。
MTBFが0であれば稼働率は1になるので、素晴らしいシステムといえますね。
システムの稼働率というのはよく基本情報で出題されるとされており
例えば、システム1とシステム2があったとして
システム2がシステム1が終わらないと稼働しない(直列)場合、
これは2つの稼働率を掛け算すれば、2つの合わせた稼働率が出ます。
では並列のシステムがあった場合どうなるでしょう
システム1とシステム2があり、どちらかが稼働していればOKな場合、
稼働率の計算が変わってきます。
確率をイメージしてもらって、先ほどの稼働率は1でしたね。つまり100%
並列のシステムの場合は
1ー(故障の割合)です。
システム1の稼働率が50パーセント
システム2の稼働率は30パーセント
その場合、故障率はそれぞれ
1-0.5 = 0.5
1-0.3 = 0,7 になります。これをかけてあげれば0.35が並列システムの故障率になります。
つまり故障率を1から引いてあげれば稼働率が出ます。
バスタブ曲線
A課長 このシステムを作りたい。障害はゼロでお願いね!
B主任 障害ゼロって、、、どんだけ可用性を持たせても。。
ここで可用性とは『要求されたサービスを、提供し続ける特性のこと』を指します。
それに稼働率が用いられているということですね。
こんな会話があったとします。
開発にはバスタブ曲線というものがあり、リリース当初は障害がつきものです。
よくゲームでも、リリース当初はエラーばかりですよね?
開発が進んでいく上で障害が少なくなっていく曲線をバスタブ曲線と言います。
IT用語だけかと言われるとそうでもないので、是非下記のリンクで確認してみてください。
システムの性能評価
システムの性能を評価する指標には、次のようなものがあります。
スループット
単位時間あたりに処理される仕事の量
## ターンアラウンドタイム
利用者が処理を依頼してから結果の出力が終了するまでの時間を指します。
レスポンスタイム
利用者が処理を行なってから、最初の出力が出るまでの時間
ターンアラウンドタイムが全体の時間としたら
レスポンスタイムはその間の時間ということですね。
MIPS
1秒間に実行される命令数を百万単位で著したものになります。
同一メーカーの同一アーキテクチャのCPU性能比較によく用いられるそうです
なぜ百万単位なのかがわかりませんが、まぁこの単位がちょうどよかったのでしょう
よく出される問題内容としは、命令ミックスというものが使われて出題されます。
CPUの命令には種類があり、単一の処理だけではありません。
整数演算命令:
移動命令:
分岐命令:
それぞれの実行速度が1.0,5.0,5.0(μs)だとして、その出現頻度がそれぞれ50%だとした場合、
それぞれに出現頻度をかけてあげて和を求めます。
0.5 + 2.5 + 2.5 = 5.5 μs
これはマイクロ秒なので、これを1秒あたりで計算します。襷掛けをするとわかりやすいので、やってみてください。
ここで、『マイクロ秒ってどんな単位だっけ?』となるかもしれません。
小さな数値を表す単位として
m(ミリ) μ(マイクロ) n(ナノ) p(ピコ)
これらはそれぞれ10^-3 ^-6 ^-9 ^-12 となります。
今回の場合は、5.5*10^-6ということになります。
RAIDと信頼性設計
RAIDとくれば、複数のディスクを用いて高信頼性を獲得するものとまずは大雑把に理解してください。
その後にRAIDは4つありRAID0 RAID1 RAID3 RAID5があります。
0から始まり、4がなくて少し理解がしづらいかと思います。
RAIDの最後の数字が小さいほど処理が高速化するものと考えてください。
パリティという概念も先に覚えた方がいいです
パリティとは、仮に複数ディスクの中でどこかに障害が起こった場合
復元させる役割を持ちます。
パリティを用いず複数の磁気ディスクにデータをブロック単位で分割して処理をそのまま行うのがRAID0です。
余すことなく処理を行うため、高速化になるということですね。
RAID1は、2つのディスクに同じ処理をさせる手法です。
ミラーリングといい、信頼性は高いが使用効率は悪いです
RAID3からはパリティを用います。
複数の磁気ディスクの中で1つを完全に復元用のパリティとして用います。
他のディスクが破損してもパリティを用いれば復元できるということですね。
では、パリティ用のディスクが破損した場合はどうでしょうか。その後に他のディスクが破損したら問題ですね。
それについては、
RAID5を用います。
RAID5は、磁気ディスクを分散させた際に、それぞれのディスクにパリティを持たせます。
RAID3と比べて単一障害を起こさせないメリットがあります。
まとめ
他にも覚えておかなければいけないことはありますが、ひとまずこれくらいにします。
次も記事を書くので良かったらみてください。