(운영체제) 프로세스 질문.

embeddeds0의 이미지

현재 Operating System Concepts라는 공룡책으로 운영체제를 공부하는 중인데요.

프로세스 동기화 내용 중에 계속 원자성이라는 개념이 나오는데 이게 무슨뜻인가요?

원자성이 무얼 뜻하는지 이해가 잘안가네요.

ShaYEL의 이미지

Atomic 이라는건 실행중에 interrupt가 걸리지 않는다는 뜻입니다. 그 부분을 한번 실행하기 시작했으면 무조건 끝까지 실행된다는것이죠. 저도 지금 공룡책으로 공부중인데 반갑네요 ^^

익명 사용자의 이미지

윗 분이 설명하셨듯이 원자성(Atomic)은 원래 단어 그대로의 의미로 받아들이면 어떠한 한 개체가 최소 단위라는 것이고, 이 중에서도 동기화와 관련해서는
흔히 운영체제가 프로세스간에 컨텍스트 스위칭을 하는데 이 과정에서 어떤 명령이 Atomic 하다고 하면 이 명령은 실행 도중에 스위칭이 일어날 수는 없고
실행 전, 실행 후에만 일어난다는 의미입니다.

이는 동기화에 있어서는 핵심적인 부분이 됩니다. 좋은 예로 Windows 의 Interlocked~ 계열의 API 들은 모두
이 함수(는 아니지만)가 실행하는 도중에 스위칭이 일어날 수는 없다는 것을 보장해줍니다.