상세 컨텐츠

본문 제목

Process

운영체제

by 승학이 2024. 3. 6. 15:56

본문

Process란?

실행파일(program)이 memory에 적재되어 CPU를 할당받아 실행되는 것을 process라고 합니다.

프로세스란 실행중인 프로그램을 뜻합니다. 즉, 실행파일 형태로 존재하던 프로그램이 메모리에 적재되어 CPU에 의해 실행되는 것을 프로세스라고 합니다. (+프로그램은 단순히 명령어 리스트를 포함하는 파일입니다.)

 

 

Memory에 적재

memory는 CPU가 직접 접근할 수 있는 컴퓨터 내부의 기억장치 입니다. 프로그램이 CPU에서 실행되려면 해당 내용이 메모리에 적재된 상태여야만 합니다.

프로세스에서 할당되는 메모리 공간은 Code, Date, Stack, Heap 4개의 영역으로 이루어져 있으며, 각 Process마다 독립적으로 할당받습니다.

CODE 영역 실행한 프로그램의 코드가 저장되는 메모리 영역
DATA 영역 프로그램의 전역 변수static 변수가 저장되는 메모리 영역
HEAP 영역 프로그래머가 직접 공간을 할당/해제하는 메모리 영역
STACK 영역 함수 호출 시 생성되는 지역 변수매개 변수가 저장되는 임시 메모리 영역

 

 

CPU의 연산과 PC register

프로그램의 코드를 토대로 CPU가 실제로 연산을 해야만 프로그램이 실행된다고 볼 수 있습니다. 그럼 어떤 코드를 읽어야 하는가를 정하는 것은 CPU 내부에 있는 PC register에 저장되어 있습니다. PC register에는 다음에 실행할 코드의 주소값이 저장되어 있습니다. 즉, 메모리에 적재되어 있는 process code 영역의 명령어 중 다음번 연산에서 읽어야할 명령어의 주소값을 PC register가 순차적으로 가리키게 되고, 해당 명령어를 읽어와서 CPU가 연산을 하게되면 프로세스가 실행되는 것입니다. 

 

 

 

'운영체제' 카테고리의 다른 글

Multi Process 와 Multi Thread  (0) 2024.03.06
Multi thread  (0) 2024.03.06
Multi process  (1) 2024.03.06

관련글 더보기