scheduler.cc.svn-base

来自「德国Erlangen大学教学操作系统源码。」· SVN-BASE 代码 · 共 58 行

SVN-BASE
58
字号
/*****************************************************************************//* Betriebssysteme                                                           *//*---------------------------------------------------------------------------*//*                                                                           *//*                          S C H E D U L E R                                *//*                                                                           *//*---------------------------------------------------------------------------*//* Implementierung des Schedulers.                                           *//*****************************************************************************/#include "thread/scheduler.h"Scheduler::Scheduler()	: tasks(), task(0){}Scheduler::Scheduler(Scheduler &obj){}Scheduler::~Scheduler(){}void Scheduler::ready(Entrant& that){	tasks.enqueue(&that);}void Scheduler::schedule(){	Entrant *next = static_cast<Entrant*>(tasks.dequeue());	dispatch(*next);}void Scheduler::exit(){	schedule();}void Scheduler::kill(Entrant& that){	Entrant *last = static_cast<Entrant*>(active());	if(&that == last)		exit();	else		tasks.remove(&that);}void Scheduler::resume(){	*(((char*)0xb8000)+82) = tasks.size()+'0';	Entrant *last = static_cast<Entrant*>(active());	tasks.enqueue(last);	schedule();}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?