멀티태스킹과 멀티프로세싱
과거
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 : 등장 기술의 배경이 현대와 과거로 나눠져 있어 프로세서의 경우 현대, 태스킹의 경우 과거에 등장한 기술 인데도 불구하고 하드웨어 관점인지, 소프트웨어 관점인지에 대한 구분필요
프로세스와 스레드