Main Goals

  • To identify the main responsibilities of an Operating System (OS).
  • To explain the fundamental principles, strategies and algorithms associated to the main responsibilities of an OS.
  • To describe the main factors associated with OS performance.
  • To develop scripts (in Powershell and Bash) to monitor OS events.

Schedule

Week - Day Topics and Materials Notes and Exercises
1 - 1 Intro to Operating Systems – Handout Book 1.1 to 1.6
1 - 2 Powershell M1 – Handout Help cmdlet
2 - 1 Operating Systems Structures – Handout Book 2.1 - 2.3 & 2.8
2 - 2 Powershell M2 – Handout cmdlets
3 - 1 Processes – Handout Book 3.1 to 3.4, 3.7, and 3.8
3 - 2 Powershell M3 – Handout cmdlets
4 - 1 Threads and Concurrence – Handout Book 4.1 to 4.5
4 - 2 Powershell M4 – Handout cmdlets
5 - 1 CPU Scheduling – Handout Book 5.1 to 5.3, 5.5, 5.7, and 5.8
5 - 2 Powershell M5 – Handout cmdlets
6 - 1 Synchronization Tools and Examples – Handout  
6 - 2 Powershell M6 – Handout cmdlets
7 - 1 DeadLocks – Handout  
7 - 2 Linux Commands M1 – Handout Exercise scripts
8 - 1 Main Memory – Handout  
8 - 2 Bash M2 – Handout Exercise scripts
9 - 1 Virtual Memory – Handout  
9 - 2 Bash M3 – Handout Exercise scripts
10 - 1 Mass-Storage Structure – Handout  
10 - 2 AWK M4 – Handout Exercise scripts
11 - 1 I/O Systems – Handout  
11 - 2 AWK vs Powershell M5 – Handout Exercise scripts
12 - 1 File System Interface and Implementation – Handout  
12 - 2 Bash - AWK M6 – Handout Exercise scripts
13 - 1 Virtual Machines – Handout  

To access all related exercises (with proposed solutions), code and materials for this course please contact me.

Textbook and Resources