- 主题:哪些特性限制了kernel不是实时操作系统?
能具体举几个例子吗?
--
FROM 106.3.192.*
抢占
--
FROM 114.86.220.*
kernel也是抢占的啊
【 在 san1 的大作中提到: 】
: 抢占
--
FROM 106.3.192.*
kernel=操作系统?
【 在 wjhtingerx 的大作中提到: 】
: kernel也是抢占的啊
:
--
FROM 219.142.243.*
讨论就行,拒绝抬杠
【 在 cyclonev 的大作中提到: 】
: kernel=操作系统?
--
FROM 106.3.192.*
spin lock?
好久没看调度器了,现在还有spin lock吗?
【 在 wjhtingerx 的大作中提到: 】
: 能具体举几个例子吗?
:
--
FROM 162.156.156.*
这叫抬杠?操作系统是kernel+用户态整个一体啊。
linux之所以不是操作系统,就是因为对于用户态的进程调度规则偏向时间均衡啊。
修改这个规则,把linux变成实时linux的又不是没有
【 在 wjhtingerx 的大作中提到: 】
: 讨论就行,拒绝抬杠
:
--
FROM 219.142.243.*
可以抢占,但也有很多的代码不能抢占,所以不能实时。
【 在 wjhtingerx 的大作中提到: 】
: kernel也是抢占的啊
:
--
FROM 124.64.17.*
我就想知道到底哪些代码不能抢占?哪种场景
【 在 martinjspace 的大作中提到: 】
: 可以抢占,但也有很多的代码不能抢占,所以不能实时。
--
FROM 106.3.192.*
1 内核不可抢占,导致用户态程序的响应时间不可确定,这也是preempt-RT做的最大工作。
2 内核少量关键区还是用的spin lock,这也是不可抢占的,us级别左右。
3 存在优先级反转,即高优先级由于资源不满足(被低优先级把持)也无法运行。
4 Linux系统是多任务系统,任务队列、优先级和上下文切换都会带来不可预期的调度时间。
5 Linux内核硬中断和部分内核线程有最高优先级,进程调度时,可能会抢占低优先级的实时线程。
6 现代计算机的系统结构也或多或少影响了其不确定性,如多级存储结构,cache到内存的数据存在可调度队列,以最大内存带宽的并行性;CPU的乱序执行;PCI总线的延迟变化等。
【 在 wjhtingerx 的大作中提到: 】
: 能具体举几个例子吗?
:
--
修改:lambdago FROM 119.103.106.*
FROM 119.103.106.*