A B C D E F G H I J K L M N O P R S T U V W Y

A

acquire() - Method in class nachos.threads.Lock
Atomically acquire this lock.
acquire(KThread) - Method in class nachos.threads.PriorityScheduler.PriorityQueue
 
acquire(PriorityScheduler.PriorityQueue) - Method in class nachos.threads.PriorityScheduler.ThreadState
Called when the associated thread has acquired access to whatever is guarded by waitQueue.
acquire(KThread) - Method in class nachos.threads.ThreadQueue
Notify this thread queue that a thread has received access, without going through request() and nextThread().
add(Object) - Method in class nachos.threads.SynchList
Add the specified object to the end of the queue.
addExitNotificationHandler(Runnable) - Method in class nachos.security.Privilege
Add an exit() notification handler.
addRider(RiderInterface, int, int[]) - Method in class nachos.machine.ElevatorBank
Add a rider to the simulation.
AdultRideToMolokai() - Method in class nachos.ag.BoatGrader
 
AdultRideToOahu() - Method in class nachos.ag.BoatGrader
 
AdultRowToMolokai() - Method in class nachos.ag.BoatGrader
 
AdultRowToOahu() - Method in class nachos.ag.BoatGrader
 
advancePC() - Method in class nachos.machine.Processor
Advance the PC to the next instruction.
Alarm - Class in nachos.threads
Uses the hardware timer to provide preemption, and to allow threads to sleep until a certain time.
Alarm() - Constructor for class nachos.threads.Alarm
Allocate a new Alarm.
alarm - Static variable in class nachos.threads.ThreadedKernel
Globally accessible reference to the alarm.
ArrayFile - Class in nachos.machine
A read-only OpenFile backed by a byte array.
ArrayFile(byte[]) - Constructor for class nachos.machine.ArrayFile
Allocate a new ArrayFile.
assertNotReached() - Static method in class nachos.machine.Lib
Asserts that this call is never made.
assertNotReached(String) - Static method in class nachos.machine.Lib
Asserts that this call is never made, with the specified error messsage.
assertTrue(boolean) - Static method in class nachos.machine.Lib
Asserts that expression is true.
assertTrue(boolean, String) - Static method in class nachos.machine.Lib
Asserts that expression is true.
associateThread(KThread) - Method in interface nachos.security.Privilege.TCBPrivilege
Associate the current TCB with the specified KThread.
authorizeDestroy(KThread) - Method in interface nachos.security.Privilege.TCBPrivilege
Authorize the TCB associated with the specified thread to be destroyed.
AutoGrader - Class in nachos.ag
The default autograder.
AutoGrader() - Constructor for class nachos.ag.AutoGrader
Allocate a new autograder.
autoGrader() - Static method in class nachos.machine.Machine
Return the autograder.

B

bank() - Static method in class nachos.machine.Machine
Return the hardware elevator bank.
begin(int, int, BoatGrader) - Static method in class nachos.threads.Boat
 
Boat - Class in nachos.threads
 
Boat() - Constructor for class nachos.threads.Boat
 
BoatGrader - Class in nachos.ag
 
BoatGrader() - Constructor for class nachos.ag.BoatGrader
 
bytesFromInt(byte[], int, int) - Static method in class nachos.machine.Lib
Convert an int into its little-endian byte string representation.
bytesFromInt(int) - Static method in class nachos.machine.Lib
Convert an int into its little-endian byte string representation, and return an array containing it.
bytesFromInt(byte[], int, int, int) - Static method in class nachos.machine.Lib
Convert an int into a little-endian byte string representation of the specified length.
bytesFromShort(byte[], int, short) - Static method in class nachos.machine.Lib
Convert a short into its little-endian byte string representation.
bytesToInt(byte[], int) - Static method in class nachos.machine.Lib
Convert to an int from its little-endian byte string representation.
bytesToInt(byte[], int, int) - Static method in class nachos.machine.Lib
Convert to an int from a little-endian byte string representation of the specified length.
bytesToShort(byte[], int) - Static method in class nachos.machine.Lib
Convert to a short from its little-endian byte string representation.
bytesToString(byte[], int, int) - Static method in class nachos.machine.Lib
Convert to a string from a possibly null-terminated array of bytes.
bytesToUnsignedShort(byte[], int) - Static method in class nachos.machine.Lib
Convert to an unsigned short from its little-endian byte string representation.

C

canReceivePacket(Privilege) - Method in class nachos.ag.AutoGrader
Request permission to receive a packet.
canSendPacket(Privilege) - Method in class nachos.ag.AutoGrader
Request permission to send a packet.
checkConstructor(Class, Class[]) - Static method in class nachos.machine.Lib
Verifies that the specified class is public and not abstract, and that a constructor with the specified signature exists and is public.
checkDerivation(Class, Class) - Static method in class nachos.machine.Lib
Verify that the specified class extends or implements the specified superclass.
checkField(Class, String, Class) - Static method in class nachos.machine.Lib
Verifies that the specified class is public, and that a non-static field with the specified name and type exists, is public, and is not final.
checkMethod(Class, String, Class[], Class) - Static method in class nachos.machine.Lib
Verifies that the specified class is public, and that a non-static method with the specified name and signature exists, is public, and returns the specified type.
checkPermission(Permission) - Method in class nachos.security.NachosSecurityManager
Check the specified permission.
checkStaticField(Class, String, Class) - Static method in class nachos.machine.Lib
Verifies that the specified class is public, and that a static field with the specified name and type exists and is public.
checkStaticMethod(Class, String, Class[], Class) - Static method in class nachos.machine.Lib
Verifies that the specified class is public, and that a static method with the specified name and signature exists, is public, and returns the specified type.
ChildRideToMolokai() - Method in class nachos.ag.BoatGrader
 
ChildRideToOahu() - Method in class nachos.ag.BoatGrader
 
ChildRowToMolokai() - Method in class nachos.ag.BoatGrader
BoatGrader consists of functions to be called to show that your solution is properly synchronized.
ChildRowToOahu() - Method in class nachos.ag.BoatGrader
 
cloneFile(OpenFile) - Static method in class nachos.machine.Lib
Take a read-only snapshot of a file.
close() - Method in class nachos.machine.ArrayFile
 
close() - Method in class nachos.machine.Coff
Close the executable file and release any resources allocated by this loader.
close() - Method in class nachos.machine.OpenFile
Close this file and release any associated system resources.
closeDoors(int) - Method in interface nachos.machine.ElevatorControls
Close an elevator's doors.
Coff - Class in nachos.machine
A COFF (common object file format) loader.
Coff() - Constructor for class nachos.machine.Coff
Allocate a new Coff object.
Coff(OpenFile) - Constructor for class nachos.machine.Coff
Load the COFF executable in the specified file.
coff - Variable in class nachos.machine.CoffSection
The COFF object to which this section belongs.
coff - Variable in class nachos.userprog.UserProcess
The program being run by this process.
CoffSection - Class in nachos.machine
A CoffSection manages a single section within a COFF executable.
CoffSection(Coff, String, boolean, boolean, int, int) - Constructor for class nachos.machine.CoffSection
Allocate a new COFF section with the specified parameters.
CoffSection(OpenFile, Coff, int) - Constructor for class nachos.machine.CoffSection
Load a COFF section from an executable.
Communicator - Class in nachos.threads
A communicator allows threads to synchronously exchange 32-bit messages.
Communicator() - Constructor for class nachos.threads.Communicator
Allocate a new communicator.
compareTo(Object) - Method in class nachos.threads.KThread
Deterministically and consistently compare this thread to another thread.
Condition - Class in nachos.threads
An implementation of condition variables built upon semaphores.
Condition(Lock) - Constructor for class nachos.threads.Condition
Allocate a new condition variable.
Condition2 - Class in nachos.threads
An implementation of condition variables that disables interrupt()s for synchronization.
Condition2(Lock) - Constructor for class nachos.threads.Condition2
Allocate a new condition variable.
Config - Class in nachos.machine
Provides routines to access the Nachos configuration.
Config() - Constructor for class nachos.machine.Config
 
console() - Static method in class nachos.machine.Machine
Return the hardware console.
console - Static variable in class nachos.userprog.UserKernel
Globally accessible reference to the synchronized console.
ConsoleTime - Static variable in class nachos.machine.Stats
The amount of simulated time required for the console to handle a character.
constructObject(String) - Static method in class nachos.machine.Lib
Create and return a new instance of the named class, using the constructor that takes no arguments.
contents - Variable in class nachos.machine.Packet
The contents of this packet, excluding the link-layer header.
contents - Variable in class nachos.network.MailMessage
The contents of this message, excluding the mail message header.
contextSwitch() - Method in class nachos.machine.TCB
Context switch between the current TCB and this TCB.
createLoader(OpenFile) - Method in class nachos.ag.AutoGrader
Notify the autograder that a COFF loader is being constructed for the specified file.
currentProcess() - Static method in class nachos.userprog.UserKernel
Returns the current process.
currentTCB() - Static method in class nachos.machine.TCB
Return the TCB of the currently running thread.
currentThread() - Static method in class nachos.threads.KThread
Get the current thread.

D

debug(char, String) - Static method in class nachos.machine.Lib
Print message if flag was enabled on the command line.
decreasePriority() - Method in class nachos.threads.PriorityScheduler
 
decreasePriority() - Method in class nachos.threads.Scheduler
If possible, lower the priority of the current thread user in some scheduler-dependent way, preferably by the same amount as would a call to increasePriority().
destroy() - Method in class nachos.machine.TCB
Destroy this TCB.
die() - Static method in class nachos.machine.TCB
Destroy all TCBs and exit Nachos.
dirDown - Static variable in class nachos.machine.ElevatorBank
Indicates an elevator intends to move down.
dirDown - Static variable in interface nachos.machine.ElevatorControllerInterface
Indicates an elevator intends to move down.
dirDown - Static variable in interface nachos.machine.RiderInterface
Indicates an elevator intends to move down.
direction - Variable in class nachos.machine.RiderEvent
The direction display of the elevator (neither if not applicable).
dirNeither - Static variable in class nachos.machine.ElevatorBank
Indicates an elevator intends not to move.
dirNeither - Static variable in interface nachos.machine.ElevatorControllerInterface
Indicates an elevator intends not to move.
dirNeither - Static variable in interface nachos.machine.RiderInterface
Indicates an elevator intends not to move.
dirty - Variable in class nachos.machine.TranslationEntry
This flag is set to true every time the page is written by a user program.
dirUp - Static variable in class nachos.machine.ElevatorBank
Indicates an elevator intends to move up.
dirUp - Static variable in interface nachos.machine.ElevatorControllerInterface
Indicates an elevator intends to move up.
dirUp - Static variable in interface nachos.machine.RiderInterface
Indicates an elevator intends to move up.
disable() - Method in class nachos.machine.Interrupt
Disable interrupts and return the old interrupt state.
disabled() - Method in class nachos.machine.Interrupt
Tests whether interrupts are disabled.
divRoundUp(int, int) - Static method in class nachos.machine.Lib
Divide two non-negative integers, round the quotient up to the nearest integer, and return it.
doPrivileged(Runnable) - Method in class nachos.security.Privilege
Perform the specified action with privilege.
doPrivileged(PrivilegedAction) - Method in class nachos.security.Privilege
Perform the specified PrivilegedAction with privilege.
doPrivileged(PrivilegedExceptionAction) - Method in class nachos.security.Privilege
Perform the specified PrivilegedExceptionAction with privilege.
dstLink - Variable in class nachos.machine.Packet
The address of the destination link of this packet.
dstPort - Variable in class nachos.network.MailMessage
The port used by this message on the destination machine.

E

elevator - Variable in class nachos.machine.ElevatorEvent
The elevator pertaining to the event, or -1 if not applicable.
elevator - Variable in class nachos.machine.RiderEvent
The elevator pertaining to the event, or -1 if not applicable.
ElevatorBank - Class in nachos.machine
A bank of elevators.
ElevatorBank(Privilege) - Constructor for class nachos.machine.ElevatorBank
Allocate a new elevator bank.
ElevatorController - Class in nachos.threads
A controller for all the elevators in an elevator bank.
ElevatorController() - Constructor for class nachos.threads.ElevatorController
Allocate a new elevator controller.
ElevatorControllerInterface - Interface in nachos.machine
A controller for all the elevators in an elevator bank.
ElevatorControls - Interface in nachos.machine
A set of controls that can be used by an elevator controller.
ElevatorEvent - Class in nachos.machine
An event that affects elevator software.
ElevatorEvent(int, int, int) - Constructor for class nachos.machine.ElevatorEvent
 
ElevatorGui - Class in nachos.machine
A graphical visualization for the ElevatorBank class.
ElevatorTest - Class in nachos.machine
Tests the ElevatorBank module, using a single elevator and a single rider.
ElevatorTest() - Constructor for class nachos.machine.ElevatorTest
Allocate a new ElevatorTest object.
ElevatorTicks - Static variable in class nachos.machine.Stats
The amount of simulated time required for an elevator to move a floor.
enable() - Method in class nachos.machine.Interrupt
Enable interrupts.
enable() - Method in class nachos.security.NachosSecurityManager
Install this security manager.
enabled() - Method in class nachos.machine.Interrupt
Tests whether interrupts are enabled.
enableDebugFlags(String) - Static method in class nachos.machine.Lib
Enable all the debug flags in flagsString.
enableGui() - Method in class nachos.machine.ElevatorBank
Create a GUI for this elevator bank.
enterElevator(int) - Method in interface nachos.machine.RiderControls
Enter an elevator.
entryPoint - Variable in class nachos.machine.Coff
The virtual address of the first instruction of the program.
event - Variable in class nachos.machine.ElevatorEvent
The event identifier.
event - Variable in class nachos.machine.RiderEvent
The event identifier.
eventDirectionChanged - Static variable in class nachos.machine.RiderEvent
An elevator's doors were open and its direction display changed.
eventDoorsClosed - Static variable in class nachos.machine.RiderEvent
An elevator's doors have closed.
eventDoorsOpened - Static variable in class nachos.machine.RiderEvent
An elevator's doors have opened.
eventDownButtonPressed - Static variable in class nachos.machine.ElevatorEvent
A down button was pressed.
eventElevatorArrived - Static variable in class nachos.machine.ElevatorEvent
An elevator has arrived and stopped at its destination floor.
eventFloorButtonPressed - Static variable in class nachos.machine.ElevatorEvent
A floor button was pressed inside an elevator.
eventRidersDone - Static variable in class nachos.machine.ElevatorEvent
All riders have finished; the elevator controller should terminate.
eventUpButtonPressed - Static variable in class nachos.machine.ElevatorEvent
An up button was pressed.
exceptionAddressError - Static variable in class nachos.machine.Processor
Caused by an access to a misaligned virtual address.
exceptionBusError - Static variable in class nachos.machine.Processor
Caused by an access to an invalid physical page.
exceptionHandler(Privilege) - Method in class nachos.ag.AutoGrader
Notify the autograder that a user program executed a syscall instruction.
exceptionHandler() - Method in class nachos.userprog.UserKernel
The exception handler.
exceptionIllegalInstruction - Static variable in class nachos.machine.Processor
Caused by an attempt to execute an illegal instruction.
exceptionNames - Static variable in class nachos.machine.Processor
The names of the CPU exceptions.
exceptionOverflow - Static variable in class nachos.machine.Processor
Caused by an overflow by a signed operation.
exceptionPageFault - Static variable in class nachos.machine.Processor
Caused by an access to an invalid virtual page.
exceptionReadOnly - Static variable in class nachos.machine.Processor
Caused by a write access to a read-only virtual page.
exceptionSyscall - Static variable in class nachos.machine.Processor
Caused by a syscall instruction.
exceptionTLBMiss - Static variable in class nachos.machine.Processor
Caused by an access to a virtual page not mapped by any TLB entry.
executable - Variable in class nachos.machine.CoffSection
True if this section contains code.
execute(String, String[]) - Method in class nachos.userprog.UserProcess
Execute the specified program with the specified arguments.
exit(int) - Method in class nachos.security.Privilege
Exit Nachos with the specified status.
exitElevator(int) - Method in interface nachos.machine.RiderControls
Exit the elevator.
extend(int, int, int) - Static method in class nachos.machine.Lib
Mask out and shift a bit substring; then sign extend the substring.
extract(int, int, int) - Static method in class nachos.machine.Lib
Mask out and shift a bit substring.
extract(long, int, int) - Static method in class nachos.machine.Lib
Mask out and shift a bit substring.

F

FileSystem - Interface in nachos.machine
A file system that allows the user to create, open, and delete files.
fileSystem - Static variable in class nachos.threads.ThreadedKernel
Globally accessible reference to the file system.
finish() - Method in interface nachos.machine.ElevatorControls
Call when the elevator controller is finished.
finish() - Method in interface nachos.machine.RiderControls
Call when the rider is finished.
finish() - Static method in class nachos.threads.KThread
Finish the current thread and schedule it to be destroyed when it is safe to do so.
finishingCurrentThread() - Method in class nachos.ag.AutoGrader
Notify the autograder that the current thread has finished.
firstVPN - Variable in class nachos.machine.CoffSection
The first virtual page number used by this section.
floor - Variable in class nachos.machine.ElevatorEvent
The floor pertaining to the event, or -1 if not applicable.
floor - Variable in class nachos.machine.RiderEvent
The floor pertaining to the event, or -1 if not applicable.
flushPipe() - Method in interface nachos.security.Privilege.ProcessorPrivilege
Flush the processor pipeline in preparation for switching to kernel mode.
fork() - Method in class nachos.threads.KThread
Causes this thread to begin execution.

G

getBoolean(String) - Static method in class nachos.machine.Config
Get the value of a boolean key in nachos.conf.
getBoolean(String, boolean) - Static method in class nachos.machine.Config
Get the value of a boolean key in nachos.conf, returning the specified default if the key does not exist.
getCoff() - Method in class nachos.machine.CoffSection
Return the COFF object used to load this executable instance.
getCommandLineArguments() - Static method in class nachos.machine.Machine
Return an array containing all command line arguments.
getDirectionDisplay(int) - Method in interface nachos.machine.RiderControls
Return the indicated direction of the specified elevator, set by ElevatorControls.setDirectionDisplay().
getDouble(String) - Static method in class nachos.machine.Config
Get the value of a double key in nachos.conf.
getDouble(String, double) - Static method in class nachos.machine.Config
Get the value of a double key in nachos.conf, returning the specified default if the key does not exist.
getEffectivePriority(KThread) - Method in class nachos.threads.PriorityScheduler
 
getEffectivePriority() - Method in class nachos.threads.PriorityScheduler.ThreadState
Return the effective priority of the associated thread.
getEffectivePriority(KThread) - Method in class nachos.threads.Scheduler
Get the effective priority of the specified thread.
getEffectivePriority() - Method in class nachos.threads.Scheduler
Get the effective priority of the current thread.
getEntryPoint() - Method in class nachos.machine.Coff
Return the program entry point.
getExceptionHandler() - Method in class nachos.machine.Processor
Get the exception handler, set by the last call to setExceptionHandler().
getFileSystem() - Method in class nachos.machine.OpenFile
Get the file system to which this file belongs.
getFirstVPN() - Method in class nachos.machine.CoffSection
Return the first virtual page number used by this section.
getFloor(int) - Method in interface nachos.machine.ElevatorControls
Return the current location of the elevator.
getFloor() - Method in interface nachos.machine.RiderControls
Return the current location of the rider.
getFloors() - Method in interface nachos.machine.RiderControls
Return an array specifying the sequence of floors at which this rider has successfully exited an elevator.
getInteger(String) - Static method in class nachos.machine.Config
Get the value of an integer key in nachos.conf.
getInteger(String, int) - Static method in class nachos.machine.Config
Get the value of an integer key in nachos.conf, returning the specified default if the key does not exist.
getLength() - Method in class nachos.machine.CoffSection
Return the length of this section in pages.
getLinkAddress() - Method in class nachos.machine.NetworkLink
Returns the address of this network link.
getMemory() - Method in class nachos.machine.Processor
Return a reference to the physical memory array.
getName() - Method in class nachos.machine.CoffSection
Return the name of this section.
getName() - Method in class nachos.machine.OpenFile
Get the name of this open file.
getName() - Method in class nachos.threads.KThread
Get the name of this thread.
getNextEvent() - Method in interface nachos.machine.ElevatorControls
Return the next event in the event queue.
getNextEvent() - Method in interface nachos.machine.RiderControls
Return the next event in the event queue.
getNumElevators() - Method in interface nachos.machine.ElevatorControls
Return the number of elevators in the elevator bank.
getNumElevators() - Method in interface nachos.machine.RiderControls
Return the number of elevators in the elevator bank.
getNumFloors() - Method in interface nachos.machine.ElevatorControls
Return the number of floors in the elevator bank.
getNumFloors() - Method in interface nachos.machine.RiderControls
Return the number of floors in the elevator bank.
getNumPhysPages() - Method in class nachos.machine.Processor
Return the number of pages of physical memory attached to this simulated processor.
getNumSections() - Method in class nachos.machine.Coff
Return the number of sections in the executable.
getPageTable() - Method in class nachos.machine.Processor
Get the current page table, set by the last call to setPageTable().
getPriority(KThread) - Method in class nachos.threads.PriorityScheduler
 
getPriority() - Method in class nachos.threads.PriorityScheduler.ThreadState
Return the priority of the associated thread.
getPriority(KThread) - Method in class nachos.threads.Scheduler
Get the priority of the specified thread.
getPriority() - Method in class nachos.threads.Scheduler
Get the priority of the current thread.
getPrivilege() - Method in class nachos.security.NachosSecurityManager
Return a privilege object for this security manager.
getProcessClassName() - Static method in class nachos.machine.Machine
Return the name of the process class that the kernel should use.
getSection(int) - Method in class nachos.machine.Coff
Return an object that can be used to access the specified section.
getShellProgramName() - Static method in class nachos.machine.Machine
Return the name of the shell program that a user-programming kernel must run.
getString(String) - Static method in class nachos.machine.Config
Get the value of a key in nachos.conf.
getString(String, String) - Static method in class nachos.machine.Config
Get the value of a key in nachos.conf, returning the specified default if the key does not exist.
getThreadGroup() - Method in class nachos.security.NachosSecurityManager
Called by the java.lang.Thread constructor to determine a thread group for a child thread of the current thread.
getThreadState(KThread) - Method in class nachos.threads.PriorityScheduler
Return the scheduling state of the specified thread.
getTime() - Method in class nachos.machine.Timer
Get the current time.
getTLBSize() - Method in class nachos.machine.Processor
Return the number of entries in this processor's TLB.
givePrivilege(Privilege) - Static method in class nachos.machine.TCB
Give the TCB class the necessary privilege to create threads.

H

halt() - Static method in class nachos.machine.Machine
Print stats, and terminate Nachos.
handleException(int) - Method in class nachos.userprog.UserProcess
Handle a user exception.
handleException(int) - Method in class nachos.vm.VMProcess
Handle a user exception.
handleSyscall(int, int, int, int, int) - Method in class nachos.network.NetProcess
Handle a syscall exception.
handleSyscall(int, int, int, int, int) - Method in class nachos.userprog.UserProcess
Handle a syscall exception.
hasTLB() - Method in class nachos.machine.Processor
Test whether this processor uses a software-managed TLB, or single-level paging.
headerLength - Static variable in class nachos.machine.CoffSection
The length of a COFF section header.
headerLength - Static variable in class nachos.machine.Packet
The number of bytes in a link-layer packet header.
headerLength - Static variable in class nachos.network.MailMessage
The number of bytes in a mail header.

I

in() - Method in class nachos.machine.StandardConsole
Attempt to read a byte from the object backing this console.
increasePriority() - Method in class nachos.threads.PriorityScheduler
 
increasePriority() - Method in class nachos.threads.Scheduler
If possible, raise the priority of the current thread in some scheduler-dependent way.
init(int, int, ElevatorControllerInterface) - Method in class nachos.machine.ElevatorBank
Initialize this elevator bank with the specified number of elevators and the specified number of floors.
initialize(ElevatorControls) - Method in interface nachos.machine.ElevatorControllerInterface
Initialize this elevator controller.
initialize(String[]) - Method in class nachos.machine.Kernel
Initialize this kernel.
initialize(RiderControls, int[]) - Method in interface nachos.machine.RiderInterface
Initialize this rider.
initialize(String[]) - Method in class nachos.network.NetKernel
Initialize this kernel.
initialize(ElevatorControls) - Method in class nachos.threads.ElevatorController
Initialize this elevator controller.
initialize(RiderControls, int[]) - Method in class nachos.threads.Rider
Initialize this rider.
initialize(String[]) - Method in class nachos.threads.ThreadedKernel
Initialize this kernel.
initialize(String[]) - Method in class nachos.userprog.UserKernel
Initialize this kernel.
initialize(String[]) - Method in class nachos.vm.VMKernel
Initialize this kernel.
initialized - Variable in class nachos.machine.CoffSection
True if this section contains initialized data.
initRegisters() - Method in class nachos.userprog.UserProcess
Initialize the processor's registers in preparation for running the program loaded into this process.
Interrupt - Class in nachos.machine
The Interrupt class emulates low-level interrupt hardware.
Interrupt(Privilege) - Constructor for class nachos.machine.Interrupt
Allocate a new interrupt controller.
interrupt() - Static method in class nachos.machine.Machine
Return the hardware interrupt manager.
interrupt - Variable in class nachos.security.Privilege
Provides access to some private Interrupt methods.
invokeExitNotificationHandlers() - Method in class nachos.security.Privilege
Invoke each exit() notification handler added by addExitNotificationHandler().
isHeldByCurrentThread() - Method in class nachos.threads.Lock
Test if the current thread holds this lock.
isInitialzed() - Method in class nachos.machine.CoffSection
Test whether this section is initialized.
isNachosThread() - Static method in class nachos.machine.TCB
Test if the current JVM thread belongs to a Nachos TCB.
isReadOnly() - Method in class nachos.machine.CoffSection
Test whether this section is read-only.

J

join() - Method in class nachos.threads.KThread
Waits for this thread to finish.

K

Kernel - Class in nachos.machine
An OS kernel.
Kernel() - Constructor for class nachos.machine.Kernel
Allocate a new kernel.
kernel - Static variable in class nachos.machine.Kernel
Globally accessible reference to the kernel.
KernelTick - Static variable in class nachos.machine.Stats
The amount to advance simulated time after each interrupt enable.
kernelTicks - Variable in class nachos.machine.Stats
The total amount of simulated time that Nachos has spent in kernel mode.
KThread - Class in nachos.threads
A KThread is a thread that can be used to execute Nachos kernel code.
KThread() - Constructor for class nachos.threads.KThread
Allocate a new KThread.
KThread(Runnable) - Constructor for class nachos.threads.KThread
Allocate a new KThread.

L

length() - Method in class nachos.machine.ArrayFile
 
length() - Method in class nachos.machine.OpenFile
Get the length of this file.
Lib - Class in nachos.machine
Provides miscellaneous library routines.
linkAddressLimit - Static variable in class nachos.machine.Packet
The upper limit on Nachos link addresses.
listen() - Method in class nachos.threads.Communicator
Wait for a thread to speak through this communicator, and then return the word that thread passed to speak().
load(String) - Static method in class nachos.machine.Config
Load configuration information from the specified file.
loadClass(String) - Static method in class nachos.machine.Lib
Load and return the named class, terminating Nachos on any error.
loadFile(OpenFile) - Static method in class nachos.machine.Lib
Load an entire file into memory.
loadPage(int, int) - Method in class nachos.machine.CoffSection
Load a page from this segment into physical memory.
loadSections() - Method in class nachos.userprog.UserProcess
Allocates memory for this process, and loads the COFF sections into memory.
loadSections() - Method in class nachos.vm.VMProcess
Initializes page tables for this process so that the executable can be demand-paged.
Lock - Class in nachos.threads
A Lock is a synchronization primitive that has two states, busy and free.
Lock() - Constructor for class nachos.threads.Lock
Allocate a new lock.
LotteryScheduler - Class in nachos.threads
A scheduler that chooses threads using a lottery.
LotteryScheduler() - Constructor for class nachos.threads.LotteryScheduler
Allocate a new lottery scheduler.

M

Machine - Class in nachos.machine
The master class of the simulated machine.
machine - Variable in class nachos.security.Privilege
Provides access to some private Machine methods.
MailMessage - Class in nachos.network
A mail message.
MailMessage(int, int, int, int, byte[]) - Constructor for class nachos.network.MailMessage
Allocate a new mail message to be sent, using the specified parameters.
MailMessage(Packet) - Constructor for class nachos.network.MailMessage
Allocate a new mail message using the specified packet from the network.
main(String[]) - Static method in class nachos.machine.Machine
Nachos main entry point.
makeAddress(int, int) - Static method in class nachos.machine.Processor
Concatenate a page number and an offset into an address.
MalformedPacketException - Exception in nachos.machine
Thrown when a malformed packet is processed.
MalformedPacketException() - Constructor for exception nachos.machine.MalformedPacketException
Allocate a new MalformedPacketException.
maxContentsLength - Static variable in class nachos.machine.Packet
The maximum number of content bytes (not including the header).
maxContentsLength - Static variable in class nachos.network.MailMessage
Maximum payload (real data) that can be included in a single mesage.
maxPacketLength - Static variable in class nachos.machine.Packet
The maximum length, in bytes, of a packet that can be sent or received on the network.
maxPages - Static variable in class nachos.machine.Processor
Number of pages in a 32-bit address space.
maxThreads - Static variable in class nachos.machine.TCB
The maximum number of started, non-destroyed TCB's that can be in existence.
moveTo(int, int) - Method in interface nachos.machine.ElevatorControls
Move an elevator to another floor.

N

nachos.ag - package nachos.ag
Provides classes that can be used to automatically grade Nachos projects.
nachos.machine - package nachos.machine
Provides classes that implement the Nachos simulated machine.
nachos.network - package nachos.network
Provides classes that allow Nachos processes to communicate over the network.
nachos.security - package nachos.security
Provides classes that can be used to protect the host system from malicious Nachos kernels.
nachos.threads - package nachos.threads
Provides classes that support a multithreaded kernel.
nachos.userprog - package nachos.userprog
Provides classes that allow Nachos to load and execute single-threaded user programs in separate address spaces.
nachos.vm - package nachos.vm
Provides classes that allow Nachos processes to be demand paged, and to use a hardware TLB for address translation.
NachosSecurityManager - Class in nachos.security
Protects the environment from malicious Nachos code.
NachosSecurityManager(File) - Constructor for class nachos.security.NachosSecurityManager
Allocate a new Nachos security manager.
name - Variable in class nachos.machine.CoffSection
The COFF name of this section.
NetKernel - Class in nachos.network
A kernel with network support.
NetKernel() - Constructor for class nachos.network.NetKernel
Allocate a new networking kernel.
NetProcess - Class in nachos.network
A VMProcess that supports networking syscalls.
NetProcess() - Constructor for class nachos.network.NetProcess
Allocate a new process.
networkID - Static variable in class nachos.machine.NetworkLink
The address of the network to which are attached all network links in this JVM.
networkLink() - Static method in class nachos.machine.Machine
Return the network link.
NetworkLink - Class in nachos.machine
A full-duplex network link.
NetworkLink(Privilege) - Constructor for class nachos.machine.NetworkLink
Allocate a new network link.
NetworkTime - Static variable in class nachos.machine.Stats
The amount of simulated time required for the network to handle a packet.
newThreadQueue(boolean) - Method in class nachos.threads.LotteryScheduler
Allocate a new lottery thread queue.
newThreadQueue(boolean) - Method in class nachos.threads.PriorityScheduler
Allocate a new priority thread queue.
newThreadQueue(boolean) - Method in class nachos.threads.RoundRobinScheduler
Allocate a new FIFO thread queue.
newThreadQueue(boolean) - Method in class nachos.threads.Scheduler
Allocate a new thread queue.
newUserProcess() - Static method in class nachos.userprog.UserProcess
Allocate and return a new process of the correct class.
nextThread() - Method in class nachos.threads.PriorityScheduler.PriorityQueue
 
nextThread() - Method in class nachos.threads.ThreadQueue
Notify this thread queue that another thread can receive access.
numConsoleReads - Variable in class nachos.machine.Stats
The total number of characters Nachos has read from the console.
numConsoleWrites - Variable in class nachos.machine.Stats
The total number of characters Nachos has written to the console.
numDiskReads - Variable in class nachos.machine.Stats
The total number of sectors Nachos has read from the simulated disk.
numDiskWrites - Variable in class nachos.machine.Stats
The total number of sectors Nachos has written to the simulated disk.
numPacketsReceived - Variable in class nachos.machine.Stats
The total number of packets Nachos has received from the network.
numPacketsSent - Variable in class nachos.machine.Stats
The total number of packets Nachos has sent to the network.
numPageFaults - Variable in class nachos.machine.Stats
The total number of page faults that have occurred.
numPages - Variable in class nachos.machine.CoffSection
The number of virtual pages in this section.
numPages - Variable in class nachos.userprog.UserProcess
The number of contiguous pages occupied by the program.
numTLBMisses - Variable in class nachos.machine.Stats
The total number of TLB misses that have occurred.
numUserRegisters - Static variable in class nachos.machine.Processor
The total number of software-accessible CPU registers.

O

offsetFromAddress(int) - Static method in class nachos.machine.Processor
Extract the offset component from an address.
open(String, boolean) - Method in interface nachos.machine.FileSystem
Atomically open a file, optionally creating it if it does not already exist.
open(String, boolean) - Method in class nachos.machine.StubFileSystem
 
openDoors(int) - Method in interface nachos.machine.ElevatorControls
Open an elevator's doors.
OpenFile - Class in nachos.machine
A file that supports reading, writing, and seeking.
OpenFile(FileSystem, String) - Constructor for class nachos.machine.OpenFile
Allocate a new OpenFile object with the specified name on the specified file system.
OpenFile() - Constructor for class nachos.machine.OpenFile
Allocate a new unnamed OpenFile that is not associated with any file system.
OpenFileWithPosition - Class in nachos.machine
An OpenFile that maintains a current file position.
OpenFileWithPosition(FileSystem, String) - Constructor for class nachos.machine.OpenFileWithPosition
Allocate a new OpenFileWithPosition with the specified name on the specified file system.
OpenFileWithPosition() - Constructor for class nachos.machine.OpenFileWithPosition
Allocate a new unnamed OpenFileWithPosition that is not associated with any file system.
openForReading() - Method in class nachos.userprog.SynchConsole
Return an OpenFile that can be used to read this as a file.
openForWriting() - Method in class nachos.userprog.SynchConsole
Return an OpenFile that can be used to write this as a file.
out(int) - Method in class nachos.machine.StandardConsole
Write a byte to the object backing this console.

P

P() - Method in class nachos.threads.Semaphore
Atomically wait for this semaphore to become non-zero and decrement it.
Packet - Class in nachos.machine
A link-layer packet.
Packet(int, int, byte[]) - Constructor for class nachos.machine.Packet
Allocate a new packet to be sent, using the specified parameters.
Packet(byte[]) - Constructor for class nachos.machine.Packet
Allocate a new packet using the specified array of bytes received from the network.
packet - Variable in class nachos.network.MailMessage
This message, as a packet that can be sent through a network link.
packetBytes - Variable in class nachos.machine.Packet
This packet, as an array of bytes that can be sent on a network.
pageFromAddress(int) - Static method in class nachos.machine.Processor
Extract the page number component from a 32-bit address.
pageSize - Static variable in class nachos.machine.Processor
Size of a page, in bytes.
pageTable - Variable in class nachos.userprog.UserProcess
This process's page table.
pickNextThread() - Method in class nachos.threads.PriorityScheduler.PriorityQueue
Return the next thread that nextThread() would return, without modifying the state of this queue.
portLimit - Static variable in class nachos.network.MailMessage
The upper limit on mail ports.
position - Variable in class nachos.machine.OpenFileWithPosition
The current value of the file pointer.
PostOffice - Class in nachos.network
A collection of message queues, one for each local port.
PostOffice() - Constructor for class nachos.network.PostOffice
Allocate a new post office, using an array of SynchLists.
ppn - Variable in class nachos.machine.TranslationEntry
The physical page number.
pressDirectionButton(boolean) - Method in interface nachos.machine.RiderControls
Press a direction button.
pressDownButton() - Method in interface nachos.machine.RiderControls
Press the down button.
pressFloorButton(int) - Method in interface nachos.machine.RiderControls
Press a floor button.
pressUpButton() - Method in interface nachos.machine.RiderControls
Press the up button.
print() - Method in class nachos.machine.Stats
Print out the statistics in this object.
print() - Method in class nachos.threads.PriorityScheduler.PriorityQueue
 
print() - Method in class nachos.threads.ThreadQueue
Print out all the threads waiting for access, in no particular order.
priority - Variable in class nachos.threads.PriorityScheduler.ThreadState
The priority of the associated thread.
priorityDefault - Static variable in class nachos.threads.PriorityScheduler
The default priority for a new thread.
priorityMaximum - Static variable in class nachos.threads.PriorityScheduler
The maximum priority that a thread can have.
priorityMinimum - Static variable in class nachos.threads.PriorityScheduler
The minimum priority that a thread can have.
PriorityScheduler - Class in nachos.threads
A scheduler that chooses threads based on their priorities.
PriorityScheduler() - Constructor for class nachos.threads.PriorityScheduler
Allocate a new priority scheduler.
PriorityScheduler.PriorityQueue - Class in nachos.threads
A ThreadQueue that sorts threads by priority.
PriorityScheduler.ThreadState - Class in nachos.threads
The scheduling state of a thread.
PriorityScheduler.ThreadState(KThread) - Constructor for class nachos.threads.PriorityScheduler.ThreadState
Allocate a new ThreadState object and associate it with the specified thread.
Privilege - Class in nachos.security
A capability that allows privileged access to the Nachos machine.
Privilege() - Constructor for class nachos.security.Privilege
Allocate a new Privilege object.
Privilege.InterruptPrivilege - Interface in nachos.security
An interface that provides access to some private Interrupt methods.
Privilege.MachinePrivilege - Interface in nachos.security
An interface that provides access to some private Machine methods.
Privilege.ProcessorPrivilege - Interface in nachos.security
An interface that provides access to some private Processor methods.
Privilege.TCBPrivilege - Interface in nachos.security
An interface that provides access to some private TCB methods.
process - Variable in class nachos.userprog.UThread
The process to which this thread belongs.
processor() - Static method in class nachos.machine.Machine
Return the MIPS processor.
Processor - Class in nachos.machine
The Processor class simulates a MIPS processor that supports a subset of the R3000 instruction set.
Processor(Privilege, int) - Constructor for class nachos.machine.Processor
Allocate a new MIPS processor, with the specified amount of memory.
processor - Variable in class nachos.security.Privilege
Provides access to some private Processor methods.

R

random(int) - Static method in class nachos.machine.Lib
Return a random integer between 0 and range - 1.
random() - Static method in class nachos.machine.Lib
Return a random double between 0.0 (inclusive) and 1.0 (exclusive).
read(int, byte[], int, int) - Method in class nachos.machine.ArrayFile
 
read(int, byte[], int, int) - Method in class nachos.machine.OpenFile
Read this file starting at the specified position and return the number of bytes successfully read.
read(byte[], int, int) - Method in class nachos.machine.OpenFile
Read this file starting at the current file pointer and return the number of bytes successfully read.
read(byte[], int, int) - Method in class nachos.machine.OpenFileWithPosition
 
readByte() - Method in interface nachos.machine.SerialConsole
Return the next unsigned byte received (in the range 0 through 255).
readByte() - Method in class nachos.machine.StandardConsole
 
readByte(boolean) - Method in class nachos.userprog.SynchConsole
Return the next unsigned byte received (in the range 0 through 255).
readOnly - Variable in class nachos.machine.CoffSection
True if this section is read-only.
readOnly - Variable in class nachos.machine.TranslationEntry
If this flag is true, the user pprogram is not allowed to modify the contents of this virtual page.
readRegister(int) - Method in class nachos.machine.Processor
Read and return the contents of the specified CPU register.
readTLBEntry(int) - Method in class nachos.machine.Processor
Returns the specified TLB entry.
readVirtualMemory(int, byte[]) - Method in class nachos.userprog.UserProcess
Transfer data from this process's virtual memory to all of the specified array.
readVirtualMemory(int, byte[], int, int) - Method in class nachos.userprog.UserProcess
Transfer data from this process's virtual memory to the specified array.
readVirtualMemoryString(int, int) - Method in class nachos.userprog.UserProcess
Read a null-terminated string from this process's virtual memory.
ready() - Method in class nachos.threads.KThread
Moves this thread to the ready state and adds this to the scheduler's ready queue.
readyThread(KThread) - Method in class nachos.ag.AutoGrader
Notify the autograder that the specified thread has moved to the ready state.
receive() - Method in class nachos.machine.NetworkLink
Return the next packet received.
receive(int) - Method in class nachos.network.PostOffice
Retrieve a message on the specified port, waiting if necessary.
regA0 - Static variable in class nachos.machine.Processor
Index of argument register 0.
regA1 - Static variable in class nachos.machine.Processor
Index of argument register 1.
regA2 - Static variable in class nachos.machine.Processor
Index of argument register 2.
regA3 - Static variable in class nachos.machine.Processor
Index of argument register 3.
regBadVAddr - Static variable in class nachos.machine.Processor
Index of the exception bad virtual address register.
regCause - Static variable in class nachos.machine.Processor
Index of the exception cause register.
regHi - Static variable in class nachos.machine.Processor
Index of the high register, used for multiplication and division.
regLo - Static variable in class nachos.machine.Processor
Index of the low register, used for multiplication and division.
regNextPC - Static variable in class nachos.machine.Processor
Index of the next program counter register.
regPC - Static variable in class nachos.machine.Processor
Index of the program counter register.
regRA - Static variable in class nachos.machine.Processor
Index of the return address register.
regSP - Static variable in class nachos.machine.Processor
Index of the stack pointer register.
regV0 - Static variable in class nachos.machine.Processor
Index of return value register 0.
regV1 - Static variable in class nachos.machine.Processor
Index of return value register 1.
release() - Method in class nachos.threads.Lock
Atomically release this lock, allowing other threads to acquire it.
remove(String) - Method in interface nachos.machine.FileSystem
Atomically remove an existing file.
remove(String) - Method in class nachos.machine.StubFileSystem
 
removeFirst() - Method in class nachos.threads.SynchList
Remove an object from the front of the queue, blocking until the queue is non-empty if necessary.
restore(boolean) - Method in class nachos.machine.Interrupt
Restore interrupts to the specified status.
restoreState() - Method in class nachos.threads.KThread
Prepare this thread to be run.
restoreState() - Method in class nachos.userprog.UserProcess
Restore the state of this process after a context switch.
restoreState() - Method in class nachos.userprog.UThread
Restore state before receiving the processor again.
restoreState() - Method in class nachos.vm.VMProcess
Restore the state of this process after a context switch.
Rider - Class in nachos.threads
A single rider.
Rider() - Constructor for class nachos.threads.Rider
Allocate a new rider.
RiderControls - Interface in nachos.machine
A set of controls that can be used by a rider controller.
RiderEvent - Class in nachos.machine
An event that affects rider software.
RiderEvent(int, int, int, int) - Constructor for class nachos.machine.RiderEvent
 
RiderInterface - Interface in nachos.machine
A single rider.
RotationTime - Static variable in class nachos.machine.Stats
The amount of simulated time required to rotate the disk 360 degrees.
RoundRobinScheduler - Class in nachos.threads
A round-robin scheduler tracks waiting threads in FIFO queues, implemented with linked lists.
RoundRobinScheduler() - Constructor for class nachos.threads.RoundRobinScheduler
Allocate a new round-robin scheduler.
run() - Method in class nachos.machine.ElevatorBank
Run a simulation.
run() - Method in interface nachos.machine.ElevatorControllerInterface
Cause the controller to use the provided controls to receive and process requests from riders.
run() - Method in class nachos.machine.ElevatorTest
Run a test on Machine.bank().
run() - Method in class nachos.machine.Kernel
Begin executing user programs, if applicable.
run() - Method in class nachos.machine.Processor
Start executing instructions at the current PC.
run() - Method in interface nachos.machine.RiderInterface
Cause the rider to use the provided controls to make the stops specified in the constructor.
run() - Method in class nachos.network.NetKernel
Start running user programs.
run() - Method in class nachos.threads.ElevatorController
Cause the controller to use the provided controls to receive and process requests from riders.
run() - Method in class nachos.threads.Rider
Cause the rider to use the provided controls to make the stops specified in the constructor.
run() - Method in class nachos.threads.ThreadedKernel
A threaded kernel does not run user programs, so this method does nothing.
run() - Method in class nachos.userprog.UserKernel
Start running user programs, by creating a process and running a shell program in it.
run() - Method in class nachos.vm.VMKernel
Start running user programs.
runningThread(KThread) - Method in class nachos.ag.AutoGrader
Notify the autograder that the specified thread is now running.
runProcessor(Privilege) - Method in class nachos.ag.AutoGrader
Notify the autograder that Processor.run() was invoked.

S

saveState() - Method in class nachos.threads.KThread
Prepare this thread to give up the processor.
saveState() - Method in class nachos.userprog.UserProcess
Save the state of this process in preparation for a context switch.
saveState() - Method in class nachos.userprog.UThread
Save state before giving up the processor to another thread.
saveState() - Method in class nachos.vm.VMProcess
Save the state of this process in preparation for a context switch.
schedule(long, String, Runnable) - Method in interface nachos.security.Privilege.InterruptPrivilege
Schedule an interrupt to occur at some time in the future.
Scheduler - Class in nachos.threads
Coordinates a group of thread queues of the same kind.
Scheduler() - Constructor for class nachos.threads.Scheduler
Allocate a new scheduler.
scheduler - Static variable in class nachos.threads.ThreadedKernel
Globally accessible reference to the scheduler.
schedulingState - Variable in class nachos.threads.KThread
Additional state used by schedulers.
sections - Variable in class nachos.machine.Coff
The sections in this COFF executable.
seedRandom(long) - Static method in class nachos.machine.Lib
Seed the random number generater.
seek(int) - Method in class nachos.machine.OpenFile
Set the value of the current file pointer.
seek(int) - Method in class nachos.machine.OpenFileWithPosition
 
SeekTime - Static variable in class nachos.machine.Stats
The amount of simulated time required for the disk to seek.
selfTest() - Static method in class nachos.machine.ElevatorBank
Tests whether this module is working.
selfTest() - Method in class nachos.machine.Kernel
Test that this module works.
selfTest() - Method in class nachos.network.NetKernel
Test the network.
selfTest() - Static method in class nachos.threads.Boat
 
selfTest() - Static method in class nachos.threads.KThread
Tests whether this module is working.
selfTest() - Static method in class nachos.threads.Semaphore
Test if this module is working.
selfTest() - Static method in class nachos.threads.SynchList
Test that this module is working.
selfTest() - Method in class nachos.threads.ThreadedKernel
Test this kernel.
selfTest() - Method in class nachos.userprog.UserKernel
Test the console device.
selfTest() - Method in class nachos.vm.VMKernel
Test this kernel.
Semaphore - Class in nachos.threads
A Semaphore is a synchronization primitive with an unsigned value.
Semaphore(int) - Constructor for class nachos.threads.Semaphore
Allocate a new semaphore.
send(Packet) - Method in class nachos.machine.NetworkLink
Send another packet.
send(MailMessage) - Method in class nachos.network.PostOffice
Send a message to a mailbox on a remote machine.
SerialConsole - Interface in nachos.machine
A serial console can be used to send and receive characters.
setConsole(SerialConsole) - Method in interface nachos.security.Privilege.MachinePrivilege
Install a hardware console.
setDirectionDisplay(int, int) - Method in interface nachos.machine.ElevatorControls
Set which direction the elevator bank will show for this elevator's display.
setExceptionHandler(Runnable) - Method in class nachos.machine.Processor
Set the exception handler, called whenever a user exception occurs.
setIdleThread(KThread) - Method in class nachos.ag.AutoGrader
Notify the autograder that the specified thread is the idle thread.
setInterruptHandler(Runnable) - Method in interface nachos.machine.ElevatorControls
Set the elevator interrupt handler.
setInterruptHandler(Runnable) - Method in interface nachos.machine.RiderControls
Set the rider's interrupt handler.
setInterruptHandler(Runnable) - Method in class nachos.machine.Timer
Set the callback to use as a timer interrupt handler.
setInterruptHandlers(Runnable, Runnable) - Method in class nachos.machine.NetworkLink
Set this link's receive and send interrupt handlers.
setInterruptHandlers(Runnable, Runnable) - Method in interface nachos.machine.SerialConsole
Set this console's receive and send interrupt handlers.
setInterruptHandlers(Runnable, Runnable) - Method in class nachos.machine.StandardConsole
 
setName(String) - Method in class nachos.threads.KThread
Set the name of this thread.
setPageTable(TranslationEntry[]) - Method in class nachos.machine.Processor
Set the page table pointer.
setPriority(KThread, int) - Method in class nachos.threads.PriorityScheduler
 
setPriority(int) - Method in class nachos.threads.PriorityScheduler.ThreadState
Set the priority of the associated thread to the specified value.
setPriority(KThread, int) - Method in class nachos.threads.Scheduler
Set the priority of the specified thread.
setPriority(int) - Method in class nachos.threads.Scheduler
Set the priority of the current thread.
setStatus(boolean) - Method in class nachos.machine.Interrupt
Set the interrupt status to be enabled (true) or disabled (false) and return the previous status.
setTarget(Runnable) - Method in class nachos.threads.KThread
Set the target of this thread.
sleep() - Method in class nachos.threads.Condition
Atomically release the associated lock and go to sleep on this condition variable until another thread wakes it using wake().
sleep() - Method in class nachos.threads.Condition2
Atomically release the associated lock and go to sleep on this condition variable until another thread wakes it using wake().
sleep() - Static method in class nachos.threads.KThread
Relinquish the CPU, because the current thread has either finished or it is blocked.
speak(int) - Method in class nachos.threads.Communicator
Wait for a thread to listen through this communicator, and then transfer word to the listener.
srcLink - Variable in class nachos.machine.Packet
The address of the source link of this packet.
srcPort - Variable in class nachos.network.MailMessage
The port used by this message on the source machine.
stackPages - Variable in class nachos.userprog.UserProcess
The number of pages in the program's stack.
StandardConsole - Class in nachos.machine
A text-based console that uses System.in and System.out.
StandardConsole(Privilege) - Constructor for class nachos.machine.StandardConsole
Allocate a new standard console.
start(Privilege) - Method in class nachos.ag.AutoGrader
Start this autograder.
start(Runnable) - Method in class nachos.machine.TCB
Causes the thread represented by this TCB to begin execution.
Stats - Class in nachos.machine
An object that maintains Nachos runtime statistics.
Stats() - Constructor for class nachos.machine.Stats
Allocate a new statistics object.
stats - Variable in class nachos.security.Privilege
Nachos runtime statistics.
strictReadFile(OpenFile, int, byte[], int, int) - Static method in class nachos.machine.Lib
Read a file, verifying that the requested number of bytes is read, and verifying that the read operation took a non-zero amount of time.
stubFileSystem() - Static method in class nachos.machine.Machine
Return the stub filesystem.
StubFileSystem - Class in nachos.machine
This class implements a file system that redirects all requests to the host operating system's file system.
StubFileSystem(Privilege, File) - Constructor for class nachos.machine.StubFileSystem
Allocate a new stub file system.
SynchConsole - Class in nachos.userprog
Provides a simple, synchronized interface to the machine's console.
SynchConsole(SerialConsole) - Constructor for class nachos.userprog.SynchConsole
Allocate a new SynchConsole.
SynchList - Class in nachos.threads
A synchronized queue.
SynchList() - Constructor for class nachos.threads.SynchList
Allocate a new synchronized queue.

T

TCB - Class in nachos.machine
A TCB simulates the low-level details necessary to create, context-switch, and destroy Nachos threads.
TCB() - Constructor for class nachos.machine.TCB
Allocate a new TCB.
tcb - Variable in class nachos.security.Privilege
Provides access to some private TCB methods.
tell() - Method in class nachos.machine.OpenFile
Get the value of the current file pointer, or -1 if this file has no pointer.
tell() - Method in class nachos.machine.OpenFileWithPosition
 
terminate() - Method in class nachos.machine.Kernel
Terminate this kernel.
terminate() - Static method in class nachos.machine.Machine
Terminate Nachos.
terminate(Throwable) - Static method in class nachos.machine.Machine
Terminate Nachos as the result of an unhandled exception or error.
terminate() - Method in class nachos.network.NetKernel
Terminate this kernel.
terminate() - Method in class nachos.threads.ThreadedKernel
Terminate this kernel.
terminate() - Method in class nachos.userprog.UserKernel
Terminate this kernel.
terminate() - Method in class nachos.vm.VMKernel
Terminate this kernel.
test(char) - Static method in class nachos.machine.Lib
Tests if flag was enabled on the command line.
test(long, long) - Static method in class nachos.machine.Lib
Test if a bit is set in a bit string.
thread - Variable in class nachos.threads.PriorityScheduler.ThreadState
The thread with which this object is associated.
ThreadedKernel - Class in nachos.threads
A multi-threaded OS kernel.
ThreadedKernel() - Constructor for class nachos.threads.ThreadedKernel
Allocate a new multi-threaded kernel.
ThreadQueue - Class in nachos.threads
Schedules access to some sort of resource with limited access constraints.
ThreadQueue() - Constructor for class nachos.threads.ThreadQueue
 
tick(boolean) - Method in interface nachos.security.Privilege.InterruptPrivilege
Advance the simulated time.
timeDoorsOpen - Static variable in interface nachos.machine.ElevatorControllerInterface
The number of ticks doors should be held open before closing them.
timer() - Static method in class nachos.machine.Machine
Return the hardware timer.
Timer - Class in nachos.machine
A hardware timer generates a CPU timer interrupt approximately every 500 clock ticks.
Timer(Privilege) - Constructor for class nachos.machine.Timer
Allocate a new timer.
timerInterrupt(Privilege, long) - Method in class nachos.ag.AutoGrader
Notify the autograder that a timer interrupt occurred and was handled by software if a timer interrupt handler was installed.
timerInterrupt() - Method in class nachos.threads.Alarm
The timer interrupt handler.
TimerTicks - Static variable in class nachos.machine.Stats
The mean amount of simulated time between timer interrupts.
toHexString(int) - Static method in class nachos.machine.Lib
Creates a padded upper-case string representation of the integer argument in base 16.
toHexString(int, int) - Static method in class nachos.machine.Lib
Creates a padded upper-case string representation of the integer argument in base 16, padding to at most the specified number of digits.
toString() - Method in class nachos.network.MailMessage
Return a string representation of the message headers.
toString() - Method in class nachos.threads.KThread
Get the full name of this thread.
totalTicks - Variable in class nachos.machine.Stats
The total amount of simulated time that has passed since Nachos started.
transferPriority - Variable in class nachos.threads.PriorityScheduler.PriorityQueue
true if this queue should transfer priority from waiting threads to the owning thread.
TranslationEntry - Class in nachos.machine
A single translation between a virtual page and a physical page.
TranslationEntry() - Constructor for class nachos.machine.TranslationEntry
Allocate a new invalid translation entry.
TranslationEntry(int, int, boolean, boolean, boolean, boolean) - Constructor for class nachos.machine.TranslationEntry
Allocate a new translation entry with the specified initial state.
TranslationEntry(TranslationEntry) - Constructor for class nachos.machine.TranslationEntry
Allocate a new translation entry, copying the contents of an existing one.
tryLoadClass(String) - Static method in class nachos.machine.Lib
Load and return the named class, or return null if the class could not be loaded.

U

unloadSections() - Method in class nachos.userprog.UserProcess
Release any resources allocated by loadSections().
unloadSections() - Method in class nachos.vm.VMProcess
Release any resources allocated by loadSections().
used - Variable in class nachos.machine.TranslationEntry
This flag is set to true every time the page is read or written by a user program.
UserKernel - Class in nachos.userprog
A kernel that can support multiple user processes.
UserKernel() - Constructor for class nachos.userprog.UserKernel
Allocate a new user kernel.
UserProcess - Class in nachos.userprog
Encapsulates the state of a user process that is not contained in its user thread (or threads).
UserProcess() - Constructor for class nachos.userprog.UserProcess
Allocate a new process.
userRegisters - Variable in class nachos.userprog.UThread
Storage for the user register set.
UserTick - Static variable in class nachos.machine.Stats
The amount to advance simulated time after each user instructions is executed.
userTicks - Variable in class nachos.machine.Stats
The total amount of simulated time that Nachos has spent in user mode.
UThread - Class in nachos.userprog
A UThread is KThread that can execute user program code inside a user process, in addition to Nachos kernel code.
UThread(UserProcess) - Constructor for class nachos.userprog.UThread
Allocate a new UThread.

V

V() - Method in class nachos.threads.Semaphore
Atomically increment this semaphore and wake up at most one other thread sleeping on this semaphore.
valid - Variable in class nachos.machine.TranslationEntry
If this flag is false, this translation entry is ignored.
verifyPrivilege() - Method in class nachos.security.NachosSecurityManager
Verify that the caller is privileged.
verifyPrivilege(Permission) - Method in class nachos.security.NachosSecurityManager
Verify that the caller is privileged, so as to check the specified permission.
VMKernel - Class in nachos.vm
A kernel that can support multiple demand-paging user processes.
VMKernel() - Constructor for class nachos.vm.VMKernel
Allocate a new VM kernel.
VMProcess - Class in nachos.vm
A UserProcess that supports demand-paging.
VMProcess() - Constructor for class nachos.vm.VMProcess
Allocate a new process.
vpn - Variable in class nachos.machine.TranslationEntry
The virtual page number.

W

waitForAccess(KThread) - Method in class nachos.threads.PriorityScheduler.PriorityQueue
 
waitForAccess(PriorityScheduler.PriorityQueue) - Method in class nachos.threads.PriorityScheduler.ThreadState
Called when waitForAccess(thread) (where thread is the associated thread) is invoked on the specified priority queue.
waitForAccess(KThread) - Method in class nachos.threads.ThreadQueue
Notify this thread queue that the specified thread is waiting for access.
waitUntil(long) - Method in class nachos.threads.Alarm
Put the current thread to sleep for at least x ticks, waking it up in the timer interrupt handler.
wake() - Method in class nachos.threads.Condition
Wake up at most one thread sleeping on this condition variable.
wake() - Method in class nachos.threads.Condition2
Wake up at most one thread sleeping on this condition variable.
wakeAll() - Method in class nachos.threads.Condition
Wake up all threads sleeping on this condition variable.
wakeAll() - Method in class nachos.threads.Condition2
Wake up all threads sleeping on this condition variable.
write(int, byte[], int, int) - Method in class nachos.machine.ArrayFile
 
write(int, byte[], int, int) - Method in class nachos.machine.OpenFile
Write this file starting at the specified position and return the number of bytes successfully written.
write(byte[], int, int) - Method in class nachos.machine.OpenFile
Write this file starting at the current file pointer and return the number of bytes successfully written.
write(byte[], int, int) - Method in class nachos.machine.OpenFileWithPosition
 
writeByte(int) - Method in interface nachos.machine.SerialConsole
Send another byte.
writeByte(int) - Method in class nachos.machine.StandardConsole
 
writeByte(int) - Method in class nachos.userprog.SynchConsole
Send a byte.
writeRegister(int, int) - Method in class nachos.machine.Processor
Write the specified value into the specified CPU register.
writeTLBEntry(int, TranslationEntry) - Method in class nachos.machine.Processor
Fill the specified TLB entry.
writeVirtualMemory(int, byte[]) - Method in class nachos.userprog.UserProcess
Transfer all data from the specified array to this process's virtual memory.
writeVirtualMemory(int, byte[], int, int) - Method in class nachos.userprog.UserProcess
Transfer data from the specified array to this process's virtual memory.

Y

yield() - Static method in class nachos.machine.Machine
Yield to non-Nachos threads.
yield() - Static method in class nachos.threads.KThread
Relinquish the CPU if any other thread is ready to run.

A B C D E F G H I J K L M N O P R S T U V W Y