...address)
See Section 1 for a description of one common problem students encounter due to this.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...deadlock
To correctly implement preemption, the interrupt handler invoked when a running threads quantum expires needs to switch to another thread. This is handled by having the interrupt service routine invoke Thread::YieldOnReturn(), which delays the actual preemption until it is safe to do so.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...stack
Actually, threads technically do share their stacks with other threads in the sense that a particular thread's stack will still be addressable by the other threads. In general, however, it is more useful to think of the stack as private, since each thread must have its own stack.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...result.
Warning: when opening files, Nachos opens all files for both reading and writing. Thus, the binary being loaded off of disk must be writable.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Thomas Narten
Mon Feb 3 15:00:27 EST 1997