第5章 嵌入式操作系统.pdf
文本预览下载声明
嵌入式操作系统
嵌入式操作系统
实时性简介
实时性简介
• 对于什么是实时系统,POSIX 1003.b作了
• 对于什么是实时系统,POSIX 1003.b作了
这样的定义:指系统能够在限定的响应时
这样的定义:指系统能够在限定的响应时
间内提供所需水平的服务
间内提供所需水平的服务
• 实时系统根据其对于实时性要求的不同,
• 实时系统根据其对于实时性要求的不同,
可以分为软实时和硬实时两种类型
可以分为软实时和硬实时两种类型
• 一个计算机系统为了提供对于实时性的支
• 一个计算机系统为了提供对于实时性的支
持,它的操作系统必须对于CPU和其他资源
持,它的操作系统必须对于CPU和其他资源
进行有效的调度和管理,即实时调度
进行有效的调度和管理,即实时调度
实时调度分类
实时调度分类
• 各种实时操作系统的实时调度算法从调度策略上
• 各种实时操作系统的实时调度算法从调度策略上
可以分为如下三种类别:基于优先级的调度算法
可以分为如下三种类别:基于优先级的调度算法
(Priority-driven scheduling-PD)、基于CPU使用
(Priority-driven scheduling-PD)、基于CPU使用
比例的共享式的调度算法(Share-driven
比例的共享式的调度算法(Share-driven
scheduling-SD )、以及基于时间的进程调度算法
scheduling-SD )、以及基于时间的进程调度算法
(Time-driven scheduling-TD )
(Time-driven scheduling-TD )
• 从调度方式上来讲可以分为:可抢占、不可抢
• 从调度方式上来讲可以分为:可抢占、不可抢
占;从时间片来分:固定时间片、可变时间片
占;从时间片来分:固定时间片、可变时间片
实时性改造
实时性改造
• 对操作系统实时性的扩展可以从两方面进
• 对操作系统实时性的扩展可以从两方面进
行:向外扩展和向上扩展
行:向外扩展和向上扩展
• 向外扩展是从范围上扩展,让实时系统支
• 向外扩展是从范围上扩展,让实时系统支
持的范围更广,支持的设备更多
持的范围更广,支持的设备更多
• 向上扩展是扩充操作系统内核,从功能上
• 向上扩展是扩充操作系统内核,从功能上
扩充系统的实时处理
扩充系统的实时处理
Linux的实时性
Linux的实时性
• 一般的通用linux已经具备一定的实时性
• 一般的通用linux已经具备一定的实时性
• 但无法满足硬实时的要求
• 但无法满足硬实时的要求
– 运行于linux内核空间的进程(核心态)不能被
– 运行于linux内核空间的进程(核心态)不能被
抢先
抢先
– 在linux中,中断有时候会出于保护临界区操作
– 在linux中,中断有时候会出于保护临界区操作
的目的而被屏蔽
的目的而被屏蔽
– 通用linux的时间滴答长度为10ms (硬件时钟频
– 通用linux的时间滴答长度为10ms (硬件时钟频
率100HZ),但是这对于时间精度要求很高
率100HZ),但是这对于时间精度要求很高
(微秒级)的实时进程来说是不够的
(微秒级)的实时进程来说是不够的
嵌入式Linux的实时性改造
嵌入式Linux的实时性改造
• 可以引入一个双内核结构
• 可以引入一个双内核结构
• 对Linux内核代码作一些修改Linux本身的任务以
• 对Linux内核代码作一些修改Linux本身的任务以
及Linux内核本身作为一个优先级最低的任务,而
及Linux内核本身作为一个优先级最低的任务,而
实时任务作为优先级最高的任务以Linux的内核模
实时任务作为优先级最高的任务以Linux的内核模
块(Loadable Kernel Module,LKM)的形式存在的
块(Loadable Kernel Module,LKM)的形式存在的
• 资源核方法:这种方法是为解决传统实时操作系
• 资源核方法:这种方法是为解决传统实时操作系
统中固定优先级抢占式调
显示全部