📄 stats.h
字号:
// stats.h // Data structures for gathering statistics about Nachos performance.//// DO NOT CHANGE -- these stats are maintained by the machine emulation////// Copyright (c) 1992-1993 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 STATS_H#define STATS_H#include "copyright.h"// The following class defines the statistics that are to be kept// about Nachos behavior -- how much time (ticks) elapsed, how// many user instructions executed, etc.//// The fields in this class are public to make it easier to update.class Statistics { public: int totalTicks; // Total time running Nachos int idleTicks; // Time spent idle (no threads to run) int systemTicks; // Time spent executing system code int userTicks; // Time spent executing user code // (this is also equal to # of // user instructions executed) int numDiskReads; // number of disk read requests int numDiskWrites; // number of disk write requests int numConsoleCharsRead; // number of characters read from the keyboard int numConsoleCharsWritten; // number of characters written to the display int numPageFaults; // number of virtual memory page faults int numPacketsSent; // number of packets sent over the network int numPacketsRecvd; // number of packets received over the network Statistics(); // initialize everything to zero void Print(); // print collected statistics};// Constants used to reflect the relative time an operation would// take in a real system. A "tick" is a just a unit of time -- if you // like, a microsecond.//// Since Nachos kernel code is directly executed, and the time spent// in the kernel measured by the number of calls to enable interrupts,// these time constants are none too exact.#define UserTick 1 // advance for each user-level instruction #define SystemTick 10 // advance each time interrupts are enabled#define RotationTime 500 // time disk takes to rotate one sector#define SeekTime 500 // time disk takes to seek past one track#define ConsoleTime 100 // time to read or write one character#define NetworkTime 100 // time to send or receive one packet#define TimerTicks 100 // (average) time between timer interrupts#endif // STATS_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -