지금까지의 Pintos

VM 구현 후 Pintos

주요 구현

struct container

load_segment() 구현

  1. 만들어진 페이지에 프로세스가 접근
  2. Page fault 핸들러가 헤당 페이지의 initializer를 호출
  3. 동시에 lazy_load_segment호출하여 페이지 정보로 디스크 파일을 읽음
  4. 읽어오면서 물리메모리에 Lazy Load
  5. 이 UNINIT 페이지를 현 프로세스의 SPT에 넣음

<aside> 💡 위 작업까지 마무리 되면 프로세스의 유저 가상공간에 있는 SPT에는 파일정보들이 저장되어 있게 된다. 그 후 page fault가 발생 되면 물리메모리에 로드되면서 페이지와 매핑되고, PML4에 그 매핑정보가 쓰인다.

</aside>