초기 컴퓨터: 한 번에 하나의 프로그램만 실행 가능
→ 해당 프로그램이 시스템 자원을 독점적으로 사용
현대 컴퓨터: 여러 프로그램을 메모리에 동시에 적재하고 병행 실행(concurrent execution) 가능
→ 이를 위해 더 강력한 제어(control) 와 프로세스 단위의 분리(compartmentalization) 필요
→ 이로부터 “프로세스(Process)” 개념이 등장함
프로세스(Process) 란 실행 중인 프로그램(a program in execution) 을 의미함.
→ 운영체제는 CPU를 여러 프로세스에 교대로 할당(multiplexing) 하여 동시 실행처럼 보이게 함.
프로세스는 단순히 프로그램 코드뿐 아니라 현재 상태(state) 를 포함한 실행 단위임
프로세스의 메모리 공간은 다음 4가지 주요 영역으로 구분됨

| 구역 | 설명 |
|---|---|
| Text Section | 실행 코드 (executable instructions) |
| Data Section | 전역 변수(Global variables) 저장 영역 |
| Heap Section | 동적 메모리 할당 영역 (예: malloc, new 등) |
| Stack Section | 함수 호출, 지역 변수, 반환 주소 등 저장 |
