软考-嵌入式系统设计师-笔记嵌入式系统软件基础知识
软考-嵌入式系统设计师-笔记:嵌入式系统软件基础知识
文章目录
嵌入式软件基础知识
嵌入式软件分类
系统软件:
控制和管理嵌入式系统资源,为嵌入式应用提供支持的各种软件,如设备驱动程序、嵌入式操作系统、嵌入式中间件等;
应用软件:
嵌入式系统中的上层软件,它定义了嵌入式设备的主要功能和用途,并负责与用户进行交互;
应用软件是嵌入式系统功能的体现,一般面向于特定的应用领域,如飞行控制软件、手机软件、MP3播放软件、电子地图软件等;
支撑软件:
辅助软件开发的工具软件,如系统分析设计工具、在线仿真工具、交叉编译器、源程序模拟器和配置管理工具等;
BootLoader(引导加载程序)功能: 片级初始化;板级初始化;加载内核;
BSP(设备驱动层,板级支持包)功能: 引导加载程序BootLoader和设备驱动程序;
嵌入式操作系统基础知识
任务调度
任务由于某个事件被阻塞
等待事件完成
调度器选中了该任务执行
调度器选择了另一个任务执行
运行
等待/阻塞
就绪
信号量
信号量用来记录当前可用资源的数量,有两种不同方式:
要求信号量的取值必须大于或等于0:
如果信号量的值等于0,表示当前已没有可用的空闲资源;
如果信号量的值大于0,则该值就代表了当前可用的空闲资源数量;
信号量的取值可正可负:
如果是正数或0,其含义与方式一是相同的;
如果是负数,则它的绝对值就代表正在等待进入临界区的任务个数;
**P操作:**申请一个空闲的资源,把信号量的值减1;如果成功的话,就退出原语;如果失败的话,这个任务就会被阻塞起来;
**V操作:**释放一个被占用的资源,把信号量的值加1,如果发现有被阻塞的任务,就从中选择一个把它唤醒;
页面置换算法
最优页面置换算法(optimal page replacement algorithm,OPT)
对于内存中的每一个逻辑页面,计算在它的下一次访问之前,还要等待多长的时间,然后从中选择等待时间最长的那个,来作为被置换的页面;
这个算法只是一种理想化的算法,在实际的系统中是无法实现的;
最近最久未使用算法(Least Recently Used,LRU)
从内存中选择最近最久没有被使用的那个页面,把它淘汰出局;
最不常用算法(Least Frequently Used,LFU)
选择访问次数最少的那个页面,把它淘汰出局;
先进先出算法(First In First Out,FIFO)
选择在内存中驻留时间最长的页面,把它淘汰出局;
时钟页面置换算法(Clock)
嵌入式系统程序设计
常用算法设计技术
常用的算法设计技术主要有迭代法、穷举搜索法、递推法、递归法、回溯法、贪心法、分治法、动态规划法等;
中断处理过程
关中断 > 保存断点 > 识别中断源 > 保存现场和屏蔽字 > 设置新的屏蔽字 > 开中断 > 执行中断服务程序 > 关中断 > 恢复现场和屏蔽字 > 开中断 > 中断返回