有人知道为什么将IBM软盘的扇区命名为1到8(而不是0到7)。


9

我现在正在使用CP / M 2.2的8位Z80计算机上进行编程(作为业余爱好),并且软盘格式为IBM,40个磁道,每个磁道8个扇区,每个扇区512字节。磁盘每个面上的可用空间为154 Ko。

为什么将扇区索引为1到8(而不是像计算机通常看到的那样为0到7)?

软盘的目录位于磁道1(扇区1至4,有64个条目)上。

我想知道目录是否在零轨道上?

零磁道是否保留为包含在系统中(因为磁道0和1在CP / M软盘上保留给系统,目录在磁道2上)?


我之所以这样问是因为,例如在APPLE II上,扇区从零(0到F)开始。

我使用的计算机是AMSTRAD CPC 6128(1985)。Zilog Z-80为8位,提供CP / M OS 2.2和3.0。

软盘格式非常罕见:3英寸。(不是3 1/2)。

可以使用3种格式:-CP / M:每条磁道上40个磁道(0至39)每个磁道9个扇区(命名为&41至&49)169 Ko。-DATA:每个面上有40个磁道(0至39),每个磁道9个扇区(名为&C1至&C9)178 Ko。-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一样重要。)
Daniel R Hicks

您确定40条音轨吗?那将是单面 5.25英寸软盘。或者您是说40个柱面和双面软盘?BTW CP / M通常支持8英寸5.25英寸软盘,单面和双面软盘,单面和双面密度记录格式, IBM的PC-DOS同时支持SS和DS 5.25“软盘,并有助于每个扇区512字节标准化。
sawdust'4

1
标题中的问题与“ IBM软盘”无关,而是回溯到IBM 3740和IBM System 34 的“标准”软盘控制器,它们已成为单密度和双密度记录格式的标准。编号方案是由硬件工程师设计并针对命令序列实施的,而不是由软件工程师或程序员设计的。
sawdust'4

现在有一个Retro Computing Stack Exchange,可以解决此类问题。
CJ丹尼斯

Answers:


6

我认为您有一个误解,认为与计算机有关的事情始于零。

尽管所有基于C的语言(C,C ++,C#,Java等)都是这种情况,但对于某些与C一样古老或更旧的语言(例如FORTRAN和COBOL)却并非如此。

由于Z80是在ANSI C之前推出的,因此与Lisp相比,它运行的COBOL和FORTRAN要多得多(Lisp非常古老,但具有基于零的索引)。

因此,基于索引的索引是有意义的。


2
Zilog Z80微处理器及其可能支持的任何编程语言都与软盘控制器标准无关。Z80出现之前就发明了软盘。
sawdust'4

1
@sawdust,它与当时的标准有更多关系。由于当时期望将许多东西编入索引,因此软盘也是如此。
soandos

4
您的“解释”不考虑气缸号和缸盖号从零开始而不是从1开始的事实。
sawdust'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,并且没有人对此发表任何意见。

David J. Bradley是否以这种方式安排BIOS?

是的,但他并没有站在一边。

绝对没有技术原因无法使用SECTOR 0,除非它由于其他原因被保留并向用户隐藏。原则上,所有指向它的问题都是自然编号。

GA21-9152-2文件号3740-00,15
IBM 3740数据输入系统

第12页
磁盘初始化
...每个磁盘都包含两个备用磁道,以替换任何不规则磁道。另外,初始化功能提供了一种更改软盘上扇区地址顺序的方法。通常,扇区的顺序为数字顺序(1、2、3,... 25,26)

24页
数据标注在软盘上
在初始化期间,对数据集的数据集标签磁性方式记录的索引轨道软盘的(轨道00)上。该标签的主要目的是显示软盘上数据集的位置。

当时是1973年。它在8英寸的磁盘上记录了数据。IBM PC 5150诞生于1981年8月12日……我们不能忘记他们必须与以前的设备保持某种兼容性。

绝对没有技术原因。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.