⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timer.h

📁 美国加州大学操作系统课程实验平台Nachos
💻 H
字号:
// 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -