세그먼테이션 (Segmentation)
세그먼테이션 (Segmentation) 세그먼테이션(Segmentation)은 운영체제의 메모리 관리 기법 중 하나로, 프로세스를 논리적 단위인 세그먼트로 나누어 관리하는 방식이다. 세그먼테이션의 기본 개념을 이해하기 위해, 먼저 프로그램의 구조를 생각해보자. 일반적인 프로그램은 코드 영역, 데이터 영역, 스택 영역 등 서로 다른 목적을 가진 영역들로 구성된다. 세그먼테이션은 이러한 논리적 단위들을 각각의 세그먼트로 관리한다. Source: https://www.geeksforgeeks.org/segmentation-in-operating-system/ 세그먼테이션의 주요 구성 요소와 작동 방식 세그먼트 테이블(Segment Table): 1 2 3 4 5 6 7 8 9 10 struct SegmentTableEntry { uint32_t base; // 세그먼트의 시작 주소 uint32_t limit; // 세그먼트의 크기 bool present; // 메모리 존재 여부 struct { bool read; // 읽기 권한 bool write; // 쓰기 권한 bool execute; // 실행 권한 } protection; }; 주소 변환 과정: 논리적 주소는 다음과 같이 구성된다: ...