일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Brute Force
- pwnable.kr
- 컴공복전
- fork
- paging
- 동기화문제
- 백준
- BOJ
- ascii_easy
- 알고리즘
- BFS
- Deadlock
- 삼성기출
- 완전탐색
- 스케줄링
- samsung research
- 운영체제
- 시뮬레이션
- segmentation
- Memory Management
- 삼성리서치
- 프로세스
- 가상메모리
- exec
- 구현
- 김건우
- 데드락
- higunnew
- 백트래킹
- dfs
- Today
- Total
목록Memory Management (4)
gunnew의 잡설
- Segmentation 세그먼테이션 기법은 프로세스가 구성하는 주소 공간을 의미 단위로 (Code, Data, Stack,...)으로 쪼갠 것이다. 작게는 프로그램을 구성하는 함수 하나하나를 세그먼트로 정의할 수 있고 크게는 프로그램 전체를 하나의 세그먼트로 정의 가능하다. 일반적으로는 당연히 Code, Data, Stack 부분이 하나씩의 세그먼트로 정의된다. Segment는 다음과 같은 logical unit들이다. 즉, 다음과 같은 것들이 Segment가 될 수 있다는 것이다. ex) main(), function, global variables, stack, symbol table, arrays * Segmentation Architecture (세그먼테이션에서 주소 변환) * 이 기법에서 L..
물론 Page Table을 2단계만 사용할 수 있는 건 아니다. 다단계로 사용할 수 있다. 프로세스의 주소 공간은 매우 클 수 있기 때문에 Address Space가 더 커지면 다단계 페이지 테이블이 필요하다. 그것을 Multilevel Paging이라고 한다. 그렇지만 한 번 주소변환을 하려면 여러 개의 페이지 테이블을 거쳐야 하며, 4단계 페이지 테이블의 경우 5번의 메모리 접근이 필요하다(4번은 주소 변환, 1번은 실제 데이터 접근). 예를 들어 메모리 접근 시간이 100ns라면 500ns가 소요될 것이다. 하지만 전 시간에 배운 TLB(Translation Look-aside Buffer)를 이용하면, 대부분의 주소 변환 시간 동안 TLB에서 이루어지기 때문에 그 소요가 적다. TLB hit ra..
2. Noncontiguous allocation (불연속 할당) - Paging 프로세스가 구성하는 주소 공간을 같은 크기의 Page로 잘라서 Page 단위로 물리적인 메모리로 올려놓거나 Backing store에 내려 두거나 하는 것이다. 프로세스의 주소 공간을 자른 것처럼 물리적인 메모리에 사용자 프로세스가 들어갈 수 있는 공간들도 페이지와 똑같은 크기로 잘라 놓는데 이 물리적 공간을 Page Frame(페이지 프레임)이라고 한다. 이 Page Frame은 페이지 하나가 올라갈 수 있다. 이 기법을 사용하면 hole들의 크기가 균일하지 않아 발생하는 문제, 즉, External fragmentation(외부 조각 문제)가 발생하지 않는다. 물론 Internal fragmentation(내부 조각 문..
메모리에 접근하기 위해서는 주소가 필요하다. 주소에는 Logical address ( or Virtual address)와 Physical address가 있다. 프로세스가 만들어지면 독자적인 주소 공간 (Address space)가 만들어진다고 했는데 그때 사용되는 것이 논리적 주소이다. 또한 각 프로세스마다 0번지부터 시작하며 CPU는 이 주소를 활용한다. 반면 물리적 주소는 말 그대로 Memory에서 물리적으로 접근할 수 있는 주소로 메모리에 실제 올라가는 위치를 뜻한다. 결국 프로세스가 실행되기 위해서는 메모리에 프로세스가 올라가야 하고, 논리적 주소가 물리적 주소로 바뀌어 처리되어야 하는데 이것을 '주소 변환'이라 하며 '주소 바인딩'이라고도 한다. * Symbolic Address * 우리가 ..