【基本情報技術者試験対策:集中講義】稼働率の求め方
基本情報技術者試験を受験する人は必見です!!
この記事では、基本情報技術者試験の午前問題で出題される稼働率に関する問題の解き方を5年分の過去問題を利用して集中的に解説します。
稼働率に関する問題は毎年1問程度出題されています。計算が必要な問題なので、計算式(公式)を覚える必要があります。稼働率は「稼働時間と修理時間から求める問題」と「予め稼働率が分かっているシステムを複数組み合わせた時の全体の稼働率を求める問題」の2種類に分類されます。
それぞれ計算式が異なるので覚えるのが大変ですが、関連する問題を集中的に取り上げて説明していきます。
まず、この記事は以下のような人を対象としています。
対象者・これから基本情報技術者試験を受験しようと考えている人
・現在基本情報技術者試験の勉強をしている人
・稼働率の求め方を知りたい人
この記事を読むと、次のようなことが理解できるようになります。
この記事を読むとできること・基本情報技術者試験の稼働率に関する過去問題を集中的に勉強することができる
・稼働率の求め方を理解することができる
・MTBFとMTTRの用語の意味、関連性を理解することができる
私も基本情報技術者試験の勉強を始めました。
今、稼働率の求め方でつまずいています。
稼働率はほぼ毎年1問程度ですが出題されています。
計算式を覚えていれば解ける問題です。
計算しないと解けないことは分かっているのですが、色々なパターンがあって、どれを使えばよいのか混乱してしまいます。
稼働率は2パターン存在するので、それぞれの求め方を説明します。
その後過去問題を使って集中的に練習問題を解いてみましょう!!
このサイトでは、基本情報技術者試験の集中講義を他の記事でも解説しています。ぜひ、あわせて勉強してみてください。
稼働率
稼働率は、システムが問題なく動作している状態を100%とし、実際にどれくらいの割合で動作しているかを示す指標です。例えば、10時間動作するシステムが10時間動作していれば稼働率は100%で、8時間しか動作していなければ稼働率は80%となります。
稼働率は高ければ高いほど優れたシステムといえます。
MTBFとMTTR
稼働率を計算する場合に「MTBF」と「MTTR」という用語が出てくる場合があります。基本情報技術者試験では頻繁に使われている用語です。ここで、それぞれの言葉について説明します。
MTBF(Mean Time Before Failure)
「MTBF」は「平均故障間隔」で、「故障を復旧してから、次の故障までにかかる平均時間」を意味します。簡単に言うと、「動き出してから故障するまでの正常に動作していた時間」のことです。
MTTR(Mean Time To Repair)
「MTTR」は「平均復旧時間」で、「故障したシステムの復旧にかかる平均時間」を意味します。
MTBFとMTTRの関係
MTBFとMTTRの関係は以下の図のようになります。
システムを動かし始めると、どこかで障害が発生する可能性があります。障害が発生したら、システムを停止させ、復旧させなければなりません。障害が復旧できたら、再度システムを再稼働させます。どのようなシステムでもこのような流れになります。なお、システムによっては障害が発生しなくても機器のメンテナンスのためにシステムを停止させる場合があります。このような意図的に停止させる時間も修理時間とみなします。
稼働率は「正常に稼働している時間を延ばし、修理時間を減らす」と高くなります。
MTBFとMTTRによる稼働率の求め方
MTBFとMTTRから稼働率を求める計算式は次の通りです。
基本情報技術者試験では、MTBFとMTTRの値(時間)が具体的に与えられ、稼働率を求める問題が頻繁に出題されています。この公式を覚えていれば稼働率を計算する問題を解くことができます。
MTBFとMTTRの用語を使用していて難しいように思えますが、上の図を見れば式の意味を理解することができます。正常に稼働している時間と修理している時間を足した総時間に対して、正常に稼働している時間がどれ位の割合を占めているかを示すのが稼働率となります。
直列システムと並列システム
基本情報技術者試験では、稼働率が分かっているシステムを複数組み合わせた時の全体の稼働率を求める問題も出題されています。複数のシステムを組み合わせる場合、直列の組み合わせか、並列の組み合わせかによって稼働率を求める計算式は変わります。
直列システムの稼働率
複数のシステムを直列に組み合わせるとは、どのような状態でしょうか?
例えば、コンサートに入場する時の流れで考えてみます。会場に入場するためには、一般的に最初にチケットを持っているかをチェックし、持っていれば次に持ち物検査を行います。この「チケットチェック」と「持ち物検査」がシステムで、チケットのチェックが終わらないと、次の持ち物検査を行うことができません。
このように複数のシステムが連続していて、前のシステムが動作しなければ次のシステムに移れないものを「直列システム」と呼びます。
チケットのチェックに時間がかかる(稼働率が低い)と、通過する人が減るため、持ち物検査をする人も減ってしまいます。したがって、全体の稼働率が低下します、
このように、直列システムでは、どれかのシステムの稼働率を高くしても、それ以外のシステムの稼働率が低いと全体の稼働率が低下してしまいます。
直列システムの稼働率を求める計算式は以下の通りです。
稼働率=システム1の稼働率×システム2の稼働率
並列システムの稼働率
並列システムは、「同じ処理を複数のシステムで処理するシステム」のことです。
スーパーのレジは並列システムの代表例となります。待ち時間を少なくし、お客さんの支払いをスムーズにするためにスーパーには複数のレジがあります。あるレジで支払いに手間取った場合、他のレジを用意することで支払い全体の稼働率を高めることができます。
並列システムでは、システム数を増やせば稼働率を高めることができます。ただし、お客さんが少ない場合、1台のレジ自体の稼働率は低下します。稼働率の低いレジを複数準備しても、逆に全体の稼働率が低下してしまいます。
並列システムの稼働率を求める計算式は以下の通りです。
稼働率=1ー(1ーシステム1の稼働率)×(1ーシステム2の稼働率)
過去問題
では、過去5年間(春季、秋季)で出題された問題のうち、稼働率に関する過去問題を実際に解いてみましょう。
まず、各試験でどのような問題が出題されているのか、一覧表示して確認してみましょう。
- 平成27年 春季 並列システムの稼働率の比較、MTBFとMTTRの関係(信頼性)
- 平成27年 秋季 MTBFとMTTRの関係、稼働率の計算
- 平成28年 春季 稼働率の計算、MTBFとMTTRの関係
- 平成28年 秋季 稼働率の計算
- 平成29年 春季 稼働率の計算
- 平成29年 秋季 稼働率の計算
- 平成30年 春季 出題なし
- 平成30年 秋季 稼働率の計算
- 平成31年 春季 (平成28年 春季と同じ問題)
- 令和元年 秋季 (平成27年 秋季と同じ問題)
平成27年 春季 並列システムの稼働率の比較
この問題は、選択肢ごとの稼働率を具体的に求め、どれが一番高いかを求めます。なお、選択肢エ以外はすべて並列システムなので、並列システムの稼働率を求める計算式に当てはめて計算します。
ア 稼働率=1ー(1ー0.7)×(1ー0.7)×(1ー0.7)×(1ー0.7)=1ー0.3×0.3×0.3×0.3=0.9919
イ 稼働率=1ー(1ー0.8)×(1ー0.8)×(1ー0.8)=1ー0.2×0.2×0.2=0.992
ウ 稼働率=1ー(1ー0.9)×(1ー0.9)=1ー0.1×0.1=0.99
エ 稼働率=0.99
以上から、一番高い稼働率は0.992となります。したがって、答えは「イ」です。
平成27年 春季 MTBFとMTTRの関係(信頼性)
各選択肢の内容について、確認してみます。
ア 遠隔保守は、故障が発生した時に現場に直接行かず、離れた場所から修復作業をおこないます。現場に出向く時間を短縮することができるため、結果としてMTTRを短くすることができます。MTTRが短くなれば、稼働率は向上します。したがって、この説明は間違いです。
イ システムの稼働率を求める計算式を見るとMTBFを長くするか、MTTRを短くすると稼働率は向上します。MTTRとMTBFの両方を長くしても稼働率は向上しません。したがって、この説明は間違いです。
ウ システムの構成が複雑になると、故障が発生した時に原因を見つけることが困難になり、その結果MTTRが長くなります。構成を複雑にしてもMTBFは長くなりません。したがって、この説明は間違いです。
エ 予防保守は、なるべく故障が発生しないようにシステムを運用することです。したがって、MTBFを長くすることができます。したがって、この説明は正しいです。
以上の説明から、答えは「エ」です。
平成27年 秋季 MTBFとMTTRの関係
各選択肢の内容について、確認してみます。
ア エラーログや命令トレースはどのような処理をおこなったのか、どんなエラーが発生したのかを後から調べることができます。障害が発生した場合、その原因をまずは特定しなければなりません。これらの機能を利用するとこで原因をすぐに特定でき、修理をスムーズに進められ修理時間(MTTR)を短くすることができます。したがって、この説明は間違いです。
イ 遠隔保守は現場に出向かずにシステムのメンテナンスをおこなうことができます。現場に向かう時間を無くすことができるので、故障時のMTTRを短くすることができます。したがって、この説明は間違いです。
ウ システムを構成する装置の種類が多くなると、システムが複雑になり、故障が発生した時に原因の特定に時間がかかってしまいます。そのためMTTRが長くなります。また、1つのシステムの故障によってシステム全体が停止してしまうためMTBFは短くなります。したがって、この説明は間違いです。
エ 予防保守は、故障が発生しないように保守を行うため、MTBFが長くなります。
上の説明から、答えは「エ」です。
平成27年 秋季 稼働率の計算
問題中には「直列システム」「並列システム」の記述がありませんが、それぞれのシステムを説明するための決まり文句があります。
直列システムは「2台とも正常に動作しなければならない」と表現され、並列システムは「少なくものいずれか一方が正常に動作すればよい」と表現されます。
したがって、この問題は「稼働率0.9の2つのシステムを直列で利用した場合と並列で利用した場合の稼働率を求め、その差を求める」問題です。それぞれの稼働率を求める計算式を使って比較します。
直列システムの稼働率=0.9×0.9=0.81
並列システムの稼働率=1ー(1ー0.9)×(1ー0.9)=1ー0.01=0.99
全体の差=0.99ー0.81=0.18
したがって、答えは「ウ」となります。
平成28年 春季 稼働率の計算
この問題では、まずこのシステム全体が直列システムか並列システムかを見極めないといけません。どちらのシステムかは、どのような説明がされているかで判断します。
まず、このシステムは「サーバ」「クライアント」「プリンタ」の3つのシステムで構成されています。クライアントについては「3台のうち1台でも稼働していればよい」、プリンタについては「2台のうちどちらかが稼働していればよい」と説明されているので、どちらも並列システムとなります。
また、「このシステムはクライアントからの指示に基づいて、サーバにあるデータをプリンタに出力する」となっているので「クライアント→サーバ→プリンタ」の順番の処理が実行されいます。
以上のことから、システム構成図は以下のようになります。
各システムの稼働率が与えられているので、あとは計算式に当てはめてみます。
1台のクライアントの稼働率は「b」となり、3台のクライアントは並列システムで構成されているので、クライアント部分全体の稼働率は以下のようになります。
1ー(1ーb)×(1ーb)×(1ーb)=1ー(1ーb)3
サーバの稼働率は問題文から「a」となります。
1台のプリンタの稼働率は「c」となり、2台のプリンタは並列システムで構成されているので、プリンタ部分全体の稼働率は以下のようになります。
1ー(1ーc)×(1ーc)=1ー(1ーc)2
システム全体では、これら個々のシステムが直列システムとして構成されているので、全体の稼働率は以下のようになります。
全体の稼働率=クライアント部分の稼働率×サーバの稼働率×プリンタ部分の稼働率
全体の稼働率=(1ー(1ーb)3)×a×(1ー(1ーc)2)=a(1ー(1ーb)3)(1ー(1ーc)2)
以上のことから、正解は「エ」となります。
平成28年 春季 MTBFとMTTRの関係
各選択肢の内容について、確認してみます。
ア MTTRが変わらずMTBFが異なるとシステムの稼働率も変化します。稼働率は「MTBFとMTTRの合計に占めるMTBFの割合」で表現されるため、MTBFが短くなれば稼働率は低下し、MTBFが長くなれば稼働率は向上します。したがって、説明は間違いです。
イ 稼働率はMTBFが長ければ長いほど稼働率は向上します。MTBFとMTTRの合計が同じ場合、MTBFが長い方が稼働率は高くなります。したがって、説明は間違いです。
ウ MTBFを変えずにMTTRを短くできれは稼働率は向上します。したがって、説明は正しいです。
エ MTTRが変わらずにMTBFが長くなれば稼働率は向上します。したがって、説明は間違いです。
以上のことから、正解は「ウ」です。
平成28年 秋季 稼働率の計算
この問題は「MTBFとMTTRから稼働率を求める」問題と「複数のシステムの稼働率を求める」問題が組み合わされているものです。
まず、MTBFとMTTRから各コンピュータの稼働率を求めます。稼働率を求める計算式を再度掲載すると以下の通りです。
コンピュータ1の稼働率=480÷(480+20)=480/500=0.96
コンピュータ2の稼働率=950÷(950+50)=950/1000=0.95
問題の文章では「どちらか1台が稼働していればよい」と書かれているので、このコンピュータは並列システムで構成されています。
したがって、システム全体の稼働率は、以下のようにして求めることができます。
システム全体の稼働率=1ー(1ー0.96)×(1ー0.95)=1ー0.04×0.05=1ー0.002=0.998=99.8%
以上のことから、正解は「エ」となります。
平成29年 春季 稼働率の計算
まず、並列システム部分の稼働率を求めます。
稼働率=1ー(1ーR)×(1ーR)=1ー(1ーR)2
この並列システム2つが直列で接続された場合の全体の稼働率は次の通りです。
全体の稼働率=(1ー(1ーR)2)×(1ー(1ーR)2)=(1ー(1ーR)2)2
以上のことから、答えは「ウ」です。
平成29年 秋季 稼働率の計算
この問題は「MTBFとMTTRから稼働率を求める」問題と「複数のシステムの稼働率を求める」問題が組み合わされているものです。
まず、MTBFとMTTRから各装置の稼働率を求めます。
この装置1つの稼働率=45÷(45+5)=45/50=0.9
この装置を直列に接続した場合の全体の稼働率は以下の通りです。
全体の稼働率=0.9×0.9=0.81
したがって、答えは「ア」です。
平成30年 秋季 稼働率の計算
問題文から、このシステムは以下のように図式化できます。
まず、「東京→大阪→福岡」の直列システムの稼働率を求めます。
稼働率=0.9×0.9=0.81
次に、「東京→大阪→福岡」と「東京→福岡」の並列システム(全体)の稼働率を求めます。
稼働率=1ー(1ー0.81)×(1ー0.9)=1ー0.19×0.1=1ー0.019=0.981
したがって、答えは「ウ」です。
まとめ
今回は、稼働率の求め方について過去問題を使い、集中的に説明しました。
稼働率はほぼ毎回出題されていて、計算方法を理解していれば確実に正解できる問題です。ぜひ、この機会に求め方を理解し、出題された時は正解できるようにしておきましょう!!
・MTBFは「正常に稼働している時間」、MTTRは「修理時間」をそれぞれ示す
・稼働率=MTBF/(MTBF+MTTR)
・直列システムは「全てのシステムが稼働していなければならないシステム」を示す
・直列システムの稼働率=システム1の稼働率×システム2の稼働率
・並列システムは「どれか1つのシステムが稼働していればよいシステム」を示す
・並列システムの稼働率=1ー(1ーシステム1の稼働率)×(1ーシステム2の稼働率)
稼働率を求めたり、稼働率の特徴を質問されたり、色々なパターンの問題があるんですね。
計算だけではなく、MTBFやMTTRなどの用語の意味や関係も合わせて理解しておく必要があります。
計算する場合も、計算式が多くて、どれを使えばよいか悩みそうです。
問題文から直列システムか並列システムかを的確に判断しないといけません。
ただし、表現方法が決まっているので過去問題を解いて覚えていきましょう!!
このサイトでは、基本情報技術者試験の集中講義を他の記事でも解説しています。ぜひ、あわせて勉強してみてください。