Кто-то знает, почему сектора дискеты IBM названы от 1 до 8 (а не от 0 до 7) [закрыто]


9

Сейчас я программирую на 8-битном компьютере Z80 с CP / M 2.2 (в качестве хобби), и формат дискеты - IBM, 40 дорожек, 8 секторов на дорожку, 512 байт на сектор. Свободное место составляет 154 Ко на каждой стороне диска.

Почему сектора индексируются от 1 до 8 (а не от 0 до 7, как это обычно наблюдается на компьютерах)?

Каталог дискеты находится на дорожке 1 (сектор от 1 до 4, 64 записи).

Мне интересно, каталог на нулевой дорожке?

Нулевая дорожка зарезервирована для включения системы (поскольку дорожки 0 и 1 зарезервированы для системы на дискете CP / M, а каталог находится на дорожке 2)?


Я спросил об этом, потому что, например, в APPLE II сектора начинаются с нуля (от 0 до F).

Используемый мной компьютер - AMSTRAD CPC 6128 (1985). Это 8 бит с Zilog Z-80, с CP / M OS 2.2 и 3.0 доступны.

Формат дискеты довольно редкий: 3 дюйма. (не 3 1/2).

Доступны 3 ФОРМАТА: -CP / M: 40 дорожек (от 0 до 39) 9 секторов на дорожку (с именами от & 41 до & 49) 169 Ko на каждой грани. -ДАННЫЕ: 40 дорожек (от 0 до 39) по 9 секторов на дорожку (с именами от & C1 до & C9) 178 Ко на каждой грани. -IBM: 40 дорожек (от 0 до 39) по 8 секторов на дорожку (с именами от 1 до 8) 154 Ko свободного места на каждой грани.

3-дюймовый дискета отличается от 3 1/2 дискеты. Чтобы прочитать сторону B: я должен извлечь дискету и повернуть ее сам, а затем снова вставить ее в дисковод! но это работает очень хорошо.

Треки начинаются с 0 до 39. Мне просто любопытно узнать, почему сектора начинаются с 1, и почему дорожка 0 не используется для каталога в формате IBM ...

Например, формат CP / M очень прост: каталог на дорожке 2, система CP / M на дорожке 0 и 1.

Я опытный программист на ассемблере, и я думаю, что было бы логично, чтобы секторы начинались с нуля, как это делают треки. Компьютер AMSTRAD CPC также может работать с диском 5 1/4. Я купил один вчера. Но треки, сектора и форматы, конечно, будут одинаковыми на 5 1/4 дискет.

Оливье.

PS: извините за мой английский, это не мой родной язык. ^^


Иногда что-то так, потому что так оно и есть. (И имейте в виду, что формат флоппи-дисков восходит к некоторым очень ранним частично электромеханическим системам ввода данных с ключа на диск. То есть инженеры-механики имели такую ​​же большую руку в дизайне, как и EE.)
Даниэль Р. Хикс

40 треков ты уверен? Это будет односторонняя 5,25 - дюймовая дискета. Или вы имеете в виду 40 цилиндров и двухсторонние дискеты? BTW CP / M обычно поддерживает 8- и 5,25- дюймовые дискеты, односторонние и двухсторонние дискеты, форматы записи с одинарной и двойной плотностью записи, и ассортимент размеров секторов (256, 512 и 1024 были распространены). PC-DOS от IBM поддерживает SS и DS 5,25 "дискеты и помогает стандартизировать 512 байт на сектор.
опилки

1
Вопрос в названии не связан с «гибким диском IBM», а восходит к «стандартным» контроллерам гибких дисков от IBM 3740 и IBM System 34, которые стали стандартами для форматов записи одинарной и двойной плотности. Схемы нумерации были разработаны инженерами оборудования и реализованы для последовательностей команд, а не разработчиками программного обеспечения или программистами.
опилки

Ответы:


6

Я думаю, у вас есть неправильное представление, что все, что касается компьютеров, начинается с нуля

Хотя это относится ко всем языкам на основе C (C, C ++, C #, Java и т. Д.), Это НЕ верно для некоторых языков, которые являются такими же старыми или старше C (например, FORTRAN и COBOL).

Поскольку Z80 был представлен до ANSI C, ожидалось, что он будет использовать гораздо больше COBOL и FORTRAN, чем Lisp (который также очень старый, но имеет индексирование на основе нуля).

Таким образом, индексирование на основе имеет смысл.


2
Микропроцессор Zilog Z80 и любые поддерживаемые им языки программирования не имеют ничего общего со стандартами контроллера флоппи-дисковода. Флоппи были изобретены до появления Z80.
опилки

1
@sawdust, это гораздо больше связано со стандартами в целом в то время. Поскольку в то время многие вещи должны были быть проиндексированы, флоппи тоже.
Soandos

4
Ваше «объяснение» не учитывает тот факт, что номер цилиндра и номер головки нумеруются с нуля, а не с одного.
опилки

3

Первая спецификация на гибких дисках была сделана IBM с появлением IBM 3740 и не упоминает, что есть сектора, зарезервированные для системы. Единственным резервированием для системы является трек 00, в котором хранятся только «Метки набора данных», которые идентифицируют тип информации, хранящейся в треках с 01 по 76. Он четко определяет, что первый сектор - это СЕКТОР 1. Это не совпадение, а вопрос натуральной нумерации против нумерации компьютера.

Мы можем наблюдать, что когда человек начинает что-то считать, он начинается не с нуля, а с одного. Например, представьте, что в классе 135 учеников. Подсчет числа будет примерно таким: раз, два, три ... сто тридцать четыре, сто тридцать пять.

Его числовое представление будет таким: 1, 2, 3, ... 134, 135 Итак, мы согласны, верно?

Теперь давайте поместим цифры, которые не представлены как 0. Это будет выглядеть так: 001, 002, 003, ..., 015, 016, ..., 099, 100, ..., 133, 134, 135

Вот что происходит с CHS : 0,0,1 - 0,0,2 - 0,0,3 ...

Важно, что строки в таблицах Excel или в авто-числовых полях в базе данных начинаются с 1, а не с 0, и никто ничего не сказал по этому поводу.

Дэвид Дж. Брэдли так планировал BIOS?

Да, но он не был вне.

Безусловно, нет технической причины, по которой SECTOR 0 нельзя использовать, если он не зарезервирован и скрыт от пользователей по другим причинам. В принципе все указывает на это вопрос естественной нумерации.

GA21-9152-2 Файл № 3740-00,15
IBM 3740 System Entry System

page 12
ИНИЦИАЛИЗАЦИЯ ДИСКА
... Каждый диск содержит две резервные дорожки для замены любых неправильных дорожек. Кроме того, функция инициализации обеспечивает возможность изменения последовательности адресов секторов на дискете. Обычно последовательность секторов находится в числовом порядке (1, 2, 3, ... 25,26)
.

стр. 24
МАРКИРОВКА ДАННЫХ НА ДИСКЕТЕ
Во время инициализации метка набора данных для набора данных записывается магнитным способом на дорожку указателя (дорожка 00) на дискете. Основная цель этой метки - показать расположение набора данных на дискете.

Это было в 1973 году. На нем были записаны данные на 8 "дискете. IBM PC 5150 родился 12 августа 1981 года ... и мы не можем забывать, что им приходилось поддерживать некоторую совместимость с предыдущими устройствами.

Не было никаких технических причин.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.