大型软件测试系统Nucleus PLUS 培训资料

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

NucleusPLUS培训内容介绍ATI公司产品实时操作系统基本概念NucleusPLUS及APIImplementationATI产品KernelsNetworkingSupportingProductsPrototyping-CrossDevelopmentDebuggingToolsC++PLUSJViNETSNMPRMONSPANWebServCLIBGRAFIXFILEATI实时内核ATI网络部件ATI支持部件调试工具原型设计工具ATI产品NetworkingSupportingProductsPrototyping-CrossDevelopmentDebuggingToolsJViNETSNMPRMONSPANWebServCLIBGRAFIXFILEKernelsC++PLUSNucleusPLUSNucleusC++实时内核ATI产品网络部件ATI产品SupportingProductsPrototyping-CrossDevelopmentDebuggingToolsCLIBGRAFIXFILEKernelsC++PLUSNetworkingJViNETSNMPRMONSPANWebServNETSNMPRMONSPANWebServJViPrototyping-CrossDevelopmentDebuggingToolsKernelsC++PLUSNetworkingJViNETSNMPRMONSPANWebServGRAFIXFILECLIBSupportingProductsCLIBGRAFIXFILE支持部件ATI产品Prototyping-CrossDevelopmentKernelsNetworkingSupportingProductsDebuggingToolsC++PLUSJViNETSNMPRMONSPANWebServCLIBGRAFIXFILEDBUG+UDBDebuggerIntegration调试工具ATI产品Prototyping-CrossDevelopmentKernelsNetworkingSupportingProductsDebuggingToolsC++PLUSJViNETSNMPRMONSPANWebServCLIBGRAFIXFILE原型设计工具ATI产品PTHREADSVNETNucleusEDEMNTPC+实时操作系统基本概念Asingletask/*Maincontrolofprogram*/main(){…..do_something();…..}/*Afunctiontodosomething*/voiddo_something(){…..}所有应用在一个任务中实现单一执行指针单一存储空间单任务系统任务与任务调度多个任务竞争使用CPU多个执行指针多个存储空间Task3/*Maincontrolofprogram*/main(){do_something();}/*Afunctiontodosomething*/voiddo_something(){}/*Maincontrolofprogram*/main(){do_something();}/*Afunctiontodosomething*/voiddo_something(){}/*Maincontrolofprogram*/main(){do_something();}/*Afunctiontodosomething*/voiddo_something(){}Task2Task1多任务系统任务与任务调度实时操作系统负责任务调度:基于优先级抢先调度时间片轮询调度FIFO调度Task1Task2Task3Task4任务调度任务与任务调度....highestpriority(0)lowestpriority(255)....TaskList(255)TaskList(0)Task-10Task-20Task-30Task-1255Task-2255Task-3255任务调度任务与任务调度Ready-准备执行Running-正在执行Suspended-等待某条件发生Finished-任务执行完成任务状态任务与任务调度ReadySuspendedRunningFinished优先级当前任务状态堆栈指针......任务控制块TCBPriorityStateStack*任务属性任务与任务调度CPU状态-CPU的当前状态包含在CPU寄存器中:通用寄存器程序指针状态寄存器...文本切换任务与任务状态CPURegister1Register2Register3stackRegister1Register2Register3Register4Register5Register6Register4Register5Register6Register1Register2Register3Register4Register5Register6Register1Register2Register3Register4Register5Register6文本切换任务与任务调度任务间通信任务间通信-在两个或多个任务间传送数信箱Mailboxes队列Queues管道Pipes信息长度固定开销小一次传送一个信息TaskYTaskX1Message信箱任务间通信容纳多个信息信息长度可固定或变长用于在任务间传送大容量信息TaskYTaskX队列与管道任务间通信任务间同步任务间同步-协调(同步)任务间控制信号量Semaphores事件Events信号SignalsTask3Task2Task1Device1Device2Task3必须等待资源释放。.信号量用于对冲突性资源进行存取控制信号量任务间同步40hours$10/hour20%*T3*T2111print11000事件任务间同步00000000000000000000000000000000111属于某一特定任务异步方式工作信号任务间同步Task2TaskPTask1EPEPsignal_handler{…}多个任务同时对同一存储区访问将导致数据被破坏。苛刻性资源/可重入性Task-1Task-2VariableX,Ymemoryenabledisable队列管理苛刻性资源/可重入性分区内存管理内存分配是预定的,且分区长度固定。动态内存管理内存分配大小可变内存管理T1T3T2分区内存管理内存管理heap100bytes100bytes100bytes100bytes100bytes100bytes100bytes100bytes100bytes100bytes100bytes100bytes200bytes100bytes50bytesheap动态内存管理内存管理T1T2T3200bytes50bytes100bytes200bytes50bytes100bytes中断可使得CPU对外部事件异步响应;中断处理必须在短时间内快速响应;.采用保护机制以保护数据不被破坏:禁止中断其他措施(LISR/HISR)Device1IXAnexternaldevicecompletesatask,whichcausesinterruptXtobeissued.interrupt_service_routine(){handle_the_interrupt()}TheInterruptServiceRoutineistheninitiated.ISRX中断处理DeviceDeviceDriverInterfaceIO_Input()IO_OutputI/OTask提供通用编程接口I/O驱动定时器系统时钟定时器与系统时钟expiration_routine(){do_something_now()}Expirationroutineisexecutedwhentimerexpires.NucleusPLUSOverviewNucleusPLUSServicesTaskControlTaskCommunicationTaskSynchronizationTimerMemoryInterruptI/ODriverDevelopmentCreate/DeleteTaskSuspend/ResumeTaskTerminatetaskChangetasktimesliceChangepreemptionRelinquishResetTaskChangetaskpriorityTasksleepCheckStackRetrievelistofcurrenttasksInformation....TaskList(255)TaskList(0)Task-1255Task-2255Task-3255Task-10Task-20Task-30TaskControlReady-waitingtoexecute(arunningtaskisalsoready)Sleep-waitingfortimetoexpirePureSuspend-unconditionallysuspendedComponentSuspend-waitingforacomponentTerminated-taskhasbeenterminatedeitherbyitselforanothertaskFinished-taskexecutedtocompletion(hasreturnedfrommaintaskfunction)TaskStatesTaskControlCreate/DeleteSend/ReceiveBroadcastToResetInformationNumberofmailboxesRetrievelistofactivemailboxesMailboxesTaskCommunication1MessageTaskYTaskXOptimizedforsmallmessages.Eachmessageconsistsoffour32-bitpieces.QueuesTaskCommunicationCreate/DeleteSend/ReceiveBroadcastToResetSendToFrontInformationNumberofqueuesRetrievelistofactivequeuesTaskYTaskXM1M2Fixedorvariablesizedmessages.Messagesentin32-bitincrements.MessagesofhigherimportancecanbeplacedinfrontusingSend_To_Front.PipesTaskCommunicationCreate/DeleteSend/ReceiveBroadcastToSendtoFrontResetInformationNumberofpipesRetrievelistofactivepipesM1M2M3M4TaskYTaskXFixedorvariablesizedmessages.Messagesentin8-bitincrements.MessagesofhigherimportancecanbeplacedinfrontusingSend_To_Front.TaskCommunication100bytes100bytes100bytes100bytes100bytes100bytesT1T2100bytes100bytes100bytes100bytescommunication“queue”TaskCommunication(Optimization)100bytes100bytes100bytes100bytes100

1 / 80
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功