📄 00000020.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: nudtbegger (军人), 信区: Linux <BR>标 题: Re: 关于LINUX的质量质疑 <BR>发信站: BBS 水木清华站 (Tue Jul 27 20:32:54 1999) WWW-POST <BR> <BR>【 在 mephisto (魔鬼*修心养性*重新做人) 的大作中提到: 】
<BR>∶<I> RT-Linux
</I><BR>∶<I> 一般般. RT-linux 就简单来说,是把硬件中断接管了,linux核心的中断处理是
</I><BR>∶<I> 工作在RT的虚拟中断上的. 传统的linux部分是RTlinux的ideal 任务.也就是说,
</I><BR>∶<I> 只有当RT TASK不工作时,linux才有机会工作.
</I><BR>∶<I> 不是把.Linux还是有很高的智囊团支持的.
</I><BR>∶<I> 很容易的.写module把.
</I><BR>∶<I> #include <linux/module.h>
</I><BR>∶<I> #include <linux/sched.h>
</I><BR>∶<I> #include <linux/kernel.h>
</I><BR>∶<I> int init_module(void)
</I><BR>∶<I> {
</I><BR>∶<I> printk("print from the kernel\n");
</I><BR>∶<I> return 1;
</I><BR>∶<I> }
</I><BR>∶<I> /* gcc -D__KERNEL__ -DMODULE -c -O2 module.c */
</I><BR>∶<I> 这就是一个kernel module 了,从kernel打一句话出来.
</I><BR>∶<I> 所有的RT TASK都是用kernel module 写的.中断响应切换到相应的处理程序
</I><BR>∶<I> 10ms以内(486).这个是极限了,那段代码是用汇编写的,针对指令周期表作了
</I><BR>∶<I> 优化,例如同样功能那个指令更快些. RT-linux问档有描述这个的,自己看把.
</I><BR>∶<I> 我没有试过不好说,但发包似乎要比接包耗时,因为发不出去还要后退重发
</I><BR>∶<I> 这个不用RT-linux就可以做到5000 packet/s. 参见我前面的高速网络采集
</I><BR>∶<I> 100M 的包全部捕获下来是不成问题的.
</I><BR>
<BR>5000packet/s *64byte/packet=320000byte/s=2560000bit/s
<BR>离100M还有很大距离呀.????????
<BR>另外,你前面的"高速网络采集"是哪篇文章?我想看看
<BR>关于发包,假使网上就两台机器,一台向另一台发,假使另一台机器的
<BR>BUFFER无穷大,能发到多高的即时速率?
<BR>
<BR>另外,RT-LINUX接管了硬中断,但是,RT有好几个指标,除了中断响应时间,
<BR>还有别的,比如,上下文切换时间?如果任务调度没改,还是不能叫RT-OS吧.
<BR>另外,如果有一个KENEL 任务在WRITE,有一个更高优先级的任务要WRITE,
<BR>能保证DEAD-LINE吗?
<BR>长时间以来,我有一个印象,就是LINUX的KENEL是不可重入的,如果KENEL不
<BR>肯主动放弃对CPU的控制,是不能强行剥夺的.不知道对不对.不知道RT-LINUX
<BR>又做了些什么改进.
<BR>关于异步IO,NT是这样做的,1多个file操作,2 WAITMULTIOBJECT,LINUX下似乎
<BR>没有类似的函数?就是说,IO完成后,能否发信号该THREAD? <BR> <BR>-- <BR>※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.197.0.1] <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -