第4章_嵌入式系统软件基础知识
{% markmap %}
第4章 嵌入式系统软件基础知识
嵌入式软件基础
- 嵌入式系统
- 嵌入式系统具有以下特征
- 嵌入式系统的时间敏感性
- 嵌入式系统的可靠性和安全性
- 嵌入式软件的复杂性
- 嵌入式系统具有以下特征
- 嵌入式软件
- 嵌入式软件特点
- 软件受资源的限制
- 开发难度大
- 实时性和可靠性要求高
- 要求固化存储
- 嵌入式软件特点
- 嵌入式软件分类
- 系统软件
- 应用软件
- 支撑软件
- 嵌入式软件体系结构
- 无操作系统
- 循环轮转方式
- 前后台系统
- 有操作系统
- 提高了系统的可靠性
- 提高了系统的开发效率
- 有利于系统的扩展和移植
- 无操作系统
- 设备驱动层
- 板级支持包 BSP
- 引导加载程序
- 片级初始化
- 板级初始化
- 加载内核
- 设备驱动程序
- 硬件启动
- 硬件关闭
- 硬件停用
- 硬件启用
- 读操作
- 写操作
- 引导加载程序
- 板级支持包 BSP
- 嵌入式中间件
- 在操作系统内核、设备驱动程序和应用软件之间外的所有系统软件。
嵌入式操作系统概述
- 现代操作系统的特征
- 并发性
- 共享性
- 虚拟性
- 嵌入式操作系统的分类
- 按提供的功能分类
- 单用户操作系统
- 批处理操作系统
- 实时操作系统
- 分时操作系统
- 网络操作系统
- 分布式操作系统
- 按系统的类型分类
- 商用系统
- 专用系统
- 开源系统
- 按响应时间分类
- 硬实时系统
- 软实时系统
- 按软件结构分类
- 单体结构
- 分层结构
- 微内核结构
- 将内核之外的功能全部剥离出去,只保留内核部分
- 按提供的功能分类
- 常见的嵌入式操作系统
- vxworks
- 嵌入式linux
- windows CE
- ucos
- palmos
- pSos
- QNX
- OS-9
- LynxOS
- 天脉操作系统
任务管理
-
多道程序技术
- 分为两种类型
- 单道程序设计
- 多道程序设计
- 分为两种类型
-
进程、线程和任务
- 进程
- 最小的资源单位
- 一个进程至少包含
- 相应的程序
- CPU上下文
- 一组系统资源
- 进程特性
- 动态性
- 并发性
- 独立性
- 线程
- 最小的调度单位
- CPU上下文和栈独立
- 任务
- 有的时候指代进程,有的时候指代线程,看具体情况
- 进程
-
任务的实现
- 任务的层次结构
- 任务的创建与终止
- 任务创建的情形
- 系统初始化
- 任务运行过程中
- 用户提出请求
- 任务创建的情形
- 任务的状态
- 运行状态
- 就绪状态
- 阻塞状态
- 任务控制块
- 任务的管理信息
- CPU上下文信息
- 资源管理信息
- 任务切换
- 将处理器的运行上下文保存在当前任务的TCB中
- 更新当前任务的状态,从运行态变为就绪状态或阻塞态
- 按照一定的策略,从所有处于就绪状态的任务中选择一个去运行
- 修改新任务的状态,从就绪状态变成运行状态
- 根据新任务的TCB内容,恢复它的运行上下文环境
- 任务队列
-
任务的调度
- 任务调度主要概念
- 调度时机
- 调度方式
- 两种方式:
不可抢占调度和可抢占调度
- 两种方式:
- 调度算法性能指标和分类
- 响应时间
- 周转时间
- 调度开销
- 公平性
- 均衡性
- 吞吐量
- 常用的调度算法
- 可抢占调度
- 不可抢占调度
- 同优先级的时间片轮转调度算法
- 任务调度算法
- 先来先服务算法
- 短作业优先算法
- 时间片轮转算法
- 优先级算法
- 任务调度主要概念
-
实时任务调度
- 任务模型
- RMS算法
- EDF算法
-
任务间的同步和互斥
- 任务之间的关系
- 相互独立
- 任务互斥
- 任务同步
- 任务通信
- 任务互斥
- 任务互斥的解决方案
- 关闭中断法
- 繁忙等待法
- 信号量
- 任务同步
- 死锁
- 信号
- 解决优先级反转的算法
- 优先级继承协议
- 优先级冲顶协议
- 解决优先级反转的算法
- 任务之间的关系
-
任务间通信
- 共享内存
- 消息传递
- 直接通信
- 间接通信
- 管道
存储管理
-
存储管理概述
- 内存保护
- 实时性要求
- 速度快
- 确定性
-
实模式和保护模式
- 实模式方案
- 没有MMU
- 保护模式方案
- 有MMU
- 实模式方案
-
分区存储管理
- 固定分区存储管理
- 可变分区存储管理
- 分区存储管理实例
-
地址映射
- 静态地址映射
- 在运行之前就要完成地址重映射
- 动态地址映射
- 在运行的时候对地址重映射
- 静态地址映射
-
页式存储管理
- 基本原理
- 数据结构
- 内存的分配与回收
- 地址映射
- 逻辑地址分析
- 页表查找
- 物理地址合成
- 页式存储管理方案的优缺点
- 优点
- 没有外碎片
- 程序不必连续存放,可以分散的存在内存的不同位置
- 便于管理
- 缺点
- 程序必须全部装入内存
- 操作系统必须为每一个任务都维护一张页表,开销比较大。
- 优点
-
虚拟存储管理
- 程序局部性原理
- 时间局限性
- 空间局限性
- 程序局部性
- 程序在执行时,大部分都是顺序执行
- 程序中存在相当多的循环结构
- 程序中存在这相当多对一定数据结构的操作,这些操作往往局限在比较小的范围内。
- 虚拟页式存储管理
- 页面置换算法
- 最优页面置换算法
- 最近最久未使用算法
- 最不常用算法
- 先进先出算法
- 时钟页面置换算法
- 工作集模型
- 程序局部性原理
设备管理
- 设备管理基础
- IO独立编址
- 内存映像编址
- 混合编址
- I/O控制方式
- 程序循环检测方式
- 中断驱动方式
- 直接内存访问方式 DMA
- I/O软件
- 中断处理程序
- 设备驱动程序
- 设备独立的IO软件
- 用户空间的IO软件
文件系统
- 嵌入式文件系统概述
- FAT
- NFS
- FFS
- DosFS
- RawFS
- TapeFS
- CdromFS
- 文件和目录
- 文件的基本概念
- 文件的使用
- 文件的存取方法
- 顺序存取
- 随机存取
- 文件的访问
- 打开操作
- 关闭操作
- 读操作
- 写操作
- 添加操作
- 定位操作
- 文件的控制
- 文件的创建、删除、读取文件属性、设置文件属性、修改文件名。
- 文件的存取方法
- 目录
- 绝对路径名
- 相对路径名
- 文件系统的实现
- 数据块
- 文件的实现
- 文件控制块
- 文件的物理结构
- 连续结构
- 链表结构
- 索引结构
- 目录的实现
- 直接法
- 间接法
- 空闲空间管理
- 位图法
- 链表法
- 索引法
- 典型嵌入式文件系统介绍
- Reliance 文件系统简介
- Reliance 文件系统技术特点
- 支持断电安全重启
- 嵌入式海量记录
- 基于事务处理
- 快速启动
嵌入式数据库
- 嵌入式系统对数据库的特殊要求
- 采用纯内存工作方式
- 为特殊数据类型提供高效索引
- 支持基于优先级的多任务访问
- 可靠性、持久性和高可用性方面
- 典型嵌入式数据库介绍
- eXtremeDB功能组件及体系结构
- eXtremeDB数据库技术特点
- 采用内存数据库架构,充分利用内存的高性能,消除了文件IO等执行时间那一预测的操作。
- 支持事务优先级设置,用户可自行设置事务的优先级。
- 具备内存管理能力,保证数据库的操作安全和操作系统无关性。
- 实现中不包含任何动态内存分配操作。
生成的接口是类型安全的,不使用void指针。 - 支持事务日志功能,可以周期性的将内存中的事务操作记录到日志文件中,在内存数据库崩溃后自动从日志中恢复。
- 支持高可用性功能,可以为主数据库建立一对多的镜像数据库,当主数据库故障时,可自动切换到备份的数据库上。

浙公网安备 33010602011771号