일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 크래프톤 정글 4기
- 크래프톤정글
- C
- 티스토리챌린지
- 연결리스트
- 크래프톤정글4기
- 오블완
- User Stack
- 4기
- Unity
- 알고리즘수업-너비우선탐색2
- 추상클래스와인터페이스
- 백준
- project3
- anonymous page
- BFS
- pintos
- 이벤트 함수 실행 순서
- TiL
- 네트워크
- KRAFTON JUNGLE
- 크래프톤 정글
- 유니티
- 다익스트라
- 파이썬
- 전쟁-전투
- kraftonjungle
- 핀토스
- c#
- 알고리즘
- Today
- Total
목록Krafton jungle (46)
말감로그
Implement Supplemental Page Table 가장 먼저 구현해야 할 것은 Supplemental Page Table이다. 기존에 핀토스에서는 pml4라는 페이지 테이블을 제공하고 있지만 가상 메모리를 구현하기에는 그 역할이 부족하다. pml4의 경우 주어진 va에 대해 실제 kva(물리메모리)로의 단순한 변환만을 해주고 있다. 즉, 우리가 사용할 페이지라는 구조체의 정보에 대한 어떠한 정보도 가지고 있지 않다. 그래서 SPT는 각각의 페이지에 대한 정보를 추가적으로 보충해주는 역할을 수행한다. SPT의 목적 1) 페이지 폴트가 발생했을 경우 해당 페이지 폴트가 발생한 페이지를 찾을 수 있고, 우리가 찾은 페이지가 가지고 있는 여러 가지 데이터들에 접근하기 위해서다. 2) 커널이 프로세스(..
📆2024.03.28 1. Anonymous Page 구현 중 2. 백준 3. 티타임 spt_find_page 수정 Management Memory 구현했던 부분 찬찬히 깃북이랑 다시 읽어보다가 어제 구현한 spt_find_page 부분을 잘못 구현한 점을 찾아서 수정하였다. (사실 아직 맞는지 확인할 방법이 없음) 기존에는 struct page *page = NULL; 그대로 설정해뒀는데 이 상태로 하면 페이지 구조체가 할당되지 않은 상태에서 해당 페이지의 va의 인자로 받은 va를 넘길 수 없기 때문이다. 그래서 malloc()을 통해 새로운 페이지 구조체를 할당해서 포인터를 사용할 수 있도록 수정해주었고, free(page) 또한 추가해주었다. 해당 페이지를 찾았을 때에도 페이지를 반환하기 전에 메..
📆2024.03.27 1. PintOS Project3 VM (Memory Management) Implement Supplemental Page Table : 각 페이지에 대한 추가적인 정보를 담고 있을 보충 페이지 테이블을 구현해야 한다. /* 새 보조 페이지 테이블을 초기화합니다. */ void supplemental_page_table_init (struct supplemental_page_table *spt UNUSED) { hash_init(&spt->hash_table, page_hash, page_less, NULL); } struct page * spt_find_page (struct supplemental_page_table *spt UNUSED, void *va UNUSED) { st..
📆2024.3.26 Virtual Memory - Memory Management Implement Supplemental Page Table 페이지 폴트와 자원 관리를 처리하기 위해서는 각 페이지에 대한 추가적인 정보를 담고 있을 보조 페이지 테이블(Supplemental Page Table) 을 구현해야 한다. 1. 페이지 폴트가 발생했을 때 그곳에 어떤 데이터가 있었어야 했는지를 알아내기 위해 커널은 보조 페이지 테이블에서 폴트가 발생한 가상 페이지를 탐색한다. 2. 커널이 프로세스가 종료될 때 어떤 자원을 해제할 지 고르기 위해서 보조 페이지 테이블을 조사한다. SPT의 정의 - pml4(페이지 테이블)에서 부족한 정보를 채워주기 위한 프로세스마다 존재하는 테이블 - 아래의 보조 데이터들을 담고 ..