\documentclass{article}
\input{6828-preamble}
\begin{document}
\psetnum{20}
\date{2004/11/22}

\begin{pset}
  \begin{problem}
    The MCS lock guarantees fairness of lock acquisition by providing
    FIFO ordering. It builds a queue of processors waiting to acquire
    the lock; the \texttt{acquire\_lock} procedure adds a processor to
    the end of this queue. A processor is only allowed to acquire the
    lock when its predecessor in the queue notifies it (by clearing
    \texttt{I->next->locked}) that it has released the lock. So lock
    acquisition proceeds in queue ordering.
  \end{problem}
\end{pset}
\end{document}
