취업,면접 대비/cs 전공 공부
<운영체제> Concurrency VS Parallelism
studying develop
2020. 3. 25. 18:53
병행성(Concurrency)
동시에 실행되는 것처럼 보이는 것.
- Logical Level에 속한다.
- Single Core
- 물리적으로 병렬이 아닌 순차적으로 동작할 수 있다.
- 실제로는 Time-sharing으로 CPU를 나눠 사용함으로써 사용자가 Concurrency를 느낄 수 있도록 한다.
- Multi Core
- 물리적으로 병렬로 동작할 수 있다.
- Case
- Mutex, Deadlock
병렬성(Parallelism)
실제로 동시에 작업이 처리가 되는 것.
- Physical(Machine) Level에 속한다.
- 오직 Multi Core에서만 가능하다.
- Case
- OpenMP, MPI, CUDA
음 한개 코어로 여러 작업을 수행하는게 하는게 병행성이고, 여러개 코어로 처리하는게 병렬성이구나. 나는 병행성이 뭔말인지 몰랐다. ㅠ 병렬성도 그냥 여러코어로 수행한다 정도만으로 생각했고.
글 원본자님 감사합니다.
[https://nesoy.github.io/articles/2018-09/OS-Concurrency-Parallelism]