CS 508 (Fall 2006/07): Operating Systems

" method="post" enctype="multipart/form-data">

"; echo ""; echo ""; echo ""; } else echo "

"; include("display-ref.inc.php"); $bigbibtex.=$bibtex; $bigxml.=$xml; if ($cutnpaste!="on") { // Options: BibTeX [Abstract] [Full paper] echo ''; // ID transmission echo ''; // Buttons if ( 0 ) { echo ' '; echo ' '; echo ' '; if ($abstract) echo ' '; } if (($file)||($paperurl)) echo ' '; echo '

'; } else echo "

"; // End reference echo "\n\n"; } } // Actions switch($action) { case "actionref": // Display reference details // Retrieve fields $result=mysql_query("select * from btw_paper, btw_reference where reference=type and bibkey='$bibkey'"); // Common fields retrieval $reference=mysql_result($result, 0, 'reference'); $title=mysql_result($result, 0, 'title'); $scope=mysql_result($result, 0, 'scope'); $year=mysql_result($result, 0, 'yea'); $month=mysql_result($result, 0, 'mon'); $note=mysql_result($result, 0, 'note'); $abstract=mysql_result($result, 0, 'abstract'); $keywords=mysql_result($result, 0, 'keywords'); $file=mysql_result($result, 0, 'file'); $paperurl=mysql_result($result, 0, 'url'); // Retrieve multivalued & specific fields include("load-ref.inc.php"); // Display echo "

Reference ($reference)

"; include("display-ref.inc.php"); switch($subaction) { case "BibTeX": echo "

BibTeX entry

".nl2br(str_replace("\t","   ",$bibtex))."

"; ?>

Abstract

"; echo nl2br(str_replace("\'","'",$abstract)); echo "

Keywords

"; echo str_replace("\'","'",$keywords); echo "

"; break; case "Full paper": echo "

Full paper

"; if ($file) { $path="files/".$file; $size=floor(filesize($path)/1024); echo "

$file ($size KB)

\n"; } else echo "

$paperurl

\n"; // URL break; } // Footer return_button($bibkey,$minyear,$maxyear,$keyword); break; case "actionfoot": // Footer options switch($subaction) { case "BibTeX": echo "

BibTeX entries

".nl2br(str_replace("\'","'",str_replace("\t","   ",$bibtex)))."

"; $namecomponents=explode(" ", $username); $lastname=strtolower($namecomponents[count($namecomponents)-1]); ?>
Statistics from $minyear to $maxyear"; if ($keyword) echo " with keyword = \"$keyword\""; echo ""; echo ''; $result=mysql_query("select reference, scope, count(*) as c from btw_paper, btw_reference where reference=type and yea between $minyear and $maxyear and (upper(title) like upper('%$keyword%') or upper(keywords) like upper('%$keyword%')) group by reference, scope order by scope, rank"); $n=mysql_numrows($result); $tot=0; for ($i=0; $i<$n; $i++) { $c=mysql_result($result, $i, 'c'); $tot+=$c; echo ""; } echo ""; echo "
Reference type Scope Number of references
".mysql_result($result, $i, 'reference')." ".mysql_result($result, $i, 'scope')." $c
Total $tot
"; break; } return_button("footoptions",$minyear,$maxyear,$keyword); break; default: // List all publications in the database ?>

Overview

When: Mon/Wed 12:30-2pm
Where: ICCS 238
Instructor: Charles 'Buck' Krasic

This course is an overview of operating systems (OS) concepts. This class is based on a reading list format. The reading list has been selected from seminal OS papers of the last thirty years and a some more recent and topical research papers.

You will be required to read each paper carefully, write a brief summary of it, and submit it before the start of each class. Each student will also be assigned to present one or more papers from the reading list, and lead class discussion afterward. The student should submit their presentation, along with a recap of the issues that were discussed in class. These materials will be assembled on the course website.

Students will also be expected to prepare either a course programming project, or a paper submission. Programming projects may be done in teams of two if you wish. The paper may take the form of either a short survey, or a position on a topic concerning current and future directions of operating systems research. The due date is Dec. 7th.

Evaluation

Course grades will be determined based upon the following student responsibilities (approximately equal weight):

Reading List/Schedule

From: To: Keyword filter: Cut & paste mode: />
\n"; echo "\n"; // Display list // $result=mysql_query("select * from btw_paper, btw_reference where reference=type and yea between $minyear and $maxyear and (upper(title) like upper('%$keyword%') or upper(keywords) like upper('%$keyword%')) order by scope, rank, yea desc"); $i = 0; $class_dates[$i++] = '11-Sept-05'; $class_dates[$i++] = '11-Sept-05'; $class_dates[$i++] = '13-Sept-05'; $class_dates[$i++] = '20-Sept-05'; $class_dates[$i++] = '22-Sept-05'; $class_dates[$i++] = '27-Sept-05'; $class_dates[$i++] = '29-Sept-05'; $class_dates[$i++] = '4-Oct-05'; $class_dates[$i++] = '6-Oct-05'; $class_dates[$i++] = '11-Oct-05'; $class_dates[$i++] = '13-Oct-05'; $class_dates[$i++] = '18-Oct-05'; $class_dates[$i++] = '20-Oct-05'; $class_dates[$i++] = '25-Oct-05'; $class_dates[$i++] = '27-Oct-05'; $class_dates[$i++] = '1-Nov-05'; $class_dates[$i++] = '3-Nov-05'; $class_dates[$i++] = '8-Nov-05'; $class_dates[$i++] = '10-Nov-05'; $class_dates[$i++] = '15-Nov-05'; $class_dates[$i++] = '17-Nov-05'; $class_dates[$i++] = '22-Nov-05'; $class_dates[$i++] = '24-Nov-05'; $class_dates[$i++] = '29-Nov-05'; $class_dates[$i++] = '1-Dec-05'; $num_classes = $i; $i = 0; $class_papers[$i++] = "birrel89introdu"; $class_papers[$i++] = "savage97eraser"; $class_papers[$i++] = "hoare74monitors"; $class_papers[$i++] = "lampson80monito"; $class_papers[$i++] = "ousterhout96"; $class_papers[$i++] = "welsh01seda"; $class_papers[$i++] = "lauer79duality"; $class_papers[$i++] = "vonbehren03even"; $class_papers[$i++] = "adya02stackless"; $class_papers[$i++] = "vonbehren03capr"; $class_papers[$i++] = "zeldovish04even"; $class_papers[$i++] = "anderson92activ"; $class_papers[$i++] = "birrel84rpc"; $class_papers[$i++] = "bershad89lrpc"; $class_papers[$i++] = "bershad91ipc"; $class_papers[$i++] = "dijkstra-the"; $class_papers[$i++] = "clark85upcalls"; $class_papers[$i++] = "chanda04laio"; $class_papers[$i++] = "silberschatz02m"; $class_papers[$i++] = "liedtke93kernel"; $class_papers[$i++] = "haertig97ukerne"; $class_papers[$i++] = "wahbe93sandbox"; $class_papers[$i++] = "bershad95extens"; $class_papers[$i++] = "rashid88vm"; $class_papers[$i++] = "appel91vmtricks"; $class_papers[$i++] = "bugnion97disco"; $class_papers[$i++] = "barham03xen"; $class_papers[$i++] = "dunlap02revirt"; $class_papers[$i++] = "king05debugging" ; $class_papers[$i++] = "engler95exokern"; $class_papers[$i++] = "McNamee2001"; $class_papers[$i++] = "aron00soft"; $class_papers[$i++] = "Goel2002c"; $class_papers[$i++] = "walker83locus"; $class_papers[$i++] = "schroeder84grap"; $class_papers[$i++] = "jul88emerald"; $class_papers[$i++] = "mckusick84ffs"; $class_papers[$i++] = "rosenblum92lfs"; $class_papers[$i++] = "santry99elephan"; $class_papers[$i++] = "hartman95zebra"; $class_papers[$i++] = "thekkath97frang"; $class_papers[$i++] = "rowstron01past"; $class_papers[$i++] = "debek01cfs"; $class_papers[$i++] = "muthitacharoen0"; $class_papers[$i++] = "mazieres99sfs"; $class_papers[$i++] = "kaminsky03sfs"; $paper_num = 1; for ( $i = 1; $i < $num_classes; $i++ ) { $class_num = $i; echo "\n"; echo "\n"; echo "Class $class_num
$class_dates[$i]\n"; echo "\n\n"; if ($class_num == 1) { echo "Course overview and initial paper assignments"; } else { for ( $j = 0 ; $j < 2; $j++ ) { switch ($paper_num) { case "1": echo "

Threads and Concurrency

"; break; case "3": echo "

Classic Approaches to Synchronization

"; break; case "5": echo "

Event-Based Systems

"; break; case "7": echo "

Duality of Threads and Events

"; break; case "9": echo "

Threads and Events Potpourri: Stacks, Multiprocessor, Scheduling

"; break; case "13": echo "

Remote Procedure Call

"; break; case "16": echo "

System Structuring using Layers

"; break; case "19": echo "

Extensibility via Hardware-Based Protection

"; break; case "22": echo "

Extensibility via Software-Based Protection

"; break; case "24": echo "

Extensible Virtual Memory Management

"; break; case "26": echo "

Virtualization

"; break; case "28": echo "

Applications of Virtualization

"; break; case "30": echo "

Exo-kernel and Specialization

"; break; case "32": echo "

Real-Time

"; break; case "34": echo "

Distribution

"; break; case "37": echo "

File Systems

"; break; case "40": echo "

Distributed File Systems

"; break; case "45": echo "

Security and File Systems

"; break; default : break; } echo "Paper #$paper_num:
"; display_ref($class_papers[$paper_num-1]); if (((($i - 1) * 2) + $j) != 7) { $paper_num++; } } } echo "\n\n"; } echo "\n"; // Bottom options /* echo "

 

\n"; // Stats ?>
" />
Instructor's homepage

\n\n"; break; } include("copyright.inc.php"); // Footer ?>