嵌入式操作系统.ppt

嵌入式操作系统概要

微内核与单内核(续) 在微内核中保留哪些东西? 进程管理 存储管理 进程间通信 中断响应框架 微内核的优先级倒置问题 有A、B两个应用程序,A的优先级比B高,但是A在睡眠,而B在运行。 B需要进行文件操作,发请求给文件服务进程,自己进入睡眠,等待文件操作完成 本来在睡眠的文件服务进程接受到B的请求后开始为B服务。 此时A因某外部事件而变成就绪。 发生调度时,A与文件服务进程都是就绪状态。文件服务进程由于优先级高而更为优先。可是文件服务进程代表的是B,因此发生优先级倒置。 微内核的优先级倒置问题 以上问题的解决办法是采用“客户驱动优先级”,但是对于LINUX等操作系统,由于是不可剥夺的,因此天生不可解决。 微内核的优先级倒置问题 A B C ,C正在运行 C需要文件操作,发请求给文件服务进程,进入睡眠,等待文件操作完成。 文件服务进程开始为C服务,并将优先级设成与C相同。 此时A被外部时间唤醒,也需要文件操作,发请求,进入睡眠。 A的请求在文件服务进程的等待队列中。发生优先级倒置。 微内核的优先级倒置问题 B由于外部事件变成就绪 由于B C,B会被调度。 对于C是合理的,但是对于A,太不公平。 如果还有B1,B2,B3,B4 微内核的优点 小而且简单,容易理解,容易维护 各模块可以独立开发 系统配置灵活方便 微内核的缺点 效率降低 安全降低 RTOS基本struct 实时

文档评论(0)

1亿VIP精品文档

相关文档