Condition variables

Condition variables

For many applications, simple mutual exclusion is insufficient as threads may need to wait for a specific condition to be true. Using a busy waiting loop is problematic because it can prevent other threads from altering the condition within the monitor. A more efficient solution is required to signal the thread when the desired condition is potentially true, rather than relying on arbitrary wait times.

5 courses cover this concept

CS 110: Principles of Computer Systems

Stanford University

Winter 2022

CS 110 delves into advanced computer systems and program construction, focusing on designing large systems, software that spans multiple machines, and parallel computing. This course builds upon CS107 and requires good knowledge of C, C++, Unix, GDB, Valgrind, and Make. It covers Linux filesystems, multiprocessing, threading, networking, and more.

No concepts data

+ 28 more concepts

CS 110: Principles of Computer Systems

Stanford University

Summer 2021

Requiring familiarity with C/C++ and Unix/Linux, delves into computer systems principles. Students will engage with a blend of C and C++ to interface with system resources and manage complex projects. The course covers a broad range of topics including filesystems, multiprocessing, synchronization, networking, and MapReduce.

No concepts data

+ 24 more concepts

CS 140: Operating Systems

Stanford University

Spring 2020

This course provides an in-depth understanding of the basic facilities provided by modern operating systems. It's structured into three major sections: concurrency, memory management, and file systems, followed by some smaller topics like virtual machines. The class includes one problem set and four programming projects based on the Pintos kernel, requiring a significant commitment of time.

No concepts data

+ 21 more concepts

CS 111 Operating Systems Principles

Stanford University

Autumn 2022

An introductory course to operating systems, CS 111 builds upon programming experience to explore how operating systems function. The course provides an understanding of OS design challenges, such as filesystems, system calls, concurrency, virtual memory, demand paging, and others. Knowledge in C/C++ and Unix/Linux environment is prerequisite.

No concepts data

+ 20 more concepts

CSCI 0300: Fundamentals of Computer Systems

Brown University

Spring 2023

Introductory course covering computer system fundamentals including machine organization, systems programming in C/C++, operating systems concepts, isolation, security, virtualization, concurrency, and distributed systems. Projects involve implementing core OS functionality.

No concepts data

+ 32 more concepts