병행 프로세스(1)

4강. 병행 프로세스(1)

병행 프로세스에 대해 알아보자.

주요 용어

  • 병행성(concurrency): 여러 개의 프로세스 또는 쓰레드가 동시에 실행되는 시스템의 특성

  • Fork/Join: 병행성을 식별하는 최초의 언어 표기법

  • 프로세스의 동기화: 2개 이상의 프로세스에 대한 처리 순서를 결정하는 것

  • 임계영역: 2개 이상의 프로세스가 동시에 액세스하면 안 되는 공유 자원을 액세스하는 코드 영역

  • 상호배제: 2개 이상의 프로세스가 동시에 임계영역에 진입하지 못하게 하는 것

  • 세마포어: 상호 배제나 동기화 문제 등을 해결하기 위해 특수한 원자연산에 의해서만 접근되는 정수형 공용 변수

정리하기

  • 병행 시스템은 여러 개의 프로세스가 동시에 실행되며, 이들이 상호작용함에 따라 공유자원 점유, 동기화, 통신 등의 문제가 발생함

  • 동기화는 2개 이상의 프로세스에 대한 처리 순서를 결정하는 것을 의미

  • 2개 이상의 프로세스가 동시에 액세스하면 안 되는 공유 자원을 액세스하는 코드 영역을 임계영역이라고 한다.

  • 2개 이상의 프로세스가 동시에 임계영역에 진입하지 못하도록 하는 것을 상호배제라고 한다.

  • P와 V라는 원자연산에 의해서만 접근되는 정수형 공용변수인 세마포어를 이용하여 상호배제 및 동기화를 구현할 수 있다.