原理与实现:计算机和操作系统

  在人类探索创造新事物的历程上大部分都遵循:先建立原理再工程实现的过程。(当然很多人会举出反例,所以笔主用词很谨慎)。在电子信息领域更是如此了。在科学领域电子信息领域最受关注,当然这不是好现象,毕竟笔主也承认能源领域、航空航天领域等也值得大量投入,毕竟电子信息可能仅仅是娱乐工具。

  计算机的原理与实现。早期的计算机原理由阿兰图灵、冯诺依曼等人创造,但在那个年代工程领域关于用什么实现他们的计算机原理理论恐怕是一片空白。下图是冯诺依曼计算机原理架构、哈佛计算机原理架构。


冯诺依曼计算机原理架构提出后,美国的工程师用电子管实现了当时应该产生了最早的“软件系统工程师”和“软件工程师”即使他们可能仅仅是用打孔机打着0、1串。不可否认的是冯诺依曼在在将计算机理论到工程实现中贡献巨大。必须承认在20世纪50年代实际上就奠定了未来长久的计算机原理基础,即使看起来那个年代工程实现的计算机是如此粗糙。是的,很失望的告诉大家现在大家依旧在享受那个年代的计算机原理,计算机原理最根本的原理还是冯诺依曼等人创造的。当然其他领域也是如此。计算机原理是人类创造的(工程实现就必须借助大自然了)同于其他科学,但它的根本原理进步却如此缓慢。不要被先进千变万化的应用程序蒙蔽,它们的底层本质还是那套计算机原理。笔主非常希望科学家们能提出新的计算机设计原理和架构,毕竟现在量子计算机开始发端,笔主希望它们不仅仅是又是一个“冯诺依曼计算机原理的工程实现”。

  实现冯诺依曼或哈佛架构的工程领域进步就是大多数人看到的了:晶体管、集成电路、英特尔、FPGA、GPU、NPU等等。这些工程实现大都依赖于自然原理和工程工艺技术。这方面笔主并不想详述,因为这些很表象,媒体也在每天吹嘘,大家司空见惯。但是从计算机设计的角度讲,这些都是工程实现,不是最初的原理设计和需求。只要有新的计算机设计原理产生,相应的必然有新种工程实现之。


  操作系统的原理与实现。软件领域发端较迟但因为工程实现难度小发展速度远超硬件。软件领域为何但说操作系统,因为笔主熟悉这个其他服务器、网络那些笔主不甚了解。大部分人都比较关注原理的工程实现而忽略原理设计者,比如原子弹设计恐很少人会对爱因斯坦的严密推理的论文感兴趣但美国工程实现原子大家都很了解。早期的计算机程序要实现的需求很简单,因此不需要操作系统。后来计算机要实现的需求越来越复杂,比如多任务等,就需要操作系统协调硬件和软件资源。

  操作系统的设计原理具体是谁提出来的,历史上并没有明确某个或某群人,因为自从计算机产生后就有大批从业者参与这样突破性的发现就要众人分了。最开始的操作系统原理非常碎片化,在硬件为王的年代,自家生产的计算机自家操作系统管理很自然。后来操作系统发展越来越殊途同归,特别是需求端越来越同质化。同时操作系统的设计者和工程实现者往往重合于是产生大量操作系统。但万变不离其中,无论是Linux、Windows、IOS,他们不过是采用不同的方法实现同一个需求罢了。如果编程语言也相同大家互相借鉴工程实现优点就是很容易操作的了。“操作系统设计原理和实现”是门大学问,但对于大部分工程师而言能借助操作系统完成项目已经不错了,那些设计原理和工程实现都是遥不可及的。当然这是群体的力量,比如Linux也不能绝对的说就是一个创造的。

  从计算机硬件和软件的设计与工程实现,我们看到了基本原理对于行业发展的重要性。要知道在电子信息产业我们依旧在享受上个世纪先人们的成就的红利,当然其他行业也是。所以从全人类的角度讲,基础科学太重要了。

  



猜你喜欢

转载自blog.csdn.net/z3256789/article/details/79781966