💡 동시성(Concurrency)이란?
- 동시성은 여러 작업이 동시에 실행되는 것 처럼 보이지만 실제로는 하나의 프로세스에서 여러 작업이 번갈아가면서 실행됩니다.
- 작업은 짧은 시간 동안 실행되고 중단되며, 다른 작업이 실행됩니다. 동시성은 작업을 빠르게 전환하여 여러 작업을 동시에 처리하는 것처럼 보이게 합니다.
- 이는 프로그래밍에서 비동기적인 작업이나 이벤트 기반 프로그래밍에서 주로 사용됩니다.
💡병렬성(Parallelism)이란?
- 병렬성은 여러 프로세서가 동시에 작업을 처리하며 여러 작업이 실제로 동시에 실행되는 개념입니다.
- 작업은 독립적으로 실행되며, 각각의 프로세서에서 병렬로 처리됩니다.
- 병렬성은 특히 대규모의 계산 작업이나 데이터 처리 작업에서 성능을 향상시키는 데 사용됩니다.
동시성 vs 병렬성
- 동시성과 병렬성은 비슷해 보이지만 완전히 다른 개념입니다. 병렬성은 여러 작업이 동시에 실행되는 것이지만, 이러한 작업들은 각각이 독립적으로 실행되며 서로 영향을 주지 않는다. 반면에 동시성은 서로 다른 작업들이 서로 영향을 주면서 동시에 실행되는 것처럼 보입니다.
동시성 | 병렬성 | |
개념 | 동시에 처리하는 것처럼 보이게 하는 것 | 여러 작업을 실제로 동시에 처리하는 것 |
사용 코어 | 싱글 코어 | 멀티 코어 |
동작 방식 | 싱글 코어에서 멀티 스레드를 동작 시키는 방식 | 멀티 코어에서 멀티 스레드를 동작시키는 방식 |
개념적 차이 | 논리적인 개념 | 물리적인 개념 |
'운영체제' 카테고리의 다른 글
[Pintos-Kaist] Project2 - Argument Passing (1) | 2023.06.05 |
---|---|
[운영체제] 인터럽트 & 시스템 콜(Interrupt, System Call) (0) | 2023.06.02 |
[Pintos-Kaist] Project 1 - Threads 1주차 학습 (0) | 2023.06.02 |
[운영체제] 스핀락(Spinlock),뮤텍스(Mutex),세마포어(Semaphore) (0) | 2023.05.29 |
[운영체제] 프로세스(Process)와 스레드(Thread) (0) | 2023.05.27 |