Active Learning Approach to Operating System Concepts

Avatar photo Dr. Greg Gagne

30 years of teaching experience informs key concepts where students typically struggle

Operating System Concepts (OSC) is a mature title that has been around for over 25 years and is now in its 10th edition. The zyVersion of OSC presents the fundamental principles of contemporary operating systems using zyBooks active learning pedagogy that directly engages students with the subject material.   

As I developed the zyVersion of OSC, I first focused on topics students typically struggle with based on my 30 years of teaching operating systems where the zyBooks active learning approach will be most impactful. I first had the opportunity to use the zyVersion of OSC in my operating systems class during the Spring 2023 semester. Students understood challenging material such as processes and threads, CPU scheduling, race conditions, and memory management more quickly and thoroughly than in previous class versions.

In this post, I will present the following three areas

  • process creation
  • process scheduling
  • paging with TLB

where we provide participation activities followed by review questions to help students better understand these (and other) topics.


Students often struggle with how processes are created

Process Creation
Students often struggle with how processes are created – both at the conceptual and code levels. We provide two participation activities demonstrating process creation using the fork() system call: first is an animation that traces the flow of program execution through a code example:

Once students have run the animation, we next provide a Parsons problem where students construct a program by selecting blocks of code and can check their solution for correctness.

Through these two learning activities, students are better prepared to write actual code using the fork() system call to create multiple processes.


Process Scheduling

Process scheduling is fundamental to understanding how operating systems allocate CPU processing time among multiple threads. The traditional approach to presenting CPU scheduling algorithms is to provide a non-interactive, static figure such as the one shown below which demonstrates round-robin scheduling between three processes P1, P2, and P3.

This approach requires students to infer that processes P1, P2, and P3 are scheduled onto a CPU core one at a time and in the order from left to right.

The dynamic/interactive approach used in the zyVersion of OSC provides an animation where students step through the scheduling of four processes (P1 through P4) using round-robin scheduling.


Paging

Translating a logical to a physical address is one of the more challenging topics when studying operating systems, especially when the translation lookaside buffer (or TLB) is involved. Paging involves separating a logical address into a logical page number and offset where the logical page number must be translated into a physical page frame. The offset specifies the location in the physical page frame. The TLB is a cache of the page table and can speed up the translation process. The traditional static figure for address translation appears below and students often struggle to recognize there are two possible paths through the translation.

In the zyVersion of OSC, we have replaced this static image with an animation where students can work through the two possible paths of the address translation process.


See more information about the zyVersion of Operating System Concepts, 10th edition, and request free evaluation access for your review. Please visit the Office Hours Blog for additional resources and best practices.


Avatar photo
Author Bio

Dr. Greg Gagne

Greg Gagne is a professor of computer science at Westminster University in Salt Lake City where he has been teaching since 1990. In addition to teaching operating systems, he teaches computer networks, computer security, introductory programming, and data structures. His teaching style is active learning which directly engages students, and he regularly uses inquiry-based pedagogies in his classes including POGIL (Process-Oriented Guided Inquiry Learning) and PI (Peer Instruction). Professor Gagne is active in the computer science education community and has twice won the Shaw Faculty Publication Award at Westminster University, most recently in 2024 for the zyBooks version of Operating System Concepts.