CS/운영체제
[CS/운영체제] 병행성 vs 병렬성
NLP Developer
2024. 1. 29. 21:50
728x90
반응형
1. 병행성(Concurrency)
- 병행성은 동시성이라고 부르기도 한다.
- 논리적인 개념(프로그램 성질)
- 보통 단일 프로세서 혹은 싱글 코어에서 여러 작업(단일 스레드 프로세스 여러 개 혹은 다중 스레드 프로세스)을 동작시키기 위해 사용한다.
- 하지만 멀티 코어에서도 실행이 가능하다. -> 싱글, 멀티 코어 둘 다 실행 가능
- 보기에는 스레드들을 동시에 병렬적으로 실행하는 것처럼 보이지만, 사실은 번갈아가면서 실행을 시켜 동시에 실행되는 것처럼 보이게 한다.
2. 병렬성(Parallelism)
- 병렬성은 실제로 동시에 실행된다.
- 물리적인 개념(하드웨어 성질)
- 멀티 프로세서 혹은 멀티 코어 환경에서 독립적으로 작업을 수행한다.
- 멀티코어에서만 실행이 가능하다.
- 병렬성은 데이터 병렬성, 작업 병렬성으로 나뉜다.
- 데이터 병렬성 : 같은 작업의 전체 데이터를 서브 데이터로 나눠서 같은 작업을 동시에 처리한다.
- 작업 병렬성 : 서로 다른 작업을 동시에 처리한다.
728x90
반응형