728x90

VM 6

PintOS Project3: Virtual Memory (Revisit, Stack Growth, MMAP)

※ 100% 완벽한 코드는 아닙니다! 참고용으로 봐주세요. ※Supplemental Page Table - Revisitvm.csupplemental_page_table_copy해당 함수는 fork과정에서 부모의 주소를 자식에게 복사해주는 기능을 합니다.부모의 주소 공간을 src라 지칭하고, 자식의 주소 공간을 dst라고 지칭합니다.src와 dst는 지칭하는 대명사라고 생각하면되고, src에는 현재 스레드의 spt가 들어갈 것입니다.해당 함수를 구현하는 중에 unint 타입부분 확인에서 트러블 슈팅이 있었고 다음은 수정본입니다. 6월8일 TIL을 통해 트러블 슈팅 과정을 확인가능합니다. boolsupplemental_page_table_copy (struct supplemental_page_table *..

PintOS Project3: Virtual Memory (Memory Management, Anonymous Page)

※ 100% 완벽한 코드는 아닙니다! 참고용으로 봐주세요. ※Memory Management저희는 Gitbook에 따라 먼저 spt 테이블을 구현합니다. 테이블을 구현하는 방식 중에는 배열, 리스트, 비트맵, 해시 테이블 등이 있는데 저같은 경우 해시 테이블을 채택했습니다.첫번째로, spt를 사용하려면 초기화가 필수적이므로 초기화하는 코드를 먼저 작성해보았습니다.그 과정에서 page_hash와 page_less 함수를 추가적으로 구현했습니다. 각 함수는 다음과 같은 역할을 합니다.page_hash: 페이지의 가상주소를 바탕으로 고유한 해시값을 생성합니다.// 페이지 va를 바탕으로 고유한 해시값 생성// 해시값을 통해 bucket을 찾는다.unsigned page_hash(const struct hash..

WEEK 13 PintOS TIL(6월11일 수요일)

[목표]mmap 구현을 해봅니다.발표자료를 만듭니다.13주차 퀴즈 오답 노트를 작성합니다.10:00 ~ 12:00어제 develop5에 merge한 것을 내가 작성한 코드에 맞게 merge했습니다.12:00 ~ 13:00식사를 했습니다.13:30 ~ 14:30어제 합친 develop5에 대해 pull을 당겨왔고, 내 코드만 복구하여 make check를 돌려보았다. 놀랍게도 9개의 테스트 케이스가 추가로 통과했다. 뭔가 다른 부분이 복구되면서 개선이 된것 같다.pass tests/userprog/args-nonepass tests/userprog/args-singlepass tests/userprog/args-multiplepass tests/userprog/args-manypass tests/userp..

WEEK 13 PintOS TIL(6월10일 화요일)

[목표]mmap 구현을 해봅니다.팀원들 코드를 merge 해봅니다.13주차 퀴즈를 진행합니다.09:55 ~ 10:30어제 노션에 쓴 TIL을 정리하고 있다. 10:30 ~ 11:00벨로그와 티스토리는 정리완료했다.11:00 ~ 12:00mmap를 막상 구현하기 보다는 이해가 우선인지라 어떤식으로 구현해야되는지 확인을 해보았다.12:00 ~ 13:00식사를 하고 휴식을 가졌다.13:00 ~ 14:00아까 이해한 mmap를 통해 구현을 해보았습니다.14:00 ~ 15:0013주차 퀴즈를 진행했습니다. 대부분 페이지 관련된 내용이었습니다. 나중에 정리되는대로 복습 내용을 올리겠습니다.15:00 ~ 17:00운동을 하고 왔습니다.17:00 ~ 17:30유윤선 코치님 커피챗이 있습니다. 현업의 계신 분들의 임베디..

WEEK 13 PintOS TIL(6월9일 월요일)

[목표]mmap 전 통과안되는 코드들을 트러블 슈팅합니다. (어제 fork_read 하다가 말았음)(실패로 인한 나중에)stack growth를 구현한 코드를 이해해봅니다.mmap 구현을 해봅니다.09:55 ~ 10:30졸았다. 어제 3시 넘어서 잔 여파가 큰 것같다.10:30 ~ 11:00주말간의 TIL을 통합해서 벨로그에 적었다. 주말간 먹었던 사진들과 바다 사진도 올렸다.11:00 ~ 12:00현재 페이지 테이블 해제 부분을 재작성하고 있습니다. fork-read와 페이지 kill 간의 문제가 해결되지 않고 있습니다.12:00 ~ 13:30식사를 하고 휴식을 가졌습니다.13:30 ~ 16:30식권 수령과 휴대폰 케이스가 불량이라 반품 처리를 했습니다.fork-read 테스트 케이스에 다음과 같은 문..

카테고리 없음 2025.06.13

WEEK 06 TIL C언어(4월21일 월요일)

오늘의 목표는 다음과 같습니다.[목표]삭제 과정 이론 정복하기삭제과정 코드로 구현하기그외의 max, min,array 등 코드 구현하기컴퓨터 시스템 한 번 훝고 8장 보기내일이 퀴즈 시행일인 관계로 CS와 트리들의 종류들을 알아보겠습니다.9:45 ~ 12:00삭제 이론을 정복하기 전에 max, min, find, array, delete(트리 전체 삭제) 코드를 구현해보았습니다. 노션에도 정리하고 있습니다.12:00 ~ 13:30맛있는 식사를 했습니다.13:30 ~ 14:30array 관련 코드를 작성하고 이해하여 주석을 추가했습니다.14:30 ~ 15:00지금작성한 코드들에 대해 (노드 삭제 제외) 노션에 정리를 했습니다.(아직 안함)20분간 게임랩에 가서 게임들을 체험했습니다.15:00 ~ 16:0..

728x90