Summary

  • This is an upper level course that teaches the basics of computer operating systems.
  • The schedule on this page lists the topics we will cover by date.

Required Materials

  • Laptops will be required in class. Please bring your laptop to class every day. We'll be using them for labs. Minimum system requirements:
    • 8GB RAM
    • Intel CPU
  • Textbook: Operating Systems: Three Easy Pieces, a free online textbook. You can also buy a hard copy for pretty cheap from the website.

Office Hours

  • Doyle 309
  • Tuesday: Noon - 1PM
  • Thursday: 1 - 2 PM
  • Or by appointment
TA Tyler Arndt

Grading

  • Treat this course like a job where you are trying to get promoted. If you show up and do your work, you will get a good grade.
  • NO LATE WORK WILL BE ACCEPTED. However, I will drop the lowest two homeworks and quizzes before computing final grades at the end of the semester.
    • Homework: 40 %
    • Participation: 10 %
    • Final Project: 40 %
    Percentage Letter Grade
    91+ A
    89-90 A-
    87-88 B+
    77-86 B
    75-76 B-
    73-74 C+
    62-72 C
    60-61 C-
    50-59 D
    Below 50 F

Scheduling Conflicts

  • If you have a (legitimate) scheduling conflict with a quiz or exam, it is possible to schedule a makeup session. You must let me know at least two weeks prior to the quiz/exam date. Legitimate scheduling conflicts include religious observances.
  • LUC's academic calendar can be found here.

Mandatory Reporter Statment

  • Each faculty and staff member at Loyola University Chicago is required to report any incidents of gender-based misconduct that they are made aware of, even if it happened in the past. Gender-based misconduct includes discrimination based on actual or perceived sex, sexual orientation, gender expression or identity, or pregnancy or parenting status; dating and domestic violence; sexual misconduct (including sexual assault, sexual harassment, and sexual exploitation); and stalking.

Tools

Collaboration

  • No collaboration is permitted on exams or quizzes.
  • Collaboration, but not copying, is encouraged on homework assignments. If you obtain a solution through research, e.g., in the library or online, cite your source completely and write up the solution in your own words.

Course Schedule

Tenative

Date Topic Details
Tue 01/14 Intro, Policies, Etc.
Installing Gentoo
Homework 0: Finish your Gentoo installation
Further Reading
Tue 01/21 ASM Intro, BIOS, Bootloaders Homework 1: Writing a boot sector & parsing multiboot2 information structure
Grad Reading:
Tue 01/28 Interrupts and I/O Homework 2: Writing an interrupt service routine
Further Reading Grad Reading:
Tue 02/04 The C Library Homework 3: Write a C Library
Further Reading
  • C Book Chapter 1
Grad Reading:
Tue 02/11 Memory and Mem Allocation Homework 2: Writing malloc
Further Reading
Grad Reading
Tue 02/18 Virtual Memory & Paging Homework 3: Setting up paging on x86
Further Reading:
Grad Reading:
Tue 02/25 File Systems Homework 4: Implement FAT FS
Further Reading: Grad Reading:
Tue 03/03 Processes Homework: Load the init process in your kernel
Further Reading:
Grad Reading:
Tue 03/10 Threads Project Proposals Due
Further Reading
Grad Reading:
Tue 03/17 Scheduling Project Proposal Feedback Meetings
Further Reading: Grad Reading