여러 작업을 동시에 수행하는 개념은 다양한 방식으로 구현될 수 있습니다. 대표적인 방식으로는 멀티태스킹(Multitasking), 멀티프로세스(Multiprocessing), 멀티프로세싱(Multiprocessing), 멀티스레딩(Multithreading)이 있습니다. 이 글에서는 각각의 개념을 명확히 구분하고 차이점을 살펴보겠습니다.1. 멀티태스킹(Multitasking)멀티태스킹은 하나의 CPU에서 여러 작업을 동시에 수행하는 것처럼 보이도록 만드는 기술입니다. 현대 운영체제에서는 프로세스 스케줄러가 매우 빠르게 여러 프로세스를 전환(Switching)하여 실행하는 방식으로 멀티태스킹을 구현합니다.특징하나의 CPU에서 여러 작업을 처리하는 것처럼 보임 (시간 분할 방식)실제로는 여러 작업을 매우 빠..
1. 컨텍스트 스위칭이란?컨텍스트 스위칭(Context Switching) 은 CPU가 하나의 작업(프로세스 또는 스레드)에서 다른 작업으로 전환될 때 발생하는 과정입니다.운영체제는 멀티태스킹을 위해 여러 프로세스를 빠르게 전환해야 하며, 이를 위해 현재 실행 중인 프로세스의 상태(Context)를 저장하고, 새롭게 실행할 프로세스의 상태를 불러오는 작업이 필요합니다.2. 프로세스와 스레드의 차이컨텍스트 스위칭을 이해하려면 프로세스(Process) 와 스레드(Thread) 의 개념을 먼저 살펴볼 필요가 있습니다.구분프로세스(Process)스레드(Thread)정의실행 중인 프로그램의 인스턴스프로세스 내에서 실행되는 경량 프로세스주소 공간독립적인 주소 공간 가짐같은 프로세스 내에서 주소 공간 공유자원독립적인..