SYSTEM PROGRAMMING

세그먼테이션

뉴암스테르담 2015. 8. 5. 21:14


세그먼테이션  시스템프로그래밍 

2011.06.19. 20:31  수정  삭제

복사http://blog.naver.com/pwk0810/40131942242

전용뷰어 보기

세그먼테이션은 선형주소 ( 0 부터 1씩 증가시켜  빈곳 없이 쫙 있다는 의미 ) 라 불리는 주소 공간을 보호된 조각들( 세그먼트) 로 분리시켜 준다.

 

각 프로그램들은 자기만의 세그먼트를 할당 받고 프로세서는 서로 침범하지 않게 보호해 준다.

이들 세그먼트는 시작 주소와 크기, 용도, 그리고 이 세그먼트를 사용할 수 있는 권한 등의 여러 속성들이 있는데 이는 조각 설명서 ( Segment Decriptor ) 라는 별도의 장소에 지정되어 있다.

 

세그먼트를 사용하여 실제 주소를 얻는것은

1) 16비트 값으로 세그먼트를 선택하고

2) 세그먼트가 가리키는 첫번째 주소에다 오프셋으로 준 32비트를 더해 실제 주소를 알아내는것

3) 페이징을 사용하지 않는다면 선형주소가 실제 주소가 된다.

4) 물리 주소란  삼성 512MB DRAM 의 0부터 512M 사이의 어떤값이 될것

 

5) IA-32 는 여러 작업들이 동시에 실행되고 한 작업이 쓰는 메모리가 40 억 바이트 ( 4GB ) 로 매우

   크기 때문에  이를 효율적으로 관리할 여러가지 메모리 관리 모델을 가지고 있다

6) 이들 관리 모델은 조각 레지스터를 어떻게 활용하느냐에 따라 결정되게 된다.

7) 메모리 모델을 결정하는 조각 레지스터 들이 앞서 본 CS, DS, SS, ES , FS, GS 의 16비트 레지스터 들이다.