百科问答小站 logo
百科问答小站 font logo



如何看待王垠对于内存管理的理解? 第1页

  

user avatar   ling-jian-94 网友的相关建议: 
      

这不是很多很多年前的博文了吗为啥要拿出来提个问题。本质上来说当然没有什么不可行的,你考虑下整个系统使用一个硬件提供的malloc接口,接口不返回数值类型的指针,而是某种符号,内部通过不可见的查找表对应到物理内存;甚至更进一步,是个硬件提供的new,分配出的对象通过硬件GC。也没有什么本质上不可行的对吧?就是把整个操作系统 + 应用程序都灌到JVM这样的虚拟机(或者硬件实现的真机)里面去运行罢了,动态加载外部代码那都是非常成熟的技术了,甚至给不可信的代码提供一层沙箱环境,那也都是可行的嘛。而且原文也说了,LISP Machine不都实际造过嘛。

为什么最终是UNIX胜利?王垠这样的理想主义者发这种梦的时候,总是忘记软件业甚至是整个工业界最重要的原则(至少是之一):

低耦合,高内聚!

能存活几十年的工业品,是不能从一开始就设计成完美的样式的,只有永恒的乌托邦里面的东西,才能从一开始就设计成永恒不变的完美形态,而真实的工业品的设计必须是忒修斯之船:它会在发展的生命周期中,不断更新自己的每一个组件,一次一次地变得焕然一新,才能不断存活下去,不能再替换部件的一天就会是消亡的一天。而一个将硬件、数据存储、操作系统、编程语言、应用程序、内存分配规则全部藕合在一起的设计,必然是牵一发而动全身的,无论最开始的设计多么精巧,到了时代发展的时候,无论哪个方向取得了技术进步,新技术要怎么跟其他部件重新平衡?靠一个总架构师不停修改设计,永远不可能赶上各个方向都有众多团队各自竞争、各自独立发展的效率。

工业和手工业的区别就在这里,手工业可以造出很精巧的产品,但是将每个细小的组件都发展成标准件之后,工业生产的威力将会完全彻底碾压手工业,这对软件业也是完全一样的道理。有的人也许会觉得为了配合标准件做的设计是多余的,但正是这种标准化突破了单个人的界限,让集体的力量得以最大化。




  

相关话题

  为何有不少人认为用中文编程需要先自研硬件或操作系统? 
  自己动手组装主机时,为什么大部分人说 AMD使用过程比英特尔更难搞,不适合小白? 
  Linux中使用sudo产生文件的所有者究竟是? 
  哪个Linux发行版省电呢? 
  为什么 CPU 长期满载也不容易坏,显卡长期满载就担心会烧(比如挖矿)? 
  半导体行业竞争最核心的是什么? 
  深度学习底层开发对数学有哪些要求? 
  为什么 Windows 比 Linux 的文件搜索慢很多? 
  为什么Linux和window系统镜像大小差距这么大? 
  CPU芯片上的温度传感器是怎么安装上去的,是在制片时一起光刻好的还是后期加装上去的。? 

前一个讨论
上海的真实收入是怎样的?
下一个讨论
韩国现多起疑似接种疫苗后患白血病案例,目前情况如何?这可能是疫苗的副作用吗?





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利