他开发了最厉害的操作系统,却被老乡比尔·盖茨“偷”走了!

Linux Swap 子系统:架构、内存管理与虚拟化 Swap Linux Swap机制通过将不活跃内存页移至磁盘或压缩内存,扩展系统有效内存容量,缓解内存压力。传统架构中,逻辑Swap槽与物理存储绑定,导致资源浪费,尤其在使用Zswap等压缩技术时。为此,Vswap与Xswap提出虚拟化方案:前者以XArray实现灵活映射,支持多后端迁移;后者采用稀疏映射,简化管理但容量固定。二者在架构设计、资源记账与动态扩展上各有权衡,反映了内核开发中对性能、可维护性与灵活性的深层考量。 阅读详情

美国西海岸的西雅图是个神奇的地方,这里相继出现了两个非常聪明的程序员,创造了两个流行世界的操作系统。

其中一位大家都非常熟悉,就是大名鼎鼎的比尔·盖茨,他“创造”了MS-DOS。

另外一个名气稍逊,但是如果没有他的CP/M,比尔盖茨的软件帝国可能要推迟很多年。

或者说,如果他的商业意识更强一点,可能没有比尔盖茨什么事儿了。

在巨大的历史机遇面前,加里·基尔代尔的一手好牌完全是打烂了。

01

伟大发明

在上世纪70年代,微型计算机开始兴起,但是每个厂商都是“封闭王国”。

每个厂商机器的I/O、磁盘、字长,甚至字节序都不一样,操作系统和应用程序直接和硬件绑定,根本无法移植。

如果你穿越到70年代,遇到这个问题,你会怎么解决呢?

加里·基尔代尔从华盛顿大学硕士毕业后,需要服兵役,在加利福尼亚的海军研究院任教。

他解决这个问题的思路是:既然底层硬件千差万别,那我就建立一个抽象层来屏蔽这些差异!

这个抽象层我们现在很熟悉了:BIOS

BIOS相当于一个接口,各个电脑厂商都需要针对这个接口做出自己实现。

操作系统针对BIOS进行编程,那在各个电脑之间就可以移植了。

基尔代尔在教书的同时,也在给一家叫做Intel的小公司做兼职,拿到了一个8008的CPU。

在8008的基础上,他给Intel开发了一个高级编程语言PL/M,不但开发了一个编程语言,他还用这个编程语言写了一个操作系统CP/M,实现了现在很多程序员从底层到上层,“掌控一切”的梦想。

CP/M最重要的特点:它不是和硬件绑定的,而是建立在BIOS抽象层之上,这就意味着它可以在不同的电脑之间移植。

可惜,当时的英特尔竟然没看上CP/M,只是把PL/M这个编程语言把它收购了。

基尔代尔一看,那就自己干吧,1974年,他和妻子一起成立了一个叫做数字研究所的公司,开始销售CP/M。

(数字研究所的原总部)

这一年,比尔盖茨刚刚进入哈佛大学,注意力还在编程语言和软件开发工具上,根本没意识到操作系统这个战略高地。

由于BIOS的存在,让CP/M有了无可比拟的优势。

应用程序无需修改,就可以在多家厂商提供的计算机上运行,刺激了独立软件产业的兴起。

CP/M迅速被Altair、Amstrad、Kaypro 和 Osborne 在内的大多数早期个人电脑厂商所采用,成为行业标准和操作系统的霸主。

基尔代尔的公司业务繁忙,他买了个小飞机,方便他飞往各地和客户谈生意。

如果CP/M就这么发展下去,估计没有微软什么事情了。

02

历史机遇

1980年,IBM看到了正在蓬勃发展的PC市场,决定进入分一杯羹,开发面向大众的台式电脑。

虽然IBM完全有技术实力开发CPU和操作系统,但是鉴于内部冗长的流程,等到台式电脑研发出来,黄花菜估计都凉了。

于是IBM专门成立了一个全新的业务部门,从市场上选择成熟的组件,然后进行集成。

CPU自然选择了Intel的8088, 编程语言选择了微软的Basic,操作系统选择的就是CP/M。

让人惊奇的是,比尔盖茨认识基尔代尔,两人甚至还讨论过合并事宜,毕竟一个做操作系统,一个做编程语言,优势互补嘛。

盖茨向IBM的人推荐了基尔代尔的CP/M, IBM的人飞到了数字研究所,双方讨论了保密协议和财务条款。

双方的分歧不小,首先是数字研究公司无法同意IBM苛刻的保密协议,其次IBM希望直接购买CP/M,而基尔代尔希望按销售份数支付版税。

谈判陷入了僵局,IBM的人离开。

基尔代尔对拿下这个合同很有信心,因为CP/M是市场老大,是事实上的标准,IBM不选它选谁?

无非是一些条款需要再协商而已。

但是在历史的重大节点,基尔代尔发生了重大的商业误判,他没有意识到IBM PC的历史意义,IBM来的其实是个“采购团队”,而基尔代尔以为来的是“技术伙伴”。

几周以后,当基尔代尔想重启谈判时,IBM没有回应!

然后更惊人的消息来了:IBM竟然选择了微软的操作系统!

有人说,是盖茨的妈妈促成了IBM和微软的生意,因为盖茨的妈妈曾和IBM CEO一起在全美最大的公众捐款组织—联合之路—共事, 并且是第一位担任“联合之路”执行委员会的女性。

毫无疑问,她确实有这样的人脉,但是现在并没有明确的证据证明她这么做了。

我更相信盖茨自身起了关键作用,在那个千载难逢的历史时刻,他满足了IBM当下所有的诉求:

IBM要求签署苛刻的保密协议? 行,没问题。

IBM要求非独占式授权? 行,没问题。

IBM项目进度紧张,要求快速交货? 行,没问题?

可是微软哪里有操作系统?

不用担心,买一个。

03

草台班子?

盖茨从一家叫做西雅图计算机产品公司买来一个叫做QDOS的操作系统,全称是Quick and Dirty Operating System。

快速,“脏”, 听这名字就不咋地。

就像JavaScript是布兰登仓促设计的一样,QDOS的第一版也是24岁的蒂姆·帕特森(又一位西雅图的程序员)仅用了三个月就做出来的一个操作系统。

帕特森在开发QDOS时,参考的是CP/M的手册,复制了CP/M的API,确保两者之间的高度兼容,这样CP/M上的应用程序,也能跑在QDOS之上。

简单来说,QDOS就是CP/M的模仿品。

盖茨将QDOS买过来,然后将它一次性非独占许可出售给了 IBM,IBM 将其命名为 PC DOS。

极具远见的是,盖茨保留了将该产品授权给其他公司的权利,并将其命名为 MS-DOS。

盖茨这个中间商当得实在是妙!

1981年,IBM正式推出PC,横扫全球的个人电脑市场。

随后,PC兼容机市场开始爆炸性增长,康柏、Dell、HP纷纷推出PC兼容机,它们不能用PC DOS,但是可以用MS-DOS。

从此,MS-DOS取代CP/M,成了最流行的操作系统,微软从此正式起飞。

基尔代尔当然不会坐以待毙,他得知了微软和IBM的交易以后,认为IBM盗版了CP/M,威胁要起诉IBM。

IBM回应说:IBM和微软签署的操作系统协议是非独占式的,它们可以赞助基尔代尔的公司将CP/M移植到PC平台,客户可以自主选择CP/M或者DOS。

此时基尔代尔犯了第二个错误,他认为CP/M有着良好的口碑和更强的功能,懂行的人肯定会选择CP/M,他沿用了早期的销售策略,把CP/M当成了高价值的专业软件,定价高达240美元。

岂不知IBM几乎不指望靠OS赚钱,它目的是推动PC出货量,所以PC-DOS定价只有40美元。

很明显,除非是CP/M的铁粉,否则肯定会选择DOS。

04

尾声

基尔代尔发明了BIOS,创造了CP/M,奠定了“操作系统可移植”的思想。

帕特森则把这种思想通过QDOS快速移植到了8086平台。

比尔·盖茨没有开发操作系统,但是他的商业判断力更强,更敏感,反而通过包装QDOS“创造”了MS-DOS,摘走了最终的胜利果实。

更关键的是,微软的DOS通过PC和PC兼容机完成了史无前例的商业扩散,奠定了整个PC时代的操作系统基础,赢得了个人电脑这场世纪赌局。

WPS JS宏实战:批量调整200个Word表格格式的避坑指南(附完整代码) 本文提供了一份详尽的WPS JS宏实战指南,针对批量调整大量Word表格格式的需求。文章深入解析了如何利用JS宏自动化设置字体、行距和边框,并重点解决了常见的“首行访问报错”等核心难题,附有可直接使用的完整代码,帮助用户显著提升文档处理效率。 阅读详情

相关推荐

【无线通信】射频杂散(RF Spurious Emissions)

射频杂散(RF Spurious Emissions)是指在无线通信系统中,除了在指定频率范围内的预期信号之外,任何不需要的或非预期的射频信号。这些杂散信号可能会干扰其他通信系统,降低系统性能,并违反无线电通信法规。射频杂散通常包括谐波、次谐波、互调产物和其他非线性失真所产生的信号。

qq_38801607的博客 5425

加里·基尔代尔:CP/M之父与个人计算时代的先驱

《计算机名人堂》第三十一篇:加里·基尔代尔

Code_流苏:在代码中寻诗意,在实践中觅真知 1116

看完让你的RSA提升一个台阶 [GKCTF 2021]RRRRsa

我是,今天我给大家分享一个关于RSA的题目,带大家领略的魅力。今天开始前,我们先学习一下。

m0_62102520的博客 852

CP/M:被遗忘的精灵

这是一段尘封已久且被严重扭曲的历史。它以一个英雄人物的人生起落回答了一个困扰人们很久的问题:为什么伟大的技术天才往往无法成为卓越的商业领袖 诺基亚(HE:NOK1V)毫无疑问已经成为微软(NASDAQ:MSFT)新战略的棋子。11月16日,这家芬兰巨头宣布将在2012年6月份推出基于Windows 8的平板电脑。加上之前已经确定推出的Windows Phone手机,微软已经开始全力冲击先行者在这...

liuxiang66666的博客 4112

零基础教程:用Python给试卷照片自动切题(有道OCR+PIL完整流程)

本文为零基础用户提供了一套完整的Python自动化切题方案。通过调用有道OCR API识别试卷照片中的题目坐标,并利用PIL库进行精准裁剪,将杂乱的试卷图片自动分割为独立的题目图像。教程详细涵盖了环境搭建、图像预处理、API调用、坐标解析与批量处理全流程,帮助教育工作者和技术爱好者高效处理大量试卷,实现工作流程自动化。

grpc6streamer的博客 1174

基于STM32 HAL库的L298N四驱电机PWM调速与方向控制实战

本文详细介绍了基于STM32 HAL库驱动L298N电机控制板实现四驱小车PWM调速与方向控制的实战方法。涵盖硬件连接、GPIO与定时器配置、PWM生成、方向控制逻辑及电源管理等核心内容,并提供代码优化与常见问题解决方案,帮助开发者快速实现高效稳定的电机控制。

jump7的博客 222

宇宙中最优秀的5位程序员

谨以此文献给那些为前途感到痛苦的程序员们。        宇宙中最优秀的程序员说法,源于比尔盖茨对微软首席软件架构师雷·奥兹的评价,说他是宇宙中最优秀的五位程序员之一。由于盖茨并没有细数其余四位,于是坊间票选出了包括奥兹在内的五人,盖以“宇宙中最优秀程序员”的殊荣。下面将这五位大佬做个简单介绍(排序不分先后):        查尔斯·西蒙尼:软件史上的传奇人物,斯坦福大学的计算机博士,他关于

eyetee的专栏 2728

【文献阅读】使用深度语音后验改进独立于说话者的构音障碍可懂度分类

原文名称:本文探讨了利用DeepSpeech后验概率改进说话人无关的构音障碍可理解性分类方法。作者提出了一个基于DeepSpeech(一种端到端的语音转文本引擎)输出的新特征集,用于评估构音障碍患者的语音可理解性。这些新特征在说话人无关的情况下表现良好,能够更好地处理不同说话人的变异性。背景介绍:数据集:特征提取:实验设置:结果:本文提出的新特征集在说话人无关的构音障碍可理解性分类任务中表现出色,特别是在低可理解性和高可理解性类别上。未来的工作将集中在减少低可理解性和中可理解性类别之间的混淆,以进一步提高系

帅小柏的博客 452

DOS 操作系统深度解析

DOS,这个曾经的计算机世界霸主,虽然早已被更先进的操作系统所取代,但它在个人计算机发展史上的地位是不可磨灭的。它定义了早期 PC 的操作方式,催生了庞大的软硬件生态系统,培养了一代又一代的计算机用户和开发者。

bulita great world 4603

Dify知识库文档批量下载神器:一键导出所有文件到本地

在使用Dify进行知识库管理的过程中,我们经常遇到一个实际问题:如何将已上传到知识库中的文档批量下载到本地?目前Dify的管理界面虽然功能强大,但暂时没有提供直接的UI界面来批量导出或下载知识库内的文档。这意味着如果我们需要将知识库中的文件备份到本地或进行离线处理,只能通过API接口来实现。本文将详细介绍如何利用Dify的REST API构建一个完整的知识库文档下载解决方案,这也是目前实现知识库文件批量下载到本地的唯一可行路径。🎉进入大模型应用与实战专栏 | 🚀查看更多专栏内容首先,我们需要在Dify的

羊城迷鹿的博客 3473

10分钟极速SpringBoot项目搭建:OpenClaw AI实战攻略

OpenClaw,作为一款革命性的 AI 工具,凭借其强大的智能体能力,能够在短短 10 分钟内,帮助开发者从零构建一个完整的 SpringBoot 项目,实现真正的极速开发。它不仅极大地提高了开发效率,还降低了开发门槛,让更多的开发者能够专注于业务逻辑的实现,而无需被繁琐的配置工作所困扰

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 298

基尔代尔 才是天才吗

如果说蒂姆·帕特森是一位顶级的“实现者”,那基尔代尔就是站在更高维度上的“奠基人”。

hxsln11的博客 297

华为OD机试双机位C卷 - 比赛 / 评委评分 (C++ & Python & JAVA & JS & GO)

华为OD机试双机位C卷 比赛,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试-比赛,华为OD机考-比赛。

qq_45776114的博客 1701

DOS之父加里·基尔代尔

他作为一名大师我们不能忘记,但不该谴责微软和盖茨文章标题 DOS之父加里·基尔代尔 盖茨靠抄袭基尔代尔发家大家都知道,PC的腾飞依靠两个最主要的翅膀:微处理器和操作系统。这也是PC业中最大的两棵摇钱树。特德·霍夫发明的微处理器为英特尔种下了摇钱树。基尔代尔的DOS操作系统则为微软的霸业铺下基石。英特尔和微软成为PC业的最大赢家,而霍夫和基尔代尔则在贡献了自己的智慧后,两袖清风,而且在历

immcss的专栏 2298

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

CP/M世界上第一个微机操作系统

CP/M世界上第一个微机操作系统 微软宣布2014年4月8日将不再对WindowsXP系统进行更新,宣告这个存活了13年的史上寿命最长的微机操作系统基本上寿终正寝。很多人都知道这是个脱胎于DOS的系统,也潜意识中认为DOS是微机操作系统的鼻祖。不过,这大错特错,世界上真正的首个微机操作却是CP/M。 1946——1974年,“脑残”的电脑 根据冯·诺依曼原理,可把计算机分为控制器(CPU)、运算器、存储器(内存)、输入设备(键盘鼠标)和输出设备(显示器或打印机)几部分。如果想让这几部分协.

weixin_38383877的博客 3733

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

理解 Linux 动态库加载:LD_LIBRARY_PATH

flyfish

二分掌柜的 348

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

USB 技术系列 11 · USB Linux 驱动框架

本文系统解析Linux USB驱动框架,涵盖USB Core、HCD(xhci-hcd/dwc3)、类驱动(CDC/HID/Mass Storage)分层架构,详解usb_device_id匹配、probe/disconnect生命周期及Device Tree配置。结合RISC-V N300实战,揭示Host/Device双模式驱动开发核心逻辑,助力嵌入式BSP开发者掌握USB子系统全栈能力。

peter_pan_study的博客 256

Linux-iostat命令详解

Linux命令学习记录

m0xin的博客 121

Linux 服务器性能排查手册(2026):CPU、内存、磁盘IO、网络四大瓶颈定位

iptables 四表五链模型、firewalld zone 信任级别、云安全组与主机防火墙的关系与优先级,避坑改了防火墙把自己挡在服务器外面的翻车事故。

2502_91473995的博客 322

Linux rm 误删文件恢复实操教程

Linux使用rm删除文件时,并不会直接抹除磁盘上的数据,只是移除文件索引,让系统不再识别这块空间。只要没有写入新数据,原有扇区内容就会保留。新文件写入才有可能覆盖这些区域,一旦覆盖就很难找回。恢复的本质就是扫描磁盘,找到这些还存在、但索引丢失的数据条目,再把它们导出保存到其他分区。越早停止写入,恢复成功的概率越高。

海天数据恢复-winhex数据恢复教程 234

Windows/Linux下强实时运动控制内核(二):基于Qt的Delta机械手的开发应用

强实时运动控制内核MotionRT750下Qt开发Delta机械手的完整开发流程。

weixin_57350300的博客 241

Linux epoll 一篇讲透:从 select/poll 到红黑树、LT/ET,再到完整 TCP 服务器

一万个客户端已经连上服务器,眼下只有十个客户端发来了数据。服务器怎样把时间花在这十个连接上?理解这个问题,就抓住了 epoll 的主线。接下来,我们沿着“为什么需要它 → 接口怎么用 → 内核如何实现 → LT/ET 怎么写 → 完整服务器怎么运行”的顺序,把知识连起来。**阅读基础:**了解socketbindlistenaccept的基本用途即可。本文示例面向 Linux,服务器使用 C++17,实验脚本使用 Python 3。

2601_94861874的博客 196

Linux、Shell、MySQL 测试卷逐题细讲(下篇:MySQL)

本文为Linux、Shell、MySQL测试卷下半段MySQL部分逐题讲解,包含填空、选择与SQL分析三类题型。填空题覆盖COUNT、HAVING、DISTINCT、事务、约束、索引等核心语法;选择题辨析存储过程、索引类型、ACID、存储引擎、用户管理等考点。SQL大题围绕员工、部门、职位、地点四张关联表,考察多表连接、分组聚合、自连接、相关子查询、NULL处理等高频写法,标注LEFT JOIN统计计数、NULL判断、子查询别名等易错坑点,同时梳理试卷OCR识别带来的干扰问题,重点提示SQL实操中的常见失误

dongziwen1的博客 185

Linux 网络基础详解:IP、子网、路由与 ip、ss 命令实战

建库建表、增删改查、连接查询(内连左连右连)、聚合函数、权限控制 GRANT/REVOKE,每条命令配可运行示例,零基础也能跟着敲会 SQL 基础。

2502_91473995的博客 617

深入浅出聊聊 Linux 的 PageCache 与系统极致性能

本文深入浅出解析了 Linux PageCache 的核心机制,揭示其如何通过“延迟写、预读读”提升系统性能。以监控告警为切入点,阐明 free -h 中 buff/cache 并非真正占用,真正可用内存由 available 决定。结合 Kafka、Elasticsearch、MySQL 等实战场景,说明中间件如何依赖 PageCache 实现极致性能。强调不可手动清理缓存,并建议合理调优脏页参数,避免卡顿。最终指出:内存满≠危机,而是系统高效运行的体现。

小小默:进无止境 483

Linux 下 OpenCode 接入自定义大模型 API 教程:以 DeepSeek-V4.1-Flash-1017 为例

本文介绍在Linux下通过Python脚本配置OpenCode接入自定义大模型API(以DeepSeek-V4.1-Flash-1017为例),实现永久化、非侵入式配置。通过修改~/.config/opencode/opencode.json文件,添加OpenAI兼容服务商BLSC,注册模型并设置APIKey。支持命令行测试、默认模型设定及安全权限控制,操作简单且不影响原有配置。适用于各类支持OpenAI接口的自定义模型服务,提升开发灵活性与安全性。

qq_15060477的博客 130
上一篇: 一个宠物收养网站,彻底把程序员逼疯了......
下一篇: 为啥大批程序员觉得快撑不住了?
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值