实时操作系统课件_第1页
实时操作系统课件_第2页
实时操作系统课件_第3页
实时操作系统课件_第4页
实时操作系统课件_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实时操作系统xxx--背景、标准、技术、实现1谢谢观赏2019-6-27实时操作系统--背景、标准、技术、实现1谢谢观赏2019-RTOS地位嵌入式系统存在并发需求(中断驱动),RTOSKernel是支持并发的主要工具。提供的自举代码,各种硬件的驱动(DRIVERS),以提供基本的硬件设备管理。提供Download,Debugger接口方便开发调试提供NET,FILE,GRAPH,TV等API方便嵌入式系统的开发工作2谢谢观赏2019-6-27RTOS地位嵌入式系统存在并发需求(中断驱动),RTOSRTOSBackgroundUser

ModeKernel

ModeKernel1st_overExecutiveSecurityReferenceMonitor(servers)ProtectedSubsystems

POSIXSubsystemHardware

Abstraction

LayerHardwareConfigurationProcessStructureI/O

ManagerMemoryManagerSystem

ServicesManagerFileSystem,Intermediate,and

DeviceDriversWin32SubsystemNETManagerExecutiveSupportObjectManagerLocalProcedureCallAPIImpleBasedonWinNTDDKApplicationProgrammingInterfaceKernelStandardposix/uITRONDD-PI硬件抽象层HAL影响RTOS系统的可移植性3谢谢观赏2019-6-27RTOSBackgroundUserModeKernel免费RTOS及RTOS研究其他列表于

4谢谢观赏2019-6-27免费RTOS及RTOS研究其他列表于4谢谢观赏2019-RTOS系统比较个人电脑上的操作系统向下功能缩减形成的方案原嵌入式系统中的实时性操作系统功能扩展形成的方案5谢谢观赏2019-6-27RTOS系统比较个人电脑上的操作系统向下功能缩减形成的方案原系统配置FromcygnusRTOS通常包含Kernel+Drivers+NET+CLIB(FILE)+GUI五部分,功能需求不同,RTOS大小也不同6谢谢观赏2019-6-27系统配置FromcygnusRTOS通常包含KerneRTOS性能指标RTOS性能指标中断响应时间:InterruptResponse上下文切换时间:ContextSwitchingTime确定性:DeterminismKernelservicesshouldbedeterministicbyspecifyinghowlongeachservicecallwilltaketoexecute.调度器的实现算法RateMonotonic(发生率单调),优先级与发生率呈正比[LiuLay1973]lotteryscheduler(彩票调度,Wald&Weihl94)7谢谢观赏2019-6-27RTOS性能指标RTOS性能指标7谢谢观赏2019-6-27RTOS系统规模(I)8谢谢观赏2019-6-27RTOS系统规模(I)8谢谢观赏2019-6-27RTOS系统规模(II)源代码eCos源代码行数Kernel-->h8865,cxx8497CLIB+MathLIB-->h1541,cxx13KLinux源代码行数>1MKernel10KHAL36KFileSystem124KDrivers831KNet147K9谢谢观赏2019-6-27RTOS系统规模(II)源代码eCos源代码行数9谢谢观赏RTOS系统选择1.OS高性能和保持安全性成熟!?2.结构合理分层以保持可移植,方便驱动程序实现3.提供开发环境加快系统开发进度提供模拟开发环境降低开发成本

IDE….10谢谢观赏2019-6-27RTOS系统选择1.OS高性能和保持安全性10谢谢观赏20RTOS系统选择(II)系统尺寸、性能:Footprint

Performance系统完整性:Softwarecomponents&DeviceDrivers标准化支持:Standardscompatibility版权与财务(License):OnlyforBuildfromscratchforspecialPerformancerequirement11谢谢观赏2019-6-27RTOS系统选择(II)系统尺寸、性能:11谢谢观赏20RTOS技术 核心服务界面(KernelService)核心ImplementationHAL界面HALImplementationDriverManager界面DriverManagerImplementation12谢谢观赏2019-6-27RTOS技术 核心服务界面(KernelService核心服务界面标准Posix1003.1b以POSIX扩充出现,适用于多进程系统,代码尺寸限制不是非常严格的场合为VxWorks,OSKIT,RTEMS等系统支持。uItron以实时系统专用标准出现,适用于代码尺寸限制严格的场合,为eCos等系统支持。StandardLinks13谢谢观赏2019-6-27核心服务界面标准Posix1003.1b以POSIX扩充核心服务界面Schedulingservicevoidcyg_thread_create(cyg_addrword_tsched_info,cyg_thread_entry_t*entry,cyg_addrword_tentry_data,char*name,void*stack_base,cyg_ucount32stack_size,cyg_handle_t*handle,cyg_thread*thread);NU_Create_Task/ERcre_tsk(IDtskid,T_CTSK*pk_ctsk);Synchronization&Communicationcyg_semaphore_init(cyg_sem_t*sem,cyg_ucount32val);NU_Create_Semaphorecyg_bool_tcyg_semaphore_trywait(cyg_sem_t*sem); NU_Send_TO_Queue14谢谢观赏2019-6-27核心服务界面Schedulingservice14谢谢观赏核心服务(Cont‘d)InterruptServicesManagementCreate_ISR,install_interrupt_handleI/ODriverServiceCreate_DrivermemoryservicesAllocate_Partition,ALLOCC-API…..strcpy15谢谢观赏2019-6-27核心服务(Cont‘d)InterruptServicesItran命名标准AllsystemcallsofITRONspecificationaresevenoreightcharacterslongandoftheform'xxx_yyy'or'zxxx_yyy'respectively,where'xxx'representsthemethodofoperation,and'yyy'theobjectoftheoperation.03/rtos/rtosstandards/itron/16谢谢观赏2019-6-27Itran命名标准AllsystemcallsofItran命名-对象17谢谢观赏2019-6-27Itran命名-对象17谢谢观赏2019-6-27Itran命名-方法18谢谢观赏2019-6-27Itran命名-方法18谢谢观赏2019-6-27RTOS核心ServiceSummaryRTOS核心提供并发支持RTOS核心通常表现为函数库,接口相当于系统调用。核心服务(命名和语义)的标准化有利于如TCP/IP协议栈等API的实现与重用.19谢谢观赏2019-6-27RTOS核心ServiceSummary19谢谢观赏2事件队列简单的异步系统调度器绘图线程

1II鼠标中断服务系统包含<Mouse+MouseViewer>空线程20谢谢观赏2019-6-27事件队列简单的异步系统调度器绘图线程II鼠标中断服务系统包含最小核心实现核心实现中包含如下对象任务调度支持Scheduler/InterruptManagerTask同步与通讯支持EventSemaphoneQueue21谢谢观赏2019-6-27最小核心实现核心实现中包含如下对象21谢谢观赏2019-6Scheduler‘sGlobal调度器中包含当前线程Cyg_Thread*current_thread;线程队列Cyg_ThreadQueue*queue;调度状态volatilecyg_ucount32sched_lock;cyg_boolneed_reschedule;cyg_ucount32thread_switches;。。。22谢谢观赏2019-6-27Scheduler‘sGlobal调度器中包含22谢谢观Cyg_HardwareThread线程控制块至少包含栈定义。

CYG_ADDRESSstack_base;cyg_uint32stack_size;栈状态

CYG_ADDRESSstack_ptr;线程状态

cyg_uint32state;23谢谢观赏2019-6-27Cyg_HardwareThread线程控制块至少包含23谢Cyg_Thread线程状态中通常还包含相关的消息及同步对象的列表…….cyg_ucount32wakeup_count;CYG_ADDRWORDwait_info;核心代码的操作对象即这些线程状态、消息及同步量24谢谢观赏2019-6-27Cyg_Thread线程状态中通常还包含相关的消息及同步对象核心初始化核心所需的初始化包含内存分配器初始化核心自用的信号量初始化基本的中断处理程序的安装…….基本的驱动程序的安装…….启动系统线程启动用户线程25谢谢观赏2019-6-27核心初始化核心所需的初始化包含25谢谢观赏2019-6-27初始化例26谢谢观赏2019-6-27初始化例26谢谢观赏2019-6-27同步对象运行时的RTOS对象调度器对象线程表/当前线程中断向量表…….线程

1线程2线程n中断服务n中断服务1II中断堆栈线程控制块+线程堆栈27谢谢观赏2019-6-27同步对象运行时的RTOS对象调度器对象线程线程线程中断服务简单系统的代码28谢谢观赏2019-6-27简单系统的代码28谢谢观赏2019-6-27任务切换过程OSTCBCUR线程控制块当前线程线程堆栈线程现场IdleDrawOSTCBHighRrd29谢谢观赏2019-6-27任务切换过程OSTCBCUR线程控制块当前线程线程堆栈线程现ucOS任务切换实现30谢谢观赏2019-6-27ucOS任务切换实现30谢谢观赏2019-6-27调度算法调度算法选择将要执行的任务abitmapschedulerItrepresentseachrunnablethreadwithabitinabitmap.Eachthreadmusthaveauniquepriorityandthereisastrictupperlimitonthenumberofthreadsallowed.multi-levelqueueschedulerThiscontainsthemulti-levelqueueschedulerimplementation.Itimplementsanumberofthreadprioritiesandiscapableoftimeslicingbetweenthreadsatthesamepriority.Thisschedulercanalsosupportpriorityinheritance.lotteryscheduler(彩票调度,Wald&Weihl94)

CompensationticketsandticketdonationallowfairsharingforI/Oboundthreadsandanequivalentmechanismtopriorityinheritance.31谢谢观赏2019-6-27调度算法调度算法选择将要执行的任务31谢谢观赏2019-6-RTOS性能指标RTOSPerformanceContextSwitchingTime上下文切换时间InterruptResponse中断响应时间Determinism决定性Kernelservicesshouldbedeterministicbyspecifyinghowlongeachservicecallwilltaketoexecute.实时调度的经典算法RateMonotonic(发生率单调),优先级与发生率呈正比[Liu&Lay1973]32谢谢观赏2019-6-27RTOS性能指标RTOSPerformance32谢谢观赏结束语我们描述了RTOSKernel的基本原理了解了RTOSKernel的结构嵌入式系统的需求多种多样是RTOS种类繁多的重要原因。实际RTOS的实现还可能包含SMP、MMU、调试支持、可移植性、驱动程序开发,等问题,RTOSKernel的实现效率,实时性也是重要问题。希望以后有更多的交流,谢谢。33谢谢观赏2019-6-27结束语我们描述了RTOSKernel的基本原理了解了RTOEmbedded-OS的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论