第六章 嵌入式操作系统

上传人:我*** 文档编号:133006746 上传时间:2020-05-23 格式:PDF 页数:42 大小:606.96KB
返回 下载 相关 举报
第六章 嵌入式操作系统_第1页
第1页 / 共42页
第六章 嵌入式操作系统_第2页
第2页 / 共42页
第六章 嵌入式操作系统_第3页
第3页 / 共42页
第六章 嵌入式操作系统_第4页
第4页 / 共42页
第六章 嵌入式操作系统_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《第六章 嵌入式操作系统》由会员分享,可在线阅读,更多相关《第六章 嵌入式操作系统(42页珍藏版)》请在金锄头文库上搜索。

1、1 嵌入式系统及应用 第六讲 嵌入式操作系统 2 本节提要 1 1 1 4 4 4 3 3 3 5 5 5 操作系统概念和结构 嵌入式操作系统及特点 嵌入式实时操作系统基本概念 任务同步与通信通信 操作系统主要功能 2 2 2 3 6 1 操作系统基本概念 操作系统 operating system 是用户和计算机之间的界 面 一方面管理计算机的所有系统资源 另一方面为用户提供 了一个抽象概念上的计算机 操作系统理论上可以分为四大部分 驱动程序 内核 接口库 外围 4 操作系统有多种方法分类 通用与专用 嵌入式 实时与非实时 多任务与单任务 8位 16位 32位 64位操作系统 5 本节提要

2、1 1 1 4 4 4 3 3 3 5 5 5 操作系统概念和结构 嵌入式操作系统及特点 嵌入式实时操作系统基本概念 任务同步与通信通信 操作系统主要功能 2 2 2 6 6 2 操作系统主要功能 操作系统是一个庞大的管理控制程序 大致包括5个方面的管 理功能 进程与CPU管理 作业管理 存储管理 设备管理 文 件管理 7 6 2 1 进程与CPU管理 操作系统以进程为基本单位对CPU资源进行分配和运行 任务通常为进 程 process 和线程 thread 的统称 操作系统对进程的管理包含如下 几个方面 1 进程控制 创建任务 撤销任务以及控制任务在运行过程中的状态转换 2 任务调度 从任务

3、就绪队列中 按照一定的算法选择一个任务 使其得到CPU控制权 开始运行 在任务完成后 放弃CPU 3 任务同步 设置任务同步机制 协调各任务的运行 4 任务通信 提供任务间通信的各种机制 8 6 2 2 存储器管理 存储器管理的主要任务是为多任务的运行提供高效稳定的运行 环境 一般包含 1 地址重定位 在多任务环境下 每个任务动态创建 任务 的逻辑地址必须转换为主存的物理地址 2 内存分配 为每个任务分配内存空间 使用完毕后收回分 配的内存 3 内存保护 保证每个任务都在自己的内存空间内运行 各 程序互不侵犯 尤其是保护操作系统占用的内存空间 4 存储器扩展 通过建立虚拟存储系统来对主存容量进

4、行逻 辑扩展 虚拟存储器允许程序以逻辑方式寻址 而不用考虑物 理内存的大小 当一个程序运行时 只有部分程序和数据保存 在内存中 其余部分存储在介质上 9 6 2 3 文件系统 文件系统对用户文件和系统文件进行管理 保证文件的安全 性 实现信息的组织 管理 存取和保护 文件管理的主要任 务是 1 目录管理 所有的目录项构成一个目录文件 目录管理为 每个任务创建其目录项 并对其进行管理 2 文件读写管理 文件系统根据用户的需要 按照文件名查 找文件目录 确定文件的存储位置 然后利用文件指针进行读 写操作 3 文件存取控制 为了防止文件被非法窃取或者破坏 文件 系统中需要建立文件访问控制机制 保证数

5、据的安全 4 存储空间管理 文件存储管理提高存储空间的利用率 优 化文件操作的速度 常见的文件系统有FAT16 FAT32 NTFS等 10 6 2 4 用户接口 操作系统屏蔽了硬件操作的细节 用户通过操作系统提供的接 口访问计算机的硬件资源 1 命令接口 分为联机命令接口和脱机命令接口 联机命令接 口为联机用户提供 由一组命令和解释程序构成 脱机命令为 批处理系统的用户提供 2 程序接口 用户获得操作系统服务的唯一途径 由一组系统 调用组成 在高级语言中如C语言 提供与系统调用一一对应 的库函数 应用程序通过调用库函数来完成操作 3 图形接口 图形接口提供对屏幕上的对象进行操作 完成程 序控

6、制和操作 方便用户对软硬件资源的使用GUI的主要构件 是窗口 菜单和对话框 11 6 2 5 设备管理 除CPU和内存外 计算机系统的其他硬件都属于外部设备 设 备管理主要包括以下几个方面 1 缓冲管理 由于CPU与I O设备的速度相差很大 通常设备管理需要建立I O 缓冲区 并对缓存区进行有效管理 2 设备分配 用户提出I O设备请求后 设备管理程序对设备进行分配 使用 完成后收回设备 3 设备驱动 设备驱动程序提供CPU与设备控制器间的通信 CPU向设备发 出I O请求 接收设备的中断请求 并能及时的响应 12 本节提要 1 1 1 4 4 4 3 3 3 5 5 5 操作系统概念和结构

7、嵌入式操作系统及特点 嵌入式实时操作系统基本概念 任务同步与通信通信 操作系统主要功能 2 2 2 13 6 3 嵌入式操作系统及特点 6 3 1嵌入式操作系统特点 嵌入式操作系统具有通用操作系统的基本特点 同时在系统实 时高效性 硬件的相关依赖性 软件固态化以及应用的专用性 等方面具有较为突出的特点 1 实时性 实时系统的正确性不仅依赖于逻辑结果的正确性 还依赖于产 生结果的时间 实时性是指系统能够在限定的时间内完成任务 并对外部的异步事件作出及时响应 描述实时性的基本指标为 响应时间 14 2 小内核 嵌入式系统是面向应用的专用计算机 因此硬件资源有限 其 内核与通用操作系统的内核相比 嵌

8、入式操作系统的内核较 小 通常只有几K到几十K 3 可剪裁 可配置 嵌入式操作系统具有完善的功能 对于特定应用不需要的功能 模块可以被剪裁掉 比如文件系统 4 易移植 可移植性好的操作系统可以缩短系统开发周期 提高代码可重 用度 减小维护量 15 5 高可靠性 为保证系统的可靠运行 嵌入式操作系统提供了多种机制 如异步信号 定时器 优先级继承 优先级天花板 异常处理 用户扩展和内存保护等 6 低功耗 嵌入式系统一般采用电池供电 因此必须尽量降低系统的能 耗 为了降低系统的能耗需要从各个方面采取措施 包括硬件 的低功耗设计 软件的低功耗设计 操作系统的低功耗设计等 16 6 3 2 嵌入式操作系

9、统选型 如何进行嵌入式操作系统的选型大概可以概括出如下的几 条规则 1 支持嵌入式系统的硬件 2 开发环境和资源 3 操作系统性能 4 开发成本 17 本节提要 1 1 1 4 4 4 3 3 3 5 5 5 操作系统概念和结构 嵌入式操作系统及特点 嵌入式实时操作系统基本概念 任务同步与通信通信 操作系统主要功能 2 2 2 18 6 4 嵌入式实时操作系统基本概念 6 4 1 多任务 在日常生活中 任务是指通过一定的努力 达到特定的目 的 在嵌入式实时操作系统中 任务通常为进程和线程的统 称 是内核调度的基本单元 任务主要包含如下的几个方面 代码 一段可执行的程序 数据 程序运行的相关数据

10、 如变量 工作空间 缓存区 等 堆栈 保存程序运行参数和寄存器内容的一段连续内存空 间 上下文环境 内核管理任务及处理器执行任务所需要的信 息 如优先级 任务状态 处理器寄存器的内容 19 在多任务环境下 各个任务被内核进行切换 在不同的状态 间进行转换 如图6 2所示 最常见的是将任务的运行划分为4 种状态 休眠 DORMANT 指任务驻留在存储空间内 还没 有被操作系统激活 就绪 READY 任务运行的条件已经满足 进入任务等 待列表 通过调度进入运行 挂起或等待 WAITING 任务被阻塞 等待事件的发生 运行 RUNNING 任务获得CPU使用权 执行相应的代 码 20 21 6 4

11、2 优先级 在一个嵌入式系统中每个任务被赋予一个优先级 任何两个任 务的优先级都不相同 任务的优先级可以分为动态优先级和静 态优先级两种类型 静态优先级是指一个任务的优先级在任务 运行的过程中保持不变 动态优先级是指内核可能根据系统运 行的情况动态的改变任务的优先级 22 6 4 3调度 调度是指CPU决定当前处于就绪状态的任务列表中的任务 哪个得到CPU的使用权 多数实时内核都是基于优先级的调 度算法 基于优先级调度的内核有占先式内核和非占先式内 核两种类型 23 6 4 4 实时性 严格地说 影响嵌入式操作系统实时性的因素有很多 这里 只简单的列举如下几个因素 1 常用系统调用平均运行时间

12、 2 任务切换时间 3 信号量混洗时间 4 任务响应时间 24 1 常用系统调用平均运行时间 常用系统调用平均运行时间 即系统调用效率 是指内核 执行常用的系统函数调用 如创建 删除任务 创建 释放信号 量 邮箱 队列 分配 释放内存空间 加载卸载中断处理模块等 所需的平均时间 由于系统调用的情景和参数的差别 系统调 用的时间每次执行都不相同 只能取平均值 25 2 任务切换时间 任务切换时间是指事件引发切换后 从当前任务停止运行 保 存运行状态 CPU寄存器内容 到装入下一个将要运行的 任务状态 开始运行的时间间隔 26 3 信号量混洗时间 信号量混洗时间指从一个任务释放信号量到另一个等待该

13、信号 量的任务被激活的时间延迟 27 4 任务响应时间 中断产生到中断服务函数进入运行状态的时间 任务响应时间 受到多个环节的影响 是中断延迟 中断服务程序 中断嵌套 调度 上下文切换时间的总和 28 6 4 5前后台系统 前后台系统的应用程序是一个无限的循环 循环中调用相应的函数完成相 应的操作 这部分可以看成后台行为 任务级 29 6 4 6不可剥夺型内核与非占先式调度 不可剥夺型内核的异步事件由中断服务来处理 中断服务可以 使一个高优先级的任务由挂起状态变为就绪状态 但中断服务 以后控制权还是回到原来被中断了的那个任务 直到该任务主 动放弃CPU的使用权时 那个高优先级的任务才能获得CP

14、U 的使用权 不可剥夺型内核采用的调度方法称为非占先式调度 30 38 65 催 65 催 31 6 4 7可剥夺型内核与占先式调度 可剥夺型内核中 最高优先级的任务一旦就绪 总能得到CPU的控制权 65 催 65 催 32 本节提要 1 1 1 4 4 4 3 3 3 5 5 5 操作系统概念和结构 嵌入式操作系统及特点 嵌入式实时操作系统基本概念 任务同步与通信通信 操作系统主要功能 2 2 2 33 6 5 任务同步与通信 任务间的关系如下 1 相互独立 任务的运行相互独立 只竞争CPU资源 2 互斥 任务间竞争CPU和其他的资源 并且大多数的资源 在特定的时刻只能被一个任务使用 并且不

15、能被其他任务剥夺 除CPU外 如外设 共享内存等 3 同步 协调任务间运行的步调 保证正确的任务执行次序 4 通信 彼此间传递数据和信息 协同完成某项任务 通信 可以是任务间 也可以是中断服务程序与任务间 34 6 5 1 信号量 在多任务内核广泛使用 实现任务间 任务与中断服务程序 间的同步和互斥 一个信号量可以看做一把钥匙 只有得到信 号量 任务才能执行相应的操作 信号量按照用途可以分为 互斥信号量 共享资源互斥访问 二值信号量 同步问题的二值信号量 计数信号量 资源计数问题的计数信号量 35 1 互斥信号量 实现任务间交换信息最简便的方法是使用共享变量或共享资 源 当一个任务使用共享资源

16、时 必须保证任务的互斥性 排 他性 以避免竞争和数据的破坏 实现排他性最一般的方法 有 关中断 禁止任务切换 信号量几种 互斥信号量是一种特殊的二值信号量 用于实现共享资源访 问的互斥 互斥信号量在创建或者是被释放后取值为1 分配给 任务后取值为0 表明没有资源可以使用 36 37 2 二值信号量 二值信号量用于任务间 任务与中断服务程序间的同步 两个任务间的没 有数据的交换 二值信号量初始化值为0 表示同步事件没有发生 如果任务1需要与任 务2同步 任务2的运行触发同步事件 38 3 计数信号量 计数信号量用于控制对多个共享资源的访问 允许多个任务访问 信号量 计数器初始化值为n 表示有n个共享资源 39 6 5 2 事件 事件是指一种表明预先定义的系统事件已经发生的机制 用于任务与任 务 任务与ISR之间的同步 一个事件就是一个标志 不具备其他信息 40 6 5 3 邮箱 消息邮箱 简称消息 使用一个指针型变量 把一则消息放到邮箱里去 同样一个或多个任务可以接收这则消息 发送消息的任务和接收消息的任 务约定该指针指向的内容就是消息的内容 41 6 5 4 消息队列 消息队列 Mes

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号