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

A

acquire() - Method in class nachos.kernel.threads.Lock
Wait until the lock is "free", then set the lock to "busy".
add(String, int) - Method in class nachos.kernel.filesys.Directory
Add a file into the directory.
AddrSpace - Class in nachos.kernel.userprog
This class manages "address spaces", which are the contexts in which user programs execute.
AddrSpace() - Constructor for class nachos.kernel.userprog.AddrSpace
Create a new address space.
AlarmTest - Class in nachos.kernel.threads.test
This class demonstrates the use of timers.
AlarmTest(int) - Constructor for class nachos.kernel.threads.test.AlarmTest
Initialize a handler for a timer instance.
allocate(BitMap, int) - Method in class nachos.kernel.filesys.FileHeader
Initialize a fresh file header for a newly created file.
append(Object) - Method in class nachos.kernel.threads.List
Append an "item" to the end of the list.
append(Object) - Method in class nachos.kernel.threads.SynchList
Append an "item" to the end of the list.
args - Static variable in class nachos.kernel.Nachos
Array containing the command-line arguments passed to main().
argsC - Static variable in class nachos.kernel.threads.test.ThreadTest
Collection containing the command-line arguments.
ASSERT(boolean) - Static method in class nachos.Debug
Equivalent of the C++ Nachos ASSERT macro.
ASSERT(boolean, String) - Static method in class nachos.Debug
An optional form of ASSERT which allows us to print our own message.
await() - Method in class nachos.kernel.threads.Condition
Wait on a condition until signalled.

B

BitMap - Class in nachos.kernel.filesys
This class defines a "bitmap" -- an array of bits, each of which can be independently set, cleared, and tested.
BitMap(int) - Constructor for class nachos.kernel.filesys.BitMap
Initialize a bitmap with "nitems" bits, so that every bit is clear.
BitsInByte - Static variable in class nachos.kernel.filesys.BitMap
Number of bits in a byte.
BitsInWord - Static variable in class nachos.kernel.filesys.BitMap
Number of bytes in an integer.
BLOCKING_FILESYS - Static variable in class nachos.kernel.filesys.FileSystemStub
Do filesystem operations cause the calling thread to block waiting for the operation to complete? Blocking is simulated by calling Scheduler.yield; more realistically, the thread would wait for an interrupt to inform it that the operation is complete.
BLOCKING_FILESYS - Static variable in class nachos.kernel.filesys.OpenFileStub
Do file operations cause the calling thread to block waiting for the operation to complete? Blocking is simulated by calling Scheduler.yield; more realistically, the thread would wait for an interrupt to inform it that the operation is complete.
BlockSize - Static variable in class nachos.kernel.filesys.Message
The size of data blocks used in the distributed filesystem.
broadcast() - Method in class nachos.kernel.threads.Condition
Wake up all threads waiting on the condition.
byteCmp(byte[], byte[], int) - Static method in class nachos.kernel.filesys.test.FileSystemTest
Compare two byte arrays to see if they agree up to a specified length.
byteToSector(int) - Method in class nachos.kernel.filesys.FileHeader
Calculate which disk sector is storing a particular byte within the file.

C

C - Variable in class nachos.kernel.threads.Queue
Maximum capacity of the queue.
checkMagic(OpenFile) - Static method in class nachos.kernel.userprog.NoffHeader
Read a word from a file and check that it matches noffMagic.
clear(int) - Method in class nachos.kernel.filesys.BitMap
Clear the "nth" bit in a bitmap.
close() - Method in interface nachos.kernel.filesys.OpenFile
Close the file, releasing any resources held in kernel memory.
close() - Method in class nachos.kernel.filesys.OpenFileReal
Close the file, releasing any resources held in kernel memory.
close() - Method in class nachos.kernel.filesys.OpenFileStub
Close the file, releasing any resources held in kernel memory.
close(int) - Static method in class nachos.kernel.userprog.Syscall
Close the file, we're done reading and writing to it.
CloseReq - Static variable in class nachos.kernel.filesys.Message
A type of DFS message, used as a value of field msgType.
code - Variable in class nachos.kernel.userprog.NoffHeader
Information about the executable code segment.
Condition - Class in nachos.kernel.threads
This class defines a "condition variable".
Condition(String, Lock) - Constructor for class nachos.kernel.threads.Condition
Initialize a new condition variable.
conditionLock - Variable in class nachos.kernel.threads.Condition
The lock associated with this condition.
console - Static variable in class nachos.kernel.devices.test.ConsoleTest
Instance of the console device being tested.
ConsoleInput - Static variable in class nachos.kernel.userprog.Syscall
OpenFileId used for input from the keyboard.
ConsoleOutput - Static variable in class nachos.kernel.userprog.Syscall
OpenFileId used for output to the display.
ConsoleTest - Class in nachos.kernel.devices.test
Class for testing the Console hardware device.
ConsoleTest() - Constructor for class nachos.kernel.devices.test.ConsoleTest
 
ConsoleTest.ConsHandler - Class in nachos.kernel.devices.test
Console interrupt handler class.
ConsoleTest.ConsHandler(Semaphore) - Constructor for class nachos.kernel.devices.test.ConsoleTest.ConsHandler
Initialize a handler with a given semaphore to use to wake up the requesting thread when the I/O is complete.
Contents - Static variable in class nachos.kernel.filesys.test.FileSystemTest
Bytes in the test data.
ContentSize - Static variable in class nachos.kernel.filesys.test.FileSystemTest
Length of the test data.
ContentString - Static variable in class nachos.kernel.filesys.test.FileSystemTest
Test data to be written to the file in the performance test.
convertByte(byte) - Static method in class nachos.kernel.userprog.NoffHeader
Take bytes read from the file and interpret them as unsigned rather than signed values.
convertWord(byte[]) - Static method in class nachos.kernel.userprog.NoffHeader
Take four bytes read from the file and assemble them into an unsigned integer.
copy(String, String) - Static method in class nachos.kernel.filesys.test.FileSystemTest
Copy the contents of the host file "from" to the Nachos file "to"
copyright - Static variable in class nachos.kernel.Nachos
 
create(String, long) - Method in class nachos.kernel.filesys.FileSystem
Create a new file with a specified name and size.
create(String, long) - Method in class nachos.kernel.filesys.FileSystemReal
Create a file in the Nachos file system (similar to UNIX create).
create(String, long) - Method in class nachos.kernel.filesys.FileSystemStub
Create a new file with a specified name and size.
create(String) - Static method in class nachos.kernel.userprog.Syscall
Create a Nachos file with a specified name.
CreateReq - Static variable in class nachos.kernel.filesys.Message
A type of DFS message, used as a value of field msgType.
currentOffset - Variable in class nachos.kernel.filesys.OpenFileStub
The current file position.
currentThread - Static variable in class nachos.kernel.threads.Scheduler
The currently running thread, or null, if none.
currentThread() - Static method in class nachos.kernel.threads.Scheduler
Accessor method for accessing the current thread.

D

data - Variable in class nachos.kernel.filesys.Message
The file data to write or read.
dataSectors - Variable in class nachos.kernel.filesys.FileHeader
Disk sector numbers for each data block in the file.
deallocate(BitMap) - Method in class nachos.kernel.filesys.FileHeader
De-allocate all the space allocated for data blocks for this file.
Debug - Class in nachos
This class contains debugging methods for generating user-selectable debugging printout and for placing assertions in the code that terminate execution and print debugging messages when they fail.
Debug() - Constructor for class nachos.Debug
 
Debug.AssertException - Exception in nachos
Exception used to terminate Nachos when an assertion fails.
Debug.AssertException() - Constructor for exception nachos.Debug.AssertException
An AssertException with a generic message.
Debug.AssertException(String) - Constructor for exception nachos.Debug.AssertException
An AssertException with a user-specified message.
Directory - Class in nachos.kernel.filesys
This class class defines a UNIX-like "directory".
Directory(int) - Constructor for class nachos.kernel.filesys.Directory
Initialize a directory; initially, the directory is completely empty.
DirectoryEntry - Class in nachos.kernel.filesys
This class defines a "directory entry", representing a file in the directory.
DirectoryEntry() - Constructor for class nachos.kernel.filesys.DirectoryEntry
 
directoryFile - Variable in class nachos.kernel.filesys.FileSystemReal
"Root" directory -- list of file names, represented as a file.
DirectoryFileSize - Static variable in class nachos.kernel.filesys.FileSystemReal
The initial size of a directory file.
DirectorySector - Static variable in class nachos.kernel.filesys.FileSystemReal
The disk sector containing the directory of files.
disk - Variable in class nachos.kernel.devices.DiskDriver
Raw disk device.
DISK - Static variable in class nachos.kernel.Nachos
Are we going to be using the disk? NOTE: We need the disk if either we are using the "real" Nachos filesystem, or else we are using the disk as backing store for virtual memory.
DiskDriver - Class in nachos.kernel.devices
This class defines a "synchronous" disk abstraction.
DiskDriver(String) - Constructor for class nachos.kernel.devices.DiskDriver
Initialize the synchronous interface to the physical disk, in turn initializing the physical disk.
diskDriver - Static variable in class nachos.kernel.Nachos
Access to the Nachos disk driver.
DiskDriver.DiskIntHandler - Class in nachos.kernel.devices
DiskDriver interrupt handler class.
DiskDriver.DiskIntHandler() - Constructor for class nachos.kernel.devices.DiskDriver.DiskIntHandler
 

E

enableFlags - Static variable in class nachos.Debug
List of debugging flags for which printing is enabled.
ExceptionHandler - Class in nachos.kernel.userprog
An ExceptionHandler object provides an entry point to the operating system kernel, which can be called by the machine when an exception occurs during execution in user mode.
ExceptionHandler() - Constructor for class nachos.kernel.userprog.ExceptionHandler
 
exec(OpenFile) - Method in class nachos.kernel.userprog.AddrSpace
Load the program from a file "executable", and set everything up so that we can start executing user instructions.
exec(String) - Static method in class nachos.kernel.userprog.Syscall
Run the executable, stored in the Nachos file "name", and return the address space identifier.
execName - Variable in class nachos.kernel.userprog.test.ProgTest
The name of the program to execute.
exit(int) - Static method in class nachos.kernel.userprog.Syscall
This user program is done.
externalize(byte[], int) - Method in class nachos.kernel.filesys.DirectoryEntry
Export the fields of this DirectoryEntry object to a buffer in a format suitable for writing to the disk.
externalize(byte[], int) - Method in class nachos.kernel.filesys.FileHeader
Export the fields of this FileHeader object to a buffer in a format suitable for writing to the disk.

F

fetchFrom(OpenFile) - Method in class nachos.kernel.filesys.BitMap
Initialize the contents of a bitmap from a Nachos file.
fetchFrom(OpenFile) - Method in class nachos.kernel.filesys.Directory
Read the contents of the directory from disk.
fetchFrom(int) - Method in class nachos.kernel.filesys.FileHeader
Fetch contents of file header from disk.
file - Variable in class nachos.kernel.filesys.OpenFileStub
The underlying file on the host platform.
fileDesc - Variable in class nachos.kernel.filesys.Message
The file descriptor.
FileHeader - Class in nachos.kernel.filesys
This class defines the Nachos "file header" (in UNIX terms, the "i-node"), describing where on disk to find all of the data in the file.
FileHeader() - Constructor for class nachos.kernel.filesys.FileHeader
Allocate a new "in-core" file header.
fileLength() - Method in class nachos.kernel.filesys.FileHeader
Retrieve the number of bytes in the file.
filename - Variable in class nachos.kernel.filesys.Message
The file name.
FileName - Static variable in class nachos.kernel.filesys.test.FileSystemTest
Name of the file to create for the performance test.
FileNameMaxLen - Static variable in class nachos.kernel.filesys.DirectoryEntry
Maximum length of a file name.
fileRead() - Static method in class nachos.kernel.filesys.test.FileSystemTest
Read and verify the file for the performance test.
FileSize - Static variable in class nachos.kernel.filesys.test.FileSystemTest
Total size of the test file.
FILESYS - Static variable in class nachos.kernel.Nachos
Are we going to be using the filesystem?
FILESYS_STUB - Static variable in class nachos.kernel.Nachos
Should we use the stub filesystem, rather than the Nachos filesystem? NOTE: if FILESYS is true and this is false, then make sure to set DISK to true.
FileSystem - Class in nachos.kernel.filesys
This abstract class defines the interface to a Nachos file system.
FileSystem() - Constructor for class nachos.kernel.filesys.FileSystem
Protected constructor to force creation of a filesystem using the init() factory method.
fileSystem - Static variable in class nachos.kernel.Nachos
Access to the Nachos file system.
FileSystemReal - Class in nachos.kernel.filesys
This class manages the overall operation of the file system.
FileSystemReal(boolean) - Constructor for class nachos.kernel.filesys.FileSystemReal
Initialize the file system.
FileSystemStub - Class in nachos.kernel.filesys
This "filesystem stub" class implements a Nachos filesystem by simply passing the filesystem operations through to the native filesystem on the host platform.
FileSystemStub() - Constructor for class nachos.kernel.filesys.FileSystemStub
Constructor is protected so that all creations are funneled through the init() factory method of the super class.
FileSystemTest - Class in nachos.kernel.filesys.test
This class implements some simple test routines for the file system.
FileSystemTest() - Constructor for class nachos.kernel.filesys.test.FileSystemTest
 
fileWrite() - Static method in class nachos.kernel.filesys.test.FileSystemTest
Write the test file for the performance test.
find() - Method in class nachos.kernel.filesys.BitMap
Find the first bit that is clear.
find(String) - Method in class nachos.kernel.filesys.Directory
Look up file name in directory, and return the disk sector number where the file's header is stored.
findIndex(String) - Method in class nachos.kernel.filesys.Directory
Look up file name in directory, and return its location in the table of directory entries.
findNextToRun() - Static method in class nachos.kernel.threads.Scheduler
Return the next thread to be scheduled onto the CPU.
finish() - Static method in class nachos.kernel.threads.Scheduler
Called by a thread to terminate itself.
first - Variable in class nachos.kernel.threads.List
Head of the list, null if list is empty
first - Variable in class nachos.kernel.threads.Queue
Index of the first element.
fork(int) - Static method in class nachos.kernel.userprog.Syscall
Fork a thread to run a procedure ("func") in the *same* address space as the current thread.
freeMapFile - Variable in class nachos.kernel.filesys.FileSystemReal
Bit map of free disk blocks, represented as a file.
FreeMapFileSize - Static variable in class nachos.kernel.filesys.FileSystemReal
The initial file size for the bitmap file.
FreeMapSector - Static variable in class nachos.kernel.filesys.FileSystemReal
The disk sector containing the bitmap of free sectors.

G

getLock() - Method in class nachos.kernel.threads.Condition
Accessor to obtain the lock associated with a condition.
getName() - Method in class nachos.kernel.filesys.DirectoryEntry
Get the file name stored in this DirectoryEntry.
getSector() - Method in class nachos.kernel.filesys.DirectoryEntry
Get the sector number stored in this DirectoryEntry.

H

halt() - Static method in class nachos.kernel.userprog.Syscall
Stop Nachos, and print out performance stats.
handleException(int) - Method in class nachos.kernel.userprog.ExceptionHandler
Entry point into the Nachos kernel.
handleInterrupt() - Method in class nachos.kernel.devices.InterruptHandler
Handler called by the machine when any interrupt occurs.
hdr - Variable in class nachos.kernel.filesys.OpenFileReal
Cached copy of the header for this file.
headerLength - Static variable in class nachos.kernel.filesys.Message
Length of the message header, in bytes.

I

id - Variable in class nachos.kernel.devices.NetworkDriver
Network address of this machine.
idleTicks - Variable in class nachos.Statistics
Time spent idle (no threads to run).
inFileAddr - Variable in class nachos.kernel.userprog.NoffHeader.NoffSegment
The location of the segment in the NOFF file.
inHandler - Static variable in class nachos.kernel.devices.InterruptHandler
Are we currently running an interrupt handler?
init(String[]) - Static method in class nachos.Debug
Process command-line arguments and initialize the list of debugging flags for which printing is enabled.
init(String[], boolean) - Static method in class nachos.kernel.filesys.FileSystem
Factory method to create the proper type of filesystem and hide the type actually being used.
init(String[]) - Static method in class nachos.kernel.threads.Scheduler
Initialize the scheduler.
initData - Variable in class nachos.kernel.userprog.NoffHeader
Information about the initialized data segment.
initRegisters() - Method in class nachos.kernel.userprog.AddrSpace
Initialize the user-level register set to values appropriate for starting execution of a user program loaded in this address space.
insert(int) - Method in class nachos.kernel.threads.Queue
Insert an integer at the end of the queue.
internalize(byte[], int) - Method in class nachos.kernel.filesys.DirectoryEntry
Initialize the fields of this DirectoryEntry object using data read from the disk.
internalize(byte[], int) - Method in class nachos.kernel.filesys.FileHeader
Initialize the fields of this FileHeader object using data read from the disk.
InterruptHandler - Class in nachos.kernel.devices
This class controls entry to and exit from interrupt service routines.
InterruptHandler() - Constructor for class nachos.kernel.devices.InterruptHandler
 
inUse - Variable in class nachos.kernel.filesys.DirectoryEntry
Is this directory entry in use?
inUse() - Method in class nachos.kernel.filesys.DirectoryEntry
Determine if this DirectoryEntry is in use.
isEmpty() - Method in class nachos.kernel.threads.List
Determine if the list is empty (has no items).
isEmpty() - Method in class nachos.kernel.threads.Queue
Return true iff the queue is empty.
isEnabled(char) - Static method in class nachos.Debug
Query whether printing is enabled for a specified debugging flag.
isFull() - Method in class nachos.kernel.threads.Queue
Return true iff the queue is full.
isHeldByCurrentThread() - Method in class nachos.kernel.threads.Lock
A predicate that determines whether or not the lock is held by the current thread.
item - Variable in class nachos.kernel.threads.List.ListElement
Reference to item on the list.

J

join(int) - Static method in class nachos.kernel.userprog.Syscall
Wait for the user program specified by "id" to finish, and return its exit status.

K

key - Variable in class nachos.kernel.threads.List.ListElement
Priority, for a sorted list.
kprintn(long, int) - Static method in class nachos.Debug
Print an integer value in a specified base.

L

last - Variable in class nachos.kernel.threads.List
Last element of the list.
length() - Method in interface nachos.kernel.filesys.OpenFile
Determine the number of bytes in the file (this interface is simpler than the UNIX idiom -- lseek to end of file, tell, lseek back).
length() - Method in class nachos.kernel.filesys.OpenFileReal
Determine the number of bytes in the file.
length() - Method in class nachos.kernel.filesys.OpenFileStub
Determine the number of bytes in the file (this interface is simpler than the UNIX idiom -- lseek to end of file, tell, lseek back).
list() - Method in class nachos.kernel.filesys.Directory
List all the file names in the directory (for debugging).
list() - Method in class nachos.kernel.filesys.FileSystem
List contents of the filesystem directory (for debugging).
list() - Method in class nachos.kernel.filesys.FileSystemReal
List all the files in the file system directory (for debugging).
List - Class in nachos.kernel.threads
The following class defines a "list" -- a singly linked list of list elements, each of which points to a single item on the list.
List() - Constructor for class nachos.kernel.threads.List
 
List() - Method in class nachos.kernel.threads.List
Initialize a list, empty to start with.
List.ListElement - Class in nachos.kernel.threads
The following class defines a "list element" -- which is used to keep track of one item on a list.
List.ListElement(Object, long) - Constructor for class nachos.kernel.threads.List.ListElement
Initialize a list element, so it can be added somewhere on a list.
listEmpty - Variable in class nachos.kernel.threads.SynchList
Used in remove to wait if the list is empty.
lock - Variable in class nachos.kernel.devices.DiskDriver
Only one read/write request can be sent to the disk at a time.
Lock - Class in nachos.kernel.threads
This class defines a "lock".
Lock(String) - Constructor for class nachos.kernel.threads.Lock
Initialize a lock.
lock - Variable in class nachos.kernel.threads.SynchList
Lock to enforce mutual exclusive access to the list.

M

main(String[]) - Static method in class nachos.kernel.Nachos
Bootstrap the operating system kernel.
map - Variable in class nachos.kernel.filesys.BitMap
Bit storage.
mark(int) - Method in class nachos.kernel.filesys.BitMap
Set the "nth" bit in a bitmap.
MaxFileSize - Static variable in class nachos.kernel.filesys.FileHeader
Maximum file size that can be represented in the baseline system.
me - Static variable in class nachos.kernel.devices.test.NetworkTest
network address of this nachos machine.
Message - Class in nachos.kernel.filesys
Class for messages representing a request to or a reply from a distributed filesystem (DFS) server.
Message(int, int, int, int, String, byte[]) - Constructor for class nachos.kernel.filesys.Message
Allocate a new message, using the specified parameters, which have the same meaning as the fields with the same names.
Message(byte[]) - Constructor for class nachos.kernel.filesys.Message
Create a new message, and initialize it using the specified array of bytes, which should have been produced by Message.toByteArray.
msgType - Variable in class nachos.kernel.filesys.Message
type of message.
msgTypeNames - Static variable in class nachos.kernel.filesys.Message
Names of the types of DFS messages (useful for debugging).

N

n - Variable in class nachos.kernel.threads.Queue
Number of elements currently in the queue.
nachos - package nachos
 
Nachos - Class in nachos.kernel
The Nachos main class.
Nachos() - Constructor for class nachos.kernel.Nachos
 
nachos.kernel - package nachos.kernel
 
nachos.kernel.devices - package nachos.kernel.devices
 
nachos.kernel.devices.test - package nachos.kernel.devices.test
 
nachos.kernel.filesys - package nachos.kernel.filesys
 
nachos.kernel.filesys.test - package nachos.kernel.filesys.test
 
nachos.kernel.threads - package nachos.kernel.threads
 
nachos.kernel.threads.test - package nachos.kernel.threads.test
 
nachos.kernel.userprog - package nachos.kernel.userprog
 
nachos.kernel.userprog.test - package nachos.kernel.userprog.test
 
name - Variable in class nachos.kernel.filesys.DirectoryEntry
Text name for file (must be representable by a sequence of bytes no longer than FileNameMaxLen).
name - Variable in class nachos.kernel.threads.Condition
Printable name useful for debugging.
name - Variable in class nachos.kernel.threads.Lock
Printable name useful for debugging.
name - Variable in class nachos.kernel.threads.Semaphore
Printable name useful for debugging.
nameBytes - Variable in class nachos.kernel.filesys.DirectoryEntry
On-disk representation of the file name.
nameLen - Variable in class nachos.kernel.filesys.DirectoryEntry
Length of filename.
network - Variable in class nachos.kernel.devices.NetworkDriver
Raw network device.
NETWORK - Static variable in class nachos.kernel.Nachos
Are we going to be using the network?
NetworkDriver - Class in nachos.kernel.devices
This class defines a "synchronous" network abstraction for sending and receiving packets on the network.
NetworkDriver(String[]) - Constructor for class nachos.kernel.devices.NetworkDriver
Initialize the synchronous interface to the physical network, in turn initializing the physical network.
networkDriver - Static variable in class nachos.kernel.Nachos
Access to the Nachos network.
NetworkDriver.ReceiveHandler - Class in nachos.kernel.devices
Network driver interrupt handler class.
NetworkDriver.ReceiveHandler() - Constructor for class nachos.kernel.devices.NetworkDriver.ReceiveHandler
 
NetworkDriver.SendHandler - Class in nachos.kernel.devices
Network driver interrupt handler class.
NetworkDriver.SendHandler() - Constructor for class nachos.kernel.devices.NetworkDriver.SendHandler
 
NetworkTest - Class in nachos.kernel.devices.test
Class for testing the nachos network.
NetworkTest() - Constructor for class nachos.kernel.devices.test.NetworkTest
 
NetworkTime - Static variable in class nachos.Statistics
Time to send or receive one packet on the network.
next - Variable in class nachos.kernel.threads.List.ListElement
The next element on list, null if this is the last.
NoffHeader - Class in nachos.kernel.userprog
A NoffHeader object is the kernel representation of the header portion of a NOFF executable file.
NoffHeader() - Constructor for class nachos.kernel.userprog.NoffHeader
Private constructor, to force use of readHeader() to initialize a NoffHeader.
NoffHeader.NoffSegment - Class in nachos.kernel.userprog
A NoffSegment object contains information about one segment of a NOFF executable file.
NoffHeader.NoffSegment() - Constructor for class nachos.kernel.userprog.NoffHeader.NoffSegment
Private constructor, to force use of readSegment() to initialize a NoffSegment.
noffMagic - Static variable in class nachos.kernel.userprog.NoffHeader
Magic number found at the beginning of a NOFF file.
numBits - Variable in class nachos.kernel.filesys.BitMap
Number of bits in the bitmap.
numBytes - Variable in class nachos.kernel.filesys.FileHeader
Number of bytes in the file.
numBytes - Variable in class nachos.kernel.filesys.Message
The number of bytes to be read, or the number of bytes successfully written.
numClear() - Method in class nachos.kernel.filesys.BitMap
Return the number of clear bits in the bitmap.
numConsoleCharsRead - Variable in class nachos.Statistics
Number of chars read from the keyboard.
numConsoleCharsWritten - Variable in class nachos.Statistics
Number of chars written to the display.
NumDirect - Static variable in class nachos.kernel.filesys.FileHeader
Number of pointers to data blocks stored in a file header.
NumDirEntries - Static variable in class nachos.kernel.filesys.FileSystemReal
The maximum number of entries in a directory.
numDiskReads - Variable in class nachos.Statistics
Number of disk read requests.
numDiskWrites - Variable in class nachos.Statistics
Number of disk write requests.
numMach - Static variable in class nachos.kernel.devices.test.NetworkTest
number of nachos machines in the network, including this one.
numPacketsRecvd - Variable in class nachos.Statistics
Number of packets received over the network.
numPacketsSent - Variable in class nachos.Statistics
Number of packets sent over the network.
numPageFaults - Variable in class nachos.Statistics
Number of virtual memory page faults.
numSectors - Variable in class nachos.kernel.filesys.FileHeader
Number of data sectors in the file.
numWords - Variable in class nachos.kernel.filesys.BitMap
Number of words of bitmap storage (rounded up if numBits is not a multiple of the number of bits in a word).

O

open(String) - Method in class nachos.kernel.filesys.FileSystem
Open the file with the specified name and return an OpenFile object that provides access to the file contents.
open(String) - Method in class nachos.kernel.filesys.FileSystemReal
Open a file for reading and writing.
open(String) - Method in class nachos.kernel.filesys.FileSystemStub
Open the file with the specified name and return an OpenFile object that provides access to the file contents.
open(String) - Static method in class nachos.kernel.userprog.Syscall
Open the Nachos file "name", and return an "OpenFileId" that can be used to read and write to the file.
OpenFile - Interface in nachos.kernel.filesys
Interface that provides read/write access to files in a filesystem.
OpenFileReal - Class in nachos.kernel.filesys
This is a class for managing an open Nachos file.
OpenFileReal(int) - Constructor for class nachos.kernel.filesys.OpenFileReal
Open a Nachos file for reading and writing.
OpenFileStub - Class in nachos.kernel.filesys
This "stub" class implements file operations for Nachos by simply passing the filesystem operations through to the native filesystem on the host platform.
OpenFileStub(RandomAccessFile) - Constructor for class nachos.kernel.filesys.OpenFileStub
Open a file.
OpenReply - Static variable in class nachos.kernel.filesys.Message
A type of DFS message, used as a value of field msgType.
OpenReq - Static variable in class nachos.kernel.filesys.Message
A type of DFS message, used as a value of field msgType.
owner - Variable in class nachos.kernel.threads.Lock
Which thread currently holds this lock?

P

P() - Method in class nachos.kernel.threads.Semaphore
Wait until semaphore value > 0, then decrement.
pageTable - Variable in class nachos.kernel.userprog.AddrSpace
Page table that describes a virtual-to-physical address mapping.
performanceTest() - Static method in class nachos.kernel.filesys.test.FileSystemTest
Stress the Nachos file system by creating a large file, writing it out a bit at a time, reading it back a bit at a time, and then deleting the file.
position - Variable in class nachos.kernel.filesys.Message
The starting position within the file.
prepend(Object) - Method in class nachos.kernel.threads.List
Put an "item" on the front of the list.
prepend(Object) - Method in class nachos.kernel.threads.SynchList
Put an "item" on the front of the list.
print(char, String) - Static method in class nachos.Debug
Print a debugging message if a specified flag is enabled.
print() - Method in class nachos.kernel.filesys.BitMap
Print the contents of the bitmap, for debugging.
print() - Method in class nachos.kernel.filesys.Directory
List all the file names in the directory, their FileHeader locations, and the contents of each file (for debugging).
print() - Method in class nachos.kernel.filesys.FileHeader
Print the contents of the file header, and the contents of all the data blocks pointed to by the file header.
print() - Method in class nachos.kernel.filesys.FileSystem
Print contents of the entire filesystem (for debugging).
print() - Method in class nachos.kernel.filesys.FileSystemReal
Print everything about the file system (for debugging): the contents of the bitmap; the contents of the directory; for each file in the directory: the contents of the file header; the data in the file.
print(String) - Static method in class nachos.kernel.filesys.test.FileSystemTest
Print the contents of the Nachos file "name".
print() - Method in class nachos.Statistics
Print performance metrics, when we've finished everything at system shutdown.
printf(char, String, Object) - Static method in class nachos.Debug
Convenience version of printf for printing one object.
printf(char, String, Object, Object) - Static method in class nachos.Debug
Convenience version of printf for printing two objects.
printf(char, String, Object, Object, Object) - Static method in class nachos.Debug
Convenience version of printf for printing three objects.
printf(char, String, Object, Object, Object, Object) - Static method in class nachos.Debug
Convenience version of printf for printing four objects.
printf(char, String, Object[]) - Static method in class nachos.Debug
A C-style printing function that uses a format string to control the printing of an array of objects.
println(char, String) - Static method in class nachos.Debug
Print a debugging message, followed by a newline, if a specified flag is enabled.
ProgTest - Class in nachos.kernel.userprog.test
This is a test class for demonstrating that Nachos can load a user program and execute it.
ProgTest(String) - Constructor for class nachos.kernel.userprog.test.ProgTest
Start the test by creating a new address space and user thread, then arranging for the new thread to begin executing the run() method of this class.

Q

q - Variable in class nachos.kernel.threads.Queue
Pointer to an array that holds the contents.
Queue - Class in nachos.kernel.threads
Bounded-capacity queue.
Queue() - Constructor for class nachos.kernel.threads.Queue
 
Queue(int) - Method in class nachos.kernel.threads.Queue
Initialize a list, empty to start with.
queue - Variable in class nachos.kernel.threads.Semaphore
Threads waiting in P() for the value to be > 0.

R

read(byte[], int, int) - Method in interface nachos.kernel.filesys.OpenFile
Read bytes from the file, starting at the implicit position.
read(byte[], int, int) - Method in class nachos.kernel.filesys.OpenFileReal
Read a portion of a file, starting from seekPosition.
read(byte[], int, int) - Method in class nachos.kernel.filesys.OpenFileStub
Read bytes from the file, starting at the implicit position.
read(byte[], int, int) - Static method in class nachos.kernel.userprog.Syscall
Read "size" bytes from the open file into "buffer".
readAt(byte[], int, int, long) - Method in interface nachos.kernel.filesys.OpenFile
Read bytes from the file, bypassing the implicit position.
readAt(byte[], int, int, long) - Method in class nachos.kernel.filesys.OpenFileReal
Read a portion of a file, starting at "position".
readAt(byte[], int, int, long) - Method in class nachos.kernel.filesys.OpenFileStub
Read bytes from the file, bypassing the implicit position.
readAvail - Static variable in class nachos.kernel.devices.test.ConsoleTest
Semaphore used to wait for available input.
readHeader(OpenFile) - Static method in class nachos.kernel.userprog.NoffHeader
Initialize a NoffHeader object by reading its values from a file.
ReadReply - Static variable in class nachos.kernel.filesys.Message
A type of DFS message, used as a value of field msgType.
ReadReq - Static variable in class nachos.kernel.filesys.Message
A type of DFS message, used as a value of field msgType.
readSector(int, byte[], int) - Method in class nachos.kernel.devices.DiskDriver
Read the contents of a disk sector into a buffer.
readSegment(OpenFile) - Static method in class nachos.kernel.userprog.NoffHeader.NoffSegment
Initialize a NoffSegment with data from a file.
readyList - Static variable in class nachos.kernel.threads.Scheduler
Queue of threads that are ready to run, but not running.
readyToRun(NachosThread) - Static method in class nachos.kernel.threads.Scheduler
Mark a thread as ready, but not running, and put it on the ready list for later scheduling onto the CPU.
receive() - Method in class nachos.kernel.devices.NetworkDriver
Receive a network packet.
receiveSemaphore - Variable in class nachos.kernel.devices.NetworkDriver
Semaphore used to synchronize receiving threads with the interrupt handler.
release() - Method in class nachos.kernel.threads.Lock
Release the lock that was previously acquired, waking up a waiting thread if necessary.
remove(String) - Method in class nachos.kernel.filesys.Directory
Remove a file name from the directory.
remove(String) - Method in class nachos.kernel.filesys.FileSystem
Remove the file with the specified name.
remove(String) - Method in class nachos.kernel.filesys.FileSystemReal
Delete a file from the file system.
remove(String) - Method in class nachos.kernel.filesys.FileSystemStub
Remove the file with the specified name.
remove() - Method in class nachos.kernel.threads.List
Remove the first "item" from the front of the list.
remove() - Method in class nachos.kernel.threads.Queue
Remove an integer from the front of the queue, returning its value.
remove() - Method in class nachos.kernel.threads.SynchList
Remove an "item" from the beginning of the list.
remove(String) - Static method in class nachos.kernel.userprog.Syscall
Remove a Nachos file.
RemoveReq - Static variable in class nachos.kernel.filesys.Message
A type of DFS message, used as a value of field msgType.
restoreState() - Method in class nachos.kernel.userprog.AddrSpace
On a context switch, restore any machine state specific to this address space.
restoreState() - Method in class nachos.kernel.userprog.UserThread
Restore the CPU state of a user program on a context switch.
roundToPage(long) - Method in class nachos.kernel.userprog.AddrSpace
Utility method for rounding up to a multiple of Machine.PageSize;
run(String, String) - Static method in class nachos.kernel.devices.test.ConsoleTest
Test the console by echoing characters typed at the input onto the output.
run() - Method in class nachos.kernel.Nachos
Nachos initialization -- performed by first Nachos thread.
run(NachosThread) - Static method in class nachos.kernel.threads.Scheduler
Dispatch the CPU to nextThread.
run() - Method in class nachos.kernel.threads.test.ThreadTest
Loop 5 times, yielding the CPU to another ready thread each iteration.
run() - Method in class nachos.kernel.userprog.test.ProgTest
Entry point for the thread created to run the user program.

S

saveState() - Method in class nachos.kernel.userprog.AddrSpace
On a context switch, save any machine state, specific to this address space, that needs saving.
saveState() - Method in class nachos.kernel.userprog.UserThread
Save the CPU state of a user program on a context switch.
SC_Close - Static variable in class nachos.kernel.userprog.Syscall
Integer code identifying the "Close" system call.
SC_Create - Static variable in class nachos.kernel.userprog.Syscall
Integer code identifying the "Create" system call.
SC_Exec - Static variable in class nachos.kernel.userprog.Syscall
Integer code identifying the "Exec" system call.
SC_Exit - Static variable in class nachos.kernel.userprog.Syscall
Integer code identifying the "Exit" system call.
SC_Fork - Static variable in class nachos.kernel.userprog.Syscall
Integer code identifying the "Fork" system call.
SC_Halt - Static variable in class nachos.kernel.userprog.Syscall
Integer code identifying the "Halt" system call.
SC_Join - Static variable in class nachos.kernel.userprog.Syscall
Integer code identifying the "Join" system call.
SC_Open - Static variable in class nachos.kernel.userprog.Syscall
Integer code identifying the "Open" system call.
SC_Read - Static variable in class nachos.kernel.userprog.Syscall
Integer code identifying the "Read" system call.
SC_Remove - Static variable in class nachos.kernel.userprog.Syscall
Integer code identifying the "Remove" system call.
SC_Write - Static variable in class nachos.kernel.userprog.Syscall
Integer code identifying the "Write" system call.
SC_Yield - Static variable in class nachos.kernel.userprog.Syscall
Integer code identifying the "Yield" system call.
Scheduler - Class in nachos.kernel.threads
The scheduler is responsible for maintaining a list of threads that are ready to run and for choosing the next thread to run.
Scheduler() - Constructor for class nachos.kernel.threads.Scheduler
 
Scheduler.TimerInterruptHandler - Class in nachos.kernel.threads
Interrupt handler for the timer device.
Scheduler.TimerInterruptHandler() - Constructor for class nachos.kernel.threads.Scheduler.TimerInterruptHandler
 
sector - Variable in class nachos.kernel.filesys.DirectoryEntry
Location on disk to find the FileHeader for this file.
seek(long) - Method in interface nachos.kernel.filesys.OpenFile
Set the position from which to start reading/writing -- UNIX lseek
seek(long) - Method in class nachos.kernel.filesys.OpenFileReal
Change the current location within the open file -- the point at which the next Read or Write will start from.
seek(long) - Method in class nachos.kernel.filesys.OpenFileStub
Set the position from which to start reading/writing -- UNIX lseek
seekPosition - Variable in class nachos.kernel.filesys.OpenFileReal
Current position within the file.
sem - Variable in class nachos.kernel.threads.Lock
semaphore used for implementation of lock.
semaphore - Variable in class nachos.kernel.devices.DiskDriver
To synchronize requesting thread with the interrupt handler.
semaphore - Variable in class nachos.kernel.devices.test.ConsoleTest.ConsHandler
Semaphore used to awaken requesting thread.
Semaphore - Class in nachos.kernel.threads
This class defines a "semaphore" whose value is a non-negative integer.
Semaphore(String, int) - Constructor for class nachos.kernel.threads.Semaphore
Initialize a semaphore, so that it can be used for synchronization.
send(Packet) - Method in class nachos.kernel.devices.NetworkDriver
Send a network packet.
sendLock - Variable in class nachos.kernel.devices.NetworkDriver
Lock used to ensure that the previous send request finished before the next send request starts.
sendSemaphore - Variable in class nachos.kernel.devices.NetworkDriver
Semaphore used to synchronize sending threads with the interrupt handler.
serviceDevice() - Method in class nachos.kernel.devices.DiskDriver.DiskIntHandler
When the disk interrupts, just wake up the thread that issued the request that just finished.
serviceDevice() - Method in class nachos.kernel.devices.InterruptHandler
Subclasses must implement this method to provide device-specific interrupt service.
serviceDevice() - Method in class nachos.kernel.devices.NetworkDriver.ReceiveHandler
When the network interrupts, wake up the thread that issued the request that just finished.
serviceDevice() - Method in class nachos.kernel.devices.NetworkDriver.SendHandler
When the network interrupts, wake up the thread that issued the request that just finished.
serviceDevice() - Method in class nachos.kernel.devices.test.ConsoleTest.ConsHandler
To service a Console interrupt, just wake up the thread that requested the I/O.
serviceDevice() - Method in class nachos.kernel.threads.Scheduler.TimerInterruptHandler
 
serviceDevice() - Method in class nachos.kernel.threads.test.AlarmTest
Interrupt service routine called when the timer expires.
setRandomYield(boolean) - Static method in class nachos.kernel.threads.Scheduler
Called to turn on or off a timer that forces a context switch at random intervals.
setUnused() - Method in class nachos.kernel.filesys.DirectoryEntry
Mark this directory entry as "unused".
setUsed(String, int) - Method in class nachos.kernel.filesys.DirectoryEntry
Mark this directory entry as "in use" and set the file name and disk sector number.
signal() - Method in class nachos.kernel.threads.Condition
Wake up a thread, if any, that is waiting on the condition.
size - Variable in class nachos.kernel.userprog.NoffHeader.NoffSegment
The size of the segment in bytes.
sizeOf() - Static method in class nachos.kernel.filesys.DirectoryEntry
Calculate size of on-disk representation of a DirectoryEntry.
sizeOf() - Static method in class nachos.kernel.filesys.FileHeader
Calculate the size of the on-disk representation of a FileHeader.
sleep() - Static method in class nachos.kernel.threads.Scheduler
Relinquish the CPU, because the current thread is blocked waiting on a synchronization variable (Semaphore, Lock, or Condition).
sortedInsert(Object, long) - Method in class nachos.kernel.threads.List
Insert an "item" into a list, so that the list elements are sorted in increasing order by "sortKey".
sortedInsert(Object, long) - Method in class nachos.kernel.threads.SynchList
Insert an "item" into a list, so that the list elements are sorted in increasing order by "sortKey".
space - Variable in class nachos.kernel.userprog.UserThread
The context in which this thread will execute.
start(String[]) - Static method in class nachos.kernel.devices.test.ConsoleTest
Entry point for the Console test.
start(String[]) - Static method in class nachos.kernel.devices.test.NetworkTest
Entry point for the Network test.
start(String[]) - Static method in class nachos.kernel.filesys.test.FileSystemTest
Entry point for the filesystem test.
start() - Static method in class nachos.kernel.threads.Scheduler
Called by a Java thread (usually the initial thread that calls Nachos.main) to start the first Nachos thread.
start(String[]) - Static method in class nachos.kernel.threads.test.AlarmTest
Entry point for the test.
start(String[]) - Static method in class nachos.kernel.threads.test.ThreadTest
Entry point for the test.
start(String[]) - Static method in class nachos.kernel.userprog.test.ProgTest
Entry point for the test.
Statistics - Class in nachos
This class defines the statistics that are to be kept about Nachos behavior -- how much time (ticks) elapsed, how many user instructions executed, etc.
Statistics() - Constructor for class nachos.Statistics
Initialize performance metrics to zero, at system startup.
SynchList - Class in nachos.kernel.threads
This class defines a "synchronized list" -- a list for which these constraints hold: 1.
SynchList() - Constructor for class nachos.kernel.threads.SynchList
Allocate and initialize the data structures needed for a synchronized list, empty to start with.
Syscall - Class in nachos.kernel.userprog
Nachos system call interface.
Syscall() - Constructor for class nachos.kernel.userprog.Syscall
 
systemTicks - Variable in class nachos.Statistics
Time spent executing system code.

T

t1 - Static variable in class nachos.kernel.threads.test.AlarmTest
Timer instances created for the test.
t1 - Static variable in class nachos.kernel.threads.test.ThreadTest
Static variables to hold the instances we create and keep them from being garbage collected.
t2 - Static variable in class nachos.kernel.threads.test.AlarmTest
Timer instances created for the test.
t2 - Static variable in class nachos.kernel.threads.test.ThreadTest
Static variables to hold the instances we create and keep them from being garbage collected.
t3 - Static variable in class nachos.kernel.threads.test.AlarmTest
Timer instances created for the test.
table - Variable in class nachos.kernel.filesys.Directory
Table of pairs: file name/file header location.
tableSize - Variable in class nachos.kernel.filesys.Directory
Number of entries in the directory.
test(int) - Method in class nachos.kernel.filesys.BitMap
Test if the "nth" bit is set.
THREADS - Static variable in class nachos.kernel.Nachos
Are we going to be using the threads system?
ThreadTest - Class in nachos.kernel.threads.test
Set up a ping-pong between two threads, by forking two threads to execute SimpleRunnable objects.
ThreadTest(int) - Constructor for class nachos.kernel.threads.test.ThreadTest
Initialize an instance of ThreadTest and start a new thread running on it.
threadToBeDestroyed - Static variable in class nachos.kernel.threads.Scheduler
Terminated thread awaiting reclamation of its stack.
timer - Static variable in class nachos.kernel.threads.Scheduler
The timer used to implement time slicing.
toByteArray() - Method in class nachos.kernel.filesys.Message
Returns this message represented as an array of bytes.
toString() - Method in class nachos.kernel.filesys.Message
Returns this message represented as a string.
totalTicks - Variable in class nachos.Statistics
Total time running Nachos.
TransferSize - Static variable in class nachos.kernel.filesys.test.FileSystemTest
Transfer data in small chunks, just to be difficult.

U

uninitData - Variable in class nachos.kernel.userprog.NoffHeader
Information about the "uninitialized" data segment, which must be zeroed before use.
USER_PROGRAM - Static variable in class nachos.kernel.Nachos
Are we going to be running user programs?
userRegisters - Variable in class nachos.kernel.userprog.UserThread
User-level CPU register state.
UserStackSize - Static variable in class nachos.kernel.userprog.AddrSpace
Default size of the user stack area -- increase this as necessary!
UserThread - Class in nachos.kernel.userprog
A UserThread is a NachosThread extended with the capability of executing user code.
UserThread(String, Runnable, AddrSpace) - Constructor for class nachos.kernel.userprog.UserThread
Initialize a new user thread.
userTicks - Variable in class nachos.Statistics
Time spent executing user code (this is also equal to # of user instructions executed).

V

V() - Method in class nachos.kernel.threads.Semaphore
Increment semaphore value, waking up a waiter if necessary.
value - Variable in class nachos.kernel.threads.Semaphore
The value of the semaphore, always >= 0.
virtualAddr - Variable in class nachos.kernel.userprog.NoffHeader.NoffSegment
The location of segment in user virtual address space.

W

waitingThreads - Variable in class nachos.kernel.threads.Condition
Who's waiting on this condition?
which - Variable in class nachos.kernel.threads.test.AlarmTest
Integer that identifies which instance this is.
which - Variable in class nachos.kernel.threads.test.ThreadTest
Integer identifier that indicates which thread we are.
write(byte[], int, int) - Method in interface nachos.kernel.filesys.OpenFile
Write bytes to the file, starting at the implicit position.
write(byte[], int, int) - Method in class nachos.kernel.filesys.OpenFileReal
Write a portion of a file, starting from seekPosition.
write(byte[], int, int) - Method in class nachos.kernel.filesys.OpenFileStub
Write bytes to the file, starting at the implicit position.
write(byte[], int, int) - Static method in class nachos.kernel.userprog.Syscall
Write "size" bytes from "buffer" to the open file.
writeAt(byte[], int, int, long) - Method in interface nachos.kernel.filesys.OpenFile
Write bytes to the file, bypassing the implicit position.
writeAt(byte[], int, int, long) - Method in class nachos.kernel.filesys.OpenFileReal
Write a portion of a file, starting at "position".
writeAt(byte[], int, int, long) - Method in class nachos.kernel.filesys.OpenFileStub
Write bytes to the file, bypassing the implicit position.
writeBack(OpenFile) - Method in class nachos.kernel.filesys.BitMap
Store the contents of a bitmap to a Nachos file.
writeBack(OpenFile) - Method in class nachos.kernel.filesys.Directory
Write any modifications to the directory back to disk
writeBack(int) - Method in class nachos.kernel.filesys.FileHeader
Write the modified contents of the file header back to disk.
writeDone - Static variable in class nachos.kernel.devices.test.ConsoleTest
Semaphore used to wait until printing is done.
WriteReply - Static variable in class nachos.kernel.filesys.Message
A type of DFS message, used as a value of field msgType.
WriteReq - Static variable in class nachos.kernel.filesys.Message
A type of DFS message, used as a value of field msgType.
writeSector(int, byte[], int) - Method in class nachos.kernel.devices.DiskDriver
Write the contents of a buffer into a disk sector.

Y

yield() - Static method in class nachos.kernel.threads.Scheduler
Relinquish the CPU if any other thread is ready to run.
yield() - Static method in class nachos.kernel.userprog.Syscall
Yield the CPU to another runnable thread, whether in this address space or not.
yieldOnReturn - Static variable in class nachos.kernel.devices.InterruptHandler
Should the CPU be rescheduled on return from the current handler?
yieldOnReturn() - Static method in class nachos.kernel.devices.InterruptHandler
Called from within an interrupt handler, to cause a context switch (for example, on a time slice) in the interrupted thread, when the handler returns.

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