커널 동기화1 9.3 커널 동기화 9.2 커널 동기화9.2.1 동시성 문제공유자원에 접근하는 코드영역을 '임계영역'이라고 한다.이 임계영역이 동시에 실행되면 경쟁상태가 되어 동시성 문제가 발생할 수 있다. 동시성 문제의 원인1) 인터럽트: 커널 코드가 공유 자원을 사용하는 중에 인터럽트가 발생하여 인터럽트 핸들러가 공유 자원을 사용함.2) 지연함수: 커널 타이머나 tasklet이 특정 함수를 호출함.3) 선점형 커널: 프로세스가 커널에서 실행 중일 때 다른 프로세스를 스케줄링할 수 있음.4) SMP 시스템: 2개 이상의 CPU가 동시에 공유 자원에 접근. 9.2.2 세마포어태스크가 임계영역에 도달하면 세마포어를 1 감수시킨 후 진입한다.세마포어가 0인 경우 태스크는 잠이 든다. (임계영역에 다른 태스크가 있는 경우임)태스크가 임계영역을 .. 2018. 7. 6. 이전 1 다음