- 배운것 <2026-05-08 ~ 2026-05-21>
<DB 관련>
<백엔드 관련>
<프론트 관련>
<AI 관련>
<알고리즘 관련>
<추가>
1. 11-12주차 회고

"도파민은 한순간, 영원한 행복은 미래를 위해 노력하는 내 자신"
이번주 차 부터 공부한 내용을 블로그에 쓰면서, 내 사고의 흐름대로 공부한 내용을 많이 정리하는 시간을 가졌다. 그러다보니 글 작성하는 시간은 많이 들었지만, 여태까지 했던 공부방식 중 가장 머릿속에 잘 들어오기도 하고 정말 재밌기도 한 시간이었던 것 같다.
아직 글 솜씨는 많이 부족하단 느낌이지만, 운이 좋게도 "하네스 엔지니어링 이해" 라고 구글링을 하면 1페이지에 가장 첫번째로 내가 작성한 블로그 글이 구글 SAO(Search Al Optimization)에 의해 가장 첫번째 페이지에 나온다.
너무 행복했다. 이런 게 진짜 행복이라고 생각한다. '내가 해 놓았던 모든 일에 보상을 받은 것 같다'하지만 이건 한순간의 자랑거리에 불과하다. 꾸준하게 미래의 RoadMap을 그려나가야 한다. 내 삶이 무엇인가로 정의할 수 있어? 질문을 받는다면, 나는 아직 나를 하나의 단어로 정의할 수 없다. 대신 계속 배우며 변하고 있다고 말하고 싶다. 잘못과 잘함을 반복해서 배우고, 그 과정 속에서 더 큰 목표가 생긴다. 나는 그런 방향으로 성장하는 사람이 되고 싶다. 고 정의할 것이다.

근데 반대로 이번 주차에 느끼는 점이 또 있는데, 말 하기 전 너무 사고를 많이 하는 것 같다. "이렇게 말하면 상대방이 상처받지 않을까?" "아! 실수한 것 같다." 너무 고민이 많아 하고 싶은 표현을 제대로 아직도 잘 정의하지 못한다. 난 이게 스트레스 받는 것 같다. 뭔가 내 스스로가 정답이라고 정의하지 못하는 말은 제대로 표현을 하지 못한다. 과연 이게 맞는걸까? 정의는 못하겠지만, 계속 경험을 하면서 나라는 존재를 계속 변화해나가는 시간을 가치 있게 보낼 생각이다.
2. 11,12주차 학습한 내용
이번주 차엔 전체적인 로드맵을 AI를 통해 잡고


위 과정대로 하나씩 진행하였다. 팀원과의 진행도는 lazy_load_segment까지 진행하여 main branch에는 lazy_load_segment까지 구현한 상태로 올라와 있고, 개인적인 진행도는 swap_in, swap_out까지 진행해서 아래와 같은 순서대로 학습을 진행하고 블로그에 글을 작성한 상태이다. (Pintos 학습은 주류가 아니라 많은 사람들이 보진 않을 테지만, 다음 미래의 Pintos 학습자들에게 도움이 되었으면 하는 마음이다.)
실제 CS 기초지식에 메모리 영역할당과 가상 메모리를 윤곽만 알고 안을 파헤쳐 보지 못했는데, 그 안을 보게 되면서 더욱 CS 지식이 많이 늘었다는 생각이 들었다.
그래서 아래의 글 중 다른 사람들이 봤으면 좋겠다는 글을 하나 추천하자면,
5. Pintos (Page Fault 학습) 부분이다.
1. Pintos (vm.h 학습)
https://gyumingomin.tistory.com/90
Pintos - VM [vm.h 학습]
VM_TYPEvm_type : Pintos VM에서 "이 가상 페이지가 어떻게 관리해야 하는지"를 담당Pintos VM의 전체 구조가상주소(VA) ↓PML4 (HW page table) ↓물리 frame (PA)+ 추가 정보는 SPT가 관리역할담당주소 변환PML4페이
gyumingomin.tistory.com
2. Pintos (SPT와 Hash Table 학습)
https://gyumingomin.tistory.com/91
Pintos - SPT(Supplemental Page Table)와 Hash Table
SPT(Supplemental Page Table)에서 hash table을 왜 쓸까?Pintos VM에서 핵심page fault가 발생했을 때, 이 가상주소에 대한 정보를 빠르게 찾아야 함va → struct page를 빠르게 찾기위해 hash 사용ELF 로딩 시 - 실제 fr
gyumingomin.tistory.com
3. Pintos (페이지 할당 초기화 학습)
https://gyumingomin.tistory.com/92
Pintos - vm [페이지 할당 초기화 과정을 위한 흐름도]
https://gyumingomin.tistory.com/91 Pintos - SPT(Supplemental Page Table)와 Hash TableSPT(Supplemental Page Table)에서 hash table을 왜 쓸까?Pintos VM에서 핵심page fault가 발생했을 때, 이 가상주소에 대한 정보를 빠르게 찾아야
gyumingomin.tistory.com
4. Pintos (External/Internal Interrupt 학습)
https://gyumingomin.tistory.com/93
Pintos - interrupt 비교 (#PF(page fault), Timer Interrupt)
이전 thread를 학습하며 timer interrupt의 발생 과정timer_init 부터 해서 intr_register_ext 부터 intr_handler까지 학습을 해본 기억이 있다. 물론 완벽하게 이해하지 못하고 대충 넘어갔는데,이번 vm을 학습하
gyumingomin.tistory.com
5. Pintos (Page Fault 학습)
https://gyumingomin.tistory.com/94
pintos - vm [Page Fault 구현]
https://gyumingomin.tistory.com/92 Pintos - vm [페이지 할당 초기화 과정을 위한 흐름도]https://gyumingomin.tistory.com/91 Pintos - SPT(Supplemental Page Table)와 Hash TableSPT(Supplemental Page Table)에서 hash table을 왜 쓸까?Pintos V
gyumingomin.tistory.com
6. Pintos (페이지 메모리 할당 학습)
https://gyumingomin.tistory.com/95
pintos - vm_do_claim_page 구현
https://gyumingomin.tistory.com/94 vm - Page Fault 구현https://gyumingomin.tistory.com/92 Pintos - vm [페이지 할당 초기화 과정을 위한 흐름도]https://gyumingomin.tistory.com/91 Pintos - SPT(Supplemental Page Table)와 Hash TableSPT(Supplem
gyumingomin.tistory.com
7. Pintos (스택 영역 메모리 관리 대상 추가 학습)
https://gyumingomin.tistory.com/96
pintos - vm [setup_stack] 초기 스택 영역 메모리 관리 대상 추가
https://gyumingomin.tistory.com/95 pintos - vm_do_claim_page 구현https://gyumingomin.tistory.com/94 vm - Page Fault 구현https://gyumingomin.tistory.com/92 Pintos - vm [페이지 할당 초기화 과정을 위한 흐름도]https://gyumingomin.tistory.co
gyumingomin.tistory.com
8. Pintos (Lazy Load Segment 학습)
https://gyumingomin.tistory.com/97
pintos - vm [lazy_load_segment]
지금까지 VM 구현에선 각 프로세스마다 Supplemental Page Table(SPT) 해시 테이블을 생성하도록 구성하고 이후 아직 물리 프레임이 할당되지 않은 uninit 페이지를 SPT에 등록해두고, 실제로 해당 가상 주
gyumingomin.tistory.com
9 Pintos (Stack Growth 학습)
https://gyumingomin.tistory.com/98
pintos - vm [stack_growth]
https://gyumingomin.tistory.com/94 vm - Page Fault 구현https://gyumingomin.tistory.com/92 Pintos - vm [페이지 할당 초기화 과정을 위한 흐름도]https://gyumingomin.tistory.com/91 Pintos - SPT(Supplemental Page Table)와 Hash TableSPT(Supplem
gyumingomin.tistory.com
10. Pintos (Anonymous Page Swap in/Swap out/Destroy 학습)
https://gyumingomin.tistory.com/99
pintos - vm [anon (swap in, swap out, destroy)]
접은글 : 현재까지 진행한 내용 정리와 앞으로 해야할 전체적인 흐름 구조 나열... (보기가 어려우므로 요약)더보기page fault가 발생하면 커널은 먼저 fault가 난 유저 가상 주소가 supplemental page table
gyumingomin.tistory.com
11. Pintos (File-Backed page Swap in/Swap out/Destroy 학습)
https://gyumingomin.tistory.com/100
pintos - vm [file-backed (swap_in, swap_out, destroy)]
https://gyumingomin.tistory.com/99 pintos - anon [swap in, swap out, destroy]접은글 : 현재까지 진행한 내용 정리와 앞으로 해야할 전체적인 흐름 구조 나열... (보기가 어려우므로 요약)더보기더보기더보기page faul
gyumingomin.tistory.com
12. Pintos (전체적인 vm 흐름 정리)
원래 이것도 작성하고 mmap syscall 처리, 전체적인 테스트 에러 처리, fork syscall 구현, fork syscall 처리 까지 다 하고 싶었는데, 시간이 너무 부족하다. 만약에 한다면 이것까지도 나중에 정리할 것 같다.
(작성 하지 않는 이유 : AI 주간을 이제부터 시작하는데, 이거는 첫날부터 바로 집중해서 공부를 들어가야 할 것 같다는 느낌을 받았다. 절대로 WIL에 시간을 너무 많이 소모하지 말자! 라는 직감(위기감지? ㅎㅎ)이/가 느껴졌다...)
'정글캠프-WIL > 핀토스' 카테고리의 다른 글
| pintos - vm [file-backed (swap_in, swap_out, destroy)] (0) | 2026.05.20 |
|---|---|
| pintos - vm [anon (swap in, swap out, destroy)] (0) | 2026.05.19 |
| pintos - vm [stack_growth] (0) | 2026.05.18 |
| pintos - vm [lazy_load_segment] (0) | 2026.05.18 |
| pintos - vm [setup_stack] 초기 스택 영역 메모리 관리 대상 추가 (0) | 2026.05.18 |