원자적 실행이란중단 없이 실행되고, 중간에 다른 사람이 수정할 수 없는 즉, 한 번에 실행되는 ‘최소 단위 연산’을 의미병령 프로그래밍과 멀티 스레딩 환경에서 데이터 무결성을 보장 여러 스레드나 프로세스가 같은 데이터에 접근할 때 발생할 수 있는 충돌 방지 Ex) 특수 목적 명령어 ‘TestAndSet()원자적 실행 X인 경우void lock(lock_t *mutex) { while(mutex->flag == 1); mutex-> flag = 1;}1. 스레드 1이 while 실행 후, 스레드 2가 CPU를 선점2. 스레드 2가 while문을 실행하고, flag 값을 1로 수정3. 스레드 1이 다시 CPU를 선점하고 flag 값을 1로 수정-> 이 경우 스레드 1과 스레드 2가 공유자원에 동시..