anti
驱动牛犊
驱动牛犊
  • 注册日期2001-04-26
  • 最后登录2008-05-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2389回复:11

linux为什么不是实时调度?

楼主#
更多 发布于:2002-12-22 01:03
linux为什么说只是软实时调度?
说的具体点可以吗?
sunsetyang
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-03-03 00:49
linux为什么说只是软实时调度?
说的具体点可以吗?

linux的调度不能说是软实时的,实际上就是传统的调度方式,没有任何实时保证。只是best effort的那种方式,即系统尽最大力来提供尽量快的响应。
实时特征中很大的一点就是确定性,负责性,可预测性以及提供响应时间上限。
关于这方面的讨论可以参考一下rtlinux/rtai的实现,这样比在这儿说上一大堆要直观的多。我以前似乎在这儿也贴过文章的,你可以参考一下。
[color=red]Optimization[/color] In Progress . . . Welcome to http://mail.ustc.edu.cn/~chyang/
chenghuiming
驱动牛犊
驱动牛犊
  • 注册日期2002-12-25
  • 最后登录2004-11-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-02-24 18:49
进程被调度运行的时刻只能是从系统空间返回的时候,当进入系统空间运行的时候,它是先要做完要做的事情才返回到用户空间,而不是刚进入就检查有没有要被调度的程序而去调度
hometown
驱动大牛
驱动大牛
  • 注册日期2002-10-24
  • 最后登录2004-05-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-01-16 19:24
linux的内核进程调度不是抢占式的,进程在内核模式下要运行好几毫秒, 这个时间是用来处理中断或例外的。 此时, 变成可运行的实时进程不能得到调度。 所以说LINUX不是一个实时的OS, 当然, 实时不仅仅是调度是否是抢占式的, 比如实时进程可能要用到常规进程使用的资源, 这也是影响实时的一个方面。
How fair and how pleasant art thou, O love, for delights!This thy stature is like to a palm tree, and thy breasts to clusters of grapes.I said, I will go up to the palm tree, I will take hold of the boughs thereof: now also thy breasts shall be as clusters of the vine, and the smell of thy nose like apples;And the roof of thy mouth like the best wine for my beloved, that goeth down sweetly, causing the lips of those that are asleep to speak.
OS_Dev
驱动中牛
驱动中牛
  • 注册日期2002-01-09
  • 最后登录2004-03-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-01-12 23:42
我觉得硬实时和软实时的区别在于核心程序的优先抢占上.对于软实时OS,执行中的系统核心服务函数不能被其他的程序所中断,这与非抢占式的任务调度是不同的概念


硬实时是指从事件发生到系统响应的时间,以及系统开始响应到完成处理的时间都有严格规定。
而软实时只对前者有规定,至于用了多少时间来完成处理并没有严格规定。
I know nothing!
zheng2002
驱动中牛
驱动中牛
  • 注册日期2002-04-17
  • 最后登录2004-12-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-01-12 23:00
我觉得硬实时和软实时的区别在于核心程序的优先抢占上.对于软实时OS,执行中的系统核心服务函数不能被其他的程序所中断,这与非抢占式的任务调度是不同的概念

同意!!
qq:14459938 email:zheng2002@21cn.com RH9 kernel 2.4.20
smiling_forever
驱动牛犊
驱动牛犊
  • 注册日期2002-11-29
  • 最后登录2004-04-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-01-12 19:42
我觉得硬实时和软实时的区别在于核心程序的优先抢占上.对于软实时OS,执行中的系统核心服务函数不能被其他的程序所中断,这与非抢占式的任务调度是不同的概念
liangby
驱动牛犊
驱动牛犊
  • 注册日期2001-05-14
  • 最后登录2004-10-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-01-02 10:46
我觉得关键是linux对有关时间信号处理上的实现方式。比如,linux对超时信号并不是立即处理的,甚至会丢弃
donotgo
驱动牛犊
驱动牛犊
  • 注册日期2002-11-20
  • 最后登录2003-03-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-12-27 09:58
我觉得硬实时跟多用户是没有关系的。QNX、VXWORK都是硬实时,但也都是多用户。关键是线程调度算法是否是立即抢先
flyonearth
驱动中牛
驱动中牛
  • 注册日期2002-12-25
  • 最后登录2009-07-01
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望30点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-12-25 13:55
既然是多用户系统,就不可能做到真正的实时,否则的话就会有用户的进程无法得到系统的调度。只有像DOS这样的单用户系统才可能做到真正的实时!
bbs_000
驱动牛犊
驱动牛犊
  • 注册日期2002-11-05
  • 最后登录2003-03-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-12-24 11:24
它采用时间片轮转得方式,所以是实时性不高。同时,虚拟内存管理机制,也是影响实时性的几大原英之一。
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-12-24 10:26
最起码他不像ucos一样中断分级。同时他的时间片调度也不是按照实时设计的。你对比一下ucos的代码看看。
游客

返回顶部