Summary

  • Course meets Tuesdays and Thursdays from 3:00-4:15 PM in Cuneo Hall 311
  • 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

  • Raspberry Pi Development SystemYou are required to buy and build the development systemfor this class. Parts are available from pishop.us
  • 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
  • Lab Thursday: 4 - 6 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 %
    • Quizzes: 20 %
    • 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/19 Intro; Installing Gentoo
Thu 01/21 More Gentoo fun! Homework 0: Finish your Gentoo install
Tue 01/26 Tools: git, make, gcc, vim Homework 0 Due
Debugging Programs (video)
Linux Tools (video)
Further Reading:
Thu 01/28 Raspberry Pi OS: Intro Homework 1: Clearing the bss segment in your kernel
Grad Reading: | Paper Review Format
Tue 02/02 Assembly Language Refresher Further Reading:
Thu 02/04 Execution Level and Privileged Operations In-Class Activity: Writing hexdump
Homework 1 Due
Further Reading: Grad Reading:
Tue 02/09 C Refresher Homework 2: Pi OS Serial Driver | rprintf.c rprintf.h
Further Reading:
Thu 02/11 Intro to Memory-Mapped I/O
Tue 02/16 Spring Break: No Class In-Class Activity: Delays using system timer
Thu 02/18 Polling I/O In-Class Activity: malloc Fun
Homework 3 Assigned
Further Reading
Grad Reading:
Tue 02/23 Interrupts Homework 2 Due
Further Reading:
Thu 02/25 Memory & Memory Allocation In-Class Activity: Paging
Further Reading: Grad Reading
Tue 03/02 Virtual Memory & Paging
Thu 03/04 Setting up the MMU on the Pi Grad Reading:
Tue 03/09
Thu 03/11 Spring Break: No Class Grad Reading:
Tue 03/16
Thu 03/18 Grad Reading:
Tue 03/23 Project Ideas
Thu 03/25 Grad Reading:
Tue 03/30 Project Proposals Due | Project Proposal Guidelines
Thu 04/01 Grad Reading
Tue 04/06
Thu 04/08 Grad Reading
Tue 04/13
Thu 04/15 Grad Reading
Tue 04/20
Thu 04/22 Grad Reading
Tue 04/27
Thu 04/29