This document outlines the key objectives and topics of a chapter on process synchronization. The chapter will introduce the critical-section problem and its solutions, both in software and hardware. It will examine classical process synchronization problems like the bounded-buffer problem, readers-writers problem, and dining philosophers problem. The chapter will also explore tools for solving synchronization issues, such as mutex locks, semaphores, monitors, and alternative approaches like transactional memory and OpenMP.