Page 10 -
P. 10
1.1 프로그램과 프로세스 GAM E SE RVER
우리가 흔히 말하는 프로그램이란 컴퓨터에서 실행되는 명령어 모음이 들어 있는 데이터 덩어리
를 의미합니다. 크게 코드(code)와 데이터(data)로 구성되어 있습니다.
프로그램 자체로는 아무런 의미가 없습니다. 우리가 그것을 더블클릭하여 실행시키기 전까지는
말입니다. 프로그램을 실행하면 프로그램 안에 들어 있는 명령어가 한 줄씩 실행되면서 프로그램
은 뭔가 활동을 하는 상태가 됩니다. 이를 프로세스(process)라고 합니다.
프로그램에 있는 코드와 데이터는 이 프로세스 메모리로 불러들입니다. 즉, 로딩됩니다. 프로세스
메모리에는 프로그램 코드와 데이터는 물론 힙(heap)과 스택(stack)도 공존합니다. 스택에는 현재 실
행 중인 함수들의 호출 기록과 사용 중인 로컬 변수들이 들어 있습니다(스택에 관한 자세한 설명
은 1.2절에서 다룹니다).
프로그램은 디스크 같은 저장소에 있고, 프로세스는 RAM 메모리에 있습니다.
그림 1-1 프로그램은 디스크에 있고, 프로세스는 RAM에 있음
프로그램
코드
데이터
실행
프로세스
코드 힙
데이터 스택
윈도(Windows) 운영체제에서는 이렇게 실행된 프로그램을 작업 관리자로 확인할 수 있습니다.
018