critical section routine

컴퓨터에서, critical section routine이란 같은 자원을 동시에 차지하기 위해 경쟁하는 두 개 이상의 프로그램 문제에 접근하는 방법이다. 두 개의 프로그램들이 동일한 카운터의 값을 증가시키려는 시도를 한다고 가정해 보라. 만약 두 프로그램 모두 동시에 변수를 가져와서, 그 값을 증가시킨 뒤, 증가된 값을 다시 저장하는 일을 수행한다면, 증가된 값 들 중 하나는 없어지게 될 것이다. 오늘날의 프로세서들에서, 프로그램들은 fetch-and-op나, compare-and-swap과 같은 read-modify-write 원자 명령어를 사용할 수 있다. 초창기의 프로세서들에서 이러한 명령어들은 존재하지 않았으며, 그 문제는 오직 평범한 어셈블러 명령어를 사용하여 원자적인 값의 증가를 수행하는 것이었다. 이 문제는 Edsgar Dijkstra에 의해 정의되었으며, 처음 해결되었다. "Critical section routine"은 바로 그가 문제를 풀었던 코드에 붙였던 이름이다.


이 정보는 2000년 6월 1일에 수정되었습니다.
영어판(whatis.com)