프로세스 (Process)
Jan 22, 2026 · Updated Jan 25, 2026
핵심 개념
섹션 제목: “핵심 개념”실행 중인 프로그램 (a program in execution)
프로그램 자체는 수동적 개체(passive entity)로, CPU에 의해 명령어가 실행되지 않으면 아무것도 할 수 없다. 프로세스는 CPU 시간, 메모리, 파일, I/O 장치 등의 자원이 필요하며, 종료 시 OS가 재사용 가능한 자원을 회수한다.
프로그램 vs 프로세스
섹션 제목: “프로그램 vs 프로세스”| 구분 | 프로그램 (Program) | 프로세스 (Process) |
|---|---|---|
| 성격 | 수동적 개체 (passive entity) | 능동적 개체 (active entity) |
| 위치 | 디스크에 저장된 파일 | 메모리에서 실행 |
| 특징 | 정적인 코드와 데이터 | 프로그램 카운터를 가짐 |
싱글 스레드 vs 멀티스레드
섹션 제목: “싱글 스레드 vs 멀티스레드”| 구분 | 싱글 스레드 프로세스 | 멀티스레드 프로세스 |
|---|---|---|
| 프로그램 카운터 | 1개 | 여러 개 |
| 실행 방식 | 순차적 | 병렬적 |
운영체제의 프로세스 관리 활동
섹션 제목: “운영체제의 프로세스 관리 활동”- 사용자 및 시스템 프로세스 생성과 삭제
- CPU에 프로세스와 스레드 스케줄링
- 프로세스 일시 중단 및 재개
- 프로세스 동기화 메커니즘 제공
- 프로세스 통신 메커니즘 제공
트레이드오프
섹션 제목: “트레이드오프”- 장점: 여러 프로그램을 동시에 실행하여 CPU 활용도와 사용자 만족도 향상
- 단점: 프로세스 관리를 위한 오버헤드 발생
관련 개념
섹션 제목: “관련 개념”- 프로세스 상태 (Process State) - 프로세스가 거치는 생성, 준비, 실행, 대기, 종료 상태 전이
- 프로세스 제어 블록 (PCB) - 운영체제가 각 프로세스를 관리하기 위해 유지하는 데이터 구조
- 프로세스 메모리 구조 - 프로세스에 할당되는 텍스트, 데이터, 힙, 스택 영역
- 스레드 (Thread) - 프로세스 내의 경량 실행 단위
- 멀티프로그래밍 (Multiprogramming) - 여러 프로세스를 메모리에 유지하여 CPU 활용률을 높이는 기법
- Operating System Concepts, 10th Edition, Chapter 1, p.23, 27-28