广东湘恒智能科技有限公司
主营产品: 西门子PLC代理商,plc变频器,伺服电机,人机界面,触摸屏,线缆,DP接头
内核类其他基本概念
发布时间:2024-06-27

图片内核类其他基本概念


在RTOS场景下编程,芯片启动过程先运行一段被称为RTOS内核的程序代码,这段代码的功能是:开辟好用户线程的运行环境,准备好对线程进行调度。RTOS一般由内核与扩展部分组成,内核的最主要功能是线程调度,扩展部分的最主要功能是提供应用程序编程接口(API)。内核类其他基本概念主要有:时间嘀嗒、代码临界段、不可抢占型内核与可抢占型内核、实时性相关概念及RTOS实时性指标等。


图片


1.时间嘀嗒

时钟节拍(Clock Tick),有时也直接译为时钟嘀嗒,它是特定的周期性中断,通过定时器产生周期性的中断,以便内核判断是否有更高优先级的线程已进入就绪状态。


2.代码临界段

代码临界段也称为临界区,是指处理时不可分割的代码,一旦这部分代码开始执行,则不允许任何中断打扰。为确保临界段代码的执行,在进入临界段之前要关中断,且临界段代码执行完后应立即开中断。


3.不可抢占型内核与可抢占型内核

不可抢占型内核(Non-Preemptive Kernel),要求每个线程主动放弃CPU的使用权,不可抢占型调度算法也称为合作型多线程,各个线程彼此合作共享一个CPU。但异步事件还是由中断服务来处理,中断服务可使高优先级的线程由挂起态变为就绪态,但中断服务以后,使用权还是回到原来被中断了的那个线程,直到该线程主动放弃CPU的使用权,新的高优先级的线程才能获得CPU的使用权。


当系统响应时间很重要时,须使用可抢占型内核(Preemptive Kernel)。在可抢占型内核中,一个正在运行的线程可以被打断,而让另一个优先级更高且变为就绪态的线程运行。如果是中断服务子程序使高优先级的线程进入就绪态,中断完成时,被中断的线程被挂起,优先级高的线程开始运行。


4.实时性相关概念及RTOS实时性指标

硬实时(Hard Real-Time)要求在规定的时间内必须完成操作,是在设计操作系统时保证的,通常将具有优先级驱动的、时间确定性的、可抢占调度的RTOS系统称为硬实时系统。软实时(Soft Real-Time)则没有那么严格,只要按照线程的优先级,尽可能快地完成操作即可。


RTOS追求的是调度的实时性、响应时间的可确定性、系统的高度可靠性,评价一个RTOS一般可以从线程调度、内存开销、系统响应时间、中断延迟等几个方面来衡量。


(1)线程调度的时间指标

RTOS的实时性和多线程能力在很大程度上取决于它的线程调度机制。在大多数商用的实时系统中,为了让操作系统能够在有突发事件时迅速取得系统使用权,以便对事件做出反应,所以大都提供了“抢占式线程调度”功能,也就是操作系统有权主动终止应用程序(应用线程)的执行,并且将执行权交给拥有最高优先级的线程。


调度延时(Scheduling Latency):指当一个更高优先级的线程就绪到这个线程开始运行之间的时间。简而言之,就是一个线程被触发后,由就绪到开始运行的时间。


线程切换时间(Context-Switching Time):由于某种原因使一个线程退出运行时,RTOS保存它的运行现场信息,并插入相应列表,依据一定的调度算法重新选择一个新线程使之投入运行,这一过程所需时间称为线程切换时间。线程切换时间越短,RTOS的性能就越高。


恢复时间(Recovery Time):指从线程完成后,系统响应到恢复执行主程序所需要的时间。


(2)最小内存开销

在RTOS的设计过程中,由于成本限制,嵌入式系统产品内存的配置一般都不大,而在有限的内存空间内不仅要装载RTOS,还要装载用户程序。因此,最小内存开销是一个重要的指标,这是RTOS设计与其他操作系统设计的明显区别之一。


(3)系统响应时间

系统响应时间(System response time):指系统发出处理要求到系统给出应答信号的时间,也就是从线程请求产生到线程完成之间的时间间隔,需要满足一定的时间约束。控制要满足一定的实时性要求,就是响应时间小于临界时间。系统响应时间由反应时间和处理时间两部分组成,反应时间指外部中断提交到CPU开始处理的时间,处理时间指CPU完成处理的时间。提高系统的响应时间,可以从缩短反应时间和处理时间两个方面入手。反应时间是电信号的传导时间,对于不同速度的处理器,这个时间相差不大。


(4)中断延迟

中断是一种硬件机制,用于通知CPU发生了一个异步事件。CPU一旦识别出一个中断,保存线程上下文后,跳至该中断服务程序(ISR)执行,处理完这个中断后,返回到就绪列表中具有最高优先级的线程执行。当RTOS运行在核心态或执行某些系统调用的时候,不会因为外部中断的到来而立即执行中断服务程序,只有当RTOS重新回到用户态时才响应外部中断请求,这一过程所需的最大时间就是中断禁止时间。


中断延迟(Interrupt latency)时间:是指系统确认中断开始直到执行中断服务程序第一条指令为止,整个处理过程所需要的时间。中断禁止时间越短,则中断延迟时间越短,那么系统的实时性也会越高。



展开全文
商铺首页 拨打电话 QQ联系 发送询价