- ベストアンサー
シリンダ数を求める問題
下の問題をやってみたのですがどうしても答えが合いません。どなたかご教授お願いします。 24000(バイト/トラック) 30(トラック/シリンダ) 上記の仕様の磁気ディスクに対して、100000件のレコードを記録するのに必要なシリンダ数を求めよ。1レコード200バイト、IRGは130バイトとする。 また、ブロック化係数を7とした場合に必要なシリンダ数を求めよ。 答えは ブロック化しない時、47シリンダ ブロック化係数が7の時、32シリンダ これが、自分で計算すると ブロック化しない時、45シリンダ ブロック化係数が7の時、31シリンダ になっていまします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
いきなり全部で一気に割っていませんか。 1個ごとに割り算して、切捨てと切り上げをきちんとしていかないといけません。 答えはあっていますよ。 (1) 24000/(200+130)=72.7→72 100000/(72×30)=46.3→47(答え) (2) 24000/(200×7+130)=15.7→15 100000/7=14285.7→14286 14286/(15×30)=31.7→32(答え)
その他の回答 (1)
- stonewell
- ベストアンサー率48% (25/52)
懐かしー 情報処理の試験勉強をしていた頃を思い出します。 本題ですが、割り算した時の小数点以下の処理が原因ではないかと思います。 1ブロック(7レコード)は (200*7)+130 なので 1530byte 24000 / 1530 = 15.68・・・ブロック トラックをまたいで記録することはできないので、 1トラックには15ブロックしか書き込めません。 よって1トラックに書き込めるのは 15*7 で105レコードです。 この辺りで間違っていないでしょうか? もし見当外れでしたら補足願います。