Heart of problem: un-controlled schedule 공유 자원에 있어 스케줄링 제어가 안된다면 문제가 발생함.관련 키워드: Race condition(경쟁 상태), Mutual exclusion(상호 배제), Atomicity(원자성), .. Th
본 문에서 나오는 글과 그림 source: https://pages.cs.wisc.edu/~remzi/OSTEP/fork()와 유사함수의 끝에 도달할 때 쓰레드는 종료wait()와 유사for synchronization (동기화; 순서관계)3개의 쓰레드가 있다
=> 원자성 보장=> 순서 관계 보장, 쓰레드1 -> 쓰레드2 1) T1: accquire lock => check ready valiable => wait on Condition Valiable => sleep mode (implicitly release the lo
Concurrent Counters(단일 변수)Concurrent Linked lists(연결 리스트)Concurrent Queues(큐)Concurrent Hash Tables(해시 테이블)Thread safeCorrectness and Performance -> 정
공유 데이터(shared data), 경쟁 상태(race condition), mutual exclusion(상호 배제)Lock before/after critical section(임계구역)H/W + OS CooperationHW: atomic perations(기계
Locks: Mutual exclusion의 대표적인 기법 중 하나.mainly focusing on mutual exclusionCondition variablessynchronization(동기화)에 focusing동기화는 mutex를 기본적으로 내포하면서, 순서
세마포어는 병행성 제어를 위한 잘 알려진 구조이다.세마포어는 락 또는 조건 변수로 사용될 수 있다.이진 세마포어(binary semaphore), 카운팅 세마포어(counting semaphore) 등이 있다.다양한 병행성 문제에서 활용이 가능하다.1) producer