멀티태스킹과 멀티프로세싱

과거

Cpu 내 단일 코어가 1개로 제한되던 때, 동시에 2개 이상의 프로그램이 실행될 때 프로그램 A, 프로그램 B 2개의 프로그램이 1개의 코어(CPU)를 점유하기 위해 후 순위 프로그램이 종료될 때 까지 대기하였음(기아 : tarvation)

이러한 문제점을 해결하기 위해서 단일 코어 기반의 멀티태스킹 기술 등장

context Switching 을 통해서 1개의 단일 CPU 코어가 프로그램 A, 프로그램 B를 각각 시분할 처리를 통해 동시에 2개의 프로그램을 수행하는 듯한 반복동작 수행 → 멀티태스킹(Multi tasking)

현재

CPU 내 단일 코어가 1:1 대응이던 수준에서 1:다 수준으로 하드웨어 스펙이 증가 프로그램 A,B,C & CPU 코어 1, 코어 2 의 스펙일 경우 시분할 기술을 각기 코어 1,2에서 수행하며 AABBCC 와 같이 처리 가능

멀티프로세싱은 컴퓨터 시스템에서 둘 이상의 프로세서를 사용하여 여러 작업을 동시에 처리하는 기술을 의미

멀티프로세싱(Processor) vs 멀티태스킹(Tasking)

p.s : 등장 기술의 배경이 현대와 과거로 나눠져 있어 프로세서의 경우 현대, 태스킹의 경우 과거에 등장한 기술 인데도 불구하고 하드웨어 관점인지, 소프트웨어 관점인지에 대한 구분필요


프로세스와 스레드