ブートとハードディスク
HOME  □ MANUAL  □ 新着記事  □ 新規投稿  □ ツリー表示  □ 記事全文表示  □ SEARCH  □ 過去ログ
[1280]  ブートとハードディスクのすべて>8GBの壁を越える>ジオメトリ変換『LARGE』の項目に関する質問です
□投稿者/ 九龍 -(2017/05/18(Thu) 05:08:10)
□U R L/
    初めまして。九龍と申します。

    以前からこのサイトを参考に、ディスクイメージにアクセスするようなプログラムを少しずつ作成しているのですが、豊富な情報量に感謝しております。
    しかし、以前から読み返しているのに意味が分からない点があったので書き込ませて頂いた次第です。

    分からない部分は、”具体的にはIDEコントローラから来るジオメトリー情報をもとに、シリンダ数を 2 で割ってヘッド数に 2 をかける手順を繰り返し、シリンダ数が 1023以下になるか、あるいはヘッド数が128を超えるまで続けるか、あるいはヘッド数を 255 として「シリンダ数×ヘッド数」で求めた全セクター数をこの 255で割ってシリンダ数を求めます。そしてこの手順で求めたシリンダ数、ヘッド数によるジオメトリをOSとのやり取りでは使う訳だ。”

    の部分です。

    まず、この文章にあるIDEコントローラから来るジオメトリー情報というのは、OSがHDDの最大容量を取得するため、C/H/Sの情報をBIOS経由でマザーボードのIDEコントローラに要求し、HDD側のIDEコントローラがC/H/Sを返し、そのC/H/Sの情報をマザーボードのIDEコントローラが返したときという状況で宜しいのでしょうか?

    それと、”あるいはヘッド数を 255 として「シリンダ数×ヘッド数」で求めた全セクター数をこの 255で割ってシリンダ数を求めます。”とありますが、具体的にHDD側のC/H/S値を決め打ちして、変換の計算式を具体的に示して頂けるとありがたいです。

    「シリンダ数×ヘッド数」で求まるのは全トラック数であり、全セクター数ではないと思ったので質問させて頂きました。
    おそらく、”あるいはヘッド数を 255 として「シリンダ数×ヘッド数」で求めた全セクター数をこの 255で割ってシリンダ数を求めます。”の部分は、シリンダ数を2で割り、ヘッド数に2を掛ける計算手順以外の計算方法なのかなと。

    お忙しいとは思いますが、回答頂けると嬉しく思います。

記事引用 編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 >>Re[1]: ブートとハードディスクのすべて>8GBの壁を越える>ジオメトリ変換『LARGE』の項目に関する質問です /のぶ
 
上記関連ツリー

MESSAGE ブートとハードディスクのすべて>8GB.. /九龍 (17/05/18(Thu) 05:08) [1280]
......MESSAGE Re[1]: ブートとハードディスクのすべて>.. /のぶ (17/06/22(Thu) 12:36) [1281]
............MESSAGE Re[2]: ブートとハードディスクのすべて>.. /九龍 (18/03/09(Fri) 10:22) [1282]

ALL MESSAGE 上記ツリーを一括表示
 
上記の記事へ返信


- Child Tree -