프로세스(Process)란?
본문 바로가기
Computer Science/Operating System

프로세스(Process)란?

by 조훈이 2022. 10. 29.

프로세스 (Process)


  정의 

  디스크에 정적으로 존재하는 실행파일을 실행하면, 메모리에 업로드가 되면서 동적 상태가 된다. 이 상태를 프로세스(Process)라고 한다.


  설명 

# Stack 영역

  지역 변수 (Local variable), 매개 변수 (Parameter), 리턴 주소 등의 값들이 저장된다.

# Heap 영역

  프로그램이 실행되는 동안 동적으로 할당되는 메모리 영역이다. 

# Data 영역 (BSS, Gvar)

  Data 영역은 BSS (Blocked Stated Symbol) 과 Gvar (Global Variable) 로 나뉜다. 초기화가 된 데이터는 Gvar 영역에, 초기화가 아직 되지 않은 데이터는 BSS 영역에 저장이 된다.

# Text 영역

  컴파일 했을 때 발생한 기계어들이 저장되어 있다.

 

 <특징> 
1. Data, Text 영역은 컴파일 시 크기가 결정되는 정적인 영역이지만 Stack, Heap 영역은 실행중인 메모리가 할당되는 동적인 영역이다. 서로 같은 메모리 공간을 공유하지만, 서로 만나지 않도록 각각 가장 높은 주소, 가장 낮은 주소부터 할당받게 된다. 서로 만나는 경우 "Stack Overflow", "Heap Overflow" 가 발생한다.
2. 각 프로세스들은 서로 독립적으로 작동한다. A 프로세스와 B 프로세스가 있다고 할 때 두 프로세스간 직접적인 개입은 없다. 두 프로세스가 통신을 해야하는 경우에는 공유 메모리메세지 패싱을 통해서 통신이 가능하다.

* References *

OS - 프로세스 메모리 구조 - kwon | kwon's Blog (kyu9341.github.io)

 

OS - 프로세스 메모리 구조 - kwon | kwon's Blog

프로세스란? 프로세스란 운영체제 입장에서 하나의 작업 단위이며, 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 프로그램과 프로세스 프로그램은 일반적으로 하드 디스크

kyu9341.github.io

 

728x90

댓글