世界上最早的操作系统叫做CP/M操作系统,内存仅有5K,要说起这个操作系统还得提到有个人,这个人叫做加里-基尔多尔,计算机早期的软件基本是根据某一个人的思路研发出来的,而这款早期的操作系统也是如此,是基于基尔多尔的思路开发而成。
基尔多尔的父亲是一位远近闻名的大富豪,并且在西雅图创办了一所导航学校,因为教学需求,他的父亲希望能够拥有一台可以计算导航三角的计算机。基尔多尔希望能够利用自己的天赋帮助他的父亲,为此他开始编写一些可以在4004芯片上运行的算术运算程序。4004芯片是Inter公司发布的第一款微处理器,也是全球第一款商用处理器芯片。
基尔多尔的性格非常温和,平时喜欢穿运动衫和牛仔裤,并且非常喜欢钻研计算机,因此他懂很多关于计算机方面的知识,无论在理论上还是实践上都可以称得上是计算机内行。基尔多尔在华盛顿州立大学上学的时候与迪克-哈姆雷特共同负责博劳斯公司的B5500计算机的维护和运行。
1972年,基尔多尔受邀参观因特尔公司的微机业务部,基尔多尔在参观时惊奇的发现因特尔业务部竟然还没有普通人家的厨房大,并且结识了一位非常聪明的程序员汤姆-皮特曼。两人都多4004芯片非常着迷。在结束对因特公司的访问之后,基尔多尔开始与因特尔公司合作开发第一个8位处理器8008芯片相关的开发工作。它采用二级软件开发方式,所谓二级软件开发方式是指先在小型计算机上编写模拟运行微机上运行的程序,然后使用模拟的微处理器和他的模拟指令集,编写在微机上运行的程序。这样做的目的是为了一边工作,一边在开发系统上进行测试,以检验自己开发的软件是否可行。
基尔多尔用几个月的时间在大型机器语言PL/I的启发下成功开发出一款新语言PL/M,这款编程语言比BASIC更为复杂和巧妙。此时的基尔多尔在美国的海军研究生院担任教授职务,他在学校的机房后面的计算机中搭建了这款编程语言的开发环境,吸引了很多学生去学习这门编程语言。
基尔多尔一直觉得,一台成功的计算机,必须具备完善的外部存储设备,但是大型计算机上常用的外部存储设备有两种,一种是纸带阅读机,一种是磁盘驱动器。而纸带阅读器设备非常笨重并且价格昂贵,所以基尔多尔决定使用磁盘驱动来作为外部存储设备。但是想要让磁盘阅读器正常工作,必须要有一个专门的控制器。就是怎么设计一块电路板实现计算机与磁盘驱动器之间的复杂通讯问题。于是基尔多尔开始着力解决这个问题,但是经过一段时间的努力,基尔多尔发现自己无法搞定这个问题,于是他希望他华盛顿州立大学的朋友托罗德能够帮助他解决这个问题。托罗德没有辜负他的期望,不久之后,托罗德果然让磁盘驱动器能够在微机上运行了。
与此同时,基尔多尔对软件做了进一步的改进,1973年年底,基尔多尔在改进磁盘驱动器问题几个月时间里,他花了几个星期时间用他的PL/M语言编写了一个简单操作系统,并且把这套操作系统命名为CP/M操作系统,这款造作系统也是世界上第一款操作系统。它是英文Control Program for Microcomputers的缩写。
但当时CP/M的性能并不完美,后来在与一位旧金山的硬件工程师合作开发星占术机器的过程中测试了CP/M的各个部分性能。
在基尔多尔和托罗德一起开发磁盘驱动器的控制接口的时候,他们两人经常交换意见,力求让设计达到完美,他们与因特尔的设计人员认为,微处理器可以应用在各个领域,为此他们考虑推出一种综合性的硬件和软件结合的开发系统,以便促进微处理器的推广和应用。这就是最早的嵌入式设备的应用的思路。
后来基尔多尔在妻子的鼓励下与托罗德一起船传创办了一家公司,名字叫做星际空间数字研究公司,后来被正式命名为数字研究公司,主要销售PC/M操作系统。1977年IMSAI公司以2.5万美元的价格收购了CP/M操作系统。虽然价格很低,但是基尔多尔比之前更加出名,慕名而来购买他们产品的人越来越多,CP/M操作系统也被越来越多的人所熟知,这个时候,数字研究公司一直垄断美国整个软件领域。