일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- #크랙미4번
- #크랙미3번
- Spring
- GraphQL
- #크랙미2번
- #심플즈 크랙미
- #리버싱
- #크랙미 9번
- #크랙미
- #고클린
- springframework
- java
- #크랙미 5번
- leetcode
- #파밍
- #크랙미 10번
- #abex
- Easy
- #abex크랙미
- #심플즈
- #보안뉴스
- java8
- #보안이슈
- #abex크랙미4번
- 리버싱
- Today
- Total
Halo World
세그멘테이션 기법 본문
| 세그멘테이션 기법
가상 메모리 관리 기법 중 하나로 가상 메모리를 같은 크기의 블록으로 분할하는 페이징 기법과 달리 세그멘테이션 기법은 가상 메모리를 서로 크기가 다른 논리적 단위인 세그먼트(Segment)로 분할하고 메모리를 할당하는 기법이다.
> 특징
- 세그먼트들의 크기가 서로 다르기 때문에 메모리를 페이징 기법에서 처럼 미리 분할해 둘 수 없고, 메모리에 적재될 때 빈 공간을 찾아 할당하는 사용자 관점의 가상 메모리 관리 기법
- 마이크로프로세서는 세그먼트 테이블을 참조하여 해당 세그먼트의 시작주소와 더해져서 실제적인 물리적 위치로 변환해줌
> 세그먼트
- 세그먼트는 논리적 의미에 부합하도록 서로 크기가 다르며 각각의 세그먼트들은 연속적인 공간에 저장되어있다.
- 세그먼트 가상 주소는 v = (s,d) 로 표현되며, s는 세그먼트 번호를 d는 블록 내 세그먼트의 변위를 나타낸다.
- 전체 세그먼트가 하나의 단위로 보조기억장치에서 메모리로의 연속적인 가용 공간에 적재되며 최초 적합 등의 방법으로 주기억장치를 할당
> 세그먼트 테이블
- 페이징 기법에 페이지 테이블이 있는 것처럼, 세그멘테이션 기법에는 세그먼트 테이블이 사용된다. 세그먼트 테이블은 사용자가 정의한 주소를 실제 주소로 맵핑하는 정보를 저장하고 있으며, 각 세그먼트 항목별 Base(세그먼트 시작 주소)/Limit(세그먼트 길이)의 정보를 갖고 있다.
> 세그멘테이션 기법의 장단점
- 하나의 세그먼트 단위로 통제가 가능하다는 장점
- 서로 다른 크기의 세그먼트들에 대해 필요 시에 메모리에 올리고, 필요없을 경우 내리를 작업을 반복하다보면 외부 단편화가 생기는 문제점이 있음
[출처]
http://softwareji.tistory.com/76