프로세스의 주소 공간이란?
프로그램이 CPU에 의해 실행되면 프로세스가 생성된다.
프로세스가 메모리를 할당 받으면, 자신만의 방법으로 메모리를 관리하기 위해 이 공간들을 어떤 구조로 관리하는데, 우리는 이를 프로세스 주소 공간이라고 부른다. 즉, 메모리에 프로세스의 주소 공간이 할당된다.
프로세스 주소 공간은 코드, 데이터, 스택 영역으로 이루어져 있다.
프로세스 주소 공간을 Code, Data, Stack 으로 구역을 나눈 이유 ?
최대한 데이터를 공유하여 메모리 사용량을 줄이기 위해서이다.
Code 부분 존재 이유
- 코드는 프로그램이 만들어지고 나서는 바뀌지 않기 때문에 Read Only이다.
- 같은 프로그램이라면 여러 프로세스가 실행되더라도 코드 부분은 모두 같다.
- 따라서 같은 프로그램의 프로세스인 경우 코드 부분을 공유하여 메모리 사용량을 줄일 수 있다.
함수 실행 순서와 Stack 구조
Stack 부분과 Data 부분 존재 이유
- 함수의 Stack 구조로 인해 Stack 부분이 존재한다.
- 전역 변수는 어떤 함수에서도 접근할 수 있기 때문에 Data로 따로 관리해준다.
'CS 공부 > 운영체제' 카테고리의 다른 글
IPC(Inter Process Communication) (0) | 2022.08.07 |
---|---|
PCB와 Context Switching (0) | 2022.07.31 |
운영체제(OS : Operating System) 란? (0) | 2022.07.17 |
메모리(Memory)란? (0) | 2022.06.19 |
페이지 교체 (Page-Replacement) 알고리즘 (0) | 2022.06.19 |
댓글