프로세스란 쉽게 생각하면, 여러분이 흔히 윈도우즈에서 실행 중인 파워포인트, MP3 플레이어, 아래아 한글 등 이러한한 개개의 프로그램을 일컫습니다. 여기서 중요한 건 프로세스가 하드디스크상에 있는 이러한 프로그램 이미지가 아니라 '실행 중'인 프로그램을 일컫는다는 것입니다.


좀 더 구체적으로 프로세스란 하나의 프로그램이 실행되는 단위로 생각할 수 있습니다. 하나의 프로그램이 돌아가기 위해서는 여러 가지 요소가 필요하죠. 우선 실행하고자 하는 프로그램의 코드와 데이터가 있는 이미지가 있어야 합니다. 일반적으로 이 이미지는 하드디스크와 같은 보조기억장체에 있는데, 프로그램이 실행되기 위해선 이러한 이미지가 주기억 장치, 즉 메모리로 로드되어야 합니다. 만일 여러분이 똑같은 파워 포인트 이미지를 두 번 실행하면, 하드디스상에 있는 파워 포인트라는 프로그램 이미지는 하나뿐이지만, 실제 메모리상에는 두 개의 파워 포인트 이미지가 로드되어 있고, 각각의 이미지는 서로와는 상관없이 독립적으로 서로 다른 내용을 작성할 수 있습니다. 결국 파워포인트라는 이미지로부터 두 개의 독립적인 프로세스가 생성된 것입니다.


이러한 각각의 프로세스는 비록 같은 이미지에서 실행되었다고 하더라도, 서로 독립적인 로드 과정을 거쳐서 메모리에 적재되고 또 서로 다른 메모리 공간에 배치되어 독립적으로 자신만의 메모리를 할당받아 사용합니다.


이를 좀 더 일반적으로 표현하자면, 프로세스란 프로그램이 수행되기 위한 자원(Resource) 소유의 단위로 생각할 수 있습니다. 여기서 자원이라 부를 수 있는 가장 큰 요소가 바로 메모리죠. 각 프로세스는 하나의 독립된 프로그램으로서 동작하기 위해 자신만의 메모리를 확보합니다.


반응형
반응형