COSC 360: Operating Systems

Spring 2024

Course Resources
General
Software/Tools
C Tutorials
Linux Command-Line Tutorials
Terminal-Based Text Editor Tutorials
Videos
Study Guides
Projects
Simulators
Course Schedule
Week Date Topics Due
1 Feb 6th (Tuesday)

Course Introduction, VirtualBox, Ubuntu Linux

For next time: Read the syllabus, download and install VirtualBox/VMware Fusion and Fedora Linux (see instructions posted above), and get the textbooks.

Feb 8th (Thursday)

The Linux Command Line

For next time: You now have the option of either using a virtual machine, WSL, or the Terminal app (macOS). The instructions are posted above.

2 Feb 13th (Tuesday)

Introduction to Operating Systems

For next time: Make sure you have access to running Linux commands (VirtualBox, UTM, VMware Fusion, WSL, or something similar).

Feb 15th (Thursday)

Processes

For next time: Make sure to be reading Chapters 1-4 in OSTEP. Start reading just the beginning of LPG.

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

Process API

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

  • Read OSTEP Chapters 3 and 4
  • Read LPG (What’s In This Book? Practicing With This Book, Getting Help)
Feb 22nd (Thursday)

Limited Direct Execution

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

  • Read OSTEP Chapter 5
4 Feb 27th (Tuesday)

CPU Scheduling

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

  • Project 4S
  • Read OSTEP Chapter 6
  • Read LPG (Linux: A First View)
Feb 29th (Thursday)

Multi-Level Feedback Queue

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

  • Project 5S
  • Read OSTEP Chapter 7
  • Read LPG (The Filesystem, Shell Features)
5 Mar 5th (Tuesday)

Address Spaces

For next time: Start reading Chapter 8 in OSTEP. Read LPG (Basic File Operations). I recommend to learn (at least at a basic level) a command-line text editor like emacs, vim, or nano.

  • Read OSTEP Chapter 8
  • Read LPG (Basic File Operations)
Mar 7th (Thursday) Review for Exam 1
6 Mar 12th (Tuesday) Memory API
  • Project 5C
  • Read OSTEP Chapters 11, 12, and 13
  • Read LPG (Directory Operations)
Mar 14th (Thursday) Address Translation
  • Project 7S
  • Read OSTEP Chapters 14 and 15
7 Mar 19th (Tuesday)

Exam 1

For next time: No class on Thursday. Use this time to work on Project 15S.

Mar 21st (Thursday) No Class (SIGCSE 2024)
8 Mar 26th (Tuesday) Segmentation
  • Project 15S
Mar 28th (Thursday) Free Space Management
  • Read OSTEP Chapter 16
9 Apr 2nd (Tuesday) No Class (Spring Holiday)
Apr 4th (Thursday) No Class (Spring Holiday)
10 Apr 9th (Tuesday)

Paging

For next time: A reminder that Project 17S is due tonight. We will finish up the memory section next time, which will give you everything you need for Exam 2. The second study guide is already posted.

  • Read OSTEP Chapter 17
Apr 11th (Thursday) Swapping
  • Project 17S
  • Read OSTEP Chapter 18
11 Apr 16th (Tuesday)

Review for Exam 2

For next time: The second exam will be next Tuesday. We will start the final section on concurrency on Thursday.

  • Read OSTEP Chapters 21 and 22
Apr 18th (Thursday) Concurrency and Threads
12 Apr 23rd (Tuesday) Exam 2
Apr 25th (Thursday) Locks
  • Read OSTEP Chapter 26
13 Apr 30th (Tuesday) Locked Data Structures
  • Project 26S
May 2nd (Thursday) Condition Variables
  • Project 28S
14 May 7th (Tuesday) Semaphores
May 9th (Thursday) Persistence
15 May 15th (Wednesday) Final Exam (3:00PM - 5:00PM)