timer.h

来自「美国加州大学操作系统课程实验平台Nachos」· C头文件 代码 · 共 54 行

H
54
字号
// timer.h //	Data structures to emulate a hardware timer.////	A hardware timer generates a CPU interrupt every X milliseconds.//	This means it can be used for implementing time-slicing, or for//	having a thread go to sleep for a specific period of time. ////	We emulate a hardware timer by scheduling an interrupt to occur//	every time stats->totalTicks has increased by TimerTicks.////	In order to introduce some randomness into time-slicing, if "doRandom"//	is set, then the interrupt comes after a random number of ticks.////  DO NOT CHANGE -- part of the machine emulation//// Copyright (c) 1992-1996 The Regents of the University of California.// All rights reserved.  See copyright.h for copyright notice and limitation // of liability and disclaimer of warranty provisions.#ifndef TIMER_H#define TIMER_H#include "copyright.h"#include "utility.h"#include "callback.h"// The following class defines a hardware timer. class Timer : public CallBackObj {  public:    Timer(bool doRandom, CallBackObj *toCall);				// Initialize the timer, and callback to "toCall"				// every time slice.    virtual ~Timer() {}        void Disable() { disable = TRUE; }    				// Turn timer device off, so it doesn't				// generate any more interrupts.  private:    bool randomize;		// set if we need to use a random timeout delay    CallBackObj *callPeriodically; // call this every TimerTicks time units     bool disable;		// turn off the timer device after next    				// interrupt.        void CallBack();		// called internally when the hardware				// timer generates an interrupt    void SetInterrupt();  	// cause an interrupt to occur in the    				// the future after a fixed or random				// delay};#endif // TIMER_H

⌨️ 快捷键说明

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