プロが教える店舗&オフィスのセキュリティ対策術

回転速度が10,000回転/分、平均位置決め時間が8ms、1トラック当たりのデータ容量が12,000バイトの磁気ディスク装置に、1セクタ当たり400バイトのデータが記憶されているとき、1セクタのデータを読み取るために必要なアクセス時間は何msか?

この問題のデータ転送時間の求め方が分かりません。

データ転送時間の公式は、転送するデータのバイト数÷データ転送速度。
データ転送速度が分からないので、データ転送速度から求める(データ転送速度=1トラックのバイト数÷1回転の時間)

・1トラックのバイト数は問題文より12,000バイト。
・1回転の時間は、6ms。(1分間に10,000回転するので、60÷10,000=0.006秒、0.006秒は6ms)
 だから12,000÷6=2000bps

・データ転送速度が2000bpsであることが分かった。

データ転送時間=転送するデータのバイト数÷データ転送速度より、
       =転送するデータのバイト数÷2000

あとは転送するデータのバイト数が分かれば答えが解ける状態になりました。

転送するデータのバイト数はどうやって求めるのでしょうか?
最初は1セクタ当たり400バイトの400を使うのかな?と思ったのですが、この400は「1セクタあたりに400バイトのデータが記憶されている」だけであって、「転送するデータ」ではないですので、違うと判断しました。 
そうするとどうやるのかな?と。

A 回答 (3件)

「データ転送速度」が既に間違っているんだが, それはそれとして.



「1セクタ当たり400バイトのデータが記憶されている」ときに「1セクタのデータを読み取る」わけだ. 何バイトのデータだと思う?
    • good
    • 0
この回答へのお礼

1セクタにデータが400バイト記憶されているだけであって、読み取るのではないから不明。ですか?

(データ転送速度どこ間違えてますか・・?)

お礼日時:2020/05/08 00:29

ここでは400バイトのデータがヘッドに出会うのにどれだけの時間を要するか、ということです。


読取るためにはデータがヘッドに”接触”しなくてはなりませんから。
もし読取り量が12000バイトだったら? ディスク1回転分ですから6mSec要します。
ならば400バイトなら? 12000バイトの1/30ですから0.2mSec要することになります。

ティスクでは必ずセクタ単位で読み書きします。必要なデータがたった1バイトであってもディスクへの読み書きはセクタ単位です。この問題では400バイト単位でしなくてはなりません。不要なデータもメモリーへいったんは読み込みますが利用せずに捨ててしまいます。
また書込む場合、データ量が1セクタ分に満たない場合、ダミーデータを書込みます。一般に「有効データの数」もデータとして記録するので不具合は生じません。


> だから12,000÷6=2000bps
これ、何の計算ですか?
ディスク上のデータがヘッドに接触する1mSecあたりのバイト数でしょ。
単位がbpsではないでしょう。
まず前回も書きましたがビットとバイトを書き分けないとだめです。読む人に誤解されないように。
さらに「1mSecあたり」の数値ですからbpsはおかしい。末尾のsは1mSecを意味するmならまだわかる。
ともかく意味のない計算です。
    • good
    • 0
この回答へのお礼

> だから12,000÷6=2000バイト/ミリ秒
これ、何の計算ですか?

質問文に書いてあります。データ転送速度=1トラックのバイト数÷1回転の時間です。

(bpsという単位を抜きにして)違うのですか?

bpsはビットですからおかしかったですね。バイト/ミリ秒とします。

お礼日時:2020/05/08 08:40

#2です。



> (bpsという単位を抜きにして)違うのですか?
「1mSecの間に2000バイト転送する」ということですね。そのとおりです。
では400バイト転送に要する時間は? 1mSecの1/5になるはず。つまり0.2mSecです。
つまり答は出ていました。正解まであと一歩でした。

何度も言いますが単位を間違えることは致命傷です。私も昔にはコケました。
以来計算の数値には単位を付けています。その単位も割ったり掛けたりします。
つまり単位の"次元"を合わせるのです。これで計算ミスの多くが発見できます。
あなたの bps は Bpm(Byte per mSec) なら正しかったのです。
いくら数値が合っていても単位が違えばダメ。読む人が誤解するともっとダメ。
誤解されないことにも気をつけて。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!