[전산학] 세그먼트

Hyo Kyun Lee·2021년 7월 13일
0

전산학

목록 보기
12/16

1. 리눅스 관점에서의 세그먼트

리눅스에서 세그먼트는 프로세스 가상메모리 공간이다.

세그먼트는 프로세스가 실행될 때의 가상 메모리를 일컫는다..

프로세스가 실행될 때 가상메모리 4GB에 하나의 세그먼트가 구성되며, 이 세그먼트는 code(실행할 코드가 저장된 binary image), stack(코드들이 쌓이면서 해당 명령들이 실행되는 공간), BSS, DATA 등으로 구분되어 있다.

세그먼테이션(Segmentation)은 이러한 가상 메모리 구조를 보호하여, 프로세스가 원활히 처리될 수 있도록 지원하는 메모리 보호 기법이다.

참고로 같이 알아 두어야할 리눅스 메모리 활용 체계는 페이징시스템이다.

기본적으로 리눅스가 메모리를 사용하는 체계는 페이징시스템을 채용한다.

실제 사용 이력을 바탕으로 제한된 물리 메모리 영역을 사용하는 개념이기 때문에, 공간 효율성이 페이징 시스템이 매우 좋기 때문이다.

2. 파이프라인 관점에서의 세그먼트

파이프라인을 이용한 병렬처리에서 부연산 결과를 저장하는 임시 공간이다.

파이프라인 병렬처리는, 말 그대로 파이프라인 시스템 체계에서 직렬(한 결과가 다른 결과 처리 이후에 확보 가능한 순차처리 방식)이 아닌 병렬로 처리하는 체계를 일컫는다.

병렬처리는 한 시점에서 여러 부연산 처리 결과를 받아 동시처리가 가능하므로, 이러한 결과를 저장하고 처리할 수 있는 하드웨어적 공간(레지스터)이 필요하다.

이 공간이 세그먼트이며, 처리논리 자체는 순차적이지만(현 시점에서의 명령처리를 한 후에 다음 명령어 및 연산처리가 있는 주소를 불러오는 방식) 이러한 처리가 병렬적으로 여러개가 있기 떄문에, 직렬처리보다는 성능과 효율이 좋을 수 밖에 없다.

3. 참고링크

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sysganda&logNo=30164212476

0개의 댓글