ブロック化因数(ブロッキングファクター)とセクタ、レコードについて。
下記の参考書内の問題で分からないことがありました。以下引用:
------------------------------------
問題
1トラックが12セクタ、1セクタが1200バイトのディスク装置の場合、
論理レコードが900バイトの固定長であるフィルを格納するとき、
ディスクの使用効率が最大となるブロック化因数は1、2、3、4のうちどれか。
ただし、ブロックは複数のセクタにまたがれるが、トラックにはまたがれない。
また、セクタに複数のブロックを記録できない。
解答
ブロック化因数で場合分け。
1のとき。1セクタに1レコード記録でき、トラックに12レコード記録できる。
2のとき。2セクタに1ブロック(2レコード)。1トラックに12レコード。
3のとき。3セクタに1ブロック(3レコード)。1トラックに12レコード。
4のとき。3セクタに1ブロック(4レコード)。1トラックに16レコード。
よって、4のとき効率が一番いい。
-------------------------------------
引用終わり。
1のときは分かりますが、2,3のときの前半がなぜそうなるのか分かりません。
また、4のとき、突然規則が変化してますがなぜでしょうか。
以上、2点の疑問について質問させていただきます。
参考書:2010 基本情報技術者 合格への総まとめ、iTEC
No.2ベストアンサー
- 回答日時:
セクタ単位かつブロック単位で物理的に読み書きしますから、
ブロックがセクタの途中から始まることはできないということもポイントです。
ですから、ブロック化因数によって無駄が発生するということです。
それを踏まえて、逆に考えてみればわかりやすいのではないでしょうか?
1セクタ(1200バイト)にレコード(900バイト)を1個入れると残り300バイトの無駄。
2セクタ(2400バイト)にレコード(900バイト)を2個入れると残り600バイトの無駄。
3セクタ(3600バイト)にレコード(900バイト)を3個入れると残り900バイトの無駄。
3セクタ(3600バイト)にレコード(900バイト)を4個入れると割り切れるので無駄は無い。
無駄が少ないほど使用効率が良いとなるわけですから、4が答えとなります。
No.1
- 回答日時:
また随分とクラシックな問題ですね。
物理的な入出力は最小単位がセクタになります。
1セクタ1200バイトなら、900バイトだけ読む
ことはできません。
物理的な入出力に対し、論理的な入出力単位が
ブロックです。ブロック化因数が2なら1個の
ブロック長は900×2で1800で、これを収める
には1セクタでは足りず、2セクタ必要ですね。
つまり、1ブロックあたり2セクタになるので、
1トラック(12セクタ)では6ブロック入る計算
です。1ブロックは2レコードなので、6×2で
12レコードです。次に、ブロック化因数が3なら
1ブロックは900×3で2700になり、これを収める
ためには2セクタでは足りず、3セクタ必要に
なります。1トラックでは4ブロックということ
です。1ブロックは3レコードなので4×3で、
これも12レコードになります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) 1トラック30KB(=30720byte) のディスクに1レコード(1人分)200byteのデータを 2 2022/07/17 00:10
- ドライブ・ストレージ HDDの代替処理保留中のセクタ数と回復不能セクタ数について 7 2023/06/06 13:15
- その他(音楽・ダンス・舞台芸能) 「録音品質の良い」オススメのレコードを教えてください。 皆様のお持ちのレコードで「これは音がいい!」 8 2022/08/08 14:45
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- その他(データベース) IT用語について質問です。 以前ITパスポートの試験を受けた際にデータベースが何の集まりかについての 2 2022/12/10 12:29
- Excel(エクセル) エクセル テーブル機能の不明点 2 2022/04/14 14:10
- スピーカー・コンポ・ステレオ ハイレゾとレコードの音質差について 宜しくお願いします。 レコードにはCDでは録音できない倍音成分が 21 2022/06/28 10:04
- 洋楽 ツェッペリンのライブの海賊盤 8 2023/04/10 16:41
- ドメイン・サーバー・クラウドサービス 独自ドメインでのNSレコード設定 1 2023/07/12 18:36
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ubuntuで デイスク/deb/loopと...
-
ブロック化因数(ブロッキング...
-
パソコンでインターネット接続...
-
プログラムの規模を表す単位「k...
-
ライン数とステップ数の違いに...
-
Macと iPadの違いについて 今現...
-
hdmiはパラレル?シリアル?
-
AutoCAD LTの中古。
-
VB.netでDLLを読み込んで実行す...
-
ワープロ検定の勉強法について。
-
ステップカウントツールが作成...
-
ドライブ段の意味(回路用語)
-
ステップ数??
-
スタックの伸張方向
-
社内LANのネットワークトラフィ...
-
ステップ数について
-
L2スイッチの管理VLANに...
-
エクセルのHLOOKUP関数の検索範...
-
第一級陸上特殊無線技士
-
VB6.0で #の意味
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ubuntuで デイスク/deb/loopと...
-
MOの容量って、どうなってい...
-
転送速度の計算方法がわかりません
-
この二つの問題とける人いませ...
-
ブロック長について
-
磁気ディスクのアクセス時間の...
-
磁気ディスクのアクセス時間に...
-
磁気ディスクの計算問題です
-
ブロック化因数(ブロッキング...
-
6MBのデータをダウンロードする...
-
プログラムの規模を表す単位「k...
-
パソコンでインターネット接続...
-
ステップ数について
-
Macと iPadの違いについて 今現...
-
ステップ数??
-
ライン数とステップ数の違いに...
-
VB.netでDLLを読み込んで実行す...
-
女子小学生と女子中学生と女子...
-
MoveNextの処理速度は?
-
VB6.0で #の意味
おすすめ情報