SYSTEM PROGRAMMING
세그먼테이션
뉴암스테르담
2015. 8. 5. 21:14
세그먼테이션은 선형주소 ( 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비트 레지스터 들이다. |