# HG changeset patch # User urbanc # Date 1336035123 0 # Node ID 677364c67cc80c7303e7c922f1e7cd7d08e68135 # Parent 32186d6a1951d25380453f5567608c2ff97ef641 some small editing diff -r 32186d6a1951 -r 677364c67cc8 prio/Paper/Paper.thy --- a/prio/Paper/Paper.thy Thu May 03 00:43:57 2012 +0000 +++ b/prio/Paper/Paper.thy Thu May 03 08:52:03 2012 +0000 @@ -1235,13 +1235,13 @@ \end{center} \noindent - Our assumption that every event is an atomic operation is ensured by the architecture of + Our implicit assumption that every event is an atomic operation is ensured by the architecture of PINTOS. The case where an unlocked resource is given next to the waiting thread with the highest precedence is realised in our implementation by priority queues. We implemented them as \emph{Braun trees} \cite{Paulson96}, which provide efficient @{text "O(log n)"}-operations - for accessing and restructuring. Apart from having to implement complex datastructures in C + for accessing and updating. Apart from having to implement relatively complex data\-structures in C using pointers, our experience with the implementation has been very positive: our specification - and formalisation of PIP translates smoothly to an efficent implementation. + and formalisation of PIP translates smoothly to an efficent implementation in PINTOS. *} section {* Conclusion *} @@ -1272,10 +1272,11 @@ programmer who wants to implement PIP (similarly Sha et al.~\cite{Sha90}). That this is an issue in practice is illustrated by the email from Baker we cited in the Introduction. We achieved also this - goal: The formalisation gives the first author enough data to enable - his undergraduate students to implement PIP (as part of their OS course) - on top of PINTOS, a simple instructional operating system for the x86 - architecture \cite{PINTOS}. A byproduct of our formalisation effort is that nearly all + goal: The formalisation allowed us to efficently implement our version + of PIP on top of PINTOS \cite{PINTOS}, a simple instructional operating system for the x86 + architecture. It also gives the first author enough data to enable + his undergraduate students to implement PIP (as part of their OS course). + A byproduct of our formalisation effort is that nearly all design choices for the PIP scheduler are backed up with a proved lemma. We were also able to establish the property that the choice of the next thread which takes over a lock is irrelevant for the correctness diff -r 32186d6a1951 -r 677364c67cc8 prio/paper.pdf Binary file prio/paper.pdf has changed