Threads & Processes

Threads vs processes

A thread of execution is the smallest sequence of instructions that can be managed independently by an operating system's scheduler. Threads can be part of a process and can run concurrently, sharing resources like memory, while different processes do not share these resources. This includes sharing executable code and dynamically allocated variables.

5 courses cover this concept

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

CS 112, CS212: Operating Systems

Stanford University

Winter 2023

This course introduces students to operating system concepts, with a primary focus on Unix, and covers key systems concepts in general. It prepares students to deal with larger software systems with programming assignments that are bigger than in many other courses. Topics covered include threads & processes, concurrency & synchronization, scheduling, virtual memory, I/O, disks, file systems, protection & security, and virtual machines.

No concepts data

+ 16 more concepts

CS 162: Operating Systems and Systems Programming

UC Berkeley

Fall 2022

This course introduces operating systems design and related concepts. It covers topics like memory allocation, file systems, basic networking, transactions, and security. The course requires foundational knowledge in data structures, assembly language, C programming, and debugging. It aims to improve students' skills in debugging large programs and computational problem solving.

No concepts data

+ 49 more concepts

CSE 451 Operating Systems

University of Washington

Spring 2022

This course focuses on practical implementation of operating system concepts using the 'xk' OS. Students will learn about system software and get acquainted with the source code of operating systems through team-based labs. Key concepts covered include threads & processes, memory consistency, file systems, RAID, ZFS, and others.

No concepts data

+ 14 more concepts