® 嵌入式操作系统 李曦 llxx@ustc.edu.cn
嵌入式操作系统 李曦 llxx@ustc.edu.cn
内容提要 ·嵌入式操作系统概述 -嵌入式操作系统体系结构 一典型的嵌入式操作系统 ·RTOS基本概念 一编程模型 ·RTOS内核功能 ·RTOS的性能指标 llxx@ustc.edu.cn 2/94
内容提要 • 嵌入式操作系统概述 – 嵌入式操作系统体系结构 – 典型的嵌入式操作系统 • RTOS基本概念 llxx@ustc.edu.cn 2/94 – 编程模型 • RTOS内核功能 • RTOS的性能指标
参考书 USTC . Real-Time Concepts for Embedded Systems,2003 -Qing Li,Wind River Systems,Inc.,A lead architect ·目录 Real-Time -5.任务 Concepts -6.信号量 Embedded Systems -7.消息队列 -11.定时器与服务 -12./O子系统 13.内存管理 15.同步与通信机制 -16.常见设计问题 藏入式实时操作系统 ·死锁 uC/0S-l第 ·资源访问控制协议PIP/CPP/PCP ·嵌入式实时操作系统μC/OS-l,第二版,2002 Jean J.Labrosse CHINA-PUB.COM 中=以
参考书 • Real-Time Concepts for Embedded Systems, 2003 – Qing Li,Wind River Systems, Inc., A lead architect • 目录 – 5. 任务 – 6. 信号量 – 7. 消息队列 – 11. 定时器与服务 – 12. I/O子系统 – 13. 内存管理 – 15. 同步与通信机制 – 16. 常见设计问题 • 死锁 • 资源访问控制协议PIP/CPP/PCP • 嵌入式实时操作系统μC/OS-II,第二版,2002 – Jean J. Labrosse
Requirements for Embedded SW Development Increasingly large and complex programs Rapid technological progress and shortened development periods Demand for reduced development cost In Home In Mobile In Offices and Appliances: Devices: Factories: or代bie videog#md Parenal compubars Dio tal appliances DVD rocordersiplayurs Pw男 dustrial roboes Stereo syssams Oi日tlnG准Tn6ta8 PPCs Air conditionen Mobile phoees Telephone sets Veice recorders Fax machines PDAs Home videcgame machines Printers Solar power systems In Automobiles: Car navigation systems ln-vehicle mul年=edlm In Infrastructure: systoms Electronic toll collection Wind power systams systoms Trarspertation Intallcent transport y40绿 与,stoms e
Requirements for Embedded SW Development • Increasingly large and complex programs • Rapid technological progress and shortened development periods • Demand for reduced development cost
操作系统的分类 ·单任务:顺序执行 、 系统内只含有一个程序,独占CPU的运行时间 ·按语句顺序执行该程序。执行完毕,另一程序才启动运行。 ·D0S ·多任务:并发执行 -分时:CPU时间分片,每个时间片执行不同的程序 ·UNIX -优先级:每个程序有不同的优先级,最高优先级者执行 。 通用OS:公平性 嵌入式OS:资源(cpu,mem,time。。。)受限 -RT0S:时间约束 ·FreeRTOS ·单处理器,多处理器,分布式 llxx@ustc.edu.cn 5/94
操作系统的分类 • 单任务:顺序执行 –系统内只含有一个程序,独占CPU的运行时间 • 按语句顺序执行该程序。执行完毕,另一程序才启动运行。 • DOS • 多任务:并发执行 –分时:CPU时间分片,每个时间片执行不同的程序 llxx@ustc.edu.cn 5/94 • UNIX –优先级:每个程序有不同的优先级,最高优先级者执行 • 通用OS:公平性 • 嵌入式OS:资源(cpu,mem,time。。。)受限 –RTOS:时间约束 • FreeRTOS • 单处理器,多处理器,分布式
OS体系结构:大内核和微内核 用户挨式 用户 文件系统 进程间通信 用户挨式 客户进程 文件服务器 进程服务器 虚拟内存 内核挨式 设备驱动程序 1/0和设备管理 虚拟内存 基本进程管理 内核挨式 微内核 硬件 硬件
OS体系结构:大内核和微内核
OS体系结构由固定变为灵活 ,大内核操作系统(Monolithic Kernel) 一将图形、设备驱动、文件系统等全部功能在操作系统内 核中实现,运行在内核状态、同一地址空间。 -优点:减少进程间通信和状态切换的系统开销,获得较 好的运行效率。 一 缺点:内核庞大,占用资源多,剪裁不易,并且一旦个 别驱动程序运行出错,就会导致整个系统崩溃,稳定性、 安全性不好。 。 微内核(Micro Kernel) 一内核中只实现那些必须由内核实现的基本功能 。 图形、文件系统、设备驱动、通讯等功能放在内核之外,作为系 统服务来提供,这些程序在用户状态下运行。 一优点:有一个精炼的内核,便于剪裁、移植。 llxx@ustc.edu.cn 7/94
OS体系结构由固定变为灵活 • 大内核操作系统(Monolithic Kernel) – 将图形、设备驱动、文件系统等全部功能在操作系统内 核中实现,运行在内核状态、同一地址空间。 – 优点:减少进程间通信和状态切换的系统开销,获得较 好的运行效率。 – 缺点:内核庞大,占用资源多,剪裁不易,并且一旦个 llxx@ustc.edu.cn 7/94 别驱动程序运行出错,就会导致整个系统崩溃,稳定性、 安全性不好。 • 微内核(Micro Kernel) – 内核中只实现那些必须由内核实现的基本功能 • 图形、文件系统、设备驱动、通讯等功能放在内核之外,作为系 统服务来提供,这些程序在用户状态下运行。 – 优点:有一个精炼的内核,便于剪裁、移植
通用系统架构:Linux 用户程序 函数库 用户级 一一 内核级 系统调用接口 进程间通信 文件子系统 进程控制 高速缓冲 子系统 调度程序 字符设备 块设备 内存管理 设备取动程序 使件控制 内核级 -=- 硬 硬件级
通用系统架构:Linux
嵌入式操作系统 ·在本质上与通用的操作系统没有大的区别 o 对嵌入式系统的硬件有较高的要求 一内核本身也增加了系统的额外负荷 ·代码空间增加ROM用量 ·内核的数据结构增加了RAM的用量 ·内核的CPU占用时间为2~5% 一许多嵌入式操作系统不划分“系统空间”和“用户空间” ·操作系统“内核”与外围应用程序之间不再有物理的边界 ·系统中所谓“进程”实际上全都是内核线程 ·应用程序与OS API采用静态编链方式 0 嵌入式OS体系结构采用微内核结构(kernel) 一可伸缩、可移植、可剪裁、可配置 llxx@ustc.edu.cn 9/94
嵌入式操作系统 • 在本质上与通用的操作系统没有大的区别 • 对嵌入式系统的硬件有较高的要求 – 内核本身也增加了系统的额外负荷 • 代码空间增加ROM用量 • 内核的数据结构增加了RAM的用量 • 内核的CPU占用时间为2~5% llxx@ustc.edu.cn 9/94 • 内核的CPU占用时间为2~5% – 许多嵌入式操作系统不划分“系统空间”和“用户空间” • 操作系统“内核”与外围应用程序之间不再有物理的边界 • 系统中所谓“进程”实际上全都是内核线程 • 应用程序与OS API采用静态编链方式 • 嵌入式OS体系结构采用微内核结构(kernel) – 可伸缩、可移植、可剪裁、可配置
嵌入式系统架构 e》 Hardware Independent Software Applications I/O System RTOS libraries TCP/IP Stack File System RTOS Kernel Hardware Abstraction Layer BSP&Device Driver SCSI Flash MMU Cache Serial Ethernet Device Driver Driver Driver Driver Driver Driver Drivers Hardware llxx@ustc.edu.cn 10/94
Hardware Independent Software Applications TCP/IP Stack I/O System RTOS libraries File System RTOS Kernel 嵌入式系统架构 llxx@ustc.edu.cn 10/94 Hardware Abstraction Layer :BSP&Device BSP&Device Driver SCSI Driver Flash Driver MMU Driver Cache Driver Serial Driver Ethernet Driver Device Drivers Hardware