阅读:2387回复:11
linux为什么不是实时调度?
linux为什么说只是软实时调度?
说的具体点可以吗? |
|
沙发#
发布于:2002-12-24 10:26
最起码他不像ucos一样中断分级。同时他的时间片调度也不是按照实时设计的。你对比一下ucos的代码看看。
|
|
板凳#
发布于:2002-12-24 11:24
它采用时间片轮转得方式,所以是实时性不高。同时,虚拟内存管理机制,也是影响实时性的几大原英之一。
|
|
地板#
发布于:2002-12-25 13:55
既然是多用户系统,就不可能做到真正的实时,否则的话就会有用户的进程无法得到系统的调度。只有像DOS这样的单用户系统才可能做到真正的实时!
|
|
地下室#
发布于:2002-12-27 09:58
我觉得硬实时跟多用户是没有关系的。QNX、VXWORK都是硬实时,但也都是多用户。关键是线程调度算法是否是立即抢先
|
|
5楼#
发布于:2003-01-02 10:46
我觉得关键是linux对有关时间信号处理上的实现方式。比如,linux对超时信号并不是立即处理的,甚至会丢弃
|
|
6楼#
发布于:2003-01-12 19:42
我觉得硬实时和软实时的区别在于核心程序的优先抢占上.对于软实时OS,执行中的系统核心服务函数不能被其他的程序所中断,这与非抢占式的任务调度是不同的概念
|
|
7楼#
发布于:2003-01-12 23:00
我觉得硬实时和软实时的区别在于核心程序的优先抢占上.对于软实时OS,执行中的系统核心服务函数不能被其他的程序所中断,这与非抢占式的任务调度是不同的概念 同意!! |
|
|
8楼#
发布于:2003-01-12 23:42
我觉得硬实时和软实时的区别在于核心程序的优先抢占上.对于软实时OS,执行中的系统核心服务函数不能被其他的程序所中断,这与非抢占式的任务调度是不同的概念 硬实时是指从事件发生到系统响应的时间,以及系统开始响应到完成处理的时间都有严格规定。 而软实时只对前者有规定,至于用了多少时间来完成处理并没有严格规定。 |
|
|
9楼#
发布于:2003-01-16 19:24
linux的内核进程调度不是抢占式的,进程在内核模式下要运行好几毫秒, 这个时间是用来处理中断或例外的。 此时, 变成可运行的实时进程不能得到调度。 所以说LINUX不是一个实时的OS, 当然, 实时不仅仅是调度是否是抢占式的, 比如实时进程可能要用到常规进程使用的资源, 这也是影响实时的一个方面。
|
|
|
10楼#
发布于:2003-02-24 18:49
进程被调度运行的时刻只能是从系统空间返回的时候,当进入系统空间运行的时候,它是先要做完要做的事情才返回到用户空间,而不是刚进入就检查有没有要被调度的程序而去调度
|
|
11楼#
发布于:2003-03-03 00:49
linux为什么说只是软实时调度? linux的调度不能说是软实时的,实际上就是传统的调度方式,没有任何实时保证。只是best effort的那种方式,即系统尽最大力来提供尽量快的响应。 实时特征中很大的一点就是确定性,负责性,可预测性以及提供响应时间上限。 关于这方面的讨论可以参考一下rtlinux/rtai的实现,这样比在这儿说上一大堆要直观的多。我以前似乎在这儿也贴过文章的,你可以参考一下。 |
|
|