实时操作系统课件

上传人:风*** 文档编号:242602704 上传时间:2024-08-29 格式:PPTX 页数:39 大小:492.79KB
返回 下载 相关 举报
实时操作系统课件_第1页
第1页 / 共39页
实时操作系统课件_第2页
第2页 / 共39页
实时操作系统课件_第3页
第3页 / 共39页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2019-6-27,谢谢观赏,实时操作系统,xxx,-,背景、标准、技术、实现,1,谢谢观赏,2019-6-27,实时操作系统- 背景、标准、技术、实现1谢谢观赏2019-,RTOS,地位,嵌入式系统存在并发需求(中断驱动),,RTOS Kernel,是支持并发的主要工具。,提供的,自举代码,各种硬件的驱动(,DRIVERS,),以提供基本的硬件设备管理。,提供,Download,Debugger,接口方便开发调试,提供,NET , FILE , GRAPH, TV,等,API,方便嵌入式系统的开发工作,2,谢谢观赏,2019-6-27,RTOS地位嵌入式系统存在并发需求(中断驱动),RTOS,RTOS Background,U,s,e,r,M,o,d,e,K,e,r,n,e,l,M,o,d,e,K,e,r,n,e,l,1,s,t,_,o,v,e,r,E,x,e,c,u,t,i,v,e,S,e,c,u,r,i,t,y,R,e,f,e,r,e,n,c,e,M,o,n,i,t,o,r,(,s,e,r,v,e,r,s,),P,r,o,t,e,c,t,e,d,S,u,b,s,y,s,t,e,m,s,P,O,S,I,X,S,u,b,s,y,s,t,e,m,H,a,r,d,w,a,r,e,A,b,s,t,r,a,c,t,i,o,n,L,a,y,e,r,H,a,r,d,w,a,r,e,C,o,n,f,i,g,u,r,a,t,i,o,n,P,r,o,c,e,s,s,S,t,r,u,c,t,u,r,e,I,/,O,M,a,n,a,g,e,r,M,e,m,o,r,y,M,a,n,a,g,e,r,S,y,s,t,e,m,S,e,r,v,i,c,e,s,M,a,n,a,g,e,r,F,i,l,e,S,y,s,t,e,m,I,n,t,e,r,m,e,d,i,a,t,e,a,n,d,D,e,v,i,c,e,D,r,i,v,e,r,s,W,i,n,3,2,S,u,b,s,y,s,t,e,m,NET,M,a,n,a,g,e,r,E,x,e,c,u,t,i,v,e,S,u,p,p,o,r,t,Object,Manager,L,o,c,a,l,P,r,o,c,e,d,u,r,e,C,a,l,l,API Imple,Based on WinNT DDK,Application Programming Interface,Kernel Standard,posix/uITRON,DD-PI,硬件抽象层,HAL,影响,RTOS,系统的可移植性,3,谢谢观赏,2019-6-27,RTOS BackgroundUser ModeKernel,免费,RTOS,及,RTOS,研究,其他列表于,4,谢谢观赏,2019-6-27,免费RTOS 及RTOS研究其他列表于 4谢谢观赏2019-,RTOS,系统比较,个人电脑上的操作系统向下功能缩减形成的方案,原嵌入式系统中的实时性操作系统功能扩展形成的方案,5,谢谢观赏,2019-6-27,RTOS系统比较个人电脑上的操作系统向下功能缩减形成的方案原,系统配置,From cygnus,RTOS,通常包含,Kernel +Drivers+NET+CLIB(FILE)+GUI,五部分,功能需求不同,,RTOS,大小也不同,6,谢谢观赏,2019-6-27,系统配置From cygnusRTOS 通常包含 Kerne,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 (,彩票调度,,Wald&Weihl94,),7,谢谢观赏,2019-6-27,RTOS性能指标RTOS性能指标7谢谢观赏2019-6-27,RTOS,系统规模,(I),8,谢谢观赏,2019-6-27,RTOS系统规模 (I)8谢谢观赏2019-6-27,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,9,谢谢观赏,2019-6-27,RTOS系统规模(II)源代码eCos 源代码行数9谢谢观赏,RTOS,系统选择,1. OS,高性能和保持安全性,成熟!?,2.,结构合理,分层以保持可移植,方便驱动程序实现,3.,提供开发环境加快系统开发进度,提供模拟开发环境降低开发成本,IDE,.,10,谢谢观赏,2019-6-27,RTOS系统选择1. OS高性能和保持安全性10谢谢观赏20,RTOS,系统选择,(II),系统尺寸、性能 :,Footprint,Performance,系统完整性:,Software components & Device Drivers,标准化支持:,Standards compatibility,版权与财务,(,License,),: Only for Build from scratch for special Performance requirement,11,谢谢观赏,2019-6-27,RTOS系统选择(II)系统尺寸、性能 : 11谢谢观赏20,RTOS,技术,核心服务界面,(Kernel Service),核心,Implementation,HAL,界面,HAL Implementation,DriverManager,界面,Driver Manager Implementation,12,谢谢观赏,2019-6-27,RTOS 技术核心服务界面(Kernel Service,核心服务界面标准,Posix 1003.1b,以,POSIX,扩充出现,适用于多进程系统,代码尺寸限制不是非常严格的场合为,VxWorks,OSKIT,RTEMS,等系统支持。,uItron,以实时系统专用标准出现,适用于代码尺寸限制严格的场合,为,eCos,等系统支持。,Standard Links,13,谢谢观赏,2019-6-27,核心服务界面标准Posix 1003.1b 以POSIX扩充,核心服务界面,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,14,谢谢观赏,2019-6-27,核心服务界面Scheduling service14谢谢观赏,核心服务,(Contd),Interrupt Services Management,Create_ISR, install_interrupt_handle,I/O Driver Service,Create_Driver,memory services,Allocate_Partition, ALLOC,C-API,.,strcpy,15,谢谢观赏,2019-6-27,核心服务(Contd)Interrupt Services,Itran,命名标准,All system calls of ITRON specification are seven or eight characters long and of the form xxx_yyy or zxxx_yyy respectively, where xxx represents the method of operation, and yyy the object of the operation.,ftp:/159.226.42.103/rtos/rtosstandards/itron/,16,谢谢观赏,2019-6-27,Itran 命名标准All system calls of,Itran,命名,-,对象,17,谢谢观赏,2019-6-27,Itran 命名-对象17谢谢观赏2019-6-27,Itran,命名,-,方法,18,谢谢观赏,2019-6-27,Itran 命名-方法18谢谢观赏2019-6-27,RTOS,核心,Service Summary,RTOS,核心 提供并发支持,RTOS,核心 通常表现为函数库,接口相当于系统调用。,核心 服务(命名和语义)的标准化有利于如,TCP/IP,协议栈等,API,的实现与重用,.,19,谢谢观赏,2019-6-27,RTOS 核心 Service Summary19谢谢观赏2,事件队列,简单的异步系统,调度器,绘图线程,1,II,鼠标中断服务,系统包含,空线程,20,谢谢观赏,2019-6-27,事件队列简单的异步系统调度器绘图线程II鼠标中断服务系统包含,最小核心 实现,核心实现中包含如下对象,任务调度支持,Scheduler /Interrupt Manager,Task,同步与通讯支持,Event,Semaphone,Queue,21,谢谢观赏,2019-6-27,最小核心 实现核心实现中包含如下对象21谢谢观赏2019-6,Scheduler s Global,调度器中包含,当前线程,Cyg_Thread *current_thread;,线程队列,Cyg_ThreadQueue *queue;,调度状态,volatile cyg_ucount32 sched_lock;,cyg_bool need_reschedule;,cyg_ucount32 thread_switches;,。,22,谢谢观赏,2019-6-27,Scheduler s Global调度器中包含22谢谢观,Cyg_HardwareThread,线程控制块至少包含,栈定义。,CYG_ADDRESS stack_base;,cyg_uint32 stack_size;,栈状态,CYG_ADDRESS stack_ptr;,线程状态,cyg_uint32 state;,23,谢谢观赏,2019-6-27,Cyg_HardwareThread线程控制块至少包含23谢,Cyg_Thread,线程状态中通常还包含相关的消息及同步对象的列表,.,cyg_ucount32 wakeup_count;,CYG_ADDRWORD wait_info;,核心代码的操作对象即这些线程状态、消息及同步量,24,谢谢观赏,2019-6-27,Cyg_Thread线程状态中通常还包含相关的消息及同步对象,核心初始化,核心所需的初始化包含,内存分配器初始化,核心自用的信号量初始化,基本的中断处理程序的安装,.,基本的驱动程序的安装,.,启动系统线程,启动用户线程,25,谢谢观赏,2019-6-27,核心初始化核心所需的初始化包含25谢谢观赏2019-6-27,初始化例,26,谢谢观赏,2019-6-27,初始化例26谢谢观赏2019-6-27,同步对象,运行时的,RTOS,对象,调度器对象,线程表,/,当前线程,中断向量表,.,线程,1,线程,2,线程,n,中断服务,n,中断服务,1,II,中断堆栈,线程控制块,+,线程堆栈,27,谢谢观赏,2019-6-27,同步对象运行时的RTOS 对象调度器对象线程线程线程中断服务,简单系统的代码,28,谢谢观赏,2019-6-27,简单系统的代码28谢谢观赏2019-6-27,任务切换过程,OSTCBCUR,线程控制块,当前线程,线程堆栈,线程现场,Idle,Draw,OSTCBHighRrd,29,谢谢观赏,2019-6-27,任务切换过程OSTCBCUR线程控制块当前线程线程堆栈线程现,ucOS,任务切换实现,30,谢谢观赏,2019-6-27,ucOS 任务切换实现30谢谢观赏2019-6-27,调度算法,调度算法选择将要执行的任务,a bitmap scheduler,It represents each runnable thread with a bit in a bitmap. Each thread must have a unique priority and there is a strict upper limit on the number of threads allowed.,multi-level queue scheduler,This contains the multi-level queue scheduler implementation. It implements a number of thread priorities and is capable of timeslicing between threads at the same priority. This scheduler can also support priority inheritance.,lottery scheduler (,彩票调度,,Wald&Weihl94,),Compensation tickets and ticket donation allow fair sharing for I/O bound threads and an equivalent mechanism to priority inheritance.,31,谢谢观赏,2019-6-27,调度算法调度算法选择将要执行的任务31谢谢观赏2019-6-,RTOS,性能指标,RTOS,Performance,Context Switching Time,上下文切换时间,Interrupt Response,中断响应时间,Determinism,决定性,Kernel services should be deterministic by specifying how long each service call will take to execute.,实时调度的经典算法,Rate Monotonic,(发生率单调),优先级与发生率呈正比,Liu&Lay 1973,32,谢谢观赏,2019-6-27,RTOS性能指标RTOS Performance32谢谢观赏,结束语,我们描述了,RTOS Kernel,的基本原理了解了,RTOS Kernel,的结构,嵌入式系统的需求多种多样是,RTOS,种类繁多的重要原因。实际,RTOS,的实现还可能包含,SMP,、,MMU,、调试支持、可移植性、驱动程序开发,等问题,,RTOS Kernel,的实现效率,实时性也是重要问题。,希望以后有更多的交流,谢谢。,33,谢谢观赏,2019-6-27,结束语我们描述了RTOS Kernel的基本原理了解了RTO,Embedded-OS,的发展方向,是否需要完整功能的操作系统,进程管理,存储保护,核心态用户态。,是否有兼容性需求,需要做数据文件交换(,Pocket Word,)。,CE,强调,Host Sync& Communication API,支持,可使用的硬件资源,核心,Footprint,在,4Mb+,时,CE,,,LINUX,有优势。,“主流”,用户程序数量是,OS,生存的重要条件。需要提供丰富、支持全面的,API 1000+,需要提供完善的集成开发环境,简化程序(包括驱动)开发。,34,谢谢观赏,2019-6-27,Embedded-OS 的发展方向是否需要完整功能的操作系统,Easy Embedded OS,Easy Embedded OS,是一个小型,嵌入式操作系统,定位为小型通讯设备、,数字化家电如机顶盒(,STB,),用的,OS,。,由中科院计算所嵌入式系统软件研究组负责组织开发。,E,asy Embedded,实时操作系统以库函数形式提供。此外,Easy Embedded OS,是包含,E,asy Embedded,开发环境的完整嵌入式系统软件开发环境,提供,OS,配置工具、编译环境、模拟环境、下载工具和调试环境,,以方便用户使用。,35,谢谢观赏,2019-6-27,Easy Embedded OSEasy Embedded,EEOS,成分,36,谢谢观赏,2019-6-27,EEOS成分36谢谢观赏2019-6-27,Win32-EEOS,应用仿真开发平台,37,谢谢观赏,2019-6-27,Win32-EEOS应用仿真开发平台37谢谢观赏2019-6,交叉调试开发环境,38,谢谢观赏,2019-6-27,交叉调试开发环境38谢谢观赏2019-6-27,39,谢谢观赏,2019-6-27,39谢谢观赏2019-6-27,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!