Synchronization (computer science)

Synchronization (computer science)

In computer science, synchronization encompasses two main concepts: process synchronization and data synchronization. Process synchronization is the coordination of multiple processes to ensure a specific sequence of action, while data synchronization ensures consistency across multiple copies of a dataset. Process synchronization techniques often facilitate data synchronization.

8 courses cover this concept

15-323 / 15-623 Computer Music Systems and Information Processing

Carnegie Mellon University

Spring 2019

This course explores discrete music information representation and manipulation. It introduces timed event sequences, MIDI protocol, and non-real-time processing techniques like Markov models and algorithmic composition. Prior knowledge of course 15-122 is required.

No concepts data

+ 26 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 131: Fundamentals of Computer Systems

Brown University

Spring 2020

This course delves deep into the foundational principles behind computer systems, ranging from hardware intricacies to the vast global internet. Students gain insights into systems programming, the architecture of computer systems, concurrency, and the dynamics of distributed systems. Notably, the curriculum includes projects that offer hands-on experience, like building library functions, creating a toy OS, and designing a scalable key-value storage service. It's a stepping stone to advanced courses like Distributed Systems, Databases, and Computer Systems Security.

No concepts data

+ 35 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

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

15-213/18-213/14-513/15-513/18-613 Introduction to Computer Systems

Carnegie Mellon University

Fall 2019

This course provides a deep dive into the inner workings of computer systems, enhancing students' effectiveness as programmers. Topics span machine-level code, performance evaluation, computer arithmetic, memory management, and networking protocols. It serves as a foundation for advanced courses like compilers and operating systems.

No concepts data

+ 22 more concepts