#synchronization
노트 3개
Computer Science › Operating System
교착 상태프로세스들이 서로의 자원을 기다리며 멈추는 교착 상태의 4가지 발생 조건, 자원 할당 그래프, 예방·회피(은행원 알고리즘)·탐지와 복구·무시.
Computer Science › Operating System
멀티스레딩 디자인 패턴과 논블로킹 알고리즘생산자-소비자, 스레드 풀, 퓨처·프로미스, 모니터 객체, 배리어, 읽기-쓰기 락 여섯 가지 멀티스레딩 패턴이 각각 어떤 동기화 문제를 푸는지 정리한다. 스레드 안전의 뜻과 락 없이 얻는 방법, 언어별 기본 자료구조의 스레드 안전성과 동시성 해시 테이블 설계(락 스트라이핑, 버킷 단위 CAS), CPU·I/O 바운드에 따른 스레드 풀 크기, 포크-조인과 작업 훔치기도 다룬다. 락을 쓰는 블로킹 알고리즘과 CAS로 짜는 논블로킹 알고리즘의 차이, 진행 보장 단계(락 프리, 기아 없음, 대기 없음)도 함께 다룬다.
Computer Science › Operating System
프로세스 동기화공유 데이터에 동시에 접근할 때 생기는 경쟁 상태, 운영체제 안의 경쟁 상태, 임계 구역 문제와 해결 조건, 피터슨 알고리즘과 Test-and-Set, 뮤텍스 락과 세마포어(상호 배제·실행 순서 제어), 고전적인 동기화 문제, 모니터의 진입 큐와 조건 변수.