软考-嵌入式系统设计师-笔记:嵌入式系统软件基础知识
文章目录
- 嵌入式软件基础知识
- 嵌入式操作系统基础知识
- 任务调度
- 信号量
- 页面置换算法
- 嵌入式系统程序设计
嵌入式软件基础知识
嵌入式软件分类
系统软件:
控制和管理嵌入式系统资源,为嵌入式应用提供支持的各种软件,如设备驱动程序、嵌入式操作系统、嵌入式中间件等;
应用软件:
嵌入式系统中的上层软件,它定义了嵌入式设备的主要功能和用途,并负责与用户进行交互;
应用软件是嵌入式系统功能的体现,一般面向于特定的应用领域,如飞行控制软件、手机软件、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)
嵌入式系统程序设计
常用算法设计技术
常用的算法设计技术主要有迭代法、穷举搜索法、递推法、递归法、回溯法、贪心法、分治法、动态规划法等;
中断处理过程
关中断 > 保存断点 > 识别中断源 > 保存现场和屏蔽字 > 设置新的屏蔽字 > 开中断 > 执行中断服务程序 > 关中断 > 恢复现场和屏蔽字 > 开中断 > 中断返回
软考-嵌入式系统设计师-笔记:嵌入式系统软件基础知识相关推荐
- 软考-嵌入式系统设计师-笔记:计算机系统基础知识
文章目录 数制及其转换 数据的表示 原码.反码.补码.移码 浮点数 奇偶校验 CRC校验 海明校验 计算机组成及主要部件的基本工作原理 计算机硬件组成 CPU组成 存储器 计算机体系结构 冯诺依曼结构 ...
- 软考 程序员教程-第二章 操作系统基础知识
软考 程序员教程-第二章 操作系统基础知识 第二章 操作系统基础知识 2.1.操作系统概述(第四版教程P44) 操作系统的4个特征:并发性.共享性.虚拟性.不确定性. 操作系统的5个功能:处理机管理. ...
- 视频教程-2021软考系统集成项目管理工程师视频教程精讲 基础知识(下)-软考
2021软考系统集成项目管理工程师视频教程精讲 基础知识(下) 河北师范大学软件学院优秀讲师,项目经理资质,担任操作系统原理.软件工程.项目管理等课程教学工作.参与十个以上百万级软件项目管理及系统设计 ...
- 视频教程-2021软考系统集成项目管理工程师视频教程精讲 基础知识(上)-软考
2021软考系统集成项目管理工程师视频教程精讲 基础知识(上) 河北师范大学软件学院优秀讲师,项目经理资质,担任操作系统原理.软件工程.项目管理等课程教学工作.参与十个以上百万级软件项目管理及系统设计 ...
- 软考 程序员教程-第一章 计算机系统基础知识
软考 程序员教程-第一章 计算机系统基础知识 为了督促自己学习,告别懒惰,在此先给自己定个小目标,请大家监督哟! 目标:一个月内过一遍<程序员教程>,下一个月开始上真题. 简单看了下,我在 ...
- 软考(软件设计师知识点) --多媒体基础
多媒体基础 1.音频相关概念: 声音的带宽:声音音波的频率范围 人耳:20HZ-20KHZ 超过20KHZ超声波,小于20HZ是次声波 说话的频率范围是300-3400HZ 乐器的频率范围是:20HZ ...
- 软件设计师笔记之网络基础知识
根据以前的考试大纲总结,本章的知识点大概如下 (1)网络体系结构. (2)传输介质,传输技术,传输方法,传输控制. (3)常用网络设备和各类通信设备的特点. (4)LAN(拓扑,存取控制,组网,网间互 ...
- 软考-嵌入式系统设计师-笔记:嵌入式系统的安全性知识
文章目录 安全性基本概念 设备安全 行为安全 加密技术 对称加密 非对称加密 结合使用(数字信封) 数字签名 信息安全 安全威胁分类 计算机病毒 安全性基本概念 设备安全 信息系统设备的安全是信息系统 ...
- 软考-嵌入式系统设计师-笔记:信息化和知识产权基础知识
文章目录 信息化基础知识 概述 发展趋势 信息化应用 知识产权基础知识 知识产权分类 知识产权与保护期限 知识产权归属 侵权判定 信息化基础知识 概述 信息九个特征 可识别性.可存储性.可度量性.可共 ...
- 软考-嵌入式系统设计师:[嵌入式系统基础:笔记(一)]
大家不要只收藏不关注呀,哪怕只是点个赞也可以呀!
最新文章
- 27岁华裔小伙一战成名!搞出美国新冠最准预测模型
- SpringBoot mybatis Interceptor分页实现
- How to use tcpdump with examples
- jquery.easing.js(转)
- 38 ubuntu/windows双系统安装
- linux错误日志重定向,Linux shell 重定向标准错误输出
- java xml 读取库_Java开发中读取XML与properties配置文件的方法
- 千万级别数据查询优化_从千万级数据查询来聊一聊索引结构和数据库原理
- MongoDB Insert(插入)
- java 分布式事务处理
- 笔记 Activator.CreateInstance(Type)
- LINQ TO SQL 动态查询
- sqlserver 触发器语法
- html5查看ies文件,5千+ IES光域网文件 5312 IES Files + IES 预览
- linux shell执行perl脚本,无法在Shell脚本中运行Perl脚本
- 秩和检验的概念及python实现
- python实现多人聊天论文_Python基于Socket实现简易多人聊天室的示例代码
- java ftp 假死_FTPClient下载文件程序假死问题
- 神器——写Markdown来画流程图、时序图
- 入过滤(Ingress Filtering)