By David Keppel
Multiple lightweight processes or threads have multiple stacks, and a thread context switch moves execution from one stack to another. On the SPARC architecture, parts of a thread's stack can be cached in register windows while the thread is running. The cached data must be flushed to memory when the thread is suspended. Doing the flushing both efficiently and correctly can be tricky. This document discusses the implementation of a non-preemptive user-space threads package under SunOS.
%A David Keppel
%A Register Windows and User-Space Threads on the SPARC
%R UWCSE 91-08-01
%I University of Washington Department of Computer Science and Engineering
%D August 1991
@techreport{Keppel:91b,
author={David Keppel},
title={Register Windows and User-Space Threads on the SPARC},
number={UWCSE 91-08-01},
institution={University of Washington Department of Computer
Science and Engineering},
month={August},
year={1991}
}