BBS水木清华站∶精华区

发信人: suxm (笨笨@我很土,但是我很搞笑), 信区: Linux        
标  题: Re: 关于LINUX的质量质疑 
发信站: BBS 水木清华站 (Tue Jul 27 23:06:06 1999) 
 
【 在 nudtbegger (军人) 的大作中提到: 】 
 【 在 suxm (笨笨@折腾) 的大作中提到: 】 
 RT-NT是在NT下开发的,而且是在搞到了NT的HAL SOURCE的基础上开发的, 
 我没有,太贵,但是有一些DOCUMENT,知道一些它的结构. 
 
如果情况属实,那OSS界会给MS好评的。 
MS定会大力宣场一下自己的open精神, 
这么长脸面的事怎么不见MS提及呢? 
你所指的资料在哪里?公开一下以增强说服力好吗? 
 
 NO! 95是20ms 
 NT最小是4ms 
 
MS官方公布的是30ms(可查阅MSDN或walter oney及hazzen kazzen 
的著作),如果再小一些,就无法保证系统的稳定性。 
NT嘛,MS公布的是10MS(可查MSDN和David A.solomon的著作,这些著作都是 
MS出版的,参见下面的文字)。 
不知你的数据出自何处,如果是你自己试出来的,那请描述一下 
试验的具体细节。 
 
 NO,95的实时性绝对不如NT,如果你要在486上,那我就不说什么.但是只要 
 NT能跑,就实时性而言,决不比95差,我说一个最简单的东西:95下的16位 
 内核是不可重入的,因此,95根本就不是什么纯粹的强先式你调度.95从DOS 
 下继承的那些东西决定了它的本质. 
 
如果你仔细读一下你RE的文章,你会发现,在这点上,我与你的看法是一致的。 
win95用作远程客户端是比较合适的。 
 
 按你的理解不会是DOS的实时性更好吧?老兄也不是学OS科班的吧? 
 
呵呵。我是清华食堂收泔水的。不敢与兄台并论。:-) 
 
系统是否能重入只是实时性能的一个方面。 
用户线程对于系统资源的控制程度是不可忽视的另一方面。 
在保护模式下,i386分为ring 0---ring 3四个权限级别, 
系统的线程始终是处于ring 0的最高级别, 
用户的控制线程最高也就能到ring 0级,在这种情况下, 
用户的控制线程与系统线程处于同一级别(这种系统线程还不在少数), 
这也就是说用户的控制线程和系统线程的地位最多是平等的而不可能 
有什么特权。系统调度算法对于这些ring 0线程是公平的。 
所以,同一个CPU至少得由这些ring 0线程平等分享, 
用户的的控制线程始终是要受到系统线程的干扰。 
NT下线程有32个级别:16个real time level,15个variable level, 
1个用作zero page的system level。 
在NT下,用户的线程至少有两个级别,base级和current级, 
而且NT在必要的时候是会自动在base和current级之间调整用户线程的 
级别。既使用户线程被设置为real time level,系统还是 
会在必要的时候在16个real time level之间进行调整,一旦系统当中 
有更高级别的系统线程,用户线程的实时性如何保证? 
再说,NT在什么时候调整用户线程的级别是无法预料的,对于这样的"实时性", 
你放心吗? 
 
总之,NT不会把系统资源全部交给用户线程, 
这与NT宣称的C2安全级别太相悖了。 
 
而DOS在这方面却不同,DOS APP可以控制系统的全部资源, 
这也是DOS不安全的原因之一,随便一个TC写的程序就可以把系统搞死, 
但是如果程序写得精巧一些(主要是针对系统重入),可以实现非常好的实时性。 
至少现在国内作工控的企业绝大多数是用DOS来实现控制的,他们想换到 
GUI下主要是为了讨好用户,为了更方便用户使用, 
而不是因为实时性不够。 
 
 你认为NT 不是吗? NT的任务调度算法非常之先进,调度算法叫什么 
 多级反馈调度,(有点忘了,回去要去看看CLUSTER的NT INSIDE EDITION II) 
 
OK。有个概念搞混了。可能是我没有说清楚,把quatum和clock interval搞混了。 
一般来说,我们把quatum 叫作时间片。你所说的时间片动态调整是指quatum 
的调整。我指的动态调整时间片是指clock interval的动态调整。 
 
缺省情况下,NT workstation的quantum最小是6,Nt server的quantum最小是36。 
每一次clock interrupt都使当前线程的quantum减小3。 
所以在NT workstation下,线程最少要运行2个clock intervals, 
而在NT server下,线程最少要运行12个clock intervals。 
不同的硬件下,clock intervals是不同的。i386下,clock interval = 10ms, 
在DEC alpha AXP下,clock interval = 7.8125ms。这是固定不变的。 
这也就是说,i386下,系统延时至少是2个clock interval,即20ms。 
NT的时间片动态切分是指quantum是可以变化的。 
KURT的时间片动态切分主要是指clock interval可以调整。 
后者可以达到us的量级。在i386下系统硬件时钟理论上可以达到 
18.2 * 65535 HZ。 
 
上面的数据请查阅David A.Solomon的Inside Windows NT 第二版 
page 195页。这是MS出版的读物,别告诉我MS在说谎。 
 
 这我不知道,不好说,但是我非常怀疑.还有就是怎么定义这个控制精度, 
 系统里别的什么任务都没有,而且这个任务也可以预测,大概可以吧, 
 不过,那我为什么不用DOS算了呢? 
 
是啊。我也这样问自己呀。可能是想作远程控制吧,DOS的网络性能先天不足。 
或者想迎合大众口味,在WINDOWS下作控制,搞个 国内首创 的名头? 
这个想法有人在两年前就开始尝试了, 
 
 这我就更是不好说什么了...... 
 我决定回去好好了解了解,LINUX便宜,还是有前途 
 
这可不对了。看来你对LINUX还是有成见。 
别人的经验教训都值得借鉴一下。 
再说一次,你现在的尝试,有不少人在两年前就开始了。 
但是现在还是没有结果,据我所知,大多转向了RTLINUX。 
 
-- 
_____________________ 
吃睡吃睡吃睡吃睡吃睡 
睡吃睡吃睡吃睡吃睡吃 
--------------------- 
 
※ 修改:·suxm 於 Jul 27 23:13:46 修改本文·[FROM: ab1-86.bjnet.ed] 
※ 修改:·suxm 於 Jul 28 00:21:17 修改本文·[FROM: ab1-86.bjnet.ed] 
※ 修改:·suxm 於 Jul 28 01:59:48 修改本文·[FROM: ab1-86.bjnet.ed] 
※ 修改:·suxm 於 Jul 28 02:00:52 修改本文·[FROM: ab1-86.bjnet.ed] 
※ 修改:·suxm 於 Jul 28 07:37:41 修改本文·[FROM: ab1-83.bjnet.ed] 
※ 修改:·suxm 於 Jul 28 22:09:53 修改本文·[FROM: ab1-85.bjnet.ed] 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: ab1-86.bjnet.ed] 

BBS水木清华站∶精华区