Page 10 -
P. 10

1.1        프로그램과 프로세스                                      GAM E SE RVER








               우리가 흔히 말하는 프로그램이란 컴퓨터에서 실행되는 명령어 모음이 들어 있는 데이터 덩어리
               를 의미합니다. 크게 코드(code)와 데이터(data)로 구성되어 있습니다.
               프로그램 자체로는 아무런 의미가 없습니다. 우리가 그것을 더블클릭하여 실행시키기 전까지는

               말입니다. 프로그램을 실행하면 프로그램 안에 들어 있는 명령어가 한 줄씩 실행되면서 프로그램
               은 뭔가 활동을 하는 상태가 됩니다. 이를 프로세스(process)라고 합니다.

               프로그램에 있는 코드와 데이터는 이 프로세스 메모리로 불러들입니다. 즉, 로딩됩니다. 프로세스
               메모리에는 프로그램 코드와 데이터는 물론 힙(heap)과 스택(stack)도 공존합니다. 스택에는 현재 실
               행 중인 함수들의 호출 기록과 사용 중인 로컬 변수들이 들어 있습니다(스택에 관한 자세한 설명
               은 1.2절에서 다룹니다).

               프로그램은 디스크 같은 저장소에 있고, 프로세스는 RAM 메모리에 있습니다.


                  그림 1-1 프로그램은 디스크에 있고, 프로세스는 RAM에 있음
                 프로그램

                     코드



                     데이터


                           실행

                 프로세스

                     코드              힙



                     데이터            스택




               윈도(Windows) 운영체제에서는 이렇게 실행된 프로그램을 작업 관리자로 확인할 수 있습니다.





         018
   5   6   7   8   9   10   11   12   13   14   15