[운영체제] 동시성과 병렬성

동시성과 병렬성

  • 동시성 (concurrency): 동시에 여러 연산이 수행되는 시스템의 특성
  • 병렬성 (parallelism): 독립적으로 서로 다른 작업이 동시에 수행되는 시스템의 특성
  • 동시성은 단일 코어 머신에서 발생할 수 있으며 병렬성은 멀티 코어 머신에서 발생 가능함
  • 롭 파이크 (Rob Pike): “동시성은 독립적으로 계산을 실행하는 구성이다. 동시성은 병렬성이 아니다. 동시성은 한 번에 많은 것을 다루는 것이지만 병렬성은 한 번에 많은 일을 하는 것이다. 동시성은 구조에 관한 것이며, 병렬성은 실행에 관한 것이다. 동시성은 병렬화할 수 있는 문제를 해결하기 위한 해결책을 구조화하는 방법을 제공한다.”


동시성

  • 단일 코어 머신에서 발생 가능
  • 실행 시간이 겹칠 수 있음
  • 동시 단위의 병렬 실행을 허용함


병렬성

  • 멀티 코어 머신에서 발생 가능
  • 멀티 프로세서 및 멀티 코어 시스템에서 전반적인 실행 속도를 크게 향상시킬 수 있음
  • 멀티 코어 머신에서 프로세스의 스레드를 통해 하드웨어의 리소스를 모두 활용할 수 있음
  • 각각의 코어는 하나의 프로세스 또는 스레드에 할당될 수 있음
  • 스레드를 사용하지 않는 프로세스는 멀티 코어 중 단일 코어만 사용하게 됨

Comments