싱글 코어 vs 멀티 코어
싱글 코어 (Single Core)
싱글 코어 CPU는 하나의 연산 장치를 가지고 있습니다. 싱글 코어에서는 멀티태스킹이 시간 분할 방식으로 이루어지며, 이는 CPU가 매우 빠르게 여러 작업을 번갈아가며 처리하는 방식입니다. 예를 들어, 프로세스 A와 프로세스 B가 있을 때, CPU는 잠깐 동안 프로세스 A를 실행한 후 프로세스 B를 실행하고, 다시 프로세스 A로 돌아갑니다.
이 과정이 매우 빠르게 반복되기 때문에 사용자는 두 작업이 동시에 실행되는 것처럼 느끼지만, 실제로는 한 번에 하나의 작업만 실행할 수 있습니다.
멀티 코어 (Multi Core)
멀티 코어 CPU는 여러 개의 연산 장치를 가지고 있으며, 각 코어는 독립적으로 작업을 처리할 수 있습니다. 멀티 코어 시스템에서는 각 코어가 독립적으로 작업을 처리할 수 있기 때문에 여러 작업이 실제로 동시에 실행될 수 있습니다.
예를 들어, 4개의 코어가 있는 CPU에서는 프로세스 A, B, C, D를 각각의 코어에서 동시에 실행할 수 있습니다.
멀티프로세스에서 싱글 코어 멀티 코어 비교
싱글 코어
싱글 코어 환경에서는 여러 프로세스가 시간 분할 방식으로 실행됩니다. 각 프로세스는 매우 빠르게 번갈아가며 실행되어, 사용자에게는 동시에 실행되는 것처럼 보입니다.
멀티 코어
멀티 코어 환경에서는 각 코어가 독립된 프로세스를 실행할 수 있습니다.
예를 들어, 4개의 프로세스를 4개의 코어가 각각 처리할 수 있어 성능을 극대화하고, 동시에 여러 작업을 효율적으로 처리할 수 있게 합니다.
멀티스레드내에서 싱글 코어 멀티 코어 비교
싱글 코어
싱글 코어 환경에서는 멀티스레드 역시 시간 분할 방식으로 실행됩니다. CPU가 매우 빠르게 각 스레드를 번갈아가며 실행합니다.
멀티 코어
멀티 코어 환경에서는 각 코어가 독립된 스레드를 실행할 수 있습니다.
예를 들어, 4개의 스레드를 4개의 코어가 각각 실행할 수 있어 프로그램의 병렬 처리를 가능하게 하여 성능을 극대화합니다.
실 예시
싱글 코어에서 멀티태스킹
한 컴퓨터에서 문서 작성을 하고 음악을 듣고 있다고 상상해보세요. 싱글 코어 CPU는 순간적으로 문서 작성 프로그램과 음악 재생 프로그램 사이를 매우 빠르게 전환하면서 실행합니다. 그래서 두 작업이 동시에 이루어지는 것처럼 느껴집니다.
멀티 코어에서 멀티태스킹
멀티 코어 CPU를 사용하는 컴퓨터를 가지고 있다고 가정해봅시다. 이 경우 한 코어가 문서 작성 프로그램을 실행하고, 다른 코어가 음악 재생 프로그램을 실행합니다. 이렇게 하면 두 작업이 실제로 동시에 실행됩니다.
멀티코어 CPU는 멀티태스킹, 멀티프로세스, 멀티스레드를 통해 성능을 극대화할 수 있으며, 각각의 코어가 독립적으로 작업을 처리함으로써 여러 작업을 동시에 효율적으로 실행할 수 있습니다.
'프로그래밍(Basic) > 이론' 카테고리의 다른 글
[바미] 자료구조 - 스택(Stack) (0) | 2024.07.09 |
---|---|
[바미] 자료구조 - Linked list (0) | 2024.07.08 |
[바미] 멀티 태스킹, 멀티 스레드, 멀티 프로세스 (0) | 2024.06.29 |
[바미] 커널 (0) | 2024.06.28 |
[바미] CPU 스케줄링 알고리즘 (0) | 2024.06.13 |