티스토리 뷰
- 메모리(Memory) 정의
- 프로그램 실행을 위한 데이터 및 코드가 들어있는 영역
- 메모리 구조 개요
- 가장 효율성 있게 정보를 저장하고 검색할 수 있도록 데이터 저장소를 구현하는 방법
- 같은 프로그램일지라도 메모리 관리에 따라 성능 차이 발생
- 메모리 관리가 되지 않은 경우 성능 저하 발생
- 선형 주소 공간(Linear Address Space) - 분할된 메모리 모델의 핵심
- 주로 가상 메모리로 불리며, 디버깅 할 때 볼 수 있는 주소
- 최대 4GB로 구성 (32비트 CPU에서만 선형 주소 공간을 쓰기 때문)
- 낮은 주소부터 높은 주소로 표현
- 하나의 프로그램의 커널, 힙, 스택, 텍스트 등 영역들로 분할
- 커널과 사용자 영역의 크기는 일정한 규칙을 가짐
(일반 모드) 커널 : 사용자 = 2GB : 2GB
(4GT 모드) 커널 : 사용자 = 1GB : 3GB
- 4GT는 4-Gigabyte Turning의 약자로 응용프로그램 메모리 터닝 또는 /3GB 스위치로 불림
- 무조건 4GB가 좋다고 할 수는 없음 (운영체제 운영에 메모리가 부족할 수 있음)
- 운영체제에 따라 CPU 아키텍처에 따라 설정(PAE)에 따라 커널과 유저의 크기는 달라질 수 있음
- 메모리 구조 영역
텍스트(text) 영역 | 실행할 프로그램의 코드가 저장되는 영역 |
데이터(Data) 영역 | 전역 변수, 정적(static) 변수 등이 저장되는 영역 |
초기화된 데이터 영역과 초기화되지 않은 데이터 영역 구분(BSS) | |
힙(Heap) 영역 | 메모리 동적 할당 시 데이터가 저장되는 영역 |
높은 주소 방향으로 데이터 증가 | |
스택(Stack) 영역 | 지역 변수, 매개변수 등의 임시 데이터가 저장되는 영역 |
후입선출(LIFO, Last In First Out) | |
낮은 주소 방향으로 데이터 증가 |
'정보보호' 카테고리의 다른 글
메모리 보호 기법과 우회 기법 (0) | 2021.08.26 |
---|---|
버퍼 오버플로우 (0) | 2021.08.26 |
소프트웨어 취약성 개요 (0) | 2021.08.26 |
보안 솔루션 종류와 이해 (0) | 2021.08.16 |
8/3 과제 - IP Spoofing 공격 및 대응 방안 (0) | 2021.08.03 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- bom
- 리액트 #React #props #state #javascript
- short
- stdio.h
- Document Object Model
- long
- Char
- 변수
- 자료형
- DOM
- History 객체
- c언어
- keyword
- Navigator 객체
- Screen 객체
- 키워드
- gcc
- location 객체
- 컴파일
- Browser Object Model
- window 객체
- int
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함