Пример #1
0
        public KScheduler(Horizon System)
        {
            this.System = System;

            SchedulingData = new KSchedulingData();

            CoreManager = new HleCoreManager();

            CoreContexts = new KCoreContext[CpuCoresCount];

            for (int Core = 0; Core < CpuCoresCount; Core++)
            {
                CoreContexts[Core] = new KCoreContext(this, CoreManager);
            }
        }
Пример #2
0
        public KScheduler(Horizon system)
        {
            _system = system;

            SchedulingData = new KSchedulingData();

            CoreManager = new HleCoreManager();

            CoreContexts = new KCoreContext[CpuCoresCount];

            for (int core = 0; core < CpuCoresCount; core++)
            {
                CoreContexts[core] = new KCoreContext(this, CoreManager);
            }
        }
Пример #3
0
        public KScheduler()
        {
            SchedulingData = new KSchedulingData();

            CoreManager = new HleCoreManager();

            CoreContexts = new KCoreContext[CpuCoresCount];

            for (int Core = 0; Core < CpuCoresCount; Core++)
            {
                CoreContexts[Core] = new KCoreContext(this, CoreManager);
            }

            if (!MultiCoreScheduling)
            {
                Thread PreemptionThread = new Thread(PreemptCurrentThread);

                KeepPreempting = true;

                PreemptionThread.Start();
            }
        }
Пример #4
0
 public KCoreContext(KScheduler Scheduler, HleCoreManager CoreManager)
 {
     this.Scheduler   = Scheduler;
     this.CoreManager = CoreManager;
 }
Пример #5
0
 public KCoreContext(KScheduler scheduler, HleCoreManager coreManager)
 {
     _scheduler   = scheduler;
     _coreManager = coreManager;
 }