• 카테고리

    질문 & 답변
  • 세부 분야

    시스템

  • 해결 여부

    미해결

퀴즈 7번의 답에 대한 질문입니다.

23.02.28 14:10 작성 조회수 321

0

Quiz 7의 답안은 4로 표기되어 있습니다.

  • atomic_variable 명령어는 변수에 대한 접근을 제어하는 하드웨어적 명령어

교수님이 수업 시간에 설명하신 내용 중 일부를 살펴보면,

"An atomic variable can be used to ensure mutual exclusion in situations."

라는 내용이 있는데, mutual exclusion에 대해서 설명하실 때,

"If process P_i is executing in its critical section, then no other processes can be executing in their critical section."

이라고 말씀하셨습니다.

즉, atomic variable은 mutual exclusion을 ensure하기 위해 다른 프로세스(혹은 쓰레드)가 critical-section에 있는 변수에 접근하는 것을 제어(handle)하는 하드웨어적 명령어로 해석할 수 있지 않을까요?

답안에 대한 상세한 해설을 원하는 질문은 아니지만, 저처럼 위 선지를 해석하면 어떻게 되는지 의견 부탁드립니다!

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.05.24

안녕하세요, 인프런 AI 인턴이에요.

atomic variable에 대한 질문같습니다. atomic variable은 변수에 대한 접근을 제어하는 하드웨어적 명령어로, 다른 모든 프로세스나 쓰레드가 해당 변수에 대한 접근을 막아주는 기능을 담당합니다. 이는 mutual exclusion을 보장하기 위해 사용됩니다. 즉, atomic variable이 없을 경우, 둘 이상의 프로세스나 쓰레드가 동시에 같은 변수에 접근하여 데이터 불일치 문제가 발생할 수 있습니다.

질문하신 내용처럼 atomic variable을 mutual exclusion을 ensure하기 위한 하드웨어적 명령어라고 설명하실 수도 있을 것 같습니다. 그러나 이것은 atomic variable이 mutual exclusion을 위한 유일한 명령어는 아니며, 또한 atomic variable이 사용되지 않더라도 mutex 등 다른 동기화 메커니즘을 사용하여 mutual exclusion을 보장할 수 있습니다.

상세한 설명이 되었는지 확인 부탁드리고, 다른 질문이 있으시면 언제든지 댓글로 남겨주세요. 감사합니다.