[WIL] week 11-12

dolggul2·2026년 5월 8일

jungle

목록 보기
14/16

2026.05.08

공부 방법

빠르고 깊게 공부할 수 있는 방법을 찾아보면서, 이번에는 내 의문을 공책에 적으면서 프로젝트 배경을 이해하는 방향으로 진행해보기로 했다. 지금 내가 이해하고 있는 부분부터 lazy loading, SPT까지 생각을 이어보았다.

이 방법을 택한 이유는 AI를 이용해 Top-down 방식으로 전체 흐름을 파악하고, 필요한 세부사항을 알아가는것이 경험적으로 더 빨랐기 때문이다. 그 다음에는 개념과 코드를 매핑하고, 작은 구현, 설명/검증 단계로 넘어갈 생각이다. 이 부분은 AI에게 추천을 받았고, 납득할만했다.

의문점을 하나씩 해결하면서 전진하니 머리속이 말끔하다. 의문으로부터 시작해 프로젝트를 이해하기에 흐름을 파악하기에 좋은것 같다. 진도가 빠른지는 아직 모르겠다. 팀 운영 계획을 짜다보니, 실제 공부는 2시간 남짓한것 같다.

원래 대부분은 프롬프트를 작성하는데 사용했는데, 이번에는 방법을 바꾸어보았다. 의문점을 공책에 적고, 꼬리질문을 이어나갔다. 나중에 볼 수 있도록 대답도 체계적으로 정리해보았다. 다른 사람에게 설명할 때, 확실히 자신감있게 설명할 수 있었고, 기억도 잘난다.

project2에서 이해한 부분부터 project3까지 이해를 확장시켰다. 오늘은 lazy loading, SPT 까지 개념 레벨에서 이해했다.

2026.05.09

개념 발표

팀원들이 각자 공부한 개념을 발표하며 정리해보았다. 큰 흐름은 대다수가 이해하고 있었고, 세부사항에 대해서 약간씩 차이가 있었다. 서로 다른 지식들이 모이니 좀더 입체적으로 이해할 수 있었다.

공부방법

어제와 동일. 가상메모리가 왜 필요한지를 알기 위해서 1950년대부터 역사를 돌아보며 흐름을 정리해보았다. batch processing, time-sharing, page, vitual memory까지 어떤 문제들이 생겼고 어떤식으로 해결하면서 발전했는지 이해할 수 있었다. 왜 이런 기술이 등장했는지에 대해 답을 얻을 수 있었다. 그러나 한번 본것만으로는 부족해서 내일 다시 흐름을 정리해봐야겠다.

2026.05.10

공부

가상메모리 발전 과정을 따라가보는 공부를 마무리했다. 현재 진행되는 pintos project3 부분은 생각보다 굉장히 최신 OS에 속한다는걸 알았다. 페이징, 세그먼트, 가상메모리 등등 추상적인 개념들이 어떤 이유에서 생겼는지에 대답할 수 있게 되었다. 그러나 여전히 두루뭉실한 느낌을 지울 수 없다. 매끄럽게 이해가될때까지, 반복과 출력이 필요해 보인다.

추가적으로 제공된 이미지를 이해하는데, 시간을 들였다. pintos에서 가상메모리와 실제 메모리를 어떻게 사용하는지 파악하는기 좋았다. 헷갈렸던 부분은 유저 스레드지만 커널 풀쪽에 저장된다는거였다. 프로그램을 실행하는데 필요한 정보는 유저풀쪽에 저장되지만, 관리하는데 사용되는 정보는 스레드 풀쪽에 저장된다.

2026.05.11

1차 회의 내용

SPT는 해시테이블로 구현하겠다고 임시 결정을 내렸다. 해시를 이용하면 탐색 시간이 평균 O(1)을 따르기 때문에, 조회하는데 유리할것이라 기대되었다. 다른 안건은 배열을 이용해 처음에는 해당되는 segment를 선택하고, 그 다음에 페이지를 선택하는 구조가 제안되었다. 이 방식은 아마 배열을 순회하는식이라, 탐색시간이 O(n*m)을 따를거라 기대했다. 따라서 해시테이블을 사용하는게 적절하다고 판단했다. 해시 테이블을 사용할 때 발생하는 문제는 해시함수를 어떻게 구현할것인가였는데, 내장 라이브러리가 있을거라 판단했다.

2차 회의 내용

3가지 안건에 대해 이야기를 정리할 예정이였다.
1. SPT는 해시테이블 구조로 구현할 것이다. 해시테이블 구조가 어떻게 생겼고, 어떻게 동작하는지 확인한다.
2. Page 구조체 안에 어떤 멤버들이 있어야하는지 확인하고, 왜 필요한지 이유를 안다.
3. page fault handler 에서 어떤 로직이 필요한지 의사코드로 작성.

구현

SPT 구조체를 구현하였다. 직접 구현했는데, 찾아보니 hash쪽에서 init을 제공하더라. 구현된게 있는지 먼저 찾아봤어야 했다. 관련된 함수는 내일 마저 구현해봐야겠다.

2026.05.12 ~ 14

공부한 내용은 다음 링크에 저장 (https://phantom-stew-a98.notion.site/week-11-12-35db3160e4c080eb9a86c0ee89f6c41d?source=copy_link)

profile
delve into computer

0개의 댓글