打印

不喜欢linux的一个理由

[复制链接]
5534|37
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
djyos|  楼主 | 2007-6-19 09:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    linux这么红火热闹,让我也忍不住花几天功夫,知道了一些皮毛,但没有心思看下去。让我不愿意看下去的原因是linux系统的驱动程序结构,由用户团队写的驱动居然和由操作系统内核团队写的内核混在一起,这样,内核的可靠性就降到了用户程序一个等级,甚至比普通应用程序还低。为什么呢?这种架构要求写驱动的用户团队精通linux内核,而且水平要和写内核的那几个牛人比肩,才能写出与内核一样稳定的驱动来!这是多么荒唐的事。其次,驱动程序跟内核一起测试,这给软件测试工作增添了多少麻烦啊?工作量十倍不止!不精通内核,你的测试就只能涉及到驱动程序的用户接口部分,无法测试驱动跟内核其他部分的兼容性,这对测试人员又提出了很高的要求!
    而且,混乱还不止这些,恨学linux的那几天没有把心情记录下来!
    所以,我认为linux是一个由许多精致的部件构成的杂乱无章的系统,它的细节实现非常完美,但是系统架构非常糟糕。而系统架构才是一个软件的灵魂,细节再完美都只是陪衬。

相关帖子

沙发
粉丝| | 2007-6-19 09:48 | 只看该作者

哈哈。。。。。。。。。。。。!

使用特权

评论回复
板凳
HWM| | 2007-6-19 09:56 | 只看该作者

LINUX不是“软件工业革命”产物,

它是“网络艺术家”们自我陶醉的艺术品而已。
LINUX和WINCE的关系完全类同于当年UNIX和WINDOWS的竞争关系。

使用特权

评论回复
地板
nj手术刀| | 2007-6-19 12:24 | 只看该作者

这样看,WIN专业,LINUX业余了

使用特权

评论回复
5
wangkj| | 2007-6-19 12:26 | 只看该作者

别的咱不说

用linux的打工者的工资通常是windows系统的两倍。

使用特权

评论回复
6
HWM| | 2007-6-19 12:45 | 只看该作者

5楼说的不错,这样老板就更不愿意使用LINUX了。

盖茨说过一句话,大意是“软件是要付费的”。他的理想就是把软件打造成一个产业(这就是软件产业革命)。
其实LUNIX看起来是开源免费的,但另一方面却要在开发和维护中付出相当大的费用,这决不比使用WINCE省钱。
现代工业的核心理念就是社会大分工,如果没有分工我们也许还在原始社会呆着呢。

使用特权

评论回复
7
djyos|  楼主 | 2007-6-19 13:16 | 只看该作者

楼上:

    同感,要求行业应用工程师精通如此复杂庞大且没有系统文档的linux,还谈什么分工。
    有人可能会说,ucosii、vxworks等驱动程序不是也跟操作系统内核一起运行吗?我要说,在vxworks和ucosii下,不止驱动程序,而且应用程序也跟内核一起运行。这样做一点问题都没有,但linux这样做却不可以,为什么呢?难道“只许州官放火,不许百姓点灯吗”?
    ucosii和vxworks都是单用户系统,谁听说vxworks上有两个程序在运行的?因此,保证这个单一的程序运行就OK了,是这种系统唯一的目标。不管用户程序与操作系统是否隔离,应用程序崩溃就意味着整个系统崩溃,就只有用看门狗重新启动的份。
    linux是多用户的(这里的用户指在linux上开发软件的用户),系统要保证一个用户程序出错不能造成其他用户程序出错,用进程隔离是个好办法,不同的用户用不同的进程,互补影响。但是,某用户写的driver造成操作系统异常呢?算不算一个程序影响了其他所有程序的正常运行?所以,从软件分工的角度讲,我们要防止的不是进程间干扰,而是开发团队间的干扰,允许driver毁坏操作系统,也就等同于允许一个团队毁坏其他所有团队的程序!
    
    试问linux的卫道士们,谁能解开这个问题?这是一个仅花了几天时间学习linux的初学者提出的问题!

使用特权

评论回复
8
ayb_ice| | 2007-6-19 13:45 | 只看该作者

喜欢只要一个理由,不喜欢有一万个理由。。。

使用特权

评论回复
9
computer00| | 2007-6-19 13:53 | 只看该作者

哈哈~~~linux只是免费给我们提供学习用的一个玩具而已~~~

使用特权

评论回复
10
wangkj| | 2007-6-19 13:54 | 只看该作者

7楼全错

1. linux有个文档计划,而且内核源码目录下Document就是文档,只是中文的较少,因为像lz这样叫而不去作的中国人太多了。
   另外,用man可以看到所有命令的帮助,这是第三个文档。
   还有,源码是公开的,源码也是文档,很多源码注释的很详细。
2. driver属于OS底层部分,不属于应用程序,这部分是硬件驱动除了问题当然崩溃了,没有一种操作系统硬件驱动错了还能工作的。
3. 有一种系统叫做rtlinux,可以让一个程序和内核共同工作,保证时实性。
4. linux不是用户少,而是你看不到。

各种操作系统,包括**,存在就是合理,没有那个更好,只有最合适的。每种系统特点不同,使用范围不同。只有你达到了一定的层次才能运用自如。

没看几天书,瞎评论,典型的半吊子250,半瓶子醋。

使用特权

评论回复
11
whereis| | 2007-6-19 15:11 | 只看该作者

.

to djyos
拜托,vxworks没你说得这么白痴,哈啦的时候,不要说得这么不靠谱好吗?

不要说什么"两个程序"这样的土话,要说任务或进程等。

摘一段:
VxWorks 的实时性做得非常好,其系统本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,它们造成的系统稳定、延迟短。
VxWorks 提供的多任务机制中对任务的控制采用了优先级抢占(Preemptive Priority Scheduling)和轮转调度(Round-Robin Scheduling)机制,也充分保证了可靠的实时性,使同样的硬件配置能满足更强的实时性要求,为应用的开发留下更大的余地。

---------------------------------------------------------------------
 vxworks都是单用户系统,谁听说vxworks上有两个程序在运行的?

使用特权

评论回复
12
djyos|  楼主 | 2007-6-19 15:32 | 只看该作者

9楼不要骂人嘛,多难听!

9楼提的4个观点也不见得全对哟,即使全对也不能作为骂人的资本嘛!很难听的。
1、linux文档虽多,但组织得并不是很好。
2、硬件分两类,一类是象cpu、总线、内存一样得生活必需品,离开了它,任何程序都会死翘。另一类是功能摸块,有没有对整个系统来说,没有影响。比如,你不能因为一个串口驱动程序出错就死机,我的其他程序都没有招惹你嘛。
3、rtlinux与linux只是名字相近而已,严格来说,rtlinux只能运行一个程序,如果rtlinux的一个实时线程抓住cpu不放的话,运行在上面的普通linux会死得很难看。
4、我从来没有说过linux用户多少得话。

但我非常赞同9楼最后得结论,“只有你达到了一定的层次才能运用自如”,对用户要求太高是我不喜欢linux的理由之一。

10楼:我没有说vxworks不好啊,我的所谓“两个程序”是从行业应用或者是从开发团队组织的角度出发的,与线程和进程无关以及任务。你听说过毫无瓜葛的两个程序同时运行在vxworks下吗?linux下就有,贪吃蛇游戏和五子棋程序毫无瓜葛,但是可以同时在一台安装有linux的机器上运行,在vxworks下连门都没有,vxworks是实时系统,实时的定义是什么,是“正确性不仅取决于计算的逻辑结果也取决于产生结果所花费时间的系统”,五子棋程序不知道贪吃蛇程序使用的优先级,你不知道什么时候会被抢占,也不知道贪吃蛇程序每次获得CPU后的执行时间,实时性从何谈起?

使用特权

评论回复
13
weixiao11| | 2007-6-19 16:22 | 只看该作者

嵌入式系统的多任务模式不是挺好的嘛

消费电子里面,边听歌边看书就是很好的一个应用,怎么多任务模式就成了Linux的弱点了呢?如果这样的话,那wince也一样弱。嵌入式应用不同,对操作系统的需求是不同的,选择什么样的操作系统,主要还是考虑适用不适用的问题。

使用特权

评论回复
14
wangkj| | 2007-6-19 16:36 | 只看该作者

不得不争论了

1、linux文档虽多,但组织得并不是很好。
组织的很好啊,没有那里不好,应该是你不会看而已,不达到一定的深度,很多东西是没有人愿意理你的。很多浅显的东西确实组织的不好,很多高手不懈。

2、硬件分两类,一类是象cpu、总线、内存一样得生活必需品,离开了它,任何程序都会死翘。另一类是功能摸块,有没有对整个系统来说,没有影响。比如,你不能因为一个串口驱动程序出错就死机,我的其他程序都没有招惹你嘛。
  串口程序出错,整个系统死机没啥不正常,cpu是一个逻辑,你错误的操作进入了错误的逻辑很可能(但不一定)会出不来。这要看硬件设计的水平和软件没关系。

3、rtlinux与linux只是名字相近而已,严格来说,rtlinux只能运行一个程序,如果rtlinux的一个实时线程抓住cpu不放的话,运行在上面的普通linux会死得很难看。
  如果不这样,还叫做实时吗?1000个实时进程平均分配,恐怕谁都非实时了。
 
对用户要求太高是我不喜欢linux的理由之一。
这个,确实是这样,linux的用户层次确实比用windows高许多。linux让用户学会思考,windowns让用户变成傻瓜。这是两种风格。
这是个人爱好,没办法。没个人都有喜欢或者厌恶的理由和自由。不喜欢可以不用,但是不能对别人不负责的宣传。 不要像x x.dang的x.x 理论,不允许争论,圣旨到,不听者杀!

还是那句话,不同的系统,面向的环境和用户不同,因环境和人而定。你讨厌,可以不用,但是不能人别人不用。不要学x. x啊。



使用特权

评论回复
15
wangkj| | 2007-6-19 16:37 | 只看该作者

xx 当,现在连这个字都不许说了。

莫论国事

使用特权

评论回复
16
pk.kong| | 2007-6-19 16:48 | 只看该作者

嘿嘿,你怎么不请教“飞船”。人家吹的不得了哦。

使用特权

评论回复
17
high| | 2007-6-19 19:34 | 只看该作者

同意9楼二当家的

使用特权

评论回复
18
zhousd| | 2007-6-19 19:39 | 只看该作者

温习一下经典分析!

wangkj 发表于 2007-6-19 13:54 ARM 论坛 ←返回版面    

10楼: 7楼全错 

1. linux有个文档计划,而且内核源码目录下Document就是文档,只是中文的较少,因为像lz这样叫而不去作的中国人太多了。
   另外,用man可以看到所有命令的帮助,这是第三个文档。
   还有,源码是公开的,源码也是文档,很多源码注释的很详细。
2. driver属于OS底层部分,不属于应用程序,这部分是硬件驱动除了问题当然崩溃了,没有一种操作系统硬件驱动错了还能工作的。
3. 有一种系统叫做rtlinux,可以让一个程序和内核共同工作,保证时实性。
4. linux不是用户少,而是你看不到。

各种操作系统,包括**,存在就是合理,没有那个更好,只有最合适的。每种系统特点不同,使用范围不同。只有你达到了一定的层次才能运用自如。

没看几天书,瞎评论,典型的半吊子250,半瓶子醋。

使用特权

评论回复
19
zhousd| | 2007-6-19 19:56 | 只看该作者

大家终于明白什么叫实时系统了吧!请读以下贴子1000遍!自然

wangkj 发表于 2007-6-19 16:36 ARM 论坛 ←返回版面    

14楼: 不得不争论了 

1、linux文档虽多,但组织得并不是很好。
组织的很好啊,没有那里不好,应该是你不会看而已,不达到一定的深度,很多东西是没有人愿意理你的。很多浅显的东西确实组织的不好,很多高手不懈。

2、硬件分两类,一类是象cpu、总线、内存一样得生活必需品,离开了它,任何程序都会死翘。另一类是功能摸块,有没有对整个系统来说,没有影响。比如,你不能因为一个串口驱动程序出错就死机,我的其他程序都没有招惹你嘛。
  串口程序出错,整个系统死机没啥不正常,cpu是一个逻辑,你错误的操作进入了错误的逻辑很可能(但不一定)会出不来。这要看硬件设计的水平和软件没关系。

3、rtlinux与linux只是名字相近而已,严格来说,rtlinux只能运行一个程序,如果rtlinux的一个实时线程抓住cpu不放的话,运行在上面的普通linux会死得很难看。
  如果不这样,还叫做实时吗?1000个实时进程平均分配,恐怕谁都非实时了。

对用户要求太高是我不喜欢linux的理由之一。
这个,确实是这样,linux的用户层次确实比用windows高许多。linux让用户学会思考,windowns让用户变成傻瓜。这是两种风格。
这是个人爱好,没办法。没个人都有喜欢或者厌恶的理由和自由。不喜欢可以不用,但是不能对别人不负责的宣传。 不要像x x.dang的x.x 理论,不允许争论,圣旨到,不听者杀!

还是那句话,不同的系统,面向的环境和用户不同,因环境和人而定。你讨厌,可以不用,但是不能人别人不用。不要学x. x 

使用特权

评论回复
20
mohanwei| | 2007-6-19 20:13 | 只看该作者

最近四处起火啊……纯粹看热闹^_^

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

60

主题

454

帖子

1

粉丝