윗 분이 설명하셨듯이 원자성(Atomic)은 원래 단어 그대로의 의미로 받아들이면 어떠한 한 개체가 최소 단위라는 것이고, 이 중에서도 동기화와 관련해서는
흔히 운영체제가 프로세스간에 컨텍스트 스위칭을 하는데 이 과정에서 어떤 명령이 Atomic 하다고 하면 이 명령은 실행 도중에 스위칭이 일어날 수는 없고
실행 전, 실행 후에만 일어난다는 의미입니다.
이는 동기화에 있어서는 핵심적인 부분이 됩니다. 좋은 예로 Windows 의 Interlocked~ 계열의 API 들은 모두
이 함수(는 아니지만)가 실행하는 도중에 스위칭이 일어날 수는 없다는 것을 보장해줍니다.
Atomic 이라는건 실행중에 interrupt가
Atomic 이라는건 실행중에 interrupt가 걸리지 않는다는 뜻입니다. 그 부분을 한번 실행하기 시작했으면 무조건 끝까지 실행된다는것이죠. 저도 지금 공룡책으로 공부중인데 반갑네요 ^^
?
윗 분이 설명하셨듯이 원자성(Atomic)은 원래 단어 그대로의 의미로 받아들이면 어떠한 한 개체가 최소 단위라는 것이고, 이 중에서도 동기화와 관련해서는
흔히 운영체제가 프로세스간에 컨텍스트 스위칭을 하는데 이 과정에서 어떤 명령이 Atomic 하다고 하면 이 명령은 실행 도중에 스위칭이 일어날 수는 없고
실행 전, 실행 후에만 일어난다는 의미입니다.
이는 동기화에 있어서는 핵심적인 부분이 됩니다. 좋은 예로 Windows 의 Interlocked~ 계열의 API 들은 모두
이 함수(는 아니지만)가 실행하는 도중에 스위칭이 일어날 수는 없다는 것을 보장해줍니다.
댓글 달기