嵌入式linux系统内核结构对其实时性影响

嵌入式linux系统内核结构对其实时性影响

ID:5945745

大小:29.50 KB

页数:7页

时间:2017-12-29

嵌入式linux系统内核结构对其实时性影响_第1页
嵌入式linux系统内核结构对其实时性影响_第2页
嵌入式linux系统内核结构对其实时性影响_第3页
嵌入式linux系统内核结构对其实时性影响_第4页
嵌入式linux系统内核结构对其实时性影响_第5页
资源描述:

《嵌入式linux系统内核结构对其实时性影响》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、嵌入式Linux系统内核结构对其实时性影响  摘要:嵌入式Linux内核中影响实时性的因素很多,并且各种因素对实时性的影响程度不一样,因此该文对嵌入式Linux内核影响实时性的因素进行了讨论,并对传统的内核实时性增强方法进行了研究,分析比较了两者的异同。关键词:嵌入式Linux系统;内核结构;实时性中图分类号:TP316文献标识码:A文章编号:1009-3044(2013)27-6140-03嵌入式Linux系统以其低廉的价格和强大的功能等诸多优势很快发展起来,成为嵌入式操作系统中的新贵。但是嵌入式Linux

2、是按照分时系统的目标设计的,本身为一个通用的分时操作系统而非真正意义上的实时系统。该文主要从系统内核结构对实时性的影响入手进行研究,并采用一定的策略对其实时性进行了改进,分析比较了两者的异同。1Linux系统内核结构1.1操作系统内核结构1)式的单内核7单内核也叫集中式操作系统,整个系统可以分成用户程序、系统调用以及硬件控制三个层次和若干个模块。在核心态运行时每一个模块是一个独立的二进制映像或者进程,并且通过直接调用其它模块中的函数来实现通信。如图1所示。2)层次式的微内核微内核模式是面向对象理论在操作系统设

3、计中的产物,通过对系统逻辑功能的划分,把操作系统结构中的处理器管理,存储器管理,设备管理和文件管理等高级功能服务模块尽可能从内核中分离出来,成为在一定的特权方式下运行并且具有独立运行空间的独立进程,同时各个进程之间以消息机制来完成信息交换。在内核中仅仅只保留少量的基本功能,如内核进程调度与通信以及内核的内存管理等,使内核变得更加简洁可靠。如图2所示。1.2Linux系统内核结构由于充分利用了分层结构和模块化的特点,所以实时系统通常多采用微内核的体系结构,非常适合于嵌入式环境中高效、紧凑、简洁、易扩展、易剪裁等

4、要求。Linux系统总体上可以分为进程调度模块、内存管理模块、文件系统模块、进程通信模块以及网络接口模块。各个模块之间的关系如图3所示。Linux系统采用的是单内核模式,同时在单内核模式设计中引入了许多微内核的思想,实践证明这种单内核模式中吸收某些微内核的设计实现方法,使单内核结构更加紧凑,功能更加强大,执行效率更高,性能更稳定。2改进内核实时性的两种方案72.1双内核法双内核法其实就是在保持Linux系统原有内核的同时,在最底层的硬件平台之上再增加一个实时核心层来达到改造系统实时性的目的,即是建立了双内核系

5、统。一方面Linux系统原有内核提供了复杂的非实时性通用功能,另一方面实时内核专门负责接受硬件中断信号以及专门对实时任务进行管理,具备了精确的实时多任务调度执行管理的功能。由于实时核心层直接与硬件层交互访问,所以在整个系统运行过程中始终接受来自硬件层的中断请求信号。当实时核心层捕获到来自底层硬件的中断请求信号时,实时内核用软件模拟常规Linux系统对底层硬件使用或禁止中断的方法来判断该任务是否直接响应,还是转交给非实时Linux内核处理。一方面如果当中断请求信号来自紧迫的实时任务,需要实时核心层来处理时,将抢

6、占Linux内核及时响应该请求;另一方面当中断请求信号来自普通的非实时任务时,需要Linux系统原内核来处理时,则由实时内核将信号传递给上层的Linux内核并作最终的执行。两者之间通常采用共享内存和FIFO设备接口等方法来相互交换信息。双内核实时系统架构如图4所示。7从上分析不难发现,在双内核结构中,只有在系统没有实时任务可运行时,Linux内核才有可能被调度。同时由于双内核机制保留了常规Linux内核,一方面能够充分利用Linux系统本身提供的诸多强大的功能,如TCP/IP网络协议、中文图形环境(X-Win

7、dow)以及丰富的编程资源等,另一方面以较小的代价提供了较强的实时性并避免了大规模的结构改造。最重要的一点就在于运行在常规Linux内核上的所有非实时任务必须是可抢占式调度的,这样才能对实时核心提供精确的实时保证而没有任何影响。此外,由于实时核心层非常小巧也不会增加系统额外的负担。典型代表就是RT-Linux系统,与此相类似的还有意大利的RTAI(Real-timeApplicationInterface)系统,但两者不同之处在于RTAI系统在需要修改的部分定义了一个抽象硬件层RTHAL(Real-timeH

8、ardAbstractionLayer),实时任务通过该抽象层提供的接口和Linux内核进行交互。2.2单内核法单内核方法就是通过修改Linux内核中部分代码来解决内核不可抢占的缺陷,达到改造内核实时性的目的,其根本原则就是有选择的改动而非对整个核心彻底地改变,具体地讲就是在遵循POSIX标准和GPL协议的前提下通过对进程调度与通信模块和内存管理模块以及中断处理机制等部分的修改,使修改后的内核具备基

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。