OS Internals - CS 572/Spring 2002 Jim Binkley/Mark Morrissey Syllabus -------- Class time: M/W, 10-11:50 FAB 150 Classroom: PSU, FAB 150 Office: FAB 120-14 Email: Jim Binkley: jrb@cs.pdx.edu Mark Morrissey: markem@cs.pdx.edu Office hours: Jim Binkley, M/W 1:30-2:30 Mark Morrissey, TBD or by appointment. Feel free to make an appointment via email. Please do not show up and expect to be entertained otherwise. home page: Jim: http://www.cs.pdx.edu/~jrb/ui.html mark assignment page: http://www.cs.pdx.edu/~markem/CLASSES/OS/CS572 mail list: cs572@cs.pdx.edu Text: Linux Core Kernel Commentary, Scott Maxwell. Coriolis press. ISBN: 1-57610-469-9. 1999. www.coriolis.com Note: this book include the code with line numbers for major parts of the linux 2.2 kernel, and also commentary to explain some of that code. It is a "code walkthru" kernel commentary style book in the style of the famous zamzidat Lion's Commentary on UNIX, 6th Edition. Please bring this book to class starting with the 1st day if possible. Optional: (these have not been ordered at the bookstore, see Powell's Technical Books or www.amazon.com or elsewhere to get them) These books will be helpful for the programming part of the class. 1. Understanding the Linux Kernel. Daniel P. Bovet and Marco Cesati. O'Reilly. ISBN: 0-596-00002-2. 2001. www.oreilly.com 2. Linux Device Drivers. Alessandro Rubini and Jonathan Corbet. O'Reilly. ISBN: 0-596-00008-1. Jan. 2001, 2nd edition. Excerpts from: a few papers (<=3) findable on the Internet. Prerequisites ------------- Students must... - be familiar with the functions of a modern multiuser operating system (equivalent to what is learned in CS333 or CS 533), - be familiar with C. - have the ability to send Internet e-mail to the address above. - it will be helpful if a student has taken any security class taught by Sarah Mocas, Jim Binkley, or Mark Morrissey, or has a security background of some sort. This is not required, but at least one student per coding team with cryptographic internals experience will be helpful for that team. Class Overview -------------- The class this quarter intends to perform a pedagogical experiment. Jim Binkley and Mark Morrissey will co-teach the class. The class will have two major functions: 1. to read in-class the kernel commentary book, and 2. to use the linux lab to work hands-on with the linux kernel on a quarter-long project. We will call these functions: "code walkthru" and "kernel project". In general, Jim will be in charge of any class work, tests, and the like, and Mark will be in charge of labwork, however we may cheerfully interfere with each other. The "code walkthru" section will basically cover in-class the kernel code from the kernel commentary book. This includes sections on the kernel architecture overview, initialization, signals interrupts and time, processes and threads, memory, system V IPC, SMP, tunable kernel parameters. Jim will introduce the UNIX internals architecture, and goad students thru a first few rounds of code reading. After that, small student teams will guide the code-walkthru process, with Jim present. Mark will teach students how to compile a kernel, and present a quarter-long student team project, for students to research, design, implement, and test using the new Linux Lab. This initial project will be aimed at constructing a loadable module-based cryptographic file system. We expect the file system to be simple, but we hope that it might actually be useful. Calendar (will slip, if necessary) (TBD wrong as of yet) ----------------------------------- When What Assignments ---- ---- ----------- week of April 1 intro, history/arch. models P II, ch 1-4 chap 1-3 April 8 chap 4, start walkthru part chapter 5-6 April 15 guest boot lecture, student walkthrus April 22 student walkthrus ... Apri 29/May 1 May 6 May 8 midterm May 13 May 20 May 27 M May 27 is memorial day - university closed W May 29 June 3 June 10 finals week, we will have a final at the University appt. time Assignments ----------- See http://www.cs.pdx.edu/~markem/CLASSES/CS572 Grading ------- 50/50 in-class versus programming. Midterm 100 Final 100 In class walkthrus 100 Programming Assignment 300 (to be determined by Mark) Your final grade for the course is determined by determining the weighted percentage of the points you earn with respect to the total possible. Each letter grade occupies roughly a 10 point spread (A: 90%-100%, B: 80%-89%, etc). Initial Assignment ------------------- It is hard to say what "distance learning" means but we are attempting to do something like that since students in this course are from both industry and different schools in the Portland area. 1. Use the World Wide Web and take a look at the instructor's home page and the home page (under construction) for the class; i.e., http://www.cs.pdx.edu/~jrb http://www.cs.pdx.edu/~jrb/ui.html 2. subscribe to the class majordomo email mailing list. To subscribe send the following message via SMTP/Internet email: To: majordomo@cs.pdx.edu Subject: -------- subscribe cs572 If you drop out, please unsubscribe. Send email as above to majordomo and make the body "unsubscribe" (without quotes)