<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MTBF MTTR | 基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</title>
	<atom:link href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/tag/mtbf-mttr/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi</link>
	<description>基本情報技術者試験を学習する人のためにつくられた専門メディア。250本以上の記事を掲載し、勉強方法や各分野のポイント、過去問解説など、試験に役立つ情報を発信。試験対策書籍を執筆する著者が、はじめて学ぶ人でもわかりやすく解説します。（2023年度からの新制度に対応済み）</description>
	<lastBuildDate>Mon, 20 Apr 2026 07:08:52 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.9.29</generator>
	<item>
		<title>稼働率の計算方法がわかる｜かんたん計算問題</title>
		<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/easy_calc/availability/</link>
		<pubDate>Mon, 20 Jan 2020 12:45:56 +0000</pubDate>
		<dc:creator><![CDATA[矢沢 久雄]]></dc:creator>
				<category><![CDATA[MTBF MTTR]]></category>
		<category><![CDATA[稼働率]]></category>
		<category><![CDATA[計算問題]]></category>

		<guid isPermaLink="false">https://www.seplus.jp/dokushuzemi/fe/fenavi/?post_type=easy_calc&#038;p=3516</guid>
		<description><![CDATA[<p>かんたん計算問題とは この連載では、基本情報技術者試験で、多くの受験者が苦手意識を持っている「計算問題」に的を絞って、計算方法を詳しく説明します。苦手克服のポイントは、身近な具体例で、計算方法のイメージをつかむことです。 [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/easy_calc/availability/">稼働率の計算方法がわかる｜かんたん計算問題</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></description>
				<content:encoded><![CDATA[<div class="card-panel intro">
<span class="chip white cyan-text mag_bt20">かんたん計算問題とは</span><br />
この連載では、基本情報技術者試験で、多くの受験者が苦手意識を持っている「計算問題」に的を絞って、計算方法を詳しく説明します。苦手克服のポイントは、<span class="bold">身近な具体例で、計算方法のイメージをつかむこと</span>です。<br />
丸暗記ではなく、感覚的に理解してください。そうすれば、様々な問題に応用できます。
</div>
<p>今回のテーマは、トップ 10 に入るくらいよく出る「稼働率」です。稼働率の計算方法がわかったら、いくつか過去問題を解いてみましょう。</p>
<style>dt{font-weight:700}dd{margin-left:.5em}.border{border-image:-webkit-linear-gradient(to right,#0ed2f7,#b2fefa) 1/.7em;border-image:linear-gradient(to right,#0ed2f7,#b2fefa) 1/.7em;border-style:solid}.figure{text-align:center}.intro{line-height:200%;border-radius:10px;color:#fff;margin:3em 0;background:-webkit-linear-gradient(to right,#0ed2f7,#b2fefa);background:linear-gradient(to right,#0ed2f7,#b3e6e3)}.r-width{width:80%;margin:auto}@media only screen and (max-width:600px){.r-width{width:100%}.background{margin:0}}</style>
<h2><span class="chip">用語解説</span> 稼働率とは何か？</h2>
<div class="card-panel border">
<span class="bold">稼働率とは、「システムが動作している確率」</span>のことです。</p>
<p>たとえば、全体で 100 時間のうち 90 時間動作して 10 時間停止したシステムの稼働率は、以下の計算で求められ、0.9（ 90% ）になります。「そんなの当然じゃん！」ですね。</p>
<div class="background c-round">
<dl>
<dt>稼働率</dt>
<dd>＝ 動作した時間 / 全体の時間</dd>
<dd>＝ 90 時間 / 100 時間</dd>
<dd>＝ 0.9（ 90 % ）</dd>
<dl>
</div>
<p>この稼働率の計算式を MTBF と MTTR という言葉を使って書くと、以下になります。</p>
<p>「うわっ、急に難しくなった！」でしょう。</p>
<div class="background c-round">
稼働率 ＝ MTBF / ( MTBF ＋ MTTR )
</div>
<p>でも、ご安心ください。この難しそうな式も「そんなの当然じゃん！」だからです。</p>
<p>&nbsp;</p>
<p><span class="bold">MTBF は、Mean Time Between Failure（故障と故障の間の平均時間）の略</span>であり、<span class="bold">MTTR は、Mean Time To Repair（修理のための平均時間）の略</span>です。</p>
<p>システムは必ず故障するものと考えて、故障と故障の間が「動作した時間」であり MTBF と呼び、故障して修理中の時間が「停止した時間」であり MTTR と呼ぶのです。</p>
<p>MTBF ＋ MTTR は、「動作した時間＋停止した時間」なので「全体の時間」ということになります。</p>
<p>したがって、「 稼働率 ＝ MTBF / ( MTBF ＋ MTTR )」という難しそうな式は、以下のように変形して、「稼働率 ＝ 動作した時間 / 全体の時間」という簡単な式と同じになります。</p>
<div class="background c-round">
<dl>
<dt>稼働率</dt>
<dd>＝ MTBF / ( MTBF ＋ MTTR )</dd>
<dd>＝ 動作した時間 / (動作した時間＋停止した時間)</dd>
<dd class="bold">＝ 動作した時間 / 全体の時間</dd>
</dl>
</div>
</div>
<h2>システムの稼働率の計算方法（直列の場合）</h2>
<div class="card-panel border">
試験には、複数の装置から構成されたシステムの稼働率を求める問題が、よく出題されます。それぞれの装置の稼働率から、システムの稼働率を求める計算方法を覚えてください。</p>
<p>システムには、様々な構成がありますが、基本となる<span class="bold">「直列」</span>と<span class="bold">「並列」</span>の稼働率の計算方法をマスターすれば、様々な構成に応用できます。</p>
<p>&nbsp;</p>
<p>まず、直列の稼働率の計算方法です。</p>
<p>身近な具体例として、稼働率 0.9 のパソコン 1 台と、稼働率 0.8 のプリンタ 1 台から構成されたシステムがあるとします。</p>
<p>同じ役割を持つ装置が 1 台しかない場合は、直列でつながっていると考えて、以下の図で示します。装置をつなぐ矢印は、データの流れを示します。</p>
<div class="mag_h30 blue-grey-text figure">
図　直列のシステムの例<br />
<img class="materialboxed r-width hoverable mag_h10 pad_05" data-caption="直列のシステムの例" src="../../wp-content/uploads/2020/01/serial_rate_1.png">
</div>
<p>パソコンに入ったデータは、90 % の確率でパソコンから出てきます。そのデータがプリンタに入って、90 % の 80 % の 72 % のデータがプリンタから出てきます。</p>
<p>したがって、システム全体の稼働率は 72 %　になります。これは、以下のように、それぞれの装置の稼働率を掛けることで求められます。</p>
<div class="mag_h30 blue-grey-text figure">
図　直列のシステムの稼働率の計算方法<br />
<img class="materialboxed r-width hoverable mag_h10 pad_05" data-caption="直列のシステムの稼働率の計算方法" src="../../wp-content/uploads/2020/01/calc_serial_rate.png">
</div>
</div>
<h2>システム全体の稼働率の計算方法（並列の場合）</h2>
<div class="card-panel border">
次に、並列の稼働率の計算方法です。</p>
<p>身近な具体例として、稼働率 0.9 のサーバ A と稼働率 0.8 のサーバ B から構成されたシステムがあり、少なくともどちらが一方が動作していればサービスを提供できるとします。</p>
<p>同じ役割を持つ装置が複数台あり、どれか 1 台が動作していればよい場合は、並列でつながっていると考えて、以下の図で示します。</p>
<p>システムに入ったデータは、いずれかのサーバで処理できれば、システムから出てくることができます。</p>
<div class="mag_h30 blue-grey-text figure">
図　並列のシステムの例<br />
<img class="materialboxed r-width hoverable mag_h10 pad_05" data-caption="並列のシステムの例" src="../../wp-content/uploads/2020/01/parallel_rate.png">
</div>
<p>どちらか一方が動作していればよい場合、</p>
<div class="background c-round">
<dl>
<dt>システム全体の稼働率</dt>
<dd>＝ 1 &#8211; ( 両方の装置が同時に停止する確率 )</dd>
</dl>
<p><span class="blue-grey-text">（この 1 は、100% という意味です）</span>
</div>
<p>で求めることができます。</p>
<div class="background c-round">
<dl>
<dt>両方の装置が同時に停止する確率</dt>
<dd>＝ ( 一方の装置が停止する確率 ) × ( もう一方の装置が停止する確率 )</dd>
</dl>
</div>
<p>で求められます。</p>
<p>そして、それぞれは、</p>
<div class="background c-round">
<dl>
<dt>装置が停止する確率</dt>
<dd>＝ 1 &#8211; ( 装置の稼働率 )</dd>
</dl>
</div>
<p>で求められます。</p>
<p>したがって、このシステムの稼働率は、以下の 1. ～ 4. の順に計算して、0.98（ 98 % ）になります。</p>
<div class="mag_h30 blue-grey-text">
<center>図　並列のシステムの稼働率の計算方法</center></p>
<div class="row">
<div class="col s12 m6">
<ol>
<li>サーバ A が停止する確率<br />1 &#8211; 0.9 ＝ 0.1</li>
<p>        <img class="materialboxed hoverable mag_h10 mag_h10" data-caption="並列のシステムの稼働率の計算方法" src="../../wp-content/uploads/2020/01/parallel_rate.png"></p>
<li>サーバ B が停止する確率<br />1 &#8211; 0.8 ＝ 0.2</li>
</ol></div>
<div class="col s12 m6">
<ol start="3">
<li class="mag_h10">サーバ A とサーバ B の両方が同時に停止する確率<br />0.1 × 0.2 ＝ 0.02</li>
<li class="mag_h10">サーバ A とサーバ B のいずれかが動作する確率<br />1 － 0.02 ＝ 0.98（ 98 % ）<br /><span class="bold">これがシステムの稼働率</span></li>
</ol></div>
</p></div>
</div>
</div>
<h2>直列と並列ぞれぞれのシステムの稼働率を求める問題</h2>
<p>それでは、稼働率を計算する問題を解いてみましょう。</p>
<p>はじめは、直列と並列それぞれのシステムの稼働率を求める問題です。先ほど示した具体例を、そのまま問題にしたような内容です。</p>
<div class="card-panel mag_h30">
問 16　令和 1 年度 秋期</p>
<p>2 台の処理装置から成るシステムがある。少なくともいずれか一方が正常に動作すればよいときの稼働率と，2 台とも正常に動作しなければならないときの稼働率の差は幾らか。ここで，処理装置の稼働率はいずれも 0.9 とし，処理装置以外の要因は考慮しないものとする。</p>
<p>ア　0.09　　イ　0.10　　ウ　0.18　　エ　0.19
</p></div>
<p>「少なくともいずれか一方が正常に動作すればよいときの稼働率」は、並列のシステムであり、以下の 1. ～ 4. の順に計算して 0.99（ 99 % ）になります。</p>
<div class="mag_h30 blue-grey-text">
<center>図　稼働率 0.9 の処理装置を並列にしたシステムの稼働率</center></p>
<div class="row">
<div class="col s12 m6">
<ol>
<li>処理装置 A が停止する確率<br />1 &#8211; 0.9 ＝ 0.1</li>
<p>        <img class="materialboxed hoverable mag_h10 mag_h10" data-caption="稼働率 0.9 の処理装置を並列にしたシステムの稼働率" src="../../wp-content/uploads/2020/01/parallel_rate_q16_rev01.png"></p>
<li>処理装置 B が停止する確率<br />1 &#8211; 0.9 ＝ 0.1</li>
</ol></div>
<div class="col s12 m6">
<ol start="3">
<li class="mag_h10">処理装置 A と処理装置 B の両方が同時に停止する確率<br />0.1 × 0.1 ＝ 0.01</li>
<li class="mag_h10">処理装置 A と処理装置 B のいずれかが動作する確率<br />1 － 0.01 ＝ 0.99（ 99 % ）<br /><span class="bold">これがシステムの稼働率</span></li>
</ol></div>
</p></div>
</div>
<p>「 2 台とも正常に動作しなければならないときの稼働率」は、直列のシステムであり、以下のように 0.81（ 81 % ）になります。</p>
<div class="mag_h30 blue-grey-text figure">
図　稼働率 0.9 の処理装置を直列にしたシステムの稼働率<br />
<img class="materialboxed hoverable r-width mag_h10" data-caption="稼働率 0.9 の処理装置を直列にしたシステムの稼働率" src="../../wp-content/uploads/2020/01/calc_serial_rate_q16_rev01.png">
</div>
<p>したがって、両者の差は、0.99－0.81 ＝ 0.18（ 18 % ）であり、選択肢ウが正解です。</p>
<p><span class="chip">正解</span>　ウ</p>
<h2>直列と並列を組合せたシステムの稼働率を求める問題</h2>
<p>今度は、直列と並列を組合せたシステムの稼働率を求める問題です。同じ役割を持つ装置が1台しかない場合は直列でつながっていると考え、同じ役割を持つ装置が複数台ある場合は直列でつながっていると考えることがポイントです。</p>
<div class="card-panel mag_h30">
問 14　平成 31 年度 春期</p>
<p>図のように，1 台のサーバ，3 台のクライアント及び 2 台のプリンタが LAN で接続されている。このシステムはクライアントからの指示に基づいて，サーバにあるデータをプリンタに出力する。各装置の稼働率が表のとおりであるとき，このシステムの稼働率を表す計算式はどれか。ここで，クライアントは 3 台のうちどれか 1 台が稼働していればよく，プリンタは 2 台のうちどちらかが稼働していればよい。</p>
<p><img class="materialboxed r-width hoverable mag_h10 pad_05" src="../../wp-content/uploads/2020/01/q14_figure_availability.jpg"></p>
<table class="bordered mag_h30" style="width: 80%; margin: auto;">
<thead>
<tr>
<th>装置</th>
<th>稼働率</th>
</tr>
</thead>
<tbody>
<tr>
<td>サーバ</td>
<td>a</td>
</tr>
<tr>
<td>クライアント</td>
<td>b</td>
</tr>
<tr>
<td>プリンタ</td>
<td>c</td>
</tr>
<tr>
<td>LAN</td>
<td>1</td>
</tr>
</tbody>
</table>
<p>ア　ab<sup>3</sup>c<sup>2</sup>　　イ　a( 1 &#8211; b<sup>3</sup> )( 1 &#8211; c<sup>2</sup> )<br />
ウ　a( 1 &#8211; b<sup>3</sup> )( 1 &#8211; c )<sup>2</sup>　　エ　a( 1 &#8211; ( 1 &#8211; b<sup>3</sup> )( 1 &#8211; ( 1 &#8211; c )<sup>2</sup> )
</div>
<p>このシステムの構成を稼働率を計算しやすい形式で示すと、以下のようになります。</p>
<p>1 台しかないサーバは直列で、3 台あるクライアントと 2 台あるプリンタは並列です。</p>
<p>稼働率 1（ 100 % ）の LAN は、計算に含める必要はありません。1 を掛けても、稼働率は同じだからです。</p>
<div class="mag_h30 blue-grey-text figure">
図　直列と並列で示したシステムの構成<br />
<img class="materialboxed r-width hoverable mag_h10 pad_05" data-caption="図　直列と並列で示したシステムの構成" src="../../wp-content/uploads/2020/01/q14_figure_availability.png">
</div>
<p>あせらずに、少しずつ計算してみましょう。</p>
<div class="background c-round" style="line-height: 180%;">
サーバの稼働率は a です。クライアントの稼働率は b なので、停止する確率は 1 － b です。<br />
3 台あるクライアントが同時に停止する確率は、<br />
<span class="bold">( 1 &#8211; b ) × ( 1 &#8211; b ) × ( 1 &#8211; b ) ＝ ( 1 &#8211; b )<sup>3</sup> </span><br />
です。したがって、いずれか 1 台のクライアントが動作する確率は、 1 &#8211; ( 1 &#8211; b )<sup>3</sup> です。
</div>
<div class="background c-round" style="line-height: 180%;">
プリンタの稼働率は c なので、停止する確率は 1 &#8211; c です。<br />
2 台あるプリンタが同時に停止する確率は、<br />
<span class="bold">( 1 &#8211; c ) × ( 1 &#8211; c ) ＝ ( 1 &#8211; c )<sup>2</sup> </span><br />
です。したがって、いずれか 1 台のプリンタが動作する確率は、1 &#8211; ( 1 &#8211; c )<sup>2</sup> です。
</div>
<p>以上のことから、このシステムは、稼働率 a のサーバ部、稼働率のクライアント部、稼働率のプリンタ部が、直列になっていると考えることができます。</p>
<div class="mag_h30 blue-grey-text figure">
図　それぞれの部分が直列になっていると考えて稼働率を求める<br />
<img class="materialboxed r-width hoverable mag_h10 pad_05" data-caption="それぞれの部分が直列になっていると考えて稼働率を求める" src="../../wp-content/uploads/2020/01/q14_figure_2_availability.png">
</div>
<p>したがって、以下のようにシステムの稼働率は、それらを掛け合わせた</p>
<div class="background c-round">
a( 1 &#8211; ( 1 &#8211; b )<sup>3</sup> )( 1 &#8211; ( 1 &#8211; c )<sup>2</sup> )
</div>
<p>になり、選択肢エが正解です。</p>
<p><span class="chip">正解</span>　エ</p>
<h2>回線の稼働率を求める問題</h2>
<p>今度は、回線の稼働率を求める問題です。一見して「ネットワークの問題？」と思われるかもしれませんが、稼働率を計算する問題です。</p>
<div class="card-panel mag_h30">
問 15　平成 30 年度 秋期</p>
<p>東京と福岡を結ぶ実線の回線がある。東京と福岡の間の信頼性を向上させるために，大阪を経由する破線の迂回回線を追加した。迂回回線追加後における，東京と福岡の間の稼働率は幾らか。ここで，回線の稼働率は，東京と福岡，東京と大阪，大阪と福岡の全てが 0.9 とする。</p>
<p><img class="materialboxed r-width hoverable mag_h10 pad_05" src="../../wp-content/uploads/2020/01/q15_figure_availability.jpg"></p>
<p>ア　0.729　　イ　0.810　　ウ　0.981　　エ　0.999
</p></div>
<p>稼働率 0.9 の回線を、これまでと同様に装置とみなせば、問題に示されたシステムの構成は、以下のようになります。</p>
<div class="mag_h30 blue-grey-text figure">
図　回線を装置とみなした場合のシステムの構成<br />
<img class="materialboxed r-width hoverable mag_h10 pad_05" data-caption="回線を装置とみなした場合のシステムの構成" src="../../wp-content/uploads/2020/01/q15_figure_2_availability.png">
</div>
<p>ここでも、あせらずに、少しずつ計算してみましょう。</p>
<p>福岡 → 大阪 → 東京の稼働率は、稼働率 0.9 の 2 台の装置が直列なので、</p>
<div class="background c-round">
0.9 × 0.9 ＝ 0.81
</div>
<p>です。</p>
<p>福岡と東京の間は、この 0.81 の稼働率の部分と、もう 1 つ別の稼働率 0.9 の部分（稼働率 0.9 の装置が 1 台の部分）が並列になっています。</p>
<p>これらのいずれかが動作する確率（福岡と東京の間の稼働率）は、以下の (1) ～ (3) の順に計算して、0.981 になります。</p>
<div class="mag_h30 blue-grey-text figure">
図　それぞれの部分が並列になっていると考えて稼働率を求める<br />
<img class="materialboxed r-width hoverable mag_h10 pad_05" data-caption="それぞれの部分が並列になっていると考えて稼働率を求める" src="../../wp-content/uploads/2020/01/q15_figure_3_availability_rev02.png" />
</div>
<p>したがって、選択肢ウが正解です。</p>
<p><span class="chip">正解</span>　ウ</p>
<h2>MTBF と MTTR という言葉が登場する問題</h2>
<p>最後は、MTBF と MTTRという言葉が登場する問題です。もう一度、言葉の意味を確認しておきましょう。</p>
<p>MTBF（ Mean Time Between Failire ）は「動作している時間」で、MTTR（ Mean Time To Repair ）は「停止している時間」です。</p>
<div class="card-panel mag_h30">
問 29　平成 29 年度 秋期</p>
<p>MTBF が 45 時間で MTTR が5時間の装置がある。この装置を二つ直列に接続したシステムの稼働率は幾らか。</p>
<p>ア　0.81　　イ　0.90　　ウ　0.95　　エ　10.99
</p></div>
<p>問題に示された MTBF と MTTR の値から装置の稼働率を求めると、以下のように 0.9 になります。</p>
<div class="background c-round">
<dl>
<dt>装置の稼働率</dt>
<dd>＝ MTBF / (MTBF＋MTTR)</dd>
<dd>＝ 45 時間 / ( 45 時間 ＋ 5 時間)</dd>
<dd>＝ 0.9</dd>
</dl>
</div>
<p>稼働率 0.9 の装置を 2 つ直列に接続したシステムの稼働率は、もう図を描かなくても計算できると思いますが、</p>
<div class="background c-round">
0.9 × 0.9 ＝ 0.81（ 81 % ）
</div>
<p>になります。したがって、選択肢アが正解です。</p>
<p><span class="chip">正解</span>　ア</p>
<div class="divider mag_h50"></div>
<p>稼働率の計算方法と問題の解き方を、ご理解いただけましたでしょうか。</p>
<p>基本情報技術者試験の会場には、<span class="bold">電卓を持ち込めないので、問題を練習するときには、電卓を使わずに手作業で計算してください。</span></p>
<p>はじめは時間がかかるかもしれませんが、何問か練習しているうちに、だんだん速く計算できるようになるはずです。</p>
<p>それでは、またお会いしましょう！</p>
<p>&nbsp;</p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/easy_calc/availability/">稼働率の計算方法がわかる｜かんたん計算問題</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></content:encoded>
			</item>
		<item>
		<title>「厳選5題」過去問と解説 &#124; 平成29年度 秋期 の過去問やるならこれをやれ</title>
		<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/kakomon-gensen/h29_autumn/</link>
		<pubDate>Thu, 28 Mar 2019 06:41:19 +0000</pubDate>
		<dc:creator><![CDATA[矢沢 久雄]]></dc:creator>
				<category><![CDATA[MTBF MTTR]]></category>
		<category><![CDATA[スタック]]></category>
		<category><![CDATA[午前問題]]></category>
		<category><![CDATA[稼働率]]></category>
		<category><![CDATA[計算問題]]></category>
		<category><![CDATA[過去問の解き方]]></category>

		<guid isPermaLink="false">https://www.seplus.jp/dokushuzemi/fe/fenavi/?post_type=kakomon-gensen&#038;p=832</guid>
		<description><![CDATA[<p>ここでは、平成 29 年度 秋期 基本情報技術者試験の午前試験の中から「やるべき問題」を厳選し、ぶっちゃけた解説をさせていただきます。 やるべき問題とは、よく出る問題であり、かつ、練習すればできる問題（練習しないとできな [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/kakomon-gensen/h29_autumn/">「厳選5題」過去問と解説 | 平成29年度 秋期 の過去問やるならこれをやれ</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>ここでは、<a href="https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2017h29_2/2017h29a_fe_am_qs.pdf" rel="noopener" target="_blank">平成 29 年度 秋期 基本情報技術者試験の午前試験</a>の中から「やるべき問題」を厳選し、ぶっちゃけた解説をさせていただきます。</p>
<p>やるべき問題とは、よく出る問題であり、かつ、練習すればできる問題（練習しないとできない問題）です。</p>
<style>h2 .chip{vertical-align:middle;background:#3f51b5;color:white;margin-right:.75em;}.chip i{font-size:2em!important;}table{font-size:.85em;}table.s6{width:60%;margin:1.5em auto;}dl.inline dd{margin-left:2em}dl.background dt{font-weight:700}pre,code{font-family:'consolas','Courier New',"HCo Gotham SSm",Gotham,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN","Hiragino Sans","BIZ UDPGothic",Meiryo,sans-serif!important;background:#eceff1;color:#263238;}pre{padding:1em 1.5em;margin:1.5em 0;}code{padding:.15em .5em;}@media only screen and (max-width:600px){dl dd,dl.background dd{margin-left:0}}</style>
<h2><span class="chip">厳選問題<i class="material-icons mag_lt05">looks_one</i></span>とってもよく出る MTBF と MTTR の意味をしっかり覚えよう</h2>
<div class="card-panel mag_h50">
問 15　(平成 29 年度　秋期)</p>
<p>MTBF が 45 時間で MTTR が 5 時間の装置がある。 この装置を二つ直列に接続したシステムの稼働率は幾らか。</p>
<p>ア　0.81　　イ　0.90　　<br class="hide-on-med-and-up">ウ　0.95　　エ　0.99
</div>
<div class="chip">解説</div>
<p>私は、英語が得意ではありません。 英検 3 級で、TOEIC が 400 点台という、何年も学校で習ったのに英語ができない典型的な日本人です。</p>
<p>そんな私が言うのも何ですが、</p>
<ul class="background c-round bold mag_h20">
<li>英語の IT 用語は、必ず日本語の意味を調べて覚えてください。 </li>
<li>略語の場合は、何の略なのかを調べて、それを日本語に訳して覚えてください。 </li>
</ul>
<p>そうする習慣を持ってください。 英語が苦手なら、なおさらそうしてください。</p>
<p>&nbsp;</p>
<p>この問題には、<span class="bold">MTBF</span> と <span class="bold">MTTR</span> という略語があります。</p>
<p>どちらも、とってもよく出題される用語ですが、「 MTBF は、平均故障間隔」「 MTTR は、平均修理時間」と丸暗記するのでは、いけません。 どっちがどっちなのか、わからなくなってしまう恐れがあるからです。</p>
<dl class="background c-round mag_h30">
<dt class="bold">MTBF</dt>
<dd>Mean Time Between Failure の略、故障と故障の間の平均時間という意味、つまり動いている時間のこと</dd>
<dt class="bold">MTTR</dt>
<dd>Mean Time To Repair の略、修理のための平均時間という意味、つまり止まっている時間のこと</dd>
</dl>
<p>と覚えてください。</p>
<p>そして、<br />
「稼働率は、MTBF /（ MTBF + MTTR ）という計算で求められる。</p>
<p>これは、<br />
<code><span class="bold">動いている時間 / （動いている時間+止まっている時間）</span></code><br />
つまり、<br />
<code><span class="bold">動いている時間 / すべての時間</span></code></p>
<p>だから当たり前だ」ということも、合わせて覚えてください。</p>
<p>&nbsp;</p>
<p>それでは、問題を解いてみましょう。</p>
<p>MTBF すなわち 動いている時間が 45 時間で、MTTR すなわち 止まっている時間が 5 時間ですから、この装置の稼働率は、</p>
<pre>動いている時間 / すべての時間 = 45 /（ 45 + 5 ）= 0.9</pre>
<p>です。</p>
<p>この装置を 2 つを直列にしたシステムなのですから、両方が動作していなければなりません。</p>
<p>システムの稼働率は、それぞれの装置の稼働率を掛け算して求められ、0.9 × 0.9 = 0.81 です。</p>
<p>正解は、アです。</p>
<p><span class="chip mag_h30">解答</span>　ア</p>
<p>いかがですか。 用語の意味も、計算方法も、丸暗記ではなく、このようにきちんと覚えてください、そうすれば、問題をスラスラ解けます。</p>
<p class="grey-text mag_tp30"><i class="material-icons light-blue-text">search</i><span class="blue-grey-text mag_w05">タグで関連記事をチェック</span><a href="../../tag/稼働率/" class="tag">稼働率</a><a href="../../tag/mtbt-mttr/" class="tag">MTBF MTTR</a></p>
<h2><span class="chip">厳選問題<i class="material-icons mag_lt05">looks_two</i></span>この問題で、スタックの特徴だけでなく用途を知るべし</h2>
<div class="card-panel mag_h50">
問 5　(平成 29 年度　秋期)</p>
<p>A , B , C , D の順に到着するデータに対して、一つのスタックだけを用いて出力可能なデータ列はどれか。</p>
<p>ア　A , D , B , C　　<br class="hide-on-med-and-up">イ　B , D , A , C<br />
ゥ　C , B , D , A　　<br class="hide-on-med-and-up">エ　D , C , A , B
</div>
<div class="chip">解説</div>
<p>データ構造の一種であるスタック（ stack ）は、直訳すると「干し草を積んだ山」という意味です。</p>
<p>この言葉が示す通り、スタックには、積み上げるようにデータを格納します。 そのため、最後に格納したデータが、最初に取り出されます。 これを LIFO（ Last In First Out ）形式と呼びます。</p>
<p>と、ここまでは、皆さんよくご存じでしょう。</p>
<p>ただし、最も大事な知識が抜けています。 <span class="bold">それは、スタックの用途</span>です。</p>
<p>データを積み上げるように格納することは、スタックの特徴です。 それによって、<span class="bold">データの順序を入れ替えるのが、スタックの用途</span>です。 この用途を知らない人が、意外と多いのです。</p>
<p>&nbsp;</p>
<p>簡単な例を示すと、 A 、 B の順にスタックに格納されたデータは、 B 、 A の順に取り出されます。 A 、 B が、 B 、 A に入れ替わっています。</p>
<p>これが、順序を入れ替えるということです。</p>
<p>ただし、あらゆる順序で入れ替えられるわけではありません。</p>
<p>&nbsp;</p>
<p>この問題は、「 A 、 B 、 C 、 D の順にスタックに格納した場合、取り出せる順序は、選択肢の中の 1 つだけですよ。 それを選んでください」という問題です。</p>
<p>&nbsp;</p>
<p>選択肢を 1 つずつ吟味してみましょう。</p>
<p>ここでは、記事の向きの都合で、左から右にデータを積む絵を示します（下から上にデータを積む絵の方がわかりやすいのですが、何卒ご了承ください）。 スタックの底には、「底」という字を入れておきます。</p>
<p>まず、選択肢アの A 、 D 、 B 、 C です。 以下のように、 A 、 D まで取り出せますが、その時点でスタックの最上部にあるのは C なので、 B を取り出せません。</p>
<table class="s6 bordered centered">
<tbody>
<tr>
<td>底 A</td>
<td>A を格納する</td>
</tr>
<tr>
<td>底</td>
<td>A を取り出す</td>
</tr>
<tr>
<td>底 B</td>
<td>Bを格納する</td>
</tr>
<tr>
<td>底 BC</td>
<td>C を格納する</td>
</tr>
<tr>
<td>底 BCD</td>
<td>D を格納する</td>
</tr>
<tr>
<td>底 BC</td>
<td>D を取り出す</td>
</tr>
</tbody>
</table>
<p>次に、選択肢イの B 、 D 、 A 、 C です。 以下のように、 B 、 D まで取り出せますが、その時点でスタックの最上部にあるのは C なので、 A を取り出せません。</p>
<table class="s6 bordered centered">
<tbody>
<tr>
<td>底 A</td>
<td>A を格納する</td>
</tr>
<tr>
<td>底 AB</td>
<td>B を格納する</td>
</tr>
<tr>
<td>底 A</td>
<td>B を取り出す</td>
</tr>
<tr>
<td>底 AC</td>
<td>C を格納する</td>
</tr>
<tr>
<td>底 ACD</td>
<td>D を格納する</td>
</tr>
<tr>
<td>底 AC</td>
<td>D を取り出す</td>
</tr>
</tbody>
</table>
<p>次に、選択肢ウの C 、 B 、 D 、 A です。 以下のように、 C 、 B 、 D 、 A まですべて取り出せます。 したがって、正解は、ウです。</p>
<table class="s6 bordered centered">
<tbody>
<tr>
<td>底 A</td>
<td>A を格納する</td>
</tr>
<tr>
<td>底 AB</td>
<td>B を格納する</td>
</tr>
<tr>
<td>底 ABC</td>
<td>C を格納する</td>
</tr>
<tr>
<td>底 AB</td>
<td>C を取り出す</td>
</tr>
<tr>
<td>底 A</td>
<td>B を取り出す</td>
</tr>
<tr>
<td>底 AD</td>
<td>D を格納する</td>
</tr>
<tr>
<td>底 A</td>
<td>D を取り出す</td>
</tr>
<tr>
<td>底</td>
<td>A を取り出す</td>
</tr>
</tbody>
</table>
<p><span class="chip">解答</span>　ウ</p>
<p>&nbsp;</p>
<p>念のため、選択肢エの D、 C 、 A 、 B も確認しておきましょう。 以下のように、 D 、 C まで取り出せますが、その時点でスタックの最上部にあるのは B なので、 A を取り出せません。</p>
<table class="s6 bordered centered">
<tbody>
<tr>
<td>底 A</td>
<td>A を格納する</td>
</tr>
<tr>
<td>底 AB</td>
<td>B を格納する</td>
</tr>
<tr>
<td>底 ABC</td>
<td>C を格納する</td>
</tr>
<tr>
<td>底 ABCD</td>
<td>D を格納する</td>
</tr>
<tr>
<td>底 ABC</td>
<td>D を取り出す</td>
</tr>
<tr>
<td>底 AB</td>
<td>C を取り出す</td>
</tr>
</tbody>
</table>
<p class="grey-text mag_tp30"><i class="material-icons light-blue-text">search</i><span class="blue-grey-text mag_w05">タグで関連記事をチェック</span><a href="../../tag/スタック/" class="tag">スタック</a></p>
<h2><span class="chip">厳選問題<i class="material-icons mag_lt05">looks_3</i></span>「待ち状態」と「実行待ち状態」の意味は、実にわかりにくい！</h2>
<div class="card-panel mag_h50">
問 18 (平成 29 年度　秋期)</p>
<p>優先度に基づくプリエンプティブなスケジューリングを行うリアルタイム OS で，二つのタスク A ，B をスケジューリングする。  A の方が B よりも優先度が高い場合にリアルタイム OS が行う動作のうち，適切なものはどれか。</p>
<dl class="inline">
<dt>ア</dt>
<dd>A の実行中に B に起動がかかると， A を実行可能状態にして B を実行する。 </dd>
<dt>イ</dt>
<dd>A の実行中に B に起動がかかると， A を待ち状態にして B を実行する。 </dd>
<dt>ウ</dt>
<dd>B の実行中に A に起動がかかると， B を実行可能状態にして A を実行する。 </dd>
<dt>エ</dt>
<dd>B の実行中に A に起動がかかると， B を待ち状態にして A を実行する。 </dd>
</dl>
</div>
<div class="chip">解説</div>
<p>問題文に示された「プリエンプティブ」とは、「先取権がある」という意味です。</p>
<p>ここでは、 A と B の 2 つのタスク（プログラム）があって、 A の方が B よりも優先度が高い、つまり A に先取権がある ということです。</p>
<p>したがって、 B が実行中でも、 A に起動がかかると、 B から A に実行が切り替わります。</p>
<p>&nbsp;</p>
<p>そのとき B は、どうなるのでしょう？</p>
<p>常識的に考えると「待ち状態」もしくは「実行待ち状態」になると言いたいところですが、そうではないのです！</p>
<p class="bold">はっきり言って、言葉がよろしくありません。 </p>
<p>タスクの状態には、「実行中状態」「待ち状態」「実行可能状態」があります。</p>
<p>誰が命名したのか知りませんが、これらの中で「待ち状態」「実行可能状態」という言葉が特によろしくないのです。</p>
<div class="background c-round">
「待ち状態」は、<span class="bold">実行を待っている状態ではなく、 I/O （入出力装置）の処理が終わるのを待っている状態</span>です。</p>
<p>それでは、<span class="bold">実行を待っている状態を何と呼ぶのかというと、「実行可能状態」</span>です。
</div>
<p>これは、実にわかりにくいですね。</p>
<p>&nbsp;</p>
<p>混乱してしまったかもしれませんので、整理しておきましょう。 「用語（意味）」で示します。</p>
<p>タスクの状態は、</p>
<dl class="background c-round">
<dt>実行中状態</dt>
<dd class="bold">（タスクが実行されている状態）</dd>
<dt>待ち状態</dt>
<dd class="bold">（タスクが I/O の処理が終わるのを待っている状態）</dd>
<dt>実行可能状態</dt>
<dd class="bold">（タスクが他のタスクの実行が終わるのを待っている状態）</dd>
</dl>
<p>です。</p>
<p>それでは、選択肢を見てみましょう。</p>
<p>A の方が B よりも優先度が高いのですから、選択肢ウの</p>
<blockquote>
<p class="grey-text">「 B の実行中に A に起動がかかると、 B を実行可能状態にして A を実行する」</p>
</blockquote>
<p>が適切です。</p>
<p>正解は、ウです。</p>
<p><span class="chip mag_h30">解答</span>　ウ</p>
<p>この問題から、「何てわかりにくい言葉だ！」と思いながら、「実行状態」「待ち状態」「実行可能状態」の意味を覚えてください。 そして、「他にも、こういうわかりにくい用語があるんだろうなあ」と用心してください。</p>
<h2><span class="chip">厳選問題<i class="material-icons mag_lt05">looks_4</i></span>これは、用語や仕組みがわらないと計算できない問題です</h2>
<div class="card-panel mag_h50">
問 19　(平成 29 年度　秋期)</p>
<p>図のメモリマップで, セグメント 2 が解放されたとき, セグメントを移動 ( 動的再配置 ) し，分散する空き領域を集めて一つの連続領域にしたい。 1 回のメモリアクセスは 4 バイト単位で行い，読取り，書込みがそれぞれ 30 ナノ秒とすると，動的再配置をするために必要なメモリアクセス時間は合計何ミリ秒か。 ここで， 1k バイトは 1,000 バイトとし，動的再配置に要する時間以外のオーバヘッドは考慮しないものとする。</p>
<figure>
<img class="hoverable materialboxed z-depth-5" style="margin:auto" src="../../wp-content/uploads/2019/03/q19_h29a_figure.png"><br />
</figure>
<p>ア　1.5　　イ　6.0　　ウ　7.5　　エ　12.0
</p></div>
<div class="chip">解説</div>
<p>基本情報技術者試験には、様々な計算問題（ 何らかの計算を行わせる問題 ）が出題されます。 それらの問題の中には、実用的な計算もありますが、<span class="bold">ほとんど実用的でない問題もあります。</span></p>
<p>この問題は、後者です。</p>
<p><span class="bold">「用語や仕組みがわかっているなら、この計算できるよね」という趣旨の問題</span>なのです。 したがって、<span class="u">計算方法に公式などありません。 用語や仕組みから計算方法を見出す</span>のです。</p>
<p>&nbsp;</p>
<p>この問題を解くために必要とされる用語と仕組みを説明しましょう。</p>
<dl class="background c-round mag_h30">
<dt class="bold">「メモリマップ」</dt>
<dd>メモリがどのように使われているかを示す図です</dd>
<dt class="bold">「セグメント」</dt>
<dd>何らかの用途で使用している「領域」という意味です</dd>
<dt class="bold">セグメントの「解放」</dt>
<dd>そのセグメントを空き領域（未使用の領域）にすることです</dd>
<dt class="bold">「メモリアクセス」</dt>
<dd>メモリを読み書きすることです</dd>
</dl>
<p>これらの言葉の意味がわかると、問題の意味もわかるでしょう。</p>
<p>&nbsp;</p>
<p>セグメント 2 を開放すると、セグメント 1 とセグメント 3 の間に 100 k バイトの空き領域ができます。 これを、もともとある 800 k バイトの空き領域と連続した領域にせよという問題です。</p>
<p>「それなら、セグメント 3 の右端から 100 k バイトを、セグメント 2 の空き領域に移動すればいいんじゃないの？」と思うかもしれませんが、それではダメです。</p>
<p>セグメント 3 の内容の順序が変わってしまうからです。</p>
<p>データでもプログラムでも、順序が変わったら、おかしなものになってしまいます。 そういう仕組みなのです。 したがって、セグメント 3 の 800 k バイトをセグメント 1 の後ろに移動する処理が必要です。</p>
<p>「それなら、 800 k バイト × 30 ナノ秒 という計算をすればいいんじゃないの？」と思うかもしれませんが、それではダメです。</p>
<p>問題文に「 1 回のメモリアクセスが 4 バイト」と示されているので、メモリアクセスの回数は、<br />
<code>800 k バイト ÷ 4 バイト = 200 k 回</code><br />
です。</p>
<p>「それなら、200k 回 × 30 ナノ秒 という計算かな？」と思ったら、それも違います。</p>
<p>メモリのデータの移動は、「メモリのデータを CPU に読み出す」「 CPU のデータをメモリに書き込む」という処理で行われます。 そういう仕組みになっているのです。</p>
<p>読み出し回数が 200 k 回で、書き込み回数が 200 k 回なので、合計 400 k 回の読み書きになりますす。</p>
<p>&nbsp;</p>
<p>「だったら、</p>
<pre>400 k 回 × 30 ナノ秒
= 400 × 10<sup>3</sup> × 30 × 10<sup> - 9</sup>
= 12000 × 10<sup> - 6</sup>
= 12 × 10<sup> - 3</sup>
= 12 ミリ秒</pre>
<p>かな？」</p>
<p>はい、その通りです！</p>
<p>正解は、エです。</p>
<p><span class="chip mag_h30">解説</span>　エ</p>
<p class="grey-text mag_tp30"><i class="material-icons light-blue-text">search</i><span class="blue-grey-text mag_w05">タグで関連記事をチェック</span><a href="../../tag/計算問題/" class="tag">計算問題</a></p>
<h2><span class="chip">厳選問題<i class="material-icons mag_lt05">looks_5</i></span>これも、用語や仕組みがわらないと計算できない問題です</h2>
<div class="card-panel mag_h50">
問 31　(平成 29 年度　秋期)</p>
<p>符号化速度が 192 k ビット/秒の音声データ 2.4 M バイトを，通信速度が 128 k ビット / 秒のネットワークを用いてダウンロードしながら途切れることなく再生するためには、再生開始前のデータのバッファリング時間として最低何秒間が必要か。</p>
<p>ア　50　　イ　100　　<br class="hide-on-med-and-up">ウ　150　　エ　250
</div>
<div class="chip">解説</div>
<p>用語や仕組みから計算方法を見出す問題は、本当によく出題されるので、もう 1 問だけ練習しておきましょう。</p>
<p>これは、ネットワークで音声をダウンロードしながら再生するためのバッファリング時間を求める問題です。 問題文の中にある「符号化速度」とは、音声をデジタルデータ化する速度です。</p>
<p>符号化速度が 192 k ビット /  秒とは、 1 秒間に 192 k ビットの音声データが生じるということです。</p>
<p>このデータが <code>2.4 M バイト = 2.4 M × 8 = 19.2 M ビット</code> あるので、再生時間は、</p>
<pre>19.2 M ÷ 192 k <br>= ( 19.2 × 10<sup>6</sup> ) ÷ ( 192 × 10<sup>3</sup> )<br>= 100 秒</pre>
<p>です。 ここまでは、OK ですか。</p>
<p>&nbsp;</p>
<p>それでは、説明を続けます。</p>
<p>符号化速度が 192 k ビット / 秒で、通信速度が 128 k ビット / 秒 ですから、通信速度の方が遅いので、このままでは再生が間に合わず、途切れてしまうことになります。 それを防ぐために、「バッファリング」つまり、あらかじめデータを読み貯めておくのです。</p>
<p>100 秒の再生時間にダウンロードできるデータ量は、</p>
<pre>通信速度 × 100 秒 <br>= 128 k ビット / 秒 × 100 秒 <br>= 12.8 M ビット</pre>
<p>です。</p>
<p>再生する音声データは、 19.2 M ビットあるので、</p>
<pre>19.2 M ビット - 12.8 M ビット = 6.4 M ビット</pre>
<p>をバッファリングしておく必要があります。 ここまでは、OK ですか。</p>
<p>&nbsp;</p>
<p>それでは、いよいよ最後の計算です。</p>
<p>通信速度が 128 k ビット / 秒 ですから、6.4 M ビットをバッファリングする時間は、</p>
<pre>6.4 M ビット ÷ 128 k ビット / 秒 <br>= 6400 ÷ 128 <br>= 50 秒</pre>
<p>です。</p>
<p>正解は、アです。 やったあ！ できたあ！</p>
<p><span class="chip mag_h30">解答</span>　ア</p>
<p class="grey-text mag_tp30"><i class="material-icons light-blue-text">search</i><span class="blue-grey-text mag_w05">タグで関連記事をチェック</span><a href="../../tag/計算問題/" class="tag">計算問題</a></p>
<div class="divider mag_h50"></div>
<p>記事をお読みいただきありがとうございます。</p>
<p>もしも、一度解いただけでは、よくわからない問題があったなら、わかるまで何度でも練習してください。 <span class="bold">「やるべき問題」は、「わかるまでやるべき問題」</span>だからです。</p>
<p>この厳選問題大全集が、受験者の皆様のお役に立てば幸いです。</p>
<p>&nbsp;</p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/kakomon-gensen/h29_autumn/">「厳選5題」過去問と解説 | 平成29年度 秋期 の過去問やるならこれをやれ</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></content:encoded>
			</item>
	</channel>
</rss>
