짧은 지식으로 atomic operation에 관해서 궁금한 내용이 있어서 고수분들의 답변을 부탁드립니다.
제 생각으로는 atomic operation의 구현이 아래와 같은 방법으로 되어 있을 것 같아서..
0. 특정 CPU의 atomic operation code 수행요청.
1. 전 CPU 중단
2. 해당 CPU의 atomic operation 수행
3. 전 CPU 다시 동작.
위 경우라면 SMP에서 atomic operation을 빈번하게 수행하는 프로세스가 하나 있다면 전체 시스템에 악영향을 미치게 되지 않을까 합니다.
예를 들어 a라는 프로세스는 초당 10만번, b라는 프로세스는 초당 10번이 필요하다고 하면 a 때문에 시스템의 모든 CPU가 10만번씩 멈춰야 하는 현상이 발생하지 않을까요?