pete > courses > Operating Systems (CSCI 0414), Spring 2024
Operating Systems (CSCI 0414), Spring 2024
Who | Peter C. Johnson (pete@midd) |
Where | 75 Shannon Street, Room 203 |
When | Tuesdays and Thursdays, 11:15–12:30 |
Textbook | none required |
Schedule
13 Feb | introduction, architecture review, OS overview |
15 Feb | system calls in detail |
20 Feb | DTrace |
22 Feb | virtual memory I |
27 Feb | virtual memory II Assignment 1 available |
Coursework
Five assignments and one final exam.
Each assignment will consist of three parts: complete any one part to earn a C, any two parts to earn a B, and all three parts to earn an A. (An exception: the filesystems assignment will require finishing two specific parts before embarking upon the third.) You will have ~2 weeks for each assignment, with rounds of feedback/revisions.
The final exam will consist of several questions requiring written answers. A certain number of correct answers will be required for a C, a B, and an A. (Exact numbers to be determined at a later date.) You will have ~1 week to complete the final, with rounds of feedback/revisions.
For the semester grade:
- Complete all assignments and the final exam at the C tier to earn a C.
- Complete all assignments and the final exam at the B tier to earn a B.
- Complete all assignments and the final exam at the A tier to earn a A.
Half-grades (ie, + or -) will be assigned based on how many of the next-higher tier pieces of coursework have been completed. Whole grades (ie, A/B/C) will only be assigned if all assignments and final exam are completed at that level. (That is, a student who finishes everything at the C level and then does a smattering of A and B stuff, but not all the B stuff, will earn a maximum grade of B-.)
Resources
Textbooks
As stated above, none are required. Should you wish to consult alternative resources (and I fully encourage you to do so!), I suggest the following.
- The Design and Implementation of the FreeBSD Operating System, McKusick, Neville-Neil, and Watson
- Operating System Concepts, Silberschatz, Galvin, Gagne
- Modern Operating Systems, Tanenbaum
I have copies of all of these in my office which you are most welcome to peruse. If you seek them out on your own, try to get the latest editions.
FreeBSD source code
These websites provide different interfaces to browse the FreeBSD source code:
Additionally, when you get yourself a FreeBSD virtual machine situation, you will have the source code there, too: it will be in /usr/src, with the kernel code specifically in /usr/src/sys.
Using FreeBSD for this course
Academic Integrity
All work submitted in this course must be your own and no-one else’s. On all coursework, any assistance that is not explicitly allowed is prohibited; ask me for clarification if there is confusion at any point. You may discuss assignments with other students, but you may not view other students’ solutions, no matter how preliminary. Rule of thumb: never talk to another student about coursework with a computer screen open.
If I determine that the work you submit is not your own, you will earn no credit for that piece of work and you will not be permitted to resubmit it. Such work includes, but is not limited to, solutions that are in any way informed by large language models such as ChatGPT.
When in doubt, ask.
ADA
Students who have Letters of Accommodation in this class are encouraged to contact me as early in the semester as possible to ensure that such accommodations are implemented in a timely fashion. For those without Letters of Accommodation, assistance is available to eligible students through the Disability Resource Center (DRC). Please contact ADA Coordinators Jodi Litchfield and Peter Ploegman of the DRC at ada@middlebury.edu for more information. All discussions will remain confidential.