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.
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 conceptsStanford 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 conceptsStanford 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 conceptsStanford 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 conceptsBrown 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