您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 大型软件测试系统Nucleus PLUS 培训资料
NucleusPLUS培训内容介绍ATI公司产品实时操作系统基本概念NucleusPLUS及APIImplementationATI产品KernelsNetworkingSupportingProductsPrototyping-CrossDevelopmentDebuggingToolsC++PLUSJViNETSNMPRMONSPANWebServCLIBGRAFIXFILEATI实时内核ATI网络部件ATI支持部件调试工具原型设计工具ATI产品NetworkingSupportingProductsPrototyping-CrossDevelopmentDebuggingToolsJViNETSNMPRMONSPANWebServCLIBGRAFIXFILEKernelsC++PLUSNucleusPLUSNucleusC++实时内核ATI产品网络部件ATI产品SupportingProductsPrototyping-CrossDevelopmentDebuggingToolsCLIBGRAFIXFILEKernelsC++PLUSNetworkingJViNETSNMPRMONSPANWebServNETSNMPRMONSPANWebServJViPrototyping-CrossDevelopmentDebuggingToolsKernelsC++PLUSNetworkingJViNETSNMPRMONSPANWebServGRAFIXFILECLIBSupportingProductsCLIBGRAFIXFILE支持部件ATI产品Prototyping-CrossDevelopmentKernelsNetworkingSupportingProductsDebuggingToolsC++PLUSJViNETSNMPRMONSPANWebServCLIBGRAFIXFILEDBUG+UDBDebuggerIntegration调试工具ATI产品Prototyping-CrossDevelopmentKernelsNetworkingSupportingProductsDebuggingToolsC++PLUSJViNETSNMPRMONSPANWebServCLIBGRAFIXFILE原型设计工具ATI产品PTHREADSVNETNucleusEDEMNTPC+实时操作系统基本概念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.NucleusPLUSOverviewNucleusPLUSServicesTaskControlTaskCommunicationTaskSynchronizationTimerMemoryInterruptI/ODriverDevelopmentCreate/DeleteTaskSuspend/ResumeTaskTerminatetaskChangetasktimesliceChangepreemptionRelinquishResetTaskChangetaskpriorityTasksleepCheckStackRetrievelistofcurrenttasksInformation....TaskList(255)TaskList(0)Task-1255Task-2255Task-3255Task-10Task-20Task-30TaskControlReady-waitingtoexecute(arunningtaskisalsoready)Sleep-waitingfortimetoexpirePureSuspend-unconditionallysuspendedComponentSuspend-waitingforacomponentTerminated-taskhasbeenterminatedeitherbyitselforanothertaskFinished-taskexecutedtocompletion(hasreturnedfrommaintaskfunction)TaskStatesTaskControlCreate/DeleteSend/ReceiveBroadcastToResetInformationNumberofmailboxesRetrievelistofactivemailboxesMailboxesTaskCommunication1MessageTaskYTaskXOptimizedforsmallmessages.Eachmessageconsistsoffour32-bitpieces.QueuesTaskCommunicationCreate/DeleteSend/ReceiveBroadcastToResetSendToFrontInformationNumberofqueuesRetrievelistofactivequeuesTaskYTaskXM1M2Fixedorvariablesizedmessages.Messagesentin32-bitincrements.MessagesofhigherimportancecanbeplacedinfrontusingSend_To_Front.PipesTaskCommunicationCreate/DeleteSend/ReceiveBroadcastToSendtoFrontResetInformationNumberofpipesRetrievelistofactivepipesM1M2M3M4TaskYTaskXFixedorvariablesizedmessages.Messagesentin8-bitincrements.MessagesofhigherimportancecanbeplacedinfrontusingSend_To_Front.TaskCommunication100bytes100bytes100bytes100bytes100bytes100bytesT1T2100bytes100bytes100bytes100bytescommunication“queue”TaskCommunication(Optimization)100bytes100bytes100bytes100bytes100
本文标题:大型软件测试系统Nucleus PLUS 培训资料
链接地址:https://www.777doc.com/doc-973371 .html