- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实时操作系统 99-10-20 ICT RTOS Research Group 胡伟平,王剑 RTOS地位 嵌入式系统存在并发需求(中断驱动),RTOS Kernel 是支持并发的主要工具。 提供的自举代码,各种硬件的驱动(DRIVERS ),以提供基本的硬件设备管理。 提供Download,Debugger 接口方便开发调试 提供NET , FILE , GRAPH, TV等 API 方便嵌入式系统的开发工作 RTOS Background 免费RTOS 及RTOS研究 其他列表于/real/freertos.htm RTOS系统比较 系统配置 RTOS性能指标 RTOS性能指标 中断响应时间: Interrupt Response 上下文切换时间:Context Switching Time 确定性: Determinism Kernel services should be deterministic by specifying how long each service call will take to execute. 调度器的实现算法 Rate Monotonic(发生率单调),优先级与发生率呈正比 [LiuLay 1973] lottery scheduler (彩票调度, WaldWeihl94) RTOS系统规模 (I) RTOS系统规模(II)源代码 eCos 源代码行数 Kernel --h 8865 , cxx 8497 CLIB+MathLIB -- h 1541 , cxx 13K Linux源代码行数 1M Kernel 10K HAL 36K File System 124K Drivers 831K Net 147K RTOS系统选择 1. OS高性能和保持安全性 成熟!? 2. 结构合理 分层以保持可移植,方便驱动程序实现 3. 提供开发环境加快系统开发进度 提供模拟开发环境降低开发成本 IDE …. RTOS系统选择(II) 系统尺寸、性能 : Footprint Performance 系统完整性:Software components Device Drivers 标准化支持:Standards compatibility 版权与财务(License): Only for Build from scratch for special Performance requirement RTOS 技术 核心服务界面(Kernel Service) 核心Implementation HAL界面 HAL Implementation DriverManager 界面 Driver Manager Implementation 核心服务界面标准 Posix 1003.1b 以POSIX扩充出现,适用于多进程系统,代码尺寸限制不是非常严格的场合为VxWorks,OSKIT,RTEMS等系统支持。 uItron 以实时系统专用标准出现,适用于代码尺寸限制严格的场合,为eCos等系统支持。 Standard Links 核心服务界面 Scheduling service void cyg_thread_create(cyg_addrword_t sched_info, cyg_thread_entry_t *entry, cyg_addrword_t entry_data, char *name, void *stack_base, cyg_ucount32 stack_size, cyg_handle_t *handle, cyg_thread *thread); NU_Create_Task/ER cre_tsk(ID tskid, T_CTSK *pk_ctsk); Synchronization Communication cyg_semaphore_init(cyg_sem_t *sem, cyg_ucount32 val); NU_Create_Semaphore cyg_bool_t cyg_semaphore_trywait(cyg_sem_t *sem); NU_Send_TO_Queue 核心服务(Cont‘d) Interrupt Services Management Create_ISR, install_interrupt_handle I/O Driver Service Create_Driver memory services Allocate_Partition, ALLOC C-API….. strcpy Itran 命名标准 Itran 命名-对象 Itran 命名-方法 RTOS 核心 S
文档评论(0)