第4章_嵌入式系统软件基础知识

{% markmap %}

第4章 嵌入式系统软件基础知识

嵌入式软件基础

  • 嵌入式系统
    • 嵌入式系统具有以下特征
      • 嵌入式系统的时间敏感性
      • 嵌入式系统的可靠性和安全性
      • 嵌入式软件的复杂性
  • 嵌入式软件
    • 嵌入式软件特点
      • 软件受资源的限制
      • 开发难度大
      • 实时性和可靠性要求高
      • 要求固化存储
  • 嵌入式软件分类
    • 系统软件
    • 应用软件
    • 支撑软件
  • 嵌入式软件体系结构
    • 无操作系统
      • 循环轮转方式
      • 前后台系统
    • 有操作系统
      • 提高了系统的可靠性
      • 提高了系统的开发效率
      • 有利于系统的扩展和移植
  • 设备驱动层
    • 板级支持包 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指针。
      • 支持事务日志功能,可以周期性的将内存中的事务操作记录到日志文件中,在内存数据库崩溃后自动从日志中恢复。
      • 支持高可用性功能,可以为主数据库建立一对多的镜像数据库,当主数据库故障时,可自动切换到备份的数据库上。
posted @ 2025-03-27 22:00  StarAire  阅读(60)  评论(0)    收藏  举报