Operating Systems

COSC 360

πŸ“‹ 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
  • Cyberduck: For moving files to/from servers like Picocluster
  • 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

πŸ“– Tutorials

C

Linux Command Line

Terminal-Based Text Editor

πŸ“Ί Videos

  • Coming soon

πŸ“ Study Guides

🧩 Projects

πŸ–₯️ Simulators/Code

πŸ“… Course Schedule

Week Date Topics Due
1 Feb 3rd (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 5th (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 10th (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). Start reading Linux Pocket Guide (Chapter 1).

Feb 12th (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 17th (Tuesday)

Process API

For next time: Finish reading Chapters 3 and 4, and start reading Chapter 5. Continue reading Chapter 1 of LPG. Project 4S is now posted.

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

Direct Execution

For next time: Read Chapter 6 in OSTEP. Finish reading LPG (Chapter 1). Project 5S is now posted.

  • Project 4S
  • Read OSTEP Chapter 5
4 Feb 24th (Tuesday)

CPU Scheduling

For next time: Start reading Chapter 7 in OSTEP. Finish Project 5S.

  • Read LPG Chapter 1
  • Read OSTEP Chapter 6
Feb 26th (Thursday)

Multi-Level Feedback Queue

For next time: Start reading Chapter 8 in OSTEP. Project 5C is now assigned. Project 5C 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 5S
  • Read OSTEP Chapter 7
5 Mar 3rd (Tuesday)

Address Spaces / Memory API

For next time: Exam 1 is on March 12th. Read Chapters 13 and 14.

  • Read OSTEP Chapter 8
Mar 5th (Thursday) Review for Exam 1
  • Read OSTEP Chapters 13 and 14
6 Mar 10th (Tuesday)
  • Project 5C
Mar 12th (Thursday) Exam 1
7 Mar 17th (Tuesday)
Mar 19th (Thursday)
8 Mar 24th (Tuesday) SPRING HOLIDAY - NO CLASS
Mar 26th (Thursday) SPRING HOLIDAY - NO CLASS
9 Mar 31st (Tuesday)
Apr 2nd (Thursday)
10 Apr 7th (Tuesday)
Apr 9th (Thursday)
11 Apr 14th (Tuesday)
Apr 16th (Thursday)
12 Apr 21st (Tuesday)
Apr 23rd (Thursday)
13 Apr 28th (Tuesday)
Apr 30th (Thursday)
14 May 5th (Tuesday)
May 7th (Thursday)
15 May 13th (Wednesday) Final Exam (3:00PM - 5:30PM)