下の2問の解き方を教えていただけませんか??
いろいろ調べてみたのですが、さっぱりわからずに困っています。。。よろしくお願いします。
(1) 次の仕様の磁気ディスクにおいて、必要とされるシリンダ数を求めよ。
ここでブロック間隔(IBG: Inter Block Gap)はブロックとブロックの間に存在し、ブロックの情報を記録する領域である。
またブロック化因数とは一つのブロックを構成するレコードの数である。
1シリンダ当たりのトラック数 19 トラック
1トラック当たりのバイト数 19,000 バイト
1レコードのバイト数 250 バイト
ブロック間隔 150 バイト
レコード件数 50,000 件
ブロック化因数 6
(2) 次の仕様の磁気ディスクの1ブロックアクセス時間を求めよ。ここでrpm(revolution per second)は一分当たりの回転数である。
平均位置決め時間 20 ミリ秒
1トラック当たりのバイト数 20,000 バイト
ディスク回転速度 6,000 rpm
1レコードのバイト数 250 バイト
ブロック間隔 150 バイト
ブロック化因数 6
No.5ベストアンサー
- 回答日時:
(1)
1ブロックの長さ
= レコード長×ブロック化因数+IBG
= 250 x 6 + 150
= 1,650 バイト
1トラックのブロック数
= 1トラックの長さ÷1ブロックの長さ
= 19,000÷1,650=11.52
= 11ブロック(端数切り捨て)
1トラックのレコード数
= ブロック数×ブロック化因数
= 11 x 6
= 66レコード
1シリンダに記録できるレコード数
=1トラックのレコード数×1シリンダのトラック数
= 66 x 19
= 1254レコード
必要なシリンダ数
= レコード件数÷1シリンダのレコード数
= 50,000÷1254 = 39.87
= 40シリンダ
(2)
平均回転待ち時間=1回転時間÷2
=(時間(1分)÷ディスク回転速度)÷2
=1min(60,000ms)÷6,000rpm÷2
=5ms
1トラックあたりのデータ転送時間
=時間(1分)÷ディスク回転速度
=10ms
1ブロックの長さ
= レコード長×ブロック化因数+IBG
= 250 x 6 + 150
= 1,650 バイト
1トラックのブロック数
= 1トラックの長さ÷1ブロックの長さ
= 20,000÷1,650
= 12ブロック(端数切り捨て)
1ブロックあたりの転送速度
=1トラックの転送速度÷1トラックのブロック数
=10ms÷12
=0.83ms
※細かく計算しないで、複数の式をまとめると
※きっちり割り切れて 0.825 になります。
※小数点以下何桁まで有効か、によりけりですが。
1ブロックアクセス時間
=平均位置決め時間+平均回転待ち時間+1ブロック転送時間
= 20ms + 5ms + 0.83ms
= 25.83ms
--------
以上が私の計算結果です。
わかりやすく式を列挙して計算しましたが、普通に計算する場合は、#1さんのやり方でかまわないです。(最終的にはその方向で計算できれば良いかと)
(2)の方は、#3で指摘されているように、5ms足りません。
それと、#2で指摘されているように、図にすると理解しやすくなります。
ただ、(1)の↓この部分でケアレスミスしているかと。
>50000件格納するのに必要なトラック数 = 50000 ÷ 11 = 4545.4545・・・なので4546トラック
これは、ブロック数で割るのではなく、レコード数が50,000件なので1トラックあたりのレコード数で割るのが正しいのではないかと思うのですが。
50000÷66=757.5757575....=758トラック
で、以下、
758÷19 = 39.89 = 40シリンダ
と。
私の方が間違いでしょうか?自信なし。
久しぶりなので、計算式等思い出せないものもあり(というかブロック化因数が思い出せなかった)、本+ネットを頼ったものもあって、自身がないのですが。(^_^;
ここら辺の計算は、習うより慣れろ、なので、基本をベースに数をこなして覚えた方が良いでしょう。
#明日は有給のため夜更かし・・・
とっても丁寧な回答、本当にありがとうございました。
とても分かりやすくて助かりました。
本やネットで調べていただいたみたいで。。。
感謝感謝です。
基本がまったくできていないので、
数こなしてがんばりたいと思います。
素敵なお休みをすごしてくださいねぇ♪
No.6
- 回答日時:
#1です。
しまった、やっぱりケアレスミスしてました。(^^;
(1)
50000件格納するのに必要なトラック数 = 50000 ÷ 11 ÷ 6 = 757.57・・・なので758トラック
50000件格納するのに必要なシリンダ数 = 758 ÷ 19 = 39.894・・・なので40シリンダ
(2)
平均回転待ち時間を足し忘れました。
平均回転待ち時間 = ディスク1回転の所要時間 ÷ 2 = 5ミリ秒
1ブロックアクセス時間 = 20ミリ秒 + 0.825ミリ秒 + 5ミリ秒 = 25.825ミリ秒
です。
フォローして下さった皆様、ありがとうございました。
No.4
- 回答日時:
No.1さんとNo.3さんをあわせてあわせ技で正解です。
No.1
- 回答日時:
基本情報処理の典型的な問題ですね。
その手の資格本を見れば解き方は載ってる筈です。
(1)
1ブロックのバイト数=250byte×6+150byte=1650byte
1トラック当たりの格納可能ブロック数=19000byte ÷ 1650byte = 11.5151・・・なので11ブロック
50000件格納するのに必要なトラック数 = 50000 ÷ 11 = 4545.4545・・・なので4546トラック
50000件格納するのに必要なシリンダ数 = 4646 ÷ 19 = 244.5・・・なので245シリンダ
(2)
1ブロックのバイト数=250byte×6+150byte=1650byte
ディスク1秒間の回転数=6000 ÷ 60 = 100回転
ディスク1回転の所要時間 = 1秒 ÷ 100 = 10ミリ秒
1ブロックリードする所要時間 = 1650 ÷ 20000 × 10 = 0.825ミリ秒
1ブロックアクセス時間 = 20ミリ秒 + 0.825ミリ秒 = 20.825ミリ秒
です。
(いや~久しぶりにこういう計算やりました。20年ぶり。間違ってたら恥ずかしいな。(^^;)
回答ありがとうございます。
とっても助かりましたぁ。
情報処理の典型的な問題なんですね!!
勉強不足です。。。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 貨物自動車・業務用車両 高速道路の追い越し車線を90km/h位で後続車をブロックする大型トラックの運転手さんに質問します。 2 2022/03/30 23:50
- 工学 制御工学の問題について 1 2022/10/22 17:44
- その他(コンピューター・テクノロジー) 1トラック30KB(=30720byte) のディスクに1レコード(1人分)200byteのデータを 2 2022/07/17 00:10
- 数学 至急!次の問題を教えてください。 ある市では、消防車の出動要請が平均して1時間当たり1回ある。 多く 2 2022/11/18 20:25
- 教えて!goo こういうサイトって回答数が多い人間ほど社会のゴ●が多いと思うけど、一括ブロック制度ないのかな? 2 2022/04/18 07:10
- 数学 行列 線形代数 数学 区間行列 ブロック行列 逆行列 区間行列(ブロック行列)でA^-1を求めよとい 2 2022/05/06 00:25
- 教えて!goo 今更ながらgooに対する幾つかの質問です。 5 2023/02/14 09:02
- 教えて!goo 僕は、つい回答が気に入らないと「ブロック」しちゃうんですが、数日で「100%解除」します。 皆様は? 15 2022/05/01 13:19
- その他(住宅・住まい) 境界フェンス 4 2022/10/07 23:14
- その他(恋愛相談) 7-8年の付き合いの方に「もう会わない」的なLINEが来ていい逃げ? でSNS全ブロックされました。 1 2023/03/03 22:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データセットのレコード更新が...
-
ファイル書込みで一行もしくは...
-
ACCESSで大量の更新を行うと「...
-
レコードが存在しなかった場合
-
DataGridViewの、選択されてい...
-
差し込み印刷のレコード数について
-
固有レコード識別子の選択とは
-
ヘッダレコードとトレーラレコ...
-
Accessデータシートビューの行...
-
DataGridViewの内容をDBに反映...
-
サブフォームに新規レコードを...
-
ADO VBA 実行時エラー3021
-
Javaで使用するデータベースの...
-
Access でレコードセレクタが押...
-
[VBA] ADOの Clone と AddNew
-
アクセスでレポートの1印刷内...
-
VB.netでmdbのレコードを取得
-
エラー番号=5 制約を有効にで...
-
ワードの差込印刷で教えて下さ...
-
JSPのNULLレコード表示について...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ADO VBA 実行時エラー3021
-
ファイル書込みで一行もしくは...
-
レコードが存在しなかった場合
-
アクセスでレポートの1印刷内...
-
JSPのNULLレコード表示について...
-
カレントレコードが無い事を判...
-
DataGridViewの、選択されてい...
-
差し込み印刷のレコード数について
-
ACCESSで大量の更新を行うと「...
-
DataGridViewの内容をDBに反映...
-
Access でレコードセレクタが押...
-
固有レコード識別子の選択とは
-
レコードセット(ADO.Recordset)...
-
Access を×ボタンで閉じ...
-
DataGridViewにてセル以外をク...
-
ヘッダレコードとトレーラレコ...
-
ワードの差込印刷で教えて下さ...
-
サブレンジ分割されたNDB(富士...
-
データセットのレコード更新が...
-
[VBA] ADOの Clone と AddNew
おすすめ情報