CMSC 412 |
Operating Systems |
Fall 2013 |
Professor | A. Udaya Shankar (email: shankar@cs.umd.edu). Office hours: TuTh 3:30-4:00 (AVW 4141) but easily expandable (email for an appt). |
TA | Jon Fetter-Degges
(email, office hours on Piazza:
see
post 9)
Jon's 412 page: http://www.cs.umd.edu/~jonfd/f13-412 |
Class | CSIC 3120. TuTh 2:00-3:15pm |
Discussion | CSIC 1121. MW 9:00-11:00pm |
There is a significant and time-consuming programming project (GeekOS). You are provided with the source code (about 3000 lines of C and some assembly) of a "Unix-style" skeleton operating system for a PC-like x86 platform. You have to understand a large part of this code and augment it with various OS functionality: interprocess signals, semaphores, cpu scheduling, memory paging, file system, etc. The programming environment is Gnu/Linux. The x86 platform is simulated by QEMU. You can use the linuxlab cluster, but you will probably want to run the environment on your own machine.
Sun Mon Tue Wed Thu Fri Sat SEP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 P0 19 20 21 22 23 24 Q1 25 26 27 28 29 30 P1 1 2 3 4 5 OCT 6 7 8 Q2 9 10 11 P2 12 13 14 15 16 17 18 19 20 21 22 Q3 23 24 25 P3 26 27 28 29 30 31 1 2 NOV 3 4 5 6 7 8 9 10 11 W 12 Q4 13 14 15 P4 16 17 18 19 20 21 22 23 24 25 26 Q5 27 28 tbrk 29 30 1 2 3 4 5 6 7 DEC 8 9 10 Q6 11 12 13 P5 14 15 16 17 18 19 Final 20 21 22 23 24 25 26 27 28 29 30 31 |