#include <kernel.h>
Inheritance diagram for ThreadedKernel::

Public Methods | |
| ThreadedKernel (int argc, char **argv) | |
| Interpret command line arguments. More... | |
| ~ThreadedKernel () | |
| deallocate the kernel. More... | |
| void | Initialize () |
| initialize the kernel -- separated from constructor because refers to "kernel" as a global. More... | |
| void | Run () |
| do kernel stuff. More... | |
| void | SelfTest () |
| test whether kernel is working. More... | |
Public Attributes | |
| Thread* | currentThread |
| the thread holding the CPU. More... | |
| Scheduler* | scheduler |
| the ready list. More... | |
| Interrupt* | interrupt |
| interrupt status. More... | |
| Statistics* | stats |
| performance metrics. More... | |
| Alarm* | alarm |
| the software alarm clock. More... | |
Private Attributes | |
| bool | randomSlice |
| enable pseudo-random time slicing. More... | |
Definition at line 22 of file kernel.h.
|
|
Interpret command line arguments. ThreadedKernel::ThreadedKernel Interpret command line arguments in order to determine flags for the initialization (see also comments in main.cc) |
|
|
deallocate the kernel. ThreadedKernel::~ThreadedKernel Nachos is halting. De-allocate global data structures. |
|
|
initialize the kernel -- separated from constructor because refers to "kernel" as a global. ThreadedKernel::Initialize Initialize Nachos global data structures. Separate from the constructor because some of these refer to earlier initialized data via the "kernel" global variable. Reimplemented in NetKernel, and UserProgKernel. Definition at line 50 of file kernel.cc. Referenced by UserProgKernel::Initialize().
|
|
|
do kernel stuff. ThreadedKernel::Run Run the Nachos kernel. For now, do nothing. In practice, after initializing data structures, the kernel would start a user program to print the login prompt. Reimplemented in NetKernel, and UserProgKernel. Definition at line 89 of file kernel.cc. Referenced by UserProgKernel::Run().
|
|
|
test whether kernel is working. ThreadedKernel::SelfTest Test whether this module is working. Reimplemented in NetKernel, and UserProgKernel. Definition at line 106 of file kernel.cc. Referenced by UserProgKernel::SelfTest().
|
|
|
the software alarm clock.
|
|
|
the thread holding the CPU.
|
|
|
interrupt status.
|
|
|
enable pseudo-random time slicing.
|
|
|
the ready list.
|
|
|
performance metrics.
|
1.2.8.1 written by Dimitri van Heesch,
© 1997-2001