嵌入式系统软件 》 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,为服务器中新功能的实现提供了方便, 如脚本语言调用构件对象函数等