정보처리기사 CBT
종목 메뉴

개념 한 쪽

프로세스·스레드 정의와 컨텍스트 스위칭

프로세스 스케줄링은 하나의 CPU를 여러 프로세스에게 번갈아 나누어 주는 운영체제의 일이다. 핵심은 프로세스와 스레드의 정의, 그리고 프로세스를 교체하는 컨텍스트 스위칭이다.

2026-10-15 기준 · 정보처리기사 대시보드

이 개념을 문제로 확인하고 싶으면 이 개념 문제 10개 풀기 회원용

가입 없이 오늘의 10문제 바로 풀기 →

시험에 이렇게 나온다

출제기준 단원 「프로세스 스케쥴링」의 공개 문제 1개를 묻는 꼴별로 나누면 이렇습니다.

묻는 꼴문제 수무엇을 묻나
용어 선택1프로세스 상태 저장·제어권 이양 작업 용어

가장 자주 묻는 것은 용어 선택입니다.

뜻

프로세스는 하드디스크에 저장되어 있던 프로그램이 메모리에 올라와 실제로 동작하고 있는 상태, 즉 실행 중인 프로그램 그 자체다. 운영체제가 관리하는 실행 단위이며 프로시저의 활동적인 측면도 포함한다. 각 프로세스는 독립적으로 실행되므로 비동기적 특성을 가진다. 프로세스를 동기적 행위의 주체라고 설명하면 틀린 설명이다.

다중 프로그래밍 시스템에서 하나의 CPU는 여러 프로세스를 번갈아 실행한다. 이때 현재 실행 중인 프로세스의 상태 정보(레지스터 값, 프로그램 카운터 등)를 메모리에 저장하고, 앞으로 실행될 프로세스의 상태 정보를 불러와 CPU 레지스터에 설정한 다음 CPU를 할당하는 전 과정을 컨텍스트 스위칭이라고 한다. 비슷한 용어와 구분하자. 인터럽트는 전환을 유발하는 사건이고, 세마포어는 프로세스 간 동기화를 위한 변수이며, 디스패칭은 준비 상태의 프로세스 하나를 골라 CPU에 할당하는 행위 자체다. 상태 정보의 저장과 복원까지 포함하는 전체 메커니즘을 지칭하는 용어는 컨텍스트 스위칭이다.

스레드는 프로세스 내에서 실행 흐름을 담당하는 경량 프로세스다. 하나의 프로세스는 여러 개의 스레드를 가질 수 있으며, 여러 스레드는 프로세스의 공통 메모리(힙 영역 등)를 공유하며 효율적으로 통신한다. 스레드를 관리하는 주체에 따라 갈라진다. 커널 레벨 스레드는 운영체제 커널이 직접 관리하므로 안정적이지만 생성·전환 때마다 커널 모드로 진입하는 오버헤드가 크다. 사용자 레벨 스레드는 커널의 개입 없이 사용자 공간에서 관리되므로 전환 시 커널 모드 전환 비용이 없어 오버헤드가 현저히 줄고 성능이 향상된다.

예제

음악을 들으며 문서를 편집한다고 하자. 음악 플레이어와 문서 편집기는 각각 프로세스이고, CPU는 두 프로세스를 아주 짧은 간격으로 번갈아 실행한다. 플레이어에서 편집기로 넘어갈 때 플레이어가 어디까지 실행했는지 저장하고 편집기의 이어 할 지점을 복원하는 일이 컨텍스트 스위칭이다. 이 전환이 빠르기에 두 프로그램이 동시에 도는 것처럼 보인다.

문서 편집기 안에서 맞춤법 검사와 자동 저장을 함께 돌린다면 이것은 스레드다. 편집기 프로세스 안의 여러 실행 흐름이 공통 메모리를 공유하며 일한다. 이 흐름들을 사용자 공간에서 직접 바꿔 주면 커널을 거치지 않아 전환이 빠르다.

대표 기출 1문항

다중 프로그래밍 시스템에서 OS에 의해 CPU가 할당되는 프로세스를 변경하기 위한 목적으로 현재 CPU를 사용하여 실행되고 있는 프로세스의 상태 정보를 저장하고 제어 권한을 ISR에게 넘기는 작업을 무엇이라 하는가?

  1. Context Switching
  2. Monitor
  3. Mutual Exclusion
  4. Semaphore
정답과 해설 보기

정답 ① · CPU 할당 프로세스 변경을 위해 실행 중인 프로세스의 상태 정보를 저장하고 제어권을 넘기는 작업의 명칭을 묻는 문제이다. 다중 프로그래밍 시스템에서 운영체제가 프로세스를 교체할 때 현재 프로세스의 레지스터 값과 수행 상태를 저장하고 다음 프로세스의 상태를 복원해 제어권을 이양하는 작업을 컨텍스트 스위칭이라고 한다.

CPU 할당 변경 시 프로세스 상태 정보 저장 및 제어권 이양 작업을 컨텍스트 스위칭이라 한다.

자주 묻는 물음

프로세스란 무엇인가요?
하드디스크에 있던 프로그램이 메모리에 올라와 실행 중인 상태, 즉 실행 중인 프로그램 그 자체다. 운영체제가 관리하는 실행 단위이며 각자 독립적으로 실행되는 비동기적 특성을 가진다.
컨텍스트 스위칭이란 무엇인가요?
현재 실행 중인 프로세스의 상태 정보를 저장하고, 다음에 실행될 프로세스의 상태 정보를 복원한 뒤 CPU를 할당하는 전 과정이다. 인터럽트는 전환의 계기, 디스패칭은 CPU 할당 행위, 세마포어는 동기화 도구로 구분된다.
사용자 레벨 스레드의 장점은 무엇인가요?
커널의 개입 없이 사용자 공간에서 스케줄링과 전환이 이루어지므로, 전환 시 커널 모드로 넘어가는 비용이 없어 오버헤드가 줄고 성능이 향상된다. 커널 레벨 스레드는 안정적이지만 커널 모드 진입 부하가 크다.
이 개념 문제 10개 풀기 회원용

정보처리기사 풀이 세트에서 이 개념의 문제 10개를 바로 풀어 보세요.