14.1.13 设计原则

Brooks,The Mythical Man Month:Essays On Software Engineering

Fred Brooks是IBM的OS/360的主要设计者之一。以其丰富的经验,他知道在计算机的设计中什么是可以运行的和什么是不能运行的。他在25年前写下这本诙谐且内涵丰富的书中给出的建议现在一样是可行的。

Cooke et al.,“UNIX and Beyond:An Interview with Ken Thompson”

广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

设计一个操作系统与其说是一门科学,不如说是一门艺术。因此,倾听该领域专家的谈话是一个学习这方面知识的有效途径。在操作系统领域中,没有谁比Ken Thompson更有发言权的了。在对这位UNIX、Inferno、Plan9操作系统的合作设计者的访问过程中,Ken Thompson阐明了在这个领域中我们从哪里开始和即将走向哪里等问题。

Corbató,“On Building Systems That Will Fail”

在获得图灵奖的演讲大会上,这位分时系统之父阐述了许多Brooks在《人月神话》中同样关注的问题。他的结论是所有的复杂系统都将最终失败,为了设计一个成功的系统,避免复杂化、追求设计上的优雅风格和简单化原则是绝对重要的。

Crowley,Operating Systems:A Design-Oriented Approach

大多数介绍操作系统的教材仅仅是讲操作系统的基本概念(进程调度、虚拟内存等)和列举一些例子,对于如何设计一个操作系统却没有提及。该书独一无二的特点在于有4章是说明如何设计一个操作系统的。

Lampson,“Hints for Computer System Design”

Butler Lampson——世界上最主要的具有创新性的操作系统设计者之一,在他多年的设计经历中总结了许多设计方法、对设计的建议和一些指导原则并写下这篇诙谐的内涵丰富的文章,正如Brooks的书一样,对于有抱负的操作系统的设计者来说,这本书一定不要错过。

Wirth,“A Plea for Lean Software”

Niklaus Wirth——著名的经验丰富的系统设计者,曾设计了面向网络的基于图形用户界面的操作系统Oberon,包括Oberon编译器和文本编辑器,只有200KB。通过讨论Oberon系统,他阐明软件应该基于简单的概念,使其简单明了,而不是商用化软件的复杂。