® 嵌入式操作系统 李曦 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的性能指标
Requirements for Embedded Software Development Increasingly large and complex programs o Rapid technological progress and shortened development periods Demand for reduced development cost In Home In Mobile In Offices and Appliances: Devicas: Factorles: Portsble videogame Parsoral compucers Diottal appliances w家 nSutrlal mecea DVD recordersiplayers Stereo syslams Q日laC排i球表 PPCa Ae conditioners Mobile phon的 Toleghone sets Voice rucoedan Fax machn线s PDAs Home vidsogam machines atc Printers Selar powir systams In Automobiles Car navigat0n雪yst0m3 In-veeicle mistimadin in Infrastructure: 5与:5toms Eeclronic toll cotlclion Wn时poer,amm m楼 Tramsportation mellcent trinspo国 ystoms
Requirements for Embedded Software Development • Increasingly large and complex programs • Rapid technological progress and shortened development periods • Demand for reduced development cost
嵌入式操作系统 ·在本质上与通用的操作系统没有大的区别 一用于手机、PDA等电子类消费产品、机顶盒、路由器等 ·对嵌入式系统的硬件有较高的要求 ·OS体系结构向微内核方向发展 -可伸缩、可移植、可剪裁、可配置 ·许多嵌入式操作系统不划分“系统空间”和“用户 空间”(?!) 操作系统的“内核”与外围应用程序之间不再有物理的 边界,采用静态连接; -系统中所谓“进程”实际上全都是内核线程 llxx@ustc.edu.cn 4/94
嵌入式操作系统 • 在本质上与通用的操作系统没有大的区别 – 用于手机、PDA等电子类消费产品、机顶盒、路由器等 • 对嵌入式系统的硬件有较高的要求 • OS体系结构向微内核方向发展 –可伸缩、可移植、可剪裁、可配置 llxx@ustc.edu.cn 4/94 –可伸缩、可移植、可剪裁、可配置 • 许多嵌入式操作系统不划分“系统空间”和“用户 空间”(?!) –操作系统的“内核”与外围应用程序之间不再有物理的 边界,采用静态连接; –系统中所谓“进程”实际上全都是内核线程
Linux内核组成 用户程序 函 数库 用户餒 丙酸致 系统诮用接口 进君问通信 文件子系统 进程控制 高速缓冲 子系统 ◆N 调度程予 字符设备 块设备 内存管理 设备驱动程 硬件 控制 内核蹑 一2- 瘦 件 便件锈
Linux内核组成
嵌入式系统软件 》 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 6/94
Hardware Independent Software Applications TCP/IP Stack I/O System RTOS libraries File System RTOS Kernel 嵌入式系统软件 llxx@ustc.edu.cn 6/94 File System RTOS Kernel Hardware Abstraction Layer :BSP&Device Driver SCSI Driver Flash Driver MMU Driver Cache Driver Serial Driver Ethernet Driver Device Drivers Hardware
OS体系结构由固定变为灵活 ,大内核操作系统(Monolithic Kernel) 一将图形、设备驱动、文件系统等全部功能在操作系统内 核中实现,运行在内核状态、同一地址空间。 - 优点:减少进程间通信和状态切换的系统开销,获得较 好的运行效率。 一缺点:内核庞大,占用资源多,剪裁不易,并且一旦个 别驱动程序运行出错,就会导致整个系统崩溃,稳定性、 安全性不好。 。 微内核(Micro Kernel) 一内核中只实现那些必须由内核实现的基本功能 ·图形、文件系统、设备驱动、通讯等功能放在内核之外,作为系 统服务来提供,这些程序在用户状态下运行。 一优点:有一个精炼的内核,便于剪裁、移植。 llxx@ustc.edu.cn 7/94
OS体系结构由固定变为灵活 • 大内核操作系统(Monolithic Kernel) – 将图形、设备驱动、文件系统等全部功能在操作系统内 核中实现,运行在内核状态、同一地址空间。 – 优点:减少进程间通信和状态切换的系统开销,获得较 好的运行效率。 – 缺点:内核庞大,占用资源多,剪裁不易,并且一旦个 llxx@ustc.edu.cn 7/94 – 缺点:内核庞大,占用资源多,剪裁不易,并且一旦个 别驱动程序运行出错,就会导致整个系统崩溃,稳定性、 安全性不好。 • 微内核(Micro Kernel) – 内核中只实现那些必须由内核实现的基本功能 • 图形、文件系统、设备驱动、通讯等功能放在内核之外,作为系 统服务来提供,这些程序在用户状态下运行。 – 优点:有一个精炼的内核,便于剪裁、移植
大内核和微内核 用户挨式 用户 文件系统 进径问通信 用户挨式一 客户进程 文件服务器 进程服务器 虚拟内存 内核挨式 设备驱动程序 1/0和设备管理 虚拟内存 基本进程管理 内核挨式 微内核 硬件 硬件
大内核和微内核
灵活内核技术:构件化 应用软件 应用软件 用户状态 图形 文件 设备 其饱 系统 用户状态 界面 服务器 驱动 服务 服贸 或 内核状态 进程间通信 ezC0w组件支持 内存管理 进程管理 内 内核状态 硬件抽象层 硬件 llxx@ustc.edu.cn 9/94
灵活内核技术:构件化 llxx@ustc.edu.cn 9/94
基于构件技术的嵌入式操作系统 。 构件技术保证了软件互操作性、版本升级独立性 和运行环境透明性 -提供了提高系统安全、软件协同开发、软件容错、可 靠性、软件复用、软件升级的有效手段 操作系统的实现采用构件技术 -提供构件运行的虚拟机环境,支持动态加载构件 ·运行环境(虚拟机)可以在操作系统上自动生成中间件(代理 构件),提供构件定位、调用、管理、中间件自动生成、构件 通信(进程内、跨进程、跨网络等不同运行环境)等机制 - 构件的互操作性定义了编程语言无关、可扩展、跨平 台的二进制标准。 ·构件之间的相互作用通过一组称作接口(interface)的功能实现 ·提供接口描述语言CDL,为服务器中新功能的实现提供了方便, 如脚本语言调用构件对象函数等 llxx@ustc.edu.cn 10/94
基于构件技术的嵌入式操作系统 • 构件技术保证了软件互操作性、版本升级独立性 和运行环境透明性 – 提供了提高系统安全、软件协同开发、软件容错、可 靠性、软件复用、软件升级的有效手段 • 操作系统的实现采用构件技术 – 提供构件运行的虚拟机环境,支持动态加载构件 llxx@ustc.edu.cn 10/94 – 提供构件运行的虚拟机环境,支持动态加载构件 • 运行环境(虚拟机)可以在操作系统上自动生成中间件(代理 构件),提供构件定位、调用、管理、中间件自动生成、构件 通信(进程内、跨进程、跨网络等不同运行环境)等机制 – 构件的互操作性定义了编程语言无关、可扩展、跨平 台的二进制标准。 • 构件之间的相互作用通过一组称作接口(interface)的功能实现 • 提供接口描述语言CDL,为服务器中新功能的实现提供了方便, 如脚本语言调用构件对象函数等