컴퓨터에서 프로그램이 실행되기 위해서는 OS가 프로그램을 메모리에 Load하는 과정이 필요합니다. 메모리는 어떻게 세분화 되어 구분되어 있는지 알아보도록 하겠습니다. 기본적으로 다음과 같이 크게 4가지로 나뉘게 됩니다. High AddressStackHeapDataCode Low Address 1. Code1. 코드영역은 실행할 프로그램의 기계어 코드가 저장된 영역입니다. 2. 실행시 ROM(Read - Only - Memory)의 속성을 가집니다. 3. CPU는 Program Counter(PC, 명령어 포인터) 를 통해 이 영역의 명령을 하나씩 실행합니다. Q: 코드 영역에서 실행 중인 프로그램이 자기 자신을 수정할 수 있는가?A: 일반적으로 불가능하며, 보안상의 이유로 대부분의 OS에서 코드 ..