세마포어(semaphore)는 운영체제에서 프로세스 간의 상호배제(Mutual Exclusion)와 동기화(Synchronization)를 위한 기법으로 사용됩니다. 보기 1은 세마포어가 상호배제 문제를 해결하기 위해 사용된다는 것으로, 이는 옳은 설명입니다. 세마포어는 임계 구역(Critical Section) 문제를 해결하기 위해 사용되며, 여러 프로세스가 동시에 자원에 접근하지 못하도록 제어합니다. 보기 3과 4 역시 옳은 설명입니다. 세마포어는 원자적(Atomic) 연산을 통해서만 수정될 수 있으며, 이는 여러 개의 프로세스가 동시에 그 값을 수정하지 못하도록 보장합니다. 또한, 세마포어 연산은 처리 도중에 인터럽트되면 안 되며, 이는 세마포어의 원자성을 유지하기 위해 필수적입니다. 그러나 보기 2의 설명은 옳지 않습니다. 세마포어는 정수형 변수로 표현되지만, 양의 값만을 가지지는 않습니다. 실제로 세마포어는 음수 값을 가질 수 있으며, 이는 대기 중인 프로세스의 수를 나타낼 때 사용됩니다. 따라서 선택한 보기 2는 세마포어에 대한 잘못된 설명입니다.