Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 이분 그래프(Bipartite Graph)
- 이분 탐색(Binary Search)
- DFS(Depth First Search)
- 백준 10000번
- 백준 17608번
- 위상 정렬(Topological Sort)
- 그리디 알고리즘(Greedy Algorithm)
- 백준 21606번
- 그래프(Graph)
- 백준 9012번
- 다익스트라 알고리즘(Dijkstra Algorithm)
- 백준 2261번
- 분할 정복(Divide and Conquer)
- 알고리즘 개념
- DFS & BFS
- 백준 2504번
- 백준 2812번
- DFS
- 플로이드 워셜 알고리즘(Floyd-Warshall Algorithm)
- 백준 1707번
- 큐(Queue)
- 위상 정렬(Topology Sort)
- 백준 1948번
- 백준 2493번
- 트리(Tree)
- 스택(Stack)
- BFS(Breadth First Search)
- BFS
- 백준 18352번
- 동적 프로그래밍(Dynamic Programming)
Archives
- Today
- Total
Always Be Wise
가상 메모리 본문
728x90
가상 메모리는 각 프로세스들이 메인 메모리 전체를 독점적으로 사용하고 있는 것 같은 환상을 제공하는 추상화이다.
각 프로세스는 가상 주소 공간이라고하는 균일한 메모리의 모습을 갖게 된다. 아래는 몇 개의 정의된 영역으로 구성되어 있는
리눅스 프로세스들의 가상 주소 공간이다.
- 프로그램 코드와 데이터
코드는 모든 프로세스들이 같은 고정 주소에서 시작하며, 실행 가능 목저파일에서 직접 초기화 되어 그 크기가 고정되어 잇다. - 힙
코드와 데이터 영역 다음으로 런타임 힙이 따라온다. 힙은 프로세스가 실행되면서 런타임에 동적으로 변화한다. - 공유 라이브러리
공유 라이브러리의 코드와 데이터를 저장하는 영역이다. - 사용자 스택
사용자 가상 메모리 공간의 맨 위에 함수 호출 등을 구현하기 위해 사용하는 사용자 스택이 위치한다. 힙과 마찬가지로 프로그램이
실행되는 동안에 동적으로 변화한다. - 커널 가상 메모리
커널을 위해 예약되어 있는 공간으로 응용 프로그램들은 이 영역의 내용을 읽거나 쓰는 것이 금지되어 있으며, 커널 코드에 정의된
함수를 직접 호출하는 것도 금지되어 있다. 대신, 이런 작업을 수행하기 위해 커널을 호출해야 한다.
'컴퓨터 시스템 > CSAPP' 카테고리의 다른 글
동적 메모리 할당 - malloc 함수 구현(명시적 가용 리스트 이용) (0) | 2021.12.13 |
---|---|
동적 메모리 할당 - malloc 함수 구현(묵시적 가용 리스트 이용) (0) | 2021.12.13 |
동적 메모리 할당과 할당기 (0) | 2021.12.09 |
운영체제 (0) | 2021.12.09 |
캐시 메모리와 저장 장치 (0) | 2021.12.09 |
Comments