2024年C C++最全宫敏把自由软件和 Linux 带回中国(1),层层深入

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

在生产队组装电视机

“有你在这儿,我们的广播站就没有后顾之忧了。”

转眼间高中即将毕业,宫敏面临着双重选择:一方面,自己擅长小提琴演奏,可以报考西安音乐学院;另一方面,继续在实验室里搞科学。两难之下,宫敏去征求家人的意见。

奶奶对他说,“你的这两个爱好都是正当事业,都应该支持。”“你是愿意做研究,处理新的问题,还是愿意坐在乐池里,每天演奏相同的音乐?”“你可以把一个作为职业,另一个作为爱好。”

想来想去,宫敏更愿意留在实验室。这个决定,也是自己做水塔自动控制系统时,学校给予莫大的支持,让他觉得只要有好想法,社会就能给你机会,科学研究应该是自己真正的事业。

这一年,赶上号召年轻人到农村生活劳动,每户家庭可以留下一个孩子,于是家庭会议召开:让妹妹去,还是让哥哥去?宫敏觉得自己是哥哥,不能让妹妹去,父母满意地说“这哥哥的态度挺好,那你就去吧。”

临行前,父亲说:“你把书都带去,要坚持学习,英文也要坚持学,不能放松。”就这样,带着心爱的书和小提琴,宫敏离开了家。

他被安排在陕西省长安县,虽然与家在同一个县,可也有几十公里的山路,从生产队回家不需要翻塬,却要上山,沿着山路一直往上走就可以到家,从家里回来一路下坡就能到生产队。

刚到这里,宫敏和其他几个青年都住在老乡家,不久县里给的安置经费到位了,生产队就划了一块宅基地,盖了个小院。

宫敏所在的集体户是两个男生,三个女生,小房中间盖一堵墙,一边住女生,一边住男生,吃饭会在一起。“我记得我负责烧火,另一个男生就出去挑水,女生负责擀面条、做饭。”

大多数农活宫敏都能做,可也有意外发生,一次,宫敏在麦场收麦子,把麦捆铲到垛子上时,腰忽然扭伤了,在床上躺了好长时间。

另一次是修水库时,一个事故伤到了腿。宫敏扒着伤口从真皮、脂肪到下面的肌肉包膜一层层都看得清清楚楚,还不忘调侃:“这下我学到了直观的解剖学知识。”

宫敏对生活没有太高要求,能吃饱饭,睡觉不冷就行。收工回来别人打牌、谈恋爱,他就读书。

在知识的海洋里畅游,他又鼓捣出了新名堂。

干活之余,宫敏想弄明白电视机的工作原理,“只有把它做出来,才证明我确实弄明白了。”

在读高中时,宫敏经过一个学期的研究,组装过一台电视机。当时扫描发生器和锁相环路,都是使用的最新器件“单结晶体管(UJT,又名双基极二极管)”,利用它的负阻效应制作“张弛振荡器”,通过改变两个基极之间的电压,改变振荡频率,利用振荡器产生的信号,与电视台发送的同步信号的频率/相位差,产生控制电压完成扫描的同步。这一点让研究所里的叔叔们都赞不绝口。

他设计了一个电视机的完整电路,寒假到北京探亲,顺便购买了显像管、屏幕等相关零部件。北京生产的零部件宫敏都买等外品,最贵的是显像管,一个要 13 块 5,其他东西二三十块钱就能全买到,组装下来不到 50 块钱,三周的时间里宫敏从采购零件、制作印刷电路到整机调试,完成了一个九寸晶体管电视的制作。

有了第一部电视机的制作经验,第二部就轻车熟路了,显像管和部分零件都是从北京带过来的,他自己绕制了高压变压器,最终完成了电视机的组装。

简直是天大的事,村里这下能看电视了!这里离西安几十公里,用一个外置天线接收信号。大家都围着电视看,“电视节目大概是每天晚上五点半开始,先是新闻,再是别的,最后是文艺节目,十点左右就没有了。”

消息很快传到了公社,公社领导叫宫敏到公社来上班。

被推荐上大学

考研结束后,老师表情有些沉重,从班里挑了五个学生说:“你们五个人把考研试题做一下,我们要评估考题情况。”宫敏就和几位同学去答题,答完后老师看过成绩说:“你们当中考得最低的,也比这次考分最高的学生考得好。”

在公社,宫敏和领导吃住在同一个院,很快就熟络起来,工作上听从书记安排,事情做得也很漂亮,受到了书记的赏识。

好事来临,北大开始招生,无线电系在长安县有一个招生名额,书记得知后跟宫敏说:“这专业不正是你做的事情吗,你应该到这里去啊”,专业对口,就推荐他读大学。

说来也巧,在北大招生之前,部队曾前来征兵,宫敏跟部队的人聊得很好,就说:“你把我带走吧,我当兵去。”“好啊!”解放军说。

几天后解放军跟宫敏说:“我不能带你走。”

“为什么?”宫敏问。

“你的岗位不应该在我这里,你应该去上大学。”解放军回他。

“我觉得我现在没有机会上大学。”

“你听我的,你的机会就是去上大学,我不能带你走。”

就这样与部队失之交臂。宫敏想到,解放军可能跟公社这边沟通过,领导一直认为他该读大学。

不久,宫敏通过了入党申请,外调的资料也都合格了。在准备回京的时候,支部书记忽然对宫敏说:“你是不是能够明年再去上大学?我们希望你留下来,再为我们工作一年。”

可一心求学的宫敏,难得有了奔赴理想的机会,他非常珍惜,就没有答应书记。

人生充满机缘巧合,宫敏想,既然走了,就尽量走好,不要给学校丢脸。

在北大,宫敏很享受师生之间的关系。“老师们都拿我们当朋友,不当孩子对待。”大家都很认真地讨论问题。

1978 年的冬天,宫敏于北大留影

一次,宫敏向老师们请教 32 路数字电话的专业问题,他们惊讶于学生竟能问出这种问题!问到我就给你讲,讲完后告诉宫敏下一步的研究方向,希望他也对这些感兴趣。“北大老师和科学院的叔叔阿姨们的作风很像”,这也是宫敏从小接触到的,熟悉的氛围让他感到亲切。

更有意思的是,有几门课刚上了几堂,专业老师就说“这门课我给你通过,你别念了,去别的系听你感兴趣的课吧。”宫敏觉得这很不可思议,老师们都很开明,“他觉得继续听这门课是浪费时间,就劝你别听了。”

学习之余,宫敏加入了北大游泳队,每天下午训练,“还是很辛苦的,每天都要游 3000 多米。”教练要求很严格。好在小学时,父亲就带着他和妹妹去横渡昆明湖,“从排云殿游到龙王庙有 700 多米,游过去休息一会,再游回来。”从小养成了锻炼身体的习惯。

让遥感探测项目起死回生

在 80 年代,飞机遥感是很先进的技术,此时中国的高科技是在西方封锁之下搞出来的,“真的跟美国差距没有那么远。”

1980 年,北大,20 多岁的宫敏已有了人生目标,“我就是想成为老爸那样的人。”毕业时,宫敏顺理成章地被派遣到科学院工作。此时徐梦侠老师对他们说了很重的话,“你们毕业以后,前五年可以用母校的名字,五年以后北大指望着用你们的名字。”

1981 年,在科学院空间中心工作时期的宫敏

到了科学院空间中心,宫敏被分配到了地面系统部,单位的短期使命被定义为两星一站,即天文卫星、资源卫星和遥感卫星地面站,“虽然我最希望加入卫星团队,但还是服从分配好好搞地面系统吧。”研究室领导给宫敏介绍了这里的三个研究方向:硬件、软件和算法,可以自己挑。“想让哪个老同志带你,你就去争取他的同意。”于是宫敏开始摸情况。

宫敏喜欢挑战,做别人不敢尝试的东西。

在跟各位老同志交谈、看了各个实验室之后,发现这里有一个机房,里面设备很多,了解到这是 1976 年我国第一次航空遥感的数据处理系统,可一直没有成功运行,且负责人已去了美国。

这个机器是上海计算机厂(以前叫上无十三厂)生产的 DJ S-131 小型计算机,仿美国 Data General Nova 的产品。

按照计划,这个研究室是负责处理飞行时仪器所采集、记录的数据,可这一步一直未完成。宫敏就向研究室请求来这个机房,让它完成历史使命。谁知研究室觉得他资历不够,无法批准他负责这项工作,但允许宫敏来这里进行认为必要的工作,前提是必须保证不把它搞得更坏。宫敏回答:“保证不把它搞得更坏,争取把它搞得更好。”

宫敏是学无线电的,对电子计算机完全不懂,可他认为既然是电子计算机,它的基础就是电子电路,只要是电子电路宫敏就能搞懂。

“那个机器现在看起来很烂,主频 0.5 兆赫,一个内存周期两微秒,内存 32K 字,但它居然配了 40 兆的硬盘。”里面还配了数字磁带机,有两台是东德卡尔·蔡司生产的,另外一台是内蒙古生产的,质量不可同日而语。

宫敏决定,放弃使用内蒙古的磁带机,只用东德的。可东德磁带机的接口接不到我们自己的机器上,得自己做接口。好在计算机的逻辑图都是完整的,宫敏就一张一张地爬逻辑图,“最后弄明白了,它还有 Diagnostic 诊断程序,读这个诊断程序,才能深入理解计算机的工作原理。”

通过这件事,宫敏就彻底明白了计算机是怎么工作的。

此时这台机器工作还不稳定,宫敏就分析它的逻辑,发现有个地方的时间利用不充分,导致时间很紧张,持续的紧张会造成机器误判,比如 0 判成 1。宫敏就把计算机的逻辑稍微改了一下,加了两个逻辑芯片,“按照新的时序来,可以更充裕地去建立时间,这样机器就能稳定工作了。”“我还给它超频了,本来是两微秒一个周期,我把它提升到 1.6,超频还稳定。”

这就能更好地利用起来了。航空遥感飞回来的数据,本来是模拟信号,需要把它数字化,数字化的过程需要和航空遥感仪器每一圈的转动的起始点同步,可同步的挑战比较大,因为磁带录回来信噪比不好,噪声比较大,这会造成同步的电路失误。

宫敏想,能否用一种方法把真实的同步信号提取出来。这种做法纯学计算机的人是做不好的,纯学逻辑电路的人也做不好。宫敏有专业的信号处理背景,想到了匹配滤波器(Matched-Filter),用一个已知信号去匹配它那个(同步)信号,判断哪个是真实信号,一个信号在不应该来的时候来了,那就是假的。宫敏做了一块信号采集板,成功地把真实的同步信号提取了出来。

老同志得知后就和宫敏一起搞,他们帮助项目正式立项,要到了经费,最终把遥感飞行的数据全部处理出来了,是国内第一个完全自主知识产权的图像处理系统。

浙江大学和解放军测绘学院作为第一批用户上机试用获得了良好反应,物理所的雷达波波带信息经过系统的处理成功成像。系统通过科学院鉴定后,获得科学院科技进步二等奖,宫敏排名第二。

这次遥感飞行的主要目的,是验证我国自己设计制作的遥感仪器和我们的地面处理系统,另一个目的,是探测地下的铀矿。二机部的同志根据处理出来的照片,“我们最后是出成胶片”,通过胶片判读,得出了比较积极的结论,也得了二等奖。

这次遥感飞行探测早在 1976 年就开始了,当时做了很多工作,可运行都不正常,数据(模拟磁带)就一直放了四年,直到 1980 年宫敏来后,把旧有的东西重新设计、制作,用了两年多的时间把这件事起死回生了。

方案被美方认可

100 多人中有 30 人提交了方案,又经过一轮筛选,宫敏和另外 4 人的方案得到美方认可,获得了赴美工作的机会。

法国宣布,将在 1986 年发射世界最先进的 SPOT 遥感卫星。1985 年,中国决定建 SPOT 卫星地面系统,接收和处理法国的 SPOT 卫星数据,系统将由中国人自主在美国设计和建造,利用美国的工业技术和供应链,有效而快速地建设地面站,成果运回中国并在中国完成研制。

项目启动之前,美方专家来中国讲解处理系统的具体内容和要求,单位来了 100 多人听报告。

专家画出几个任务,让在场每个想干的人任意领一个回去,利用三天时间写出自己的解决方案。宫敏选了一块有挑战性的,三天后提交了自己的方案。“美国人在阅读了 30 多人提交的方案后,又听取了 10 个人的方案讲解,最终选定了 5 个人,其中有我。”

随后,所里领导找到宫敏:“美国人很认可你的方案,所里准备派你去美国做这件事。”“不过回国后,你需要为所里服务三年,三年以后你想做别的,可以走。”

宫敏听后说:“如果是三年的话我就不去了,您派别的同志去吧。”

“为什么?”领导问。

“我已经 29 岁了,去两年 31 岁回来,再服务三年,34 岁了,我还要深造,我还没有博士学位呢。”宫敏分辨道。

“可别的同志都同意是三年。”领导告诉他。

“他们同意是他们的事情,如果一定是三年的话,我选择不去好不好?”宫敏说。

“那你觉得多长时间可以接受?”领导问。

“最多两年。”宫敏说。

宫敏觉得一旦答应就要做到,这个年龄,读博士比去美国做事更重要。

一个星期后,领导又找到他:“所里开过会了,同意你服务两年的要求。”

感受西方世界

宫敏从妈妈嘴里和在外面听到的美国生活大相径庭,等真正到了美国,他感觉这里“就那么回事儿。”

1985 年,巴尔的摩,宫敏走在街上感受着这座东部大城市,种种景象触动着他,“能感觉到这座城市曾经很辉煌,可如今已衰败得不得了。”

路边有很多联排别墅,一次,宫敏从一个联排别墅的后院经过,一对老夫妇正晒着太阳,看到宫敏,就跟他友好地打招呼。

“你从哪来?”老头问道。

“你看我像从哪来的?”宫敏说。

“Cuba”老人看了看宫敏。

“你看你我的长相像古巴人吗?”宫敏笑道。

“那你是从哪来的?”老人接着问。

“我是从中国来的。”宫敏回他。

“中国在地球的另一边,你坐船过来要几个月?”老人惊讶地问。

“我没有坐船过来,是坐飞机来的。”宫敏说。

“那么远坐飞机!”接着他把老伴叫过来,“这个小伙子说他从中国坐飞机来的,我们两个还没坐过飞机呢!”

这次相遇让宫敏感触很深,他觉得虽然老人没坐过飞机,可住得起联排别墅,已经过得很不错了。

这里曾是美国的蓝领工人区,20 世纪 70 年代,美国的蓝领工人也是中产,这个阶层的人在美国并不在少数。

另一方面,在街上能见到很多无家可归的人,晚上警车到处跑,警用直升机在空中飞,感觉很不安全。

巴尔的摩离华盛顿 D.C.很近,开车 50 分钟就到了。

美国的生活很丰富,每个星期宫敏都到华盛顿 D.C.去参观一个博物馆。国会大厦前面有一大片草坪,草坪两边是各类博物馆(史密松尼亚博物馆群)。航空航天博物馆让宫敏觉得很震撼,各种航天文物和小型物品,包括天空实验室和美苏飞船对接,在这里都有展出。

一次,宫敏正在逛国家美术馆,发现旁边有两个人指着他问:“诶!诶!诶!你是不是北大的?”

“我是啊”,宫敏惊讶道。

“你是不是游泳队的?”

“是啊。”

“我是经济系的,当时我们经济系的某某也是你们游泳队的,你老去找他。”

“对!对!对!”宫敏笑着说。世界真是太小了!

宫敏把这里的博物馆看了个遍。大概在靠近白宫的科技历史博物馆,宫敏看到了些自己从书本上熟悉的东西,比如 ENIAC(世界上第一台电子数字计算机)的一部分,还有巴贝奇的机械计算机的一部分,等等。“这都是以前听过但没见过的东西,见到之后感觉不错!”

在学术资源方面,宫敏觉得中国的实验室仪器跟美国比,不能算非常落后,“我们是有些很好的仪器在手里的,可能没他们全,他们可能有二三十种,我们可能有五种,但我们这五种绝对是好的。”在科学院,大部分高级的东西是可以从外面买到的。

在单位上班时,有两次宫敏中午吃饭和工人坐在了一起,后来美国老板找他谈话,“你应该和工程师坐在一起,不应该坐在那边。”老板认为宫敏不属于那帮人,而是属于工程师这帮人。在美国,人群实际上是有分隔的,而宫敏受到的教育是要和工人、农民打成一片,还是受到了些文化的震撼。

宫敏也会抓各种机会跟美国人聊天,多了解一些美国社会。

最先完成任务

美国有先进的供应链,利用美国的信息和制造能力,做完拿回中国,知识产权是中国自己的,“放到现在美国不会这么干。”

1985 年,美国,一切进行得都很顺利,住宿免费,饭要自己买,有一辆车周末免费给中方人员使用,每个月发 420 块钱。“一个月只吃饭的话 100 块就够了,都是到超市买菜,回来自己做,下馆子是不敢的。”

宫敏领到的这块任务难度不小,可他最先完成了任务。每个人对自己的设计负全部责任,设计出来自己调试,“都是你一个人的事儿,工厂会按照你的设计进行加工。”

任务完成后,回国进行后续的工作。

临走之前,宫敏看中了一台 PC/XT 兼容机,里面有 10 兆硬盘,一张单色图形显示卡,他自己配了一兆内存,“我就是奔着顶级去的,彩色图形对我并不重要。花了 700 多美元。”

此时,在美工作学习一年以上的外国人回国可以带八大件,冰箱、洗衣机、电视等用品,该买的宫敏都买回来了,孝敬了家人。

成功移植 CPM/68K 操作系统

“以前都要做交叉汇编,现在系统支持了 C 语言,让整个系统上了一个档次。”

1987 年,北京,宫敏开始了地面站研制的后续工作。机器没有适合的操作系统,非常难用,宫敏说:“我们要给自己的机器做个操作系统”,于是准备移植 Digital Research 的 CPM/68K 操作系统,可人家只给了 BDOS,宫敏不得不自己写 BIOS 还有 ROM 上面的 Bloader 和 Device Driver(驱动程序)。机器用的总线是 Intel 的 MULTIBUS,而处理器是当时最好用的摩托罗拉的 68020,“这是一对很魔幻的组合”。

MULTIBUS 的硬盘控制器不好买,进口非常贵,宫敏看到满街的 PC 磁盘控制器说:“我做个总线转换器(Bus Converter)吧”,然后做了一块板子,上面是 PCBUs,把街上买的磁盘控制器插上,将总线转换器在插到 MULTIBUS 上。前面那些系统都写好以后,操作系统就 boot 出来了,这下好用多了。

宫敏成功移植了 CPM/68K 操作系统,并通过操作系统支持了 C 语言,摆脱了原有只能汇编语言交叉汇编下载的低效率模式。后来,这个项目获得了科学院科技进步一等奖。

以外国专家身份去芬兰

宫敏突然收到一封信,上面写着“你就是我们在找的人,耽误这么长时间,是因为我们一直跟芬兰教育部沟通,邀请外国专家。”芬兰教育部批准宫敏以外国专家的身份加入本国项目。

宫敏在美国的时候,妹妹在挪威,常跟他聊北欧五国的教育和科研情况。宫敏就想要去北欧,看看那里的学校都在干什么,自己有没有参与的可能性。

一天,北京举办国际教育展览会,会上介绍了很多参展国的情况,包括各大学的教育、实验项目,会场派发相关材料,宫敏在一份材料上发现芬兰赫尔辛基理工大学在开展一项“实时图像处理”的项目,就回去写申请信,把自己的个人信息、工作经历都填上了,说自己对这个项目很感兴趣,很想加入。

离开美国之前,宫敏请老板给自己写了评语,提到自己在美国的工作表现,他把美国老板的评语、科学院老同志的评语、大学老师的评语,还有自己写过的一些专业文章一并寄了过去,等待回复,可是几个月都没有消息,心想:那就算了。

三个月后,惊喜来临,宫敏收到了赫尔辛基理工大学的邀请信,自己能以外国专家的身份去芬兰工作。

芬兰靠租美国的设备做研究,看到宫敏在科学院做过遥感处理系统,处理中国的遥感仪器飞行记录信号、参与法国 SPOT 卫星地面站系统研制等经历,自然视他为专家。

不久,宫敏到大使馆拿火车票,乘车前往,中途在莫斯科转车,停留几个小时,宫敏趁机跟几位当地市民交谈,看到这里的市容和地铁,对“老大哥”的现状有些伤感。

在去芬兰之前,研究所的领导跟宫敏沟通,由于这一走时间不会短,领导建议他辞职,宫敏答应了。忽然想到宫敏未满三年的服务期,就说“等下,你三年的服务期还没到。”

宫敏把当年的事跟领导说了一下,自己是两年而非三年,随后所里开了所务会,核实之后确实有这么回事,于是批准了。

工作之余进修博士

在研究课题时,宫敏发现有人拿出了一个叫做 Linux 的内核,并在多人努力之下,做了一个 Distribution(名叫 SLS),宫敏安装了 SLS,下载了内核源代码,实现了 IP 多播,研究课题顺利推进。在此期间,宫敏研究了 GNU GPL V2,“觉得这个许可协议很好,中国可以利用 GPL 做很多工作。”

1989 年 9 月,赫尔辛基火车站,火车缓缓驶进站台,随着车门统一打开,车内旅客相继走了出来,人群中一位俊朗的中国青年提着行李,沉稳地走出车厢,看到站台上有人手举一张纸,上面是他的名字,就过去打招呼,原来是芬兰教育部派人前来接站,上车后就直接奔向离学校最近的外国专家公寓。

公寓里的设备又好又齐全,可以做饭、洗澡,里面有三个独立卧室,大家共用厨房和卫生间,宫敏很喜欢。很快电话打来,校方告诉宫敏冰箱里有早餐,宫敏打开一看,面包、奶酪、火腿,东西还真不少。

校方说:“你先休息,明天我们会来看你。”

宫敏说:“我明天可以去学校看看。”

“那好,你来我们欢迎!”

当晚,宫敏就在自己的卧室安然睡下了。

伴随芬兰初冬迟到的晨光,宫敏醒来,开始奔赴新的生活。他吃了早饭,整理了一下就去了学校,终于见到了校方领导和同事,他们解释了之前为什么三个月才给到回复,又给宫敏介绍了学校的特色。这里的研究方向不少,宫敏想做什么自己定。他选择了分布式并行处理,这是自己的兴趣所在。

上班后开始忙起自己的工作,同事们有问题会很客气地请教他,宫敏就去帮忙,“都是些比较棘手的事,尽管棘手,我也都能解决。”时间长了难免会“过一过招”,由于是新人,他们就给宫敏来个下马威,“你接住了就站住脚了,接不住,那以后有你好日子过了”。经过一番考验,他们觉得宫敏有些本事。

在注意到宫敏没有博士学位时,就建议他顺便读个博士,宫敏说可以。芬兰的博士分两级,第一级叫 Ph.D(Doctor of Philosophy),第二级叫做 Doctor of Science(科学博士),证书上写做 Higher Doctor(高级博士)。

宫敏说:“我选第二级。”

对方接着说:“第二级需要通过考试来获得资格,有一本《数字图像处理》共二十二章,有两种考法,一种是把这二十二章的内容做成一张考卷,你要用一天时间考完,这样我们对你能有一个大概的了解;第二种是每章各出一张考卷,也是考一天,这种考法可以更深入地了解你,但会比较难。”

宫敏说:“选这个难的吧。”

“我不怕。后来考过第四章,他们说我们决定不考了,你 Pass 了。”

“为什么?继续考多有意思?”宫敏问。

“你前四章的考试不光答得都对,还有书里没有的东西,每一章考试你都答出了更深层的东西,所以我们认为没必要考了。”对方回答。

读博士也需要拿学分,出去开学术会议,投稿成功,发表文章、上课等都记入学分,“该做的都做了,没觉得很困难,很不得了。”

宫敏的博士论文是一本专著,叫做 《Distributed parallel processing for photogrammetry and remote sensing》(分布式并行处理用于摄影测量学和遥感)。摄影测量学和遥感有大量的图像数据要处理,直到现在,计算机都必须通过并行处理进行功能的增强和性能的改善,这是宫敏以前就实际遇到和处理的问题。学校也很骄傲,答辩时邀请了英国纽卡斯尔大学的教授来做 Opponent(质辩人)。

在芬兰,高级博士在答辩前两个星期,要在当地最大报纸上登消息:谁,在哪年哪月哪日,在什么地方,就哪个题目做科学博士论文答辩。这被视为一件大事,在报纸上看到这条消息的人都可以来听,且都有资格发问。“所以历史上确实出现过委员会没意见了,却被社会听众问了问题。”

你要有充分的信心,才会公布这件事。

芬兰事件

黑客黑掉了宫敏的并行计算机群,一台不剩,这让他很不高兴,火速进行了一场“保卫战”。

1994 年夏天,宫敏休假结束回到学校,忽然发现自己的并行计算机群全部工作异常,经了解原来是黑客在对芬兰的计算机进行大规模网络入侵(称为芬兰事件),这次入侵不仅针对 Linux,BSD 和学校的 AIX、HPUX、OSF1、Solarise 等计算机都未幸免。

宫敏认识到计算机并非是安全的,解决计算机安全性问题是分布式并行处理的前提,否则其他都无从谈起。

宫敏把这个想法告知学校,学校支持并批准他使用原本用于研究并行处理的计算机,进行安全性研究。战场就设在了宫敏的计算机,宫敏一旦发现有人正非法使用自己的计算机,就通过写脚本来监视他们,发现异常后立即报警,如果他在场就人工监视并干预,如果打不过黑客就拔掉网线。

最后,宫敏缴获了黑客工具的源代码,通过这些源代码,宫敏了解了他们入侵的方法。通过内核侦测出了黑客的入侵路径,再根据预定的策略采取行动,做到了 100%成功防御。这种安全方面的研究一直在持续。

1997 年,宫敏利用假期回国建设“中国自由软件库”,并开通“新闻组”进行问题讨论和答疑,二者的完成获得了极大成功。清华大学和中国科技大学都拉取新闻组,开展讨论和答疑,从软件库中拉取感兴趣的内容进行使用。讨论和答疑活动在中国普及了自由软件的概念和 Linux 操作系统,为后来的开源运动打下了坚实的基础。

回国创业

2004 年,《程序员》杂志(《新程序员》前身)将宫敏同中文操作系统 CCDOS 开发者严援朝,金山软件创始人之一求伯君,江民杀毒软件创始人王江民,UCDOS、联众公司创始人鲍岳桥一起,誉为影响中国软件开发的元勋。

1998 年,中国驻芬兰大使馆,宫敏和新华社驻赫尔辛基分社的同志聊起了近来的工作,他们鼓励宫敏撰写个人材料提交新华社,准备小范围发表宫敏有关自由软件的稿子。

此后,大家开始劝宫敏回国,包括大使先生和远在家里的父亲,宫敏同意了。经过一年的收尾,宫敏于 1999 年年底结束了旅居生活,回到中国。

1999 年底,北京,宫敏来科学院相继见了陈芳允、张孝祥和倪光南等院士,有些是父亲的朋友,看到宫敏回来很是欣慰,不过前辈们不建议宫敏回科学院。陈院士说:“我觉得你不如以公司的形式为国家服务。我最大的愿望是希望你把公司做成中国的贝尔实验室。”

宫敏感叹道:“您对我的要求太高了,这是要我的命啊!”

作为中国 Linux 第一人,宫敏质朴而敬业的精神被前辈们看在眼里。“先辈有期望,我就往好的方向去做吧。”

宫敏不擅长经营公司,就有院士给他推荐合伙人,接触之后,大家志同道合,彼此欣赏,就一起来做。

创办公司后,宫敏的角色并没有变,依然专供科研,合伙人负责找钱。“一件事从国家的角度来说是应该做的,我们就力所能及地替国家干这件事”,团队陆陆续续做过两三个国家 863 课题,牵头做过核高基课题,两个国家发改委的项目。宫敏也很感谢合伙人和他找的那些资本,因为项目周期很长,很多资本是受不了的。

宫敏,摄于 2013 年

宫敏目前在公司主要做安全操作系统,面向的客户也是电力、铁路、电信等国家的核心部门,像国家电网遍布全国的调度系统用的就是宫敏的公司提供的操作系统,“我们知道自己的责任,这个东西要出事可不得了。”他们通过自主的 Linux 内核安全模块,将系统的安全性实现了很大的提升。

问答

刘韧:民间公司做安全操作系统的优势在哪里?

**宫敏:**从学术角度来讲,操作系统并没有太高的学术水平,因为都有标准在,而学术都是探讨目前不存在的东西。

问题是有标准在,不一定有符合标准的东西在,既然美国、欧盟、中国等国家都有自己的标准,那我们就尽量参考所有相关标准,弄清各个标准的内在逻辑,把它融会贯通以后做出来。

**刘韧:**你觉得一个民间公司落实一件事情会更有效率,而科研单位会追求更高的科研水平,所以双方追求的东西是不一样的。一个公司它可能更务实,更愿意做出可用或更好用的东西。

**宫敏:**对,科学院有些东西也很有实用性,可他服务的对象可能就是科学院和少数几个单位。可能社会上对这种东西还没有需求。

我们做的东西可能并没有特别大的学术突破,但也不是一点学术都没有,我们有学术和基础,所以国家 863 计划才能批准我们申请的课题。

刘韧**:什么叫做矿石收音机?**

**宫敏:**最开始用的都是电子管,没有晶体管,电子管很贵,轻易得不到。最早是外国人从一些矿石中发现,把矿石拿来,用一根针在上面轻轻触碰,这些被触碰过的地方就能让直流电通过,这颗矿石就具备了检波的作用。无线电波过来后,通过矿石用耳机就能听见声音了,就是广播。

比较有名的叫做方铅矿,方铅矿是效果比较好的材质,最早、最便宜的收音机就是用矿石做检波的收音机叫矿石收音机。

检波的英文叫做 Detector,一般的广播是调幅广播,是把音频调制在你的载波上面,载波的幅度高低是通过音频来变的,这个是我们听不见的。通过检波可以把载波去掉,留下半边的包络线,这个过程叫做检波,就是变成人能听见的声音。

最开始用矿石,后来就用晶体二极管,比矿石的效果要好得多,但大家仍然把它叫矿石收音机,因为它只有检波,现在再找块矿石都困难了。

刘韧:开源是怎么一回事,对中国的意义是什么?

**宫敏:**我只表达自己的观点。实际上在理查德·马修·斯托曼(Richard Matthew Stallman)看来,开源这个说法很不精确。2005 年,科技部委托我代表中国去柬埔寨暹粒市参加联合国开发署亚太地区的开源论坛,会上有人播放了一段 Bruce Perens 的视频,他是开源概念的提出者之一,谈他是怎么看开源和自由软件关系的。

在那段视频里,Perens 说,在他看来这两个东西大致是一个意思(More or less the same),只是开源的概念让人更容易理解,这是否代表现在开源的普遍概念,也不一定,至少是 Perens 的一家之言。

鉴于他是开源这个词的发起人之一,他的看法应该也有一定的代表性。要是按照 Perens 的说法,我们姑且认为开源软件和自由软件基本上就是一回事。另外,我也看到一些开源组织的统计数据,它们定义了一个开源的标准,在所有符合开源软件标准的软件当中,自由软件大概占了 60%以上,这样是不是可以认为,自由软件是开源软件的一大组成部分。

实际上在很多基础性、有代表性的开源软件当中,基本上是自由软件。操作系统、编译器,甚至包括 FirmWare 固件,都是以自由软件的信息形式存在的,尽管自由软件是一个小集合,但它是开源软件当中相当大的一部分,应该是超过 50%的。如果我们从基础性来看的话,自由软件应该是更重要一些。

我一直是认为我们国家最弱的不是你能玩出花来、短期能挣很多钱的上层应用,恰恰底层系统是我们最弱的部分,要加强我们的底层系统。自由软件是一个非常好的学习对象,因为有自由的编译器和工具链,包括 Linker、汇编器,这些东西包括操作系统 Kernel、Shell,和上面的 Utilities,这些东西构成了一个最基本的操作系统,那么这些东西应该是以自由软件为主的,虽然说有 BSD 那个更宽松的也不错,你愿意学也没问题,但现在从活跃度上来说,最活跃的还是 GNU/Linux。

在活跃的情况下,你往往通过讨论能学到很多东西,包括与人交流的方式,这个我觉得也是需要学习的。早年间我看到国内有人参加研讨会,上来就说,我希望你能够加入这个,加入那个,我觉得这个可能不是研讨的方式,你凭什么告诉别人他应该做什么?正确的方式是,你要觉得这个事情很有必要,你就把它做了,然后拿出来讨论,源代码也是对你开放的。

你可以做得不是太好,来征求一下他人的意见是可以的。所以什么是开源文化?是一帮人在一起应该怎么互动,这些都是需要学习的。社区里面也没有那种,我是头儿,你们都得听我的,那凭什么呀?你愿意做什么你倒是做呀,凭什么让我做呀?

这是我们所欠缺的文化之一。

另外,我刚回国的时候,教育部搞过一次 Linux 相关的教材的审定,也请我去,我说这个教材的审定可能不是我们几个人坐在这儿拍拍脑袋就可以审的,这些教材有哪些学校用过?在教的过程当中有什么经验和教训?它到底好在哪里?这些也要考虑,所以可能不是先着急审定一批教材,而是让大家把现有的教材先用起来,然后根据使用情况写出文章,老师对这些书都会有评价的,把几本不错的书取长补短,来编一本是可行的。

你看自由软件,包括开源软件很多发展都是自下而上的,并不是谁下了一个任务,你给我做一个东西。

这些话我希望大家能听进去,有很多事情我也是反复讲,很多年以后,我发现越来越多的人的说法,跟我的说法越来越像了,这个就是成功不必在我吧。

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

材的审定,也请我去,我说这个教材的审定可能不是我们几个人坐在这儿拍拍脑袋就可以审的,这些教材有哪些学校用过?在教的过程当中有什么经验和教训?它到底好在哪里?这些也要考虑,所以可能不是先着急审定一批教材,而是让大家把现有的教材先用起来,然后根据使用情况写出文章,老师对这些书都会有评价的,把几本不错的书取长补短,来编一本是可行的。

你看自由软件,包括开源软件很多发展都是自下而上的,并不是谁下了一个任务,你给我做一个东西。

这些话我希望大家能听进去,有很多事情我也是反复讲,很多年以后,我发现越来越多的人的说法,跟我的说法越来越像了,这个就是成功不必在我吧。

[外链图片转存中…(img-k6SsqUiN-1715538971505)]
[外链图片转存中…(img-qYohoQub-1715538971505)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值