基本情報技術者試験の勉強をしている(2024年9月現在)。
過去問題をやっているがしばしば行き詰まるので、息抜きがてら記事を書くことにした。
やっている過去問題はこちら。
いつもお世話になっております。
基本情報技術者試験ドットコム
https://www.fe-siken.com/
稼働率
動く方ではなく働く方だ。
過去問題に出てきて間違い、回答を見てもよくわからなかった。
概念
Aという、なにか動くシステムがあるとする。
私のイメージとしては工場の組み立て工程みたいなのだが、「正常に稼働している時間」と「故障などのため修理している時間」の概念があるタイプならどれでもよい。
まず、1つのシステムとして考える。
このシステムをずっと使っていくと、稼働、故障、稼働、故障、・・・と繰り返していく。その時間を記録していき、平均を計算する。
と平均を採ると、時間は区間や間隔と考えることになる
- 正常に稼働している時間=故障していない時間→平均故障間隔
- 故障している時間=修理している時間→平均修理時間
覚えられん・・・。
間隔=between=bが入ってるのはMTBF、そうじゃない方がMTTR、くらいでよいのか。
稼働率の計算は、その2つの時間の内、動いている時間が占める割合である。
平均稼働率、の方が正確かもしれんが、単独で稼働している時間の割合を計算する意味も無いから普通平均よね、ということで「稼働率」になったのかもしれん。
稼働率の組み合わせ計算
よくわからんかったのがこれだ。
これこれの稼働率のシステムを組み合わせた全体の稼働率はどれか、とか、どれが一番稼働率が高いか、とかそういうやつ。
稼働率Aのシステムを直列にするだの並列にするだの、どういう状況なのかがよくわからない。計算式があるくらいだから、実際に用いられるのだろうけど。
サーバがあるシステムの例が私にはわかりやすかった。
ロードバランサーなんかで分散しやすい入口の部分は同じものを並列化して、あとはデータベースなりなんなりの違うシステムが直列につなげる。
つまり、並列にするところは同じものを並べて、直列の部分は違うシステムになるという感じだ。
と考えたところで、稼働するブロックを組み合わせる場合の計算方法が気になった。稼働率R のシステムをn個直列したら R^2n、並列したら 1-(1-R)^n、と書いてあった。いやいや、並列する方はまだわからなくもないが、普通は稼働率なんてシステムごとに違うだろうになぜ同じ稼働率の式があるのか、と。
これは買った本に説明が載っていた(誤記がいくつかあったのでどの本かは書かない)のだが、組み合わせた場合の稼働率については確率計算と同じで良いとのこと。
システムを組み合わせて、(稼働する率の合計) or 1.0-(稼働しない率の合計) のどちらかで考えれば良いとのこと。
例えば、稼働率が 0.8 と 0.7 のシステムがあるとする。
直結したら、全部が動く確率は 0.8 の内 0.7 なので 0.8 x 0.7 = 0.56。
並列したときは、動かない確率が (1.0 - 0.8) と (1.0 - 0.7) なので両方動かない確率は 0.2 x 0.3 = 0.06、動く確率は 1.0 - 0.06 = 0.94。
電気の直列・並列とは関係ない
この稼働率の計算の意味が分からないと「直列とか並行とか言ってるから電気のと同じ計算ではないか」と思ってしまうのだが、そうではないことを分かっておこう。