EEE335 Principles of Operating Systems
Schedule
Monday 14h40-15h30, lecture (s4424)
Tuesday 13h40-14h30, lecture (s4424)
Tuesday 14h40-16h30, lecture (s4126)
Thursday 12h00-12h50, lecture (s4424)
Work Submission
Late lab reports and assignments will receive a penalty of 25% per day including weekends and holidays. You must complete all assignments in order to take the final exam.
Virtual Machines
Labs will be completed in virtual machines (VMs) on VirtualBox. The first lab uses the EEE335_server VM while the subsequent labs use the EEE335_desktop VM. VirtualBox is a free hypervisor. It is installed on the ECE lab computers, but you can also install it on your personal computer. This will be useful to finish the labs at home after hours and to work on the assignments. You can download VirtualBox from this web page. Make sure that you download and install both the VirtualBox platform packages and the VirtualBox Oracle VM VirtualBox Extension Pack.
If you are on an ECE lab computer, you can download the lab VMs from the L drive (this is the faster method):
file:///S:/Labs/EEE335/EEE335_server.7z
file:///S:/Labs/EEE335/EEE335_desktop.7z
If you are at home, you can download the lab VMs from this website using these two links (this is the slower method):
EEE335_server.7z
EEE335_desktop.7z
Resources
Lab report template
fgetc and fputc
The Linux Command Line
Linux system calls
Linux system calls (just another reference)
Week | Date | Day | Lectures | Assignment | Laboratory |
---|---|---|---|---|---|
1 | 9-13 Jan | Mon Tue Thu | Intro OS in general (§1.1, 1.3) “ | Lab 1 – Intro (due 14h40 on 24 Jan) | |
2 | 16-20 Jan | Mon Tue Thu | OS Concepts (§1.5) System Calls (§1.6) Structure of OS (§1.7) | Lab 1 (con’t) | |
3 | 23-27 Jan | Mon Tue Thu | Processes (§2.1) Threads 1 (§2.2) (pthread examples) Threads 2 (§2.2) | Assignment 1 (due 12h00 on 16 Feb) | Lab 2 – Shell (start code) (due 14h40 on 7 Feb) |
4 | 30 Jan – 3 Feb | Mon Tue Thu | Inter-process comm 1 (§2.3) . Inter-process comm 2 (§2.3) | Lab 2 (con’t) | |
5 | 6-10 Feb | Mon Tue Thu | Classical Problems in IPC (§2.5) . | Lab 3 – Kernel (start_code) (due 14h40 on 28 Feb) | |
6 | 13-17 Feb | Mon Tue Thu | Scheduling 1 (§2.4) Scheduling 2 (§2.5) . | Lab 3 (con’t) | |
7 | 20-24 Feb | Mon Tue Thu | Reading Week . | No lab | |
8 | 27 Feb – 3 Mar | Mon Tue Thu | Linux Scheduling (Love, ch. 4) Deadlocks (§6.1-3) Deadlock Detection and Recovery (§6.4) | Assignment 2 (due 12h00 on 23 Mar) | Lab 4 – Concurrency (part_a and part_b) (due 14h40 on 21 Mar) |
9 | 6-10 Mar | Mon Tue Thu | Midterm Deadlock Avoidance and Prevention (§6.5-7) . | Lab 4 (con’t) | |
10 | 13-17 Mar | Mon Tue Thu | Basic Memory Management and Swapping (§3.1-2) Virtual Memory 1 (§3.3) Virtual Memory 2 (§3.3) | Vulnerable web page (Hack me) | Lab 4 (con’t) |
11 | 20-24 Mar | Mon Tue Thu | Page Replacement Algorithms 1 (§3.4) Page Replacement Algorithms 2 (§3.4) PRA Design Considerations (§3.5) | Lab 6 (disk image) (report template) (due 14h40 on 29 Mar) | |
12 | 27-31 Mar | Mon Tue Thu | Segmentation (§3.7) File System (§4.1-3) . | Lab 5 – Paging (start code) (due 14h40 on 13 Apr) | |
13 | 2-7 Apr | Mon Tue Thu | Principle of I/O Hardware (§5.1) Principle of I/O Software 1 (§5.2-3) . | Assignment 3 (linux64.7z) (In-class exercise, not marked) | Lab 5 (con’t) |
14 | 10-14 Apr | Mon Tue Thu | Easter Monday (no class) Principle of I/O Software 2 (§5.2-3) Last class | ||
15 | 17-21 Apr | . . . | Final Exam Wed 19 Apr at 13h00 at the gym |