学院派VS实用派

    在操作系统课上,学到了2篇论文,一篇是Edsger Dijkstra的"The Structure of 'THE' Multiprogramming System",另一篇是一群人写的设计和实现Tenex操作系统,"TENEX, a Paged Time Sharing System for the PDP-10"。说实话,这两篇其实都没有看得特别明白,尤其是第一篇,但是这2篇文章的意义已经远远超过了文章本身。
    第一篇论文只有6页,而在附录中(注意是附录),Dijkstra提出了划时代的信号量(Semaphore)的概念,这仅仅3行伪代码就解决了进程间同步的问题,而且这种方法至今还在用!
    第二篇论文提出了Tenex操作系统的实现方法,这是一个60年代的系统,但是其中也是划时代地提出了分页,虚拟地址,伪中断,Shell,文件系统的访问控制,调度算法——这其中有很多现在还在用!
    有意思的是,同样是设计操作系统,两篇论文的方法论却不一样:Dijkstra提出(1)要尽可能的设计一个高级的,创新的操作系统,以至于只有一小部分是常规的操作(即重复以前的工作)。(2)选择一台具有“完善”功能的机器(“完善”不好理解,姑且认为是“可以预计其行为”)(3)以前项目的经验不一定能够带领你走向成功,相反,要不断从实践中吸取经验。Tenex的设计理念是:(1)要有一个先进的虚拟机(即虚拟地址,现在看来已经司空见惯了),(2)要有好的人机交互的界面(以人为本)(3)系统一定要可以实现,易于维护,便于修改(实用主义)。
    这里暂且不提为什么操作系统几十年了都没有新的突破,值得一记的是学院派和实用派的对比:
    学院派是以欧洲计算机科学家为(Scientist)代表的一批人,他们设计系统时候不去过多的考虑资源的问题,而是注重实现一个高级的系统。我想也正因为如此,那些天才一样的科学家都出现在欧洲:Dijkstra,Tanenbaum, Linus(Linux诞生在芬兰)。
相反,美国盛产计算机工程师(Engineer),他们注重实际效益,注重用户体验(比如Mac),在开发过程中,更注重团队合作。当然也有划时代的Windows和Bill Gates,但是这个系统众所周知Bug不断。
    当然,以地域来划分学院派和实用派并不科学,比如Ruby就诞生于日本人手中,但是这的确是一件很有意思的事。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值