CyberRT-任务调度-scheduler

调度空间

主要关注三个方面 通信和数据传输以及监控   SchedulerConf  TransportConf PerfConf  
 
 OS Process(操作系统进程)、OS Thread(操作系统线程)、Cyber RT Task(用户空间协程)。
   Cyber RT 调度器有两种调度策略,分别为Choreo与Classic,
       Choreo策略是Cyber RT下无人车专属调度,它强调任务执行周期性以及实时性

component--使用传输和调度的起点

cyber/component/component.h
       #include "cyber/croutine/routine_factory.h"
	   #include "cyber/scheduler/scheduler.h"
cyber/component/component_base.h
       #include "cyber/node/node.h"
       #include "cyber/scheduler/scheduler.h"
	   #include "cyber/class_loader/class_loader.h"

sysmo

cyber/sysmo/sysmo.cc
   SysMo::Instance(); ==> 创建系统管理器,用于检测处理器processor状态		
	#include "cyber/scheduler/scheduler_factory.h"

scheduler

cyber/scheduler/scheduler_factory.h	   
     Scheduler* Instance() 
	    new SchedulerChoreography();
		new SchedulerClassic();

cyber/scheduler/policy/classic_context.h    cyber/scheduler/policy/choreography_context.h
cyber/scheduler/policy/scheduler_classic.h  cyber/scheduler/policy/scheduler_choreography.h
     class SchedulerClassic : public Scheduler {  
	 class SchedulerChoreography : public Scheduler {
cyber/scheduler/scheduler.h		   
	   #include "cyber/croutine/croutine.h"
       #include "cyber/croutine/routine_factory.h"
	class Scheduler {   

		
cyber/scheduler/processor.h	
    class Processor {
	
cyber/scheduler/processor_context.h
    class ProcessorContext {		

task

cyber/task/task.h
    #include "cyber/task/task_manager.h"

cyber/task/task_manager.h
     #include "cyber/scheduler/scheduler_factory.h"
     class TaskManager {

croutine

cyber/croutine 
    cyber/croutine/croutine.h
	    class CRoutine {

    cyber/croutine/routine_factory.h
	    #include "cyber/data/data_visitor.h"
	    RoutineFactory  协程通过工厂模式方法创建,里面包含一个回调函数和一个dv(数据访问器)DataVisitor

    cyber/croutine/detail/routine_context.h
posted @ 2025-01-20 17:50  辰令  阅读(117)  评论(0)    收藏  举报