멀티태스킹

여러 프로세스가 매우 짧은 시간 단위(Time Quantum)로 번갈아 CPU를 사용해, 사용자에게는 마치 여러 프로그램이 동시에 실행되는 것처럼 느껴지게 하는 방식입니다.

등장 배경

멀티프로그래밍 vs 멀티태스킹

항목멀티프로그래밍멀티태스킹
목적CPU 사용률 극대화응답 시간 최소화
전환 시점프로세스가 I/O 등으로 대기할 때아주 짧은 타임 슬라이스마다
사용자 체감동시 실행처럼 느껴지지 않음여러 프로그램이 동시에 실행되는 것처럼 느껴짐

핵심 원리

멀티태스킹은 타임 슬롯을 짧게 쪼개 여러 프로세스를 번갈아 실행시키는 컨텍스트 스위칭을 기반으로 동작합니다. 이때 다음 타임 슬롯을 어떤 프로세스에게 줄지는 CPU 스케줄링 정책이 결정합니다.

핵심 정리

단일 프로세스 시스템은 CPU 유휴 시간이 많아 비효율적이고, 멀티프로그래밍은 이를 개선하지만 응답성까지 보장하지는 않습니다. 멀티태스킹은 짧은 시간 단위로 프로세스를 번갈아 실행해 응답 시간을 최소화하고, 사용자에게 동시 실행처럼 느껴지게 합니다.

→ 단일 프로세스 시스템에 대해서 설명해주세요

CSLOG에서 보기