일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 다익스트라
- kraftonjungle
- 4기
- BFS
- anonymous page
- 백준
- 네트워크
- 핀토스
- 알고리즘수업-너비우선탐색2
- c#
- User Stack
- Unity
- pintos
- 유니티
- 추상클래스와인터페이스
- 크래프톤 정글 4기
- KRAFTON JUNGLE
- 파이썬
- 크래프톤정글4기
- TiL
- 이벤트 함수 실행 순서
- 전쟁-전투
- C
- 티스토리챌린지
- 알고리즘
- 오블완
- 크래프톤정글
- 크래프톤 정글
- 연결리스트
- project3
- Today
- Total
목록anonymous page (2)
말감로그
load_segment 흐름 load_segment (메모리만 로드) - > setupstack( 페이지 요구하고 매핑) -> page_fault (커널 제어권 획득) -> vm_try_handler (페이지 물리 프레임 매핑 ) -> lazy load segmet ( 프레임에 세그먼트 할당 ) 🤔궁금했던 점 왜 load_segment 부분에서 페이지를 load할 때 uninit 페이지 생성하지 않고 anonymous 페이지로 생성하는가? load_segment를 보면, vm_alloc_page_with_initializer를 호출할 때, 타입 인자를 VM_ANON으로 넘겨서, 모든 uninit 페이지가 page fault 이후 Anonymous로 생성되게 만들어놓은 것을 볼 수 있다. 왜 filed_b..
Anonymous page란 ? 익명 페이지는 파일로부터 매핑되지 않은 , 커널로부터 프로세스에게 할당된 일반적인 메모리 페이지이다. 즉, 익명 페이지는 힙을 거치지 않고 할당받은 메모리 공간이다. 커널의 메모리 할당 방법 1. 페이지 할당 : 가상 메모리를 페이지단위로 메모리를 할당하여 프로세스에게 제공한다. 2. 페이지 프레임 할당 : 물리 메모리는 페이지 프레임이라고 불리는 물리적인 페이지들로 나뉘는데, 커널은 이러한 페이지 프레임을 관리하고, 필요할 때 페이지 프레임을 할당하여 프로세스에게 제공한다. 3. 메모리 풀 할당 : 고정된 크기의 메모리 블록을 미리 할당하여 사용 가능한 상태로 유지하는 방법이다. 커널은 메모리 풀을 사용하여 일정한 크기의 메모리 블록을 할당하고 관리한다. "프로세스에게 ..