Process 란?

김래영·2022년 7월 4일
0

CS

목록 보기
2/3
post-thumbnail

실행 중인 프로그램을 뜻하며, 실행파일(program)이 memory에 적재되어 CPU에 의해 실행(연산)되는 것을 말한다.

예를 들어,

  • 코드를 작성한 후 저장을 하면 하드디스크에 저장하는 것을 프로그램이라 부른다.
  • CPU는 하드디스크에 저장된 프로그램을 읽을 수 없다. RAM memory에 올라와있는 프로그램만 읽을 수 있다.
  • 프로그램을 실행시키기 위해 RAM memory에 적재를 하고 CPU를 할당받는다.

여기까지의 과정을 가지면 프로세스가 된다.

RAM Memory 적재

memory는 CPU가 직접 접근할 수 있는 컴퓨터 내부의 기억장치이다. program이 CPU에서 실행되려면 해당 내용이 memory에 적재된 상태여야 한다.

메모리 역역에는 크게 stack, heep, data, code 영역으로 구분되어있으며, 각 process마다 독립적으로 할당을 받는다.

memory설명
code실행할 프로그램의 코드가 저장되는 역역이다. 
data프로그램의 전역 변수와 static변수가 저장되는 영역이다.
heap런타임 중에 메모리 할당이 되는 동적 메모리 할당 영역이다.
stack함수 호출 시 생성되는 지역 변수와 매개 변수가 저장되는 임시 영역이다.

CPU의 연산

프로그램의 코드를 CPU가 실제로 연산을 해야만 프로그램이 실행된다. 

CPU 내부에 PC register가 code 영역의 다음 명령어의 주소 값을 순차적으로 가리키게 되고 해당 명령어를 CPU가 연산하게 되면서 process가 실행된다.

profile
개발 노트

0개의 댓글