various updates
[pintos-anon] / sigcse2009 / introduction.tex
index e591bb848403c4124a7aad2ac616b39b980fbbfc..a36b89b42ea72b9a873488f11b9321ac7dd6d881 100644 (file)
@@ -3,7 +3,7 @@
 
 Despite the wide use of higher-level languages and environments, gaining a robust
 understanding of operating systems (OS) fundamentals and training in the current design and
-implementation practices of OS remains a cornerstone goal of 
+implementation practices of OS remains a cornerstone of 
 undergraduate computer science education.
 
 % abstract/concrete
@@ -21,23 +21,22 @@ from the point of view of the OS designer, whereas the external perspective
 assumes the role of a user or programmer using an OS's 
 facilities~\cite{Bryant2002Computer}.
 
+% we don't really say about the benefits of the 'internal' approach here.
 % is this too controversial for this audience?
-The approach advocated in this paper adopts a concrete approach and the internal
-perspective.  Students who have been in the role of an
-OS designer bring a better understanding of how to use one; and students
-who have both studied, implemented, and evaluated core OS techniques obtain 
+The approach advocated in this paper is concrete and adopts the internal perspective.  
+Students who have studied, implemented, and evaluated core OS techniques attain 
 a deeper understanding than those who have merely studied them.
 Finally, adopting a concrete approach brings significant secondary
 benefits, including training in modern software development techniques
 and tools.  The C language remains the implementation language of choice
 for operating system kernels and for many embedded systems.
-Practice and debugging skills in C, particularly using modern tools,
+Practice and debugging experience in C, particularly using modern tools,
 not only increases students' ``market value,''~\cite{1292450} but provides students with
 the insight that a low-level programming and runtime model is not incompatible
 with high-level tools.
 
 Designing course material for the internal and concrete 
-approach is challenging for several reasons.  While realistic, 
+approach is challenging.  While realistic, 
 assignments should be relatively simple and doable within a realistic time frame.  
 Whereas assignments should use current hardware architectures, 
 they must not impart too much transient knowledge.
@@ -46,7 +45,7 @@ engineering practices and tools, such as dynamic program analysis.
 
 This paper introduces Pintos, an instructional operating system kernel that 
 has been in use at multiple institutions for about 4 years.  Pintos provides 
-a bootable kernel for standard personal computers.  We provide four
+a bootable kernel for standard x86-based personal computers.  We provide four
 structured assignments in which students implement a basic priority
 scheduler, a multi-level feedback queue scheduler, a process-based 
 multi-programming system, page-based virtual memory
@@ -59,7 +58,7 @@ the parts that are created by students, and their relationship.
 Although Pintos follows in the tradition of instructional operating systems 
 such as Nachos~\cite{Christopher1993Nachos}, OS/161~\cite{Holland2002New}, and
 GeekOS~\cite{Hovemeyer2004Running}, 
-PortOS~\cite{Atkin2002PortOS}),
+PortOS~\cite{Atkin2002PortOS},
 BLITZ~\cite{PorterOverview},
 JOS~\cite{1088822}, or Yalnix~\cite{1088822},
 we believe that it is unique in two