병행성(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]
'취업,면접 대비 > cs 전공 공부' 카테고리의 다른 글
<운영체제> 메모리 자원 관리 (0) | 2020.03.29 |
---|---|
<운영체제> Thread Preemption (0) | 2020.03.29 |
<운영체제> 시분할 시스템이란 (0) | 2020.03.24 |
<함수 호출과 메모리> (0) | 2020.03.21 |
<객체지향> 인스턴스 맴버, 클래스 맴버, 스태틱 맴버란? (0) | 2020.03.16 |