第858章 面向对象 (第2/2页)
“但如果你想让你的程序在银河上跑到百分之百的效率,你们可以学习汉语。”
他放下指示棍,走到台前。
台下的面孔很杂,有各色各样的人,甚至还有穿深色西装的苏国人。
“今天来了不少老朋友,曼彻斯特的汤姆·基尔伯恩,我也看见你了。”韩景明朝第二排点了一下头。
台下传来一阵轻微的骚动。
汤姆·基尔伯恩坐在那里,头发灰白,脸色平静。
他比韩景明大十几岁,二战时就在曼彻斯特大学参与过“Baby”计算机的研制。
1962年,他的团队搞出了AtlaS,这是当时欧洲最强大的计算机,它率先实现了虚拟内存和分时处理。
他的虚拟内存、分页调度等核心发明,至今仍是所有现代计算机系统的基础。
韩景明在编写兼容层的时候,就曾经常出国拜访各个计算机的高手。
曼彻斯特去过几次,两人算是有过几面之缘。
基尔伯恩并没有站起来,只是朝着韩景明微微颔首。
韩景明直接点了他的名:“基尔伯恩教授,AtlaS的一级存储系统,虚拟内存和分时处理的理念,非常先进。
在银河的操作系统里面,就用到了这两项技术。
在这一方面,我要非常感谢您和AtlaS计算机。”
说完,他朝着基尔伯恩深深一鞠躬。
基尔伯恩这是站了起来,要来话筒,带着英格兰北部的口音说道:
“韩,AtlaS的虚拟内存是为了让一台机器同时跑多个程序。
银河的【桥】,是为了让一台机器同时跑多种语言。
思路不一样,但解决的问题有相通的地方。
我记得三年前你问过我在虚拟内存的管理上的问题。
我现在想问你,银河的汉语指令集在这个方面,有没有遇到我们当年碰到的那些问题?”
这是内行的问题。
机器的主存装不下整段程序,就得想办法把程序拆开。
一段一段换进来,换得不好,机器就停住一直等待,算力再高也使不上。
这时候,虚拟内存的好处就来了。
韩景明不假思索道:“当然遇到了,就算是照着正确答案抄写,也会有抄错的时候。
汉语指令的变长特性,让分页管理比英文指令复杂得多。
一个汉字占几个字节,取决于它用在什么地方。
我们在指令集设计阶段就做了对齐处理,但编译器优化的时候还是吃了不少苦头。
最后是用了三级页表才解决的。”
基尔伯恩点了点头,没有再追问。
这时候又有人站了起来,是个瘦高个,戴着一副很厚的眼镜,说话带北欧口音。
是克里斯汀·尼加德。他和同事达尔这几年在开发一个叫SimUla的编程语言。
“韩博士,我叫克里斯汀·尼加德,在挪威计算中心做的是模拟语言。
我们想把现实世界里的系统,用程序描述出来。
比如一个港口,有船、有码头、有货物。
每一样东西都有自己的属性,船有吨位、码头有泊位、货物有种类,而这些东西之间互相关联。
我们想用某种方式,把这些东西和它们之间的关系,直接写在程序里,您说可行吗?”
“你说的东西,你们管它叫什么?”韩景明问。
“还在讨论,不过已经有了初步的名字,对象或者类。
但我遇到一个问题,我想定义一个船的类型,它应该有吨位、航速、当前位置。
但这些属性是绑在一起的,我不想把它们拆成一堆单独的变量。
我不知道怎么在编程语言的层面上,把数据和操作数据的方法写在一起。”
——本人大学学过Java、C++等语言,凭记忆写的相关专业知识点。
已经竭尽所能写的让读者老爷们能看懂