본문 바로가기

페이징3

Batch Fetch Size를 통해 페이징 문제 해결 1. 문제 발생 Folder Entity @Entity @Getter @Builder(toBuilder = true) @Table(name = "folder") @AllArgsConstructor @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Folder extends BaseDateEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Size(max = 50, message = "폴더의 이름은 50자 이하로 입력해주세요") @Column(name = "title", nullable = false, columnDefinition = "varch.. 2022. 8. 20.
페이징 (Paging) - (2) 1. 페이지 테이블의 구조 (Structure of the Page Table) 많은 현대 컴퓨터는 매우 큰 주소 공간 (32 bits, or 64 bits)를 가진다. 이러한 환경에서 페이지 테이블도 상당히 커진다. Example 32bit 논리 주소 공간, page size : 4KB 페이지 테이블은 (2^32/2^12) 개의 entry를 가질 것이다. 각 entry는 4Byte로 구성되기 때문에 2^22 = 4MB의 공간이 필요하다. 페이지 테이블의 크기가 커짐에 따라 메인 메모리에서 연속적으로 할당하기를 어렵다. (1) 계층적 페이징 (Hierarchical Paging) 2단계 페이징 기법(two-level paging scheme) 페이지 테이블을 다시 페이징한다. 이 방식은 주소 변환이 바깥.. 2021. 12. 9.
페이징 (Paging) - (1) 프로세스의 물리 주소 공간이 연속되지 않아도 되는 메모리 관리 기법 외부 단편화와 관련 압축의 필요성을 피할 수 있다. 1. 페이징 (Paging) 물리 메모리는 프레임(frame) 크기 블록으로 나누어진다. 논리 메모리는 페이지(page) 크기 블록으로 나누어진다. N개의 Page 프로그램이라면 적재 시 N개의 free frame이 필요하다. page table이 논리 주소에서 물리 주소로 변환시켜준다. page table은 각 프로세스 별로 생성된다. (1) 논리 주소 CPU에서 나오는 모든 주소는 페이지 번호(P)와 페이지 오프셋(d:offset) 두 개의 부분으로 나누어진다. 페이지 번호 (P) 프로세스 페이지 테이블(page table)을 접근할 때 사용된다. 페이지 오프셋 (d) 참조되는 fr.. 2021. 12. 9.
반응형