Вы, вероятно, хотите переименовать свою ветку, чтобы указать, что вы хотите отслеживать количество дорожек, а не емкость дорожки. Я потратил 15 минут на написание неправильного ответа ниже, прежде чем понял, что ваш вопрос гораздо проще, чем я предполагал.
Цилиндры по определению представляют собой гусеницы в трех измерениях по всем пластинам. это означает, что дорожки на поверхности равны цилиндрам. это означает, что:
Total Tracks per disk = Cylinders * Surfaces (usually denoted by heads, as most platters have two heads)
--------------------------------- Мой оригинальный ответ -------------- -------------------------------------------------- ---------- Ну, во-первых, обычно это не тот расчет, который вы хотели бы сделать, потому что он варьируется в зависимости от типа диска и зависит от концепций разделов и файловой системы, таких как размер сектора и блоки, так что число не будет напрямую связано с каким-либо практическим решением.
Тем не менее, первое, что вам нужно определить, это то, работает ли ваш диск с использованием макетов CAV, CLV или ZBR/Z-CAV . Эти макеты определяют, как ваш диск вращается при чтении дорожки, в зависимости от того, где дорожка / цилиндр находится на диске относительно его центра и края.
CAV и CLV используют фиксированное число битов на дорожку, либо используя только часть фактической окружности дорожек, либо размещая биты на дорожке более плотно в середине и более разреженно по краю. однако любой из этих подходов тратит много места. ZBR позволяет трекам на краю удерживать больше битов, чем трекам в центре, и хотя он не использует весь трек полностью, он позволяет более плотно упаковывать данные по всему диску.
диск CAV/CLV позволит вам рассчитать размер дорожки в битах независимо от констант файловой системы, таких как размер сектора (хотя производитель, вероятно, не предоставит вам всю необходимую информацию), но в ZBR это значение меняется в зависимости от положения дорожек в отношение к центру диска.