새소식

💻 Computer/🐧 Linux

[Linux] 리눅스의 메모리 구조 (2)

  • -

 

구조 그림

1편에서 Data Segment까지 했었다 이번 편은 BSS, Heap, Stack을 다뤄 보려고 한다

 


Bss Segment

컴파일 시에 초기화 되지 않은 전역 변수들이 위치하는 곳이다. 프로그램이 실행되면 모든 값은 0으로 초기화된다

 

읽기, 쓰기 권한이 부여됨

 


Stack

Stack과 Heap은 상황에 맞게 확장해가는 Segment이다.Stack Segment는 Stack Frame이라는 단위로 사용는데, 이 Stack Frame은 함수 호출 시마다 생성되고 반환될 때 해제된다.

 

읽기, 쓰기 권한이 부여됨

 


 

Heap

C언어에서 malloc(), calloc()과 같은 함수를 통해 동적으로 할당받는 메모리가 위치하는 곳

 

읽기, 쓰기 권한 부여

 


정리

  Code Segment Data  Rodata Bss Stack Heap
권한 읽기, 실행 쓰기, 읽기 읽기 읽기, 쓰기 읽기, 쓰기 읽기, 쓰기

 


참고 사이트

https://hackyboiz.github.io/2022/01/14/poosic/linux-memory-layout/

 

hackyboiz

hack & life

hackyboiz.github.io

 

'💻 Computer > 🐧 Linux' 카테고리의 다른 글

[Linux] File  (2) 2022.09.26
[Linux] 리눅스의 메모리 구조 (1)  (0) 2022.09.18
[Linux] Directory Command  (0) 2022.09.04
[Linux] 기본 환경  (0) 2022.09.03
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.