[2일차] 2025 정보처리산업기사 운영체제 – 프로세스의 개념과 상태


오늘은 운영체제의 핵심 개념 중 하나인 프로세스(Process) 를 정리했다.

프로세스는 단순히 실행 중인 프로그램이 아니라, CPU·메모리·입출력 장치 등 시스템 자원을 실제로 사용하는 단위다.

운영체제의 작동 원리를 이해하려면 프로세스의 개념과 상태 전이, 그리고 관리 구조를 확실히 알아야 한다.


1. 프로세스의 개념

프로세스(Process)는 실행 중인 프로그램(Program in execution) 이다.

프로그램은 디스크에 저장된 정적(Static) 명령어 집합이고,

프로세스는 CPU에서 동적으로 실행 중인 개체(Dynamic Entity)다.

구분프로그램프로세스
정의명령어와 데이터의 정적 집합실행 중인 명령어 단위
상태항상 일정 (정적)실행 중 변화 (동적)
저장 위치디스크메모리(RAM)
구성 요소코드, 데이터코드 + 데이터 + 힙 + 스택 + PCB
식별자파일명PID(Process ID)

PCB (Process Control Block)

운영체제는 프로세스별로 정보를 추적하기 위해 PCB 를 유지한다.

PCB는 커널 내부의 자료구조로, 다음 항목들을 포함한다.

  • 프로세스 ID (PID)
  • 프로세스 상태(State)
  • 프로그램 카운터(Program Counter)
  • CPU 레지스터 값
  • 스케줄링 정보 (우선순위, 큐 정보 등)
  • 메모리 관리 정보 (베이스, 한계 레지스터 등)
  • 입출력 장치 및 파일 정보

PCB는 문맥 교환(Context Switching) 시 프로세스 상태를 저장하고 복원하는 핵심 역할을 한다.


2. 프로세스 상태(State)

운영체제는 프로세스의 실행 단계를 여러 상태로 구분해 관리한다.

상태설명
New프로세스가 생성되는 중
ReadyCPU 할당을 기다리는 상태
RunningCPU에서 명령을 실행 중
Waiting(Blocked)I/O 요청 등으로 대기 중
Terminated프로세스가 종료된 상태
전이 이벤트설명
Create프로세스 생성
DispatchReady → Running (CPU 할당)
Timeout(Time Run Out)Running → Ready (CPU 시간 만료)
BlockRunning → Waiting (I/O 요청 등)
WakeupWaiting → Ready (I/O 완료)
ExitRunning → Terminated (프로세스 종료)

3. 문맥 교환 (Context Switching)

문맥 교환은 CPU가 다른 프로세스로 전환될 때 발생하는 과정이다.

운영체제는 현재 프로세스의 상태를 PCB에 저장하고, 다음 프로세스의 PCB를 복원한다.

절차

  1. 현재 프로세스의 상태를 PCB에 저장
  2. 스케줄러가 다음 실행 프로세스를 선택
  3. 새로운 프로세스의 PCB를 불러와 레지스터 복원
  4. CPU 제어권을 새 프로세스에 넘김

문맥 교환은 필수적이지만 오버헤드가 발생하므로,

운영체제는 스레드 기반 실행으로 전환 비용을 줄이기도 한다.


4. 프로세스 간 통신 (IPC: Inter-Process Communication)

서로 다른 프로세스는 독립된 메모리 공간을 갖기 때문에,

정보를 주고받으려면 프로세스 간 통신(IPC) 메커니즘이 필요하다.

방식설명예시
파이프 (Pipe)단방향 통신 채널부모 → 자식 프로세스 간 데이터 전달
이름 있는 파이프 (Named Pipe)다중 프로세스 간 통신mkfifo, cat fifo
공유 메모리 (Shared Memory)메모리 공간을 공유빠른 통신, 동기화 필요
메시지 큐 (Message Queue)메시지 단위의 구조적 통신msgsnd(), msgrcv()
소켓 (Socket)네트워크 기반 통신TCP/UDP 프로세스 간 데이터 교환

운영체제는 커널 공간에서 IPC 객체를 생성하고,

프로세스가 이를 통해 데이터를 교환하거나 동기화를 수행한다.


5. 스레드 (Thread)

스레드는 프로세스 내부에서 실행되는 최소 실행 단위다.

여러 스레드는 하나의 프로세스 자원을 공유하면서 병렬로 동작한다.

구분프로세스스레드
자원독립된 메모리(Code, Data, Stack, Heap)코드·데이터·파일 공유, 스택만 독립
생성 비용높음 (PCB 필요)낮음 (TCB만 추가)
문맥 교환PCB 교체 필요빠름 (TCB 수준 교체)
장점안정적, 독립 실행효율적, 동시성 향상
단점통신 비용 높음동기화 문제 발생 가능

6. 학습 정리


  • 프로세스: 실행 중인 프로그램으로, PCB로 관리된다.
  • 상태 전이: New → Ready → Running → Waiting → Terminated.
  • 전이 이벤트: Dispatch, Block, Wakeup, Timeout(Time Run Out), Exit.
  • 문맥 교환: CPU 제어권을 전환할 때 PCB 저장 및 복원 과정.
  • IPC: 프로세스 간 데이터 교환 메커니즘 (Pipe, Message Queue, Shared Memory).
  • 스레드: 프로세스 내부의 실행 단위로, 자원을 공유하며 병렬 처리 효율을 높인다.

다음 글: [2일차] 정보처리산업기사 운영체제 – 프로세스 스케줄링

스케줄링의 목적, 선점형/비선점형, FCFS·SJF·RR 등 알고리즘 비교와 우선순위 스케줄링 정리.

정보처리산업기사 관련링크 모음

  • 큐넷(Q-Net) 정보처리산업기사 안내
    -> 바로가기
  • 큐넷 원서접수 페이지 (정보처리산업기사 실기)
    -> 바로가기
  • 한국산업인력공단 공식 홈페이지
    ->바로가기
  • 이기적 2025 정보처리산업기사 실기 교재 공식몰 (영진닷컴)
    -> 바로가기
  • HRD-Net (직업훈련포털)
    -> 바로가기

“이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.”