페이징 vs 세그멘테이션 기법

JM1107·2022년 12월 20일
0

페이징 기법

프로세스를 동일한 크기의 페이지로 분할해서 메인 메모리에 적재하는 방식

Page : 가상메모리 내의 프로세스 조각
Frame : 메인 메모리 내의 프로세스 조각
둘의 크기단위는 같음


모든 프로세스는 하나의 페이징 테이블을 갖고 있음
ex) p1프로세스의 page0은 메인메모리 5번째 frame에 적재

논리주소와 페이지테이블


<6 bit page, 10bit offset>
MMU를 이용해 가상(논리)주소를 물리주소로 변환

가상 주소를 물리주소로 변환하는 과정
TLB(Translation Lookaside Buffer, 페이지 정보 캐쉬)

  • 가상 메모리 주소를 물리적 주소로 변환하는 속도를 높이기 위해 사용하는 캐시
  • 최근에 일어난 가상 메모리와 물리 주소의 변환 테이블을 저장. CPU가 가상 주소를 가지고 메모리에 접근하려고 할 때 TLB에 우선접근하여 가상 주소에 해당되는 물리 주소를 찾음

페이징 기법 장단점

장점 : 연속저장 불필요, 외부단편화 발생하지 않음
단점 : 내부단편화

세그멘테이션(segmentation) 기법

세그먼트는 가상 메모리를 서로 크기가 다른 논리적 단위로 분할한 것
크기가 아닌 논리적 기준으로 프로세스를 나눈 것

세그먼트 테이블

<page, offset> -> <segment, offset>

세그멘테이션 기법 장단점

장점 : 보호와 공유기능 수행 가능, 내부 단편화 문제 해결
단점 : 외부 단편화

출처

profile
개발자준비

0개의 댓글