• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

为什么说linux是非实时的

宫梓萱 2020-10-13 浏览量:849
为什么说linux是非实时的,从哪里看出的。linux的任务调度是依据什么,优先级还是时间片还是什么
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 额。实时也分软实时和硬实时,Linux从2.6左右的版本引入了实时特性,可以提供基本的实时支持,这是软实时,但目前来讲通常情况下Linux并不是一个硬实时的系统,操作系统的“实时”特性是指系统必须在特定的时间内完成指定的应用,“硬实时”和“软实时”的区别在于这种要求的完成程度不同;不是硬实时操作系统,可以分析以下一普通进程拥有自旋锁关闭抢占,并在执行过程中相应中断并处理软中断,在中断处理过程中唤醒一个RT任务,但这时RT任务得不到立即执行,即使中断处理完,因为普通进程还占有自旋锁,等到普通进程释放锁后,才能得到执行,从唤醒RT任务到RT任务被执行,这段时间是不可预期的,所以Linux属于非硬实时系统,不过,随着各大牛的共享,好像可以通过打补丁的方式并配置来实现硬实时特性。

       目前Linux任务调度需要看看任务类型(普通进程,实时进程),每种进程对应不同的调度器和调度策略,不宜展开,时间片和优先级都要考虑,实时进程完全考虑优先级,可以参考相关书籍如《深入理解Linux内核》​

    • 发布于 2020-10-14
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:2
  • 实时的意思是系统能在你想要的时间间隔内处理你想处理的事情,linux因为自身调度的特性,执行时间是不好预估的,很难实现实时
    • 发布于2020-10-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 因为Linux目前没有任务抢占这一说法,而实时操作系统为了保证其实时性,一般要有优先级高任务抢占的策略
    • 发布于2020-11-24
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

为什么说linux是非实时的