jun-wiki

View My GitHub Profile

Posts (Latest 10 updated) :
Read all
Contents:
  1. 흐름 정리
    1. 1차 구현 흐름 정리
    2. 2차로 구현 흐름 정리
    3. 구현 목록

흐름 정리

제대로 들어가기 앞서 구현해야 할 거 정리할 거다

1차 구현 흐름 정리

SPT 자료구조 구현
	↓
페이지 초기화 함수 구현
	↓
세그먼트 로딩 구현 (lazy)
	↓
스택 임의 설정
	↓
프레임 구조체 구현
프레임 관리
	↓
vm 관리 함수
(페이지 할당, claim)
	↓
보조 페이지 테이블 연산
   (copy, kill)
	↓
초기화 안된 페이지 정리
uninit_destroy, 그 중
anon_destroy구현

몇가지 문제점이 보여 추가 수정했다

2차로 구현 흐름 정리

SPT 자료구조 구현
	↓
페이지 초기화 골격 구현
	↓
세그먼트 지연 등록 구현
	↓
페이지 폴트 처리 경로
	↓
프레임 최소 구현
	↓
lazy_load_segment 구현
	↓
스택 임의 설정
	↓
vm 관리 함수
(페이지 할당, claim)
	↓
보조 페이지 테이블 연산
   (copy, kill)
	↓
초기화 안된 페이지 정리
uninit_destroy, 그 중
anon_destroy구현

크게 바꿨다기 보다 살짝 순서 바꾸고 조금 더 구체화했다

구현 목록

  • 자료구조 구현 (해시 테이블로)
  • 페이지 초기화 골격 구현 (vm_alloc_page_with_initializer, uninit_new 경로 사용)
  • 세그먼트 지연 구현 (load_segmentVM_FILE+lazy_load_segment)
  • 페이지 폴트 처리 경로(기본형) — not-present만 처리
  • 프레임 최소 구현 (vm_get_frame)
  • lazy_load_segment 구현
  • 스택 1페이지 설정 & 즉시 claim
  • vm 관리 함수(alloc, claim)
  • 보조 페이지 테이블 연산 copy/kill 미구현
  • evict 정책/스왑아웃, WP처리, 스택 성장 미구현