• 締切済み

メモリについての質問です。

 以下の仕様の磁気ディスク装置に、1レコード200バイトのレコード10万件を順編成で記録したい。 10レコードを1ブロックとして記録するときに必要なシリンダ数はいくつか。ここで、1つのブロックは 複数のセクタにまたがってよいが、最後のセクタで余った部分は利用されない。   トラック/シリンダ   19   セクタ数/トラック   40   バイト数/セクタ   256   以上の質問の回答と解説を何卒よろしくお願い申し上げます。

みんなの回答

回答No.2

Q)1レコード200バイトのレコード10万件を順編成で記録したい。 10レコードを1ブロックとして記録するときに必要なシリンダ数はいくつか。ここで、1つのブロックは複数のセクタにまたがってよいが、最後のセクタで余った部分は利用されない。   トラック/シリンダ   19   セクタ数/トラック   40   バイト数/セクタ   256 A) 10レコードを1ブロックとするとき、レコード10万件に必要なブロック数は、 10X10000÷10=10000(ブロック) 1ブロックに必要なセクタ数は、200X10÷256=8(切り上げ) 1万ブロックでは、8X10000=80000(セクタ) 1シリンダあたりのセクタ数は、40X19=760(セクタ/シリンダ) 必要なシリンダ数は、80000÷760=106(切り上げ) 「ブロック」(レコードのブロック化)とは、最小の論理単位であるレコードをまとめて扱うことで、記憶装置(磁気ディスク記憶装置に限らない)の有効利用と入出力(I/O)処理の速度向上を同時に実現するプログラム的手法。 順編成とは、順編成ファイル、すなわち単純な並びのレコードを先頭から尻尾まで、順序に従って読んだり、書いたりするファイル形式のこと。

noname#156136
noname#156136
回答No.1

磁気ディスクはメモリではありませんので、これはメモリについての問題ではありません。 100,000 [record] ÷ 10 [record/block] = 10,000 [block] 200 [byte/record] × 10 [record/block] = 2,000 [byte/block] 2,000 [byte/block] ÷ 256 [byte/sector] = 7.8125 ⇒ 8 [sector/block] (小数点以下切上げ) 10,000 [block] × 8 [sector/block] = 80,000 [sector] 80,000 [sector] ÷ 40 [sector/track] = 2,000 [track] 2,000 [track] ÷ 19 [track/cylinder] =105.26… ⇒ 106 [cylinder] (小数点以下切上げ)

関連するQ&A