@ 2015.04.07 , 16:21

为什么第一个磁盘分区是C

[-]

刚有个人电脑时,硬盘上就运行着著名的MS-Dos和windows系统,而第一个磁盘(系统盘)总是以C盘开始,但是为什么呢?

采用字母为不同的存储设备命名源于IBM在1960年代设计的虚拟机操作系统,最早的系统是他们的CP-40和CP/CMS系统,之后这一习惯延生到了其他的系统中,如Digital Research公司的CP/M操作系统。在早期的操作系统发展中,字母命名主要出现在逻辑设备命名(notably),直到后期(CP/M)才用字母为物理存储设备进行命名。

直到1980年,IBM希望将当时相对流行的CP/M操作系统用于自己的个人电脑。但是IBM和Digital Research没有达成最总协议,原因也没有对外公布。而传闻是:CP/M作者Gary Kildall的妻子Dorothy Kildall拒绝在IBM谈判初期的保密协议上签字。据说,她在和自己丈夫谈好之前是不会在该协议上签字的,当时她的老公正在外地出差。而之前她的老公常常将这种商业活动留给她操作,这次的举动有些不合常理。

拒绝签署保密协议的行为让IBM的谈判代表十分恼火,而他老婆不签字,是因为advice的代理律师Gerry Davis建议她最好先征得她老公的同意。但鉴于这类事情是很多商业谈判种的惯例,整件事回头去看却显得很奇怪。

之后发生的事记录也不太清楚, Gary Kildall后来声明,在他出差回来后,他们夫妇与IBM的代表Jack Sams达成了协议,但是IBM并没有兑现该协议,并没有任何合作发生。

无论如何,我们能够确定的是,IBM当时并没有采用当时比较流行的CP/M系统,而是选择与微软合作,而微软当时购买了CP/M克隆系统版权,当时叫做86-DOS。之后他们为IBM的新个人电脑适配了86-DOS系统,除了一些明显的改变之外,就是商标变成了MS-DOS,虽然IBM称之为PC DOS。

由于新系统基于CP/M克隆,除了一些设定,MS-DOS沿用了CP/M的磁盘字母命名规则,这些都被借用到IBM的系统中,用于磁盘驱动器命名。由于使用了CP/M系统的很多功能,使得当时很多热门软件能够更方便的移植到新的MS-DOS中。

回到这种驱动器字母命名的规则上。早期的个人电脑通常没有配置大容量的存储设备,这主要是因为成本太高。他们通常使用软盘设备,这些软盘读取设备(软驱)在MS-DOS、以及当时的其他操作系统中被命名为A。如果电脑上有2个软驱,就需要同时用到字母AB。当时的3.5寸软盘非常流行,所以采用AB来给软驱命名是一种根深蒂固的设计方式。

直到硬盘驱动器开始普及,并成为标准,在1980年之后,才开始在个人计算机中普及,但是当时的头两个字母已经普遍根植于操作系统设计中,于是逻辑上描述第三个存储装置的C才开始用于硬盘设备。

经管目前很少还能找到软盘,甚至带有软驱的设备,这种命名规则已经被保留给软驱(另一种考虑应该是向下/向前兼容)。现代操作系统的系统盘,也就是第一个分区就一直保留着从C开始命名的习俗了。

[-]

本文译自 todayifoundout,由 邻家乖蜀黍 编辑发布。

赞一个 (24)