COSC 360: Operating Systems

Spring 2025

Course Resources
General
Software and Other Resources
  • Virtual Machines (software to virtualize entire computer systems)
  • Linux: An open-source operating system (Note: If you are on a 64-bit x86 Intel/AMD machine, download the x86_64 version of Linux. If you are on an ARM machine such as Apple Silicon, download the aarch64 version of Linux)
    • Fedora Linux (I recommend the latest version of the “Workstation” version, and find that Fedora works best when virtualizing with something like VirtualBox or UTM)
    • Ubuntu Linux
    • Other flavors
  • Linux Setup Instructions: In case you want to install a full copy of Linux on your own computer
  • How To Run the Textbook Code: Instructions for compiling and running C code
  • PicoCluster Tutorial: Instructions for connecting to PicoCluster
C Tutorials
Linux Command-Line Tutorials
Terminal-Based Text Editor Tutorials
Videos
Study Guides
Projects
Simulators / Code



Course Schedule
Week Date Topics Due
1 Feb 4th (Tuesday)

Course Introduction, PicoCluster, The Linux OS

For next time: Read the syllabus, log in to PicoCluster and familiarize yourself with Linux, and get the textbooks.

Feb 6th (Thursday)

Installing Linux

For next time: Familiarize yourself with Linux. Make sure you have access to Linux (either via PicoCluster, UTM, VirtualBox, WSL, VMware Fusion, etc.)

2 Feb 11th (Tuesday)

Introduction to Operating Systems, The Linux Command Line

For next time: Read the first two chapters of OSTEP. Continue familiarizing yourself with Linux, install CyberDuck on your own computer, download the code from the book and move it over to PicoCluster (or whatever virtual machine you are using).

Feb 13th (Thursday)

Processes

For next time: Make sure to have read Chapters 1 and 2 in OSTEP, and now start reading Chapters 3 and 4. Project 4S is now posted.

  • Read OSTEP Chapters 1 and 2
3 Feb 18th (Tuesday)

Process API

For next time: Finish reading Chapters 3 and 4, and start reading Chapter 5. Start reading just the beginning of LPG (Linux Pocket Guide). Project 4S is now posted.

  • Read OSTEP Chapters 3 and 4
Feb 20th (Thursday)

Direct Execution

For next time: Start reading Chapter 6 in OSTEP. Finish reading LPG (Linux: A First View). Project 5S is now posted.

  • Project 4S
  • Read OSTEP Chapter 5
  • Read LPG (What’s In This Book? Practicing With This Book, Getting Help)
4 Feb 25th (Tuesday)

CPU Scheduling

For next time: Start reading Chapter 7 in OSTEP. Start reading LPG (The Filesystem, Shell Features)

  • Read OSTEP Chapter 6
  • Read LPG (Linux: A First View)
Feb 27th (Thursday) SIGCSE 2025 - NO CLASS
  • Project 5S
5 Mar 4th (Tuesday)

Multi-Level Feedback Queue

For next time: Start reading Chapter 8 in OSTEP. Read LPG (Basic File Operations)

  • Read OSTEP Chapter 7
Mar 6th (Thursday)

NO CLASS

For next time: Use this time to work on Project 5C. This is a coding project, and you will need to compile real C code on Linux. Remember to use the examples from the chapter as a template. Start reading Chapter 8 in OSTEP. Read LPG (Basic File Operations).

6 Mar 11th (Tuesday)

Review for Exam 1

For next time: Use this time to work on Project 5C. This is a coding project, and you will need to compile real C code on Linux. Remember to use the examples from the chapter as a template. Project 5C is now due Thursday night. Project 7S is now posted.

  • Read OSTEP Chapter 8
  • Read LPG (Basic File Operations)
Mar 13th (Thursday)

Address Spaces / Memory API

For next time: Exam 1 is on Tuesday next week. Read Chapters 13 and 14.

  • Project 5C
7 Mar 18th (Tuesday)

Exam 1

For next time: Make sure to finish Project 7S before break.

Mar 20th (Thursday)

Address Translation

For next time: Finish Project 7S. We will learn more about memory after we return from break. Read Chapter 15 regarding address translation.

  • Project 7S
  • Read OSTEP Chapters 13 and 14
8 Mar 25th (Tuesday) SPRING HOLIDAY - NO CLASS
Mar 27th (Thursday) SPRING HOLIDAY - NO CLASS
9 Apr 1st (Tuesday)

Segmentation

For next time: Start working on Project 15S. Read Chapter 16.

  • Read OSTEP Chapter 15
Apr 3rd (Thursday)

Free Space Management

For next time: Read Chapter 17. I’ve already posted both of the simulators for these two chapters to help you understand the concepts. Finish Project 15S by Tuesday night.

  • Read OSTEP Chapter 16
10 Apr 8th (Tuesday)

Paging

For next time: Read Chapter 18. Project 15S is due tonight.

  • Project 15S
  • Read OSTEP Chapter 17
Apr 10th (Thursday)

Swapping

For next time: Read Chapter 21 and Chapter 22. Project 17S is Tuesday. We will review for Exam 2 next time, and I have already posted a study guide.

  • Read OSTEP Chapter 18
11 Apr 15th (Tuesday)

Review for Exam 2 / Concurrency and Threads

For next time: The second exam will be next Tuesday. We will continue our introduction into the final section of concurrency on Thursday.

  • Project 17S
Apr 17th (Thursday) Concurrency and Threads
  • Read OSTEP Chapters 21 and 22
12 Apr 22nd (Tuesday) Exam 2
Apr 24th (Thursday)
13 Apr 29th (Tuesday)
  • Project 26S
May 1st (Thursday)
  • Project 28S
14 May 6th (Tuesday)
May 8th (Thursday)
15 May 15th (Thursday) Final Exam (11:30PM - 2:00PM)