공유자원 이란?
Thread가 생성되면 시스템으로 부터 사적메모리로 Stack을 할당받아 자신만이 사용한다.
공유메모리로는 시스템/프로세스 소유의 Code, Data, Heap 영역을 다른 쓰레드들과 함께 공용으로 사용한다.
자원은 여기서 언급한 메모리뿐만 아니라 Peripheral 등 모든 자원을 포함한다.
Critical Section(임계영역)
공유자원을 사용하고 있는 Thread에는 그 공유자원을 읽고, 쓰는 코드 부분이 있을 것이다.
이 코드부분을 특별히 Critical Section, 임계영역이라 명칭한다.
이렇게 특별한 명칭이 따라 붙는 것은 이 코드영역을 실행하므로써 중요한 사고(데이터오류)들이 종종 발생하기 때문이다.
즉, 특별하게 관리해야 하는 예민한 코드영역이기 때문이다.
다음으로 이어지는 주제에서 어떻게 문제가 발생하고 어떤 방식으로 이 문제를 해결하고 있는 지를 소개하고자 한다.