Summary

  • Course meets Tuesdays from 4:15-6:45 PM in Cuneo Hall 312
  • 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 Sean Higgins

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.
  • Each person will get five slop days to turn in assignments late. You can use up to two days per assignment.
  • No partial credit for code that does not compile.
    • Homework: 40 %
    • Participation: 10 %
    • Progress: 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.

GitHub

Course Schedule

Tenative

Date Topic Details
Tue 01/14 Intro, Policies, Etc.
Installing Gentoo
Slides
Homework 0: Finish your Gentoo installation
Further Reading
Tue 01/21 ASM Intro, BIOS, Bootloaders In-Class Activity: BIOS Calls
Homework 1: Writing a boot sector
Debugging Programs (video)
Linux Tools (video)
Further Reading: Grad Reading:
Tue 01/28 Interrupts and I/O In-Class Activity: Input/Output | Polling Code
Further Reading Grad Reading:
Tue 02/04 The C Library & Syscalls Homework 1 Due
Homework 2: Writing a terminal driver & parsing multiboot2 information structure | Terminal Driver Example
Further Reading
Grad Reading:
Tue 02/11 Memory and Mem Allocation Further Reading
Grad Reading
Tue 02/18 Virtual Memory & Paging Homework 2 Due
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
Tue 03/24 Interprocess Communication Grad Reading
Tue 03/31 Containers Grad Reading
Tue 04/07 Android & Mobile
Tue 04/14 Networking
Tue 04/21 Virtualization Grad Reading
Tue 04/28 Final Project Presentations