ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

嵌入式领域linux作为实时操作系统的缺点(转)

2021-08-04 19:31:27  阅读:298  来源: 互联网

标签:linux 实时 嵌入式 实时操作系统 时间 内核 Linux 任务调度


linux以自由和开发源码赢得了许多工程师的青睐,现在许多嵌入式产品使用的是linux系统,然而linux内核作为
实时操作系统有非常,明显的几个缺点。
1.任务调度的缺点
Linux最初的设计预想是设计一个通用的操作系统内核,尽量缩短系统的平均响应时间,在单位时间内位尽可能多的用户请求
提供服务;在设计上并没有太考虑实时性的需要,而是在分时操作系统基础上发展而来,linux内核在任务调度上实现的是一
种几乎公平的分配任务时间,在特殊场合下linux内核在任务调度上实现的是一种几乎公平的分配任务时间,在特殊场合下
Linux内核很难满足系统在响应时间和优先级上的要求。
Linux内核作为实时操作系统的一个最大缺点就是:Linux在用户态支持可抢占调度策略,而在核心太却不支持抢占式调度策
略,比如:linux在运行一个低优先级别的核心态任务,而此时又有一些优先级更高的实时任务要处理,但内核不支持抢占
性,只有等到正在运行的低优先级的任务执行结束后,才能运行优先级别高的任务,这样就不能保证系统对于实时性任务的响
应时间,这在实时操作系统中一般是不允许发生的。
Linux虽然给实时性进程提供可较高的优先级,但是并没有加入时间限制。例如完成的最后期限,应在多长时间内完成和执行
周期等。同时,其他大量的非实时进程也可能对实时进程造成阻塞,无法确保实时进程的响应时间。
2.中断处理的缺点
Linux内核对于中断处理采用 Bottom Half Handling方法(详细请自己查谷歌),这种处理方法在处理中断过程中,屏蔽了系
统其它中断,而且优先级别高的任务也不能抢占处理,所以linux中断句柄是不可调度的;但在实时系统中,有事期望能在一
个可调度整体内处理这些中断句柄,从而能更有效地区分不同实时任务的密度,分配不同的优先级。因此,单纯采用bottom
half hadling缩短时间片方法在对实时性恩能够严格要求的场合仍有些不适合。
3.内存管理的缺点
Linux系统采用虚拟内存管理机制,在虚拟内存中,系统会根据当前任务使用的内存情况,把一些任务或用户进程交换出内
存,保持在磁盘文件系统页面上,在以后需要时,再将它们调入内存,这种方法提高了内存的使用效率,但调入过程需要花费
一定的时间。这种采用时间换空间的方法,在实时应用场景下,往往造成任务的响应时间加长或有限时间内无法执行完毕。
4.时钟精度
Linux中硬件时钟中断的默认时间间隔是10MS,所有的软件时钟都是靠硬件来触发的。linux内核的任务调度也依靠这个时
钟,时钟频率直接影响到系统响应速度和上下文切换的系统开销。最小时间片为10MS,决定了linux任务调度能提供最小
10MS的调度粒度,对于许多实时系统来说,通常需要做微秒级的响应,这种调度精度很难满足实时系统对系统响应速度的要
求。

标签:linux,实时,嵌入式,实时操作系统,时间,内核,Linux,任务调度
来源: https://www.cnblogs.com/lh03061238/p/15100458.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有