記録 面が 2 面 の磁気ディスク装置において

�L�^�ʂ�2�ʂ̎��C�f�B�X�N���u�ɂ����āC1�ʓ�����̃g���b�N����1,500�ŁC�e�g���b�N�̃Z�N�^�����\�̂Ƃ���ł���Ƃ��C���̎��C�f�B�X�N���u�̗e�ʂ͖�M�o�C�g���B�����ŁC1�Z�N�^�̒�����500�o�C�g�C1M�o�C�g��106�o�C�g�Ƃ���B

�g���b�N�ԍ� �Z�N�^��
0�`699 300
700�`1499 250

磁気ディスク

記録 面が 2 面 の磁気ディスク装置において

磁気ディスク(magnetic disk)は、単にディスク、ハードディスクあるいはHDD(Hard Disk Driver)ともいいます。パソコンがの普及初期には、外部記憶装置として、プロッピーディスク(薄いプラスチックの円盤)が用いられており、それとの対比で「ハード」といわれたのです。

磁気ディスクは、パソコンの筐体の内部に組み込まれている内蔵ディスクと取外しのできる外付けディスクがあります。内蔵ディスクは仮想記憶方式の主要要素であり不可欠な存在で、外付けディスクはデータのバックアップ用に広く用いられています。近年はより高速なSSDを搭載したパソコンが普及してきましたが、それでも磁気ディスクは主流の座を保っています。

磁気ディスクの構造

磁気ディスク装置は,図のように,両面に磁性体を塗布した数枚の円盤形状の磁気ディスク(プラッタ)とその磁気面に位置づけして情報を読込み書出しするスイングアーム機構から構成されています。
スイングアームの先端には磁気ヘッドがあり、プラッタの磁気のON/OFFをキャッチしたり、プラッタの磁気をON/OFFにすることができます。プラッタが回転し十分高速になると、空気の流れにより磁気ヘッドはわずかに浮上します。磁気面と接触せずにアクセスが行われるので磁気面の損傷が防げます。

すべてのスイングアームは1つのスイングアーム回転軸に固定されているので、すべての磁気ヘッドは同じ動きでプラッタ上を移動します。スイングアープの回転によりプラッタの中心からの距離が決まり。プラッタの回転により中心からの角度がきまるので、この機構ですべての記録位置に磁気ヘッドを移動することができます。

以下、磁気ディスクの容量と転送速度の計算例を示しますが、磁気ディスクの性能は急激に向上しています。それにも関わらず、ここでは数十年前の諸元を用いています(修正するのが面倒だという理由です)。


磁気ディスクの容量計算

記録 面が 2 面 の磁気ディスク装置において
  • トラック
    1面のプラッタは右上図のように円周が並んだ部分が記録部分で、個々の円周をトラックといいます。
  • セクタ
    トラックは、いくつかのセクタに分割されます。1セクタのバイト数を一定にするため、中心部では1シリンダ当たりのセクタ数を小さく、円周部では大きくしています。
  • シリンダ
    右下図のように、1つのトラックの円周で切り取ると円筒のように見えます。それをシリンダといいます。すなわち,磁気ディスクは,シリンダという円筒を同心円に並べたものであり,シリンダを縦に切ったときの断面がトラックで,そのトラックがセクタに分割されているのだと考えられます。

すなわち、磁気ディスクの総容量は、
総容量=記録面×トラック数×セクタ数×1セクタのバイト数
で計算できます。

問題記録面が6面の磁気ディスク装置において,
1面当たりのトラック数が5,000本で,
各トラックのセクタ数が表のとおりであるとき,
この磁気ディスク装置の容量は約何Gバイトか。
ここで,セクタの長さは512バイトとする。
トラック番号 セクタ数
0~ 699 300
700~1499 250
1500~2999 200
3000~4999 150
解答 トラック番号 トラック数 セクタ数 容量(注:1セクタ長=512バイト)
0~ 699 700 300 512×300× 700=107,520,000
700~1499 800 250 512×250× 800=102,400,000
1500~2999 1500 200 512×200×1500=153,600,000
3000~4999 2000 150 512×150×2000=153,600,000
-----------------------------
1面あたりの容量(バイト) 517,120,000

517,120,000バイト→0.52GB, または517,120,000/10243=0.48GB,
6面あるので,6×0.52=3GB または6×0.48=3GB・・・答

磁気ディスクのアクセス時間

記録 面が 2 面 の磁気ディスク装置において
ディスクからデータを読み出したり書き込んだりする時間を計算します。

総時間=[シーク時間]+[サーチ時間]+[転送時間]

シーク時間アームが対象データが存在するトラックのところ(A)まで移動する時間。 サーチ時間ディスクが回転して,対象となるデータの先頭部分(B)が回転して,アームのところ(A)に到達するまでの時間。平均的にはディスクが半回転する時間になります。
ディスクの回転速度は,rpm[回転数/分]で与えられるのが通常です。たとえば,6000rpmならば,100[回転/秒]ですから,1回転に要する時間は0.01[秒/回転],すなわち,10ms(ミリ秒)になります。サーチ時間は半回転の時間ですから5msとなります。転送時間データを読取る時間。読むためのCPUやメモリの時間は,ディスクの回転速度よりも高速ですから,データの先頭部分(B)がAに来てから,末尾部分(C)がAに来るまでの時間になります。
この時間を求めるには,対象データがトラックのどれだけを占めるかを知る必要があります。もし,1トラックの容量が92KBであり,対象データが18.4KBならば,18.4/92=0.2[回転]ですから,転送時間は0.2×10=2msになります。問題次の磁気ディスクで1KBを転送するのに要する時間を求めよ。
回転数 6,000rpm
トラックの記録密度 200セクタ/トラック
セクタ長 500バイト/セクタ
シーク時間 1ms

ただし,1KBは1000バイトとして計算せよ。解答6,000rpm[回転/分]→100[回転/秒]→10[ms/回転]
1トラック当たりの容量=500×200=100,000バイト
1回転(10ms)で100,000バイト→10,000[バイト/ms]
1KB(1000バイト)では0.1ms
転送に要する時間
= シーク時間 1ms
+ サーチ時間 5ms(←半回転)
+ データ転送時間 0.1ms
合計 6.1ms ・・・答

ブロック化

上記の性能の説明は、データが途切れることなく連続的に記録されていることが前提でした。ところが実際の売上ファイルのデータなどを対象にしたときには、このような性能を得ることができません。

話を単純にするために、ファイルの1レコードが80バイトの固定長であるとし、セクタを500バイトだとします。
プログラムは、ファイルから1レコードずつ読み込んで処理をします。ところが磁気ディスクでは1回に1セクタを読込みます。そうすると、1セクタには1レコードしか入れられません。
容量では1セクタで500-80=420バイトの無駄が生じます。
転送速度では、1回のアクセス時間で80バイトした転送できません。

これではあまりにも効率が悪いので、OSの機能により複数のレコードをブロックとして一度に読込みバッファに保存し、プログラムの読込み命令にはバッファから1レコードずつ渡すような仕組みになっています。

1ブロック=2レコードだとします。それをブロック化因数=2といいます。ブロックとブロックの間には、切れ目として10バイトのブロック間隔が必要だとします。
レコードはセクタをまたいで記録することはできないので、1セクタに入れられるのは、
2×80+10 + 2×80+10 + 2×80=500
ですから、6レコードになり、容量効率がよくなります。


記録面が2面の磁気ディスク装置において,1面当たりのトラック数が 1,500 で,各トラックのセクタ数が表のとおりであるとき,この磁気ディスク装置の容量は約何Mバイトか。
ここで,1セクタの長さは 500 バイト,1Mバイト= 10 の6乗バイトとする。

トラック番号
0 ~ 699
セクタ数
300

トラック番号
700 ~ 1499
セクタ数
250

ア 205

イ 410

ウ 413

エ 826

この問題は、
平成20年度 秋期
初級シスアド
午前 問3
です。

最初の700トラックが・・・
700 X 300 X 500 = 105,000,000

残りの800トラックが・・・
800 X 250 X 500 = 100,000,000

105,000,000 + 100,000,000 = 205,000,000

2面あるので・・・

205,000,000 X 2 なので・・・

答え





















イの、「410」が正解です。

簡単でしたね?

この問題教えてください。

この問題教えてください。 記録面が2面の磁気ディスク装置において、1面当たりこのトラック数が1500で、各トラックのセクタ数が表のとおりであるとき、この磁気ディスク装置の容量は約何Mバイトか。ここで、1セクタの長さは500バイト、1Mバイト=10の6乗バイトとする。 トラック番号 セクタ数 0~699 300 700~1499 250 この問題解ける方詳しい解説お願いします。

補足

m_studioさん答えあっていますが、『(500×300×700+500×250×800)×2』、この式はどうやって出てきたのですか? 詳しく教えてください。

数学・498閲覧・xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

(500×300×700+500×250×800)×2 =500(300×700+250×800)×2 =1000(210000+200000) =1000×410000 =410×10^6 よって 410MB であってると思います。 <補足> 500×300×700 ・・・0~699トラックの容量 (1セクタの長さ)×(セクタ数)×(トラック数) 500×250×800 ・・・700~1499トラックの容量 最後の「×2」は両面だから。 です。

1セクタ 何バイト?

セクタには一定量のデータが格納される。 磁気ディスクの場合、1セクタは512バイト、光ディスクの場合、1セクタは2048バイトが典型的である(セクタ当たりのユーザーがアクセスできるデータの量)。

1トラックは何バイト?

1シリンダのトラック数
40トラック
1トラックの記憶容量
15,000バイト
ブロック間隔
150バイト
磁気ディスク装置の容量計算 - 基本情報技術者講座www.it-license.com › memory › harddisc_capacitynull