임계 영역

    임계 영역 동시접근 해결 방안

    Lock 정의 하나의 프로세스 혹은 스레드가 임계 영역(critical section)에 진입할 경우 Lock을 획득하고, 임계 영역에서 빠져나올때 Lock을 되돌려줌으로써 두 개 이상의 프로세스나 스레드가 동시에 임계영역에 진입할 수 없도록 하는 방법이다. 문제점 A라는 스레드가 Lock 함수를 실행하다 변수의 값을 변경하기 전에 인터럽트가 발생하여 값을 변경하지 못하고 B 또는 다른 스레드가 추가로 Lock 함수에 들어오면 두 개의 스레드가 임계 영역에 동시 접근해버리는 상황이 발생한다. 해결방법 더 이상 쪼개지지 않는 하드웨어 명령어로 구현, 인터럽트를 disalbe 하고 enable 하는 방법이 있다. Semaphore 정의 세마포어는 '수기 신호' 라는 뜻으로 프로세스의 동기화 도구이다. 세마포..