1/26
Looks like no tags are added yet.
What does LOOKUP(name, dir) return?
The inode number associated with name in directory dir.
What do BIND and UNBIND do?
BIND creates a name-to-value association; UNBIND removes that association
What happens when a hard link is created?
A new directory entry points to an existing inode, increasing its reference count. No new file inode is needed.
How does a symbolic link differ from a hard link?
A symbolic link has its own inode and stores a pathname; a hard link references an existing inode directly.
What is a file descriptor (FD)?
A process-local integer that identifies an opened file through the OS file descriptor table.
What three components make up an NFS file handle?
File system ID (fsid), inode number, and generation number.
Why does an NFS file handle contain a generation number?
To distinguish an old file from a new file that reuses the same inode number.
What causes a stale file handle error?
A client uses an invalid old handle, such as after a file is unlinked and its inode is reused with a new generation number.
Can two NFS clients have different FDs but identical file handles?
Yes. FDs are local to each application, while file handles identify objects on the NFS server.
What does LOAD do, and what permission is needed?
Reads a value from memory into a register. Requires R (read) permission.
What does STORE do, and what permission is needed?
Writes a value to memory. Requires W (write) permission.
What does ADD do, and what permissions are needed?
Performs arithmetic addition. Register-only ADD needs no data-memory permissions, but the instruction must be executable.
What does RSM do, and what permissions are required?
Atomically reads and sets memory, used for locks. Requires R + W permissions.
What does SETPMAR do?
Changes the Page Map Address Register (PMAR), which selects the page map. Requires kernel mode.
How does a virtual address translate to a physical address?
The page map translates the virtual page number to a physical block; the page offset remains unchanged.
When does a memory access cause an exception?
When the address is unmapped, outside permitted bounds, or violates access permissions or privilege restrictions.
When do blocking SEND and RECEIVE wait?
SEND waits when the bounded buffer is full. RECEIVE waits when the buffer is empty.
How can you determine whether a bounded buffer is full or empty?
Full when in - out = N; empty when in = out, where N is the buffer capacity.
What is a race condition, and how can locks prevent one?
A race occurs when results depend on unpredictable execution order. Locks protect shared data during critical sections.
What is marshaling, and what happens if it fails?
Converting values into a common external representation. Incorrect conversion can produce wrong values, such as from endianness differences.
What does no-response mean in RPC, and how are retries handled?
No reply arrives; the client cannot know whether the request executed. At-least-once retries; at-most-once aims to avoid duplicate execution.
no-response
The RPC client receives no reply before a timeout. The request or response may have been lost, or the server may have crashed.
servicefailed
The RPC service fails to respond successfully, and the client stub eventually signals failure.
Marshalling error
Client and server interpret data differently, such as big-endian versus little-endian, resulting in incorrect values.
Stale file handle
An NFS file handle is no longer valid, such as when an inode is freed and reused with a different generation number.
Race condition
Threads access shared data without adequate synchronization, producing timing-dependent incorrect results.
memory_exception
A memory address is outside permitted bounds or has no valid mapping.