大型复杂的系统,才能体现出设计的价值。操作系统是这个世界上最复杂的系统之一,他的设计思路值得我们学习。
    按我的理解,通俗来说,设计(仅指编程设计)就是按照哪一种思路或者标准来实现功能。同样的功能,不同的设计思想都能用不同的方式来实现,前期效果可能一样,但是随着产品功能的增加和扩展,设计的作用才会慢慢的显示出来。

    结合《UNIX/Linux 设计哲学》中提到的系统设计原则 https://github.com/wangfupeng1988/read-notes/blob/master/book/Linux-Unix设计思想.md 。可能有一些会跟传统思想有区别,但是请你重视它们。

    • 准则1:小即是美
    • 准则2:让每个程序只做好一件事
    • 准则3:快速建立原型
    • 准则4:舍弃高效率而取可移植性
    • 准则5:采用纯文本来存储数据
    • 准则6:充分利用软件的杠杆效应(软件复用)
    • 准则7:使用 shell 脚本来提高杠杆效应和可移植性
    • 准则8:避免强制性的用户界面
    • 准则9:让每个程序都称为过滤器
    • 十条小准则
      • 允许用户定制环境
      • 尽量使操作系统内核小而轻量化
      • 使用小写字母并尽量简短
      • 保护树木
      • 沉默是金
      • 并行思考
      • 各部分之和大于整体
      • 寻求 90% 的解决方案
      • 更坏就是更好
      • 层次化思考