일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 글리치
- 노가다
- 가테
- 핀토스 프로젝트 4
- 황금 장미
- 셋업
- 끝
- 제발흰박
- botw
- alarm clock
- 아직도 실험 중
- PINTOS
- 글루민
- 자 이제 시작이야
- 핀토스 프로젝트 3
- 핀토스 프로젝트 2
- 내일부터
- Project 1
- 일지 시작한 지 얼마나 됐다고
- 파란 장미
- 핀토스 프로젝트 1
- multi-oom
- 마일섬
- 바빠지나?
- 핀토스 프로젝트
- Today
- Total
목록분류 전체보기 (127)
거북이의 쉼터
왜 자도 잔 것 같지가 않지... 글이 안 써진다. 지금 구현되지 않은 것들에 대해 생각이 너무 깊어서 구현을 하려고 해도, 구현이 안된 것들이 발목을 잡는다. 그래서 몇 가지 규칙을 잡아놓고 구현을 하도록 한다. 메모리 누수는 되도록 신경 쓰지 않는다. 특히 struct frame의 free 여부는 잊어버리자. eviction과 관련되는 코드는 TODO 형태로 주석만 남겨놓고 구현하지 않는다. VM_FILE 종류는 신경 쓰지 않는다. Extra 프로젝트인 COW는 나중에 코드를 전부 뜯어고치는 한이 있더라도 신경쓰지 않는다. 그럼 시작하자. 매뉴얼의 남은 부분은 fork의 정상 작동을 위해 일반 페이지 테이블(pt)과 spt를 제대로 복사해야 하는 것과, 프로세스가 종료할 때 들고있는 자원을 반환하는 ..
보호되어 있는 글입니다.
대학원 입시가 플젝보다 더 급하다.... 원서 작성 + 랩 컨택 다 해 보기 전에는 pintos 잠깐 쉬도록 하자. 둘 다 동시에 하는 건 사람이 할 짓이 아닌 것 같어.
저녁 먹고 돌아왔다. Anonymous Page의 매뉴얼을 읽어보자. 매뉴얼에 쓰여진 주된 사항은 anon.c의 코드를 수정하라는 것이다. VM_ANON 타입의 페이지는 이전 포스팅에서 언급한대로, 파일에서 기원하지 않은 모든 페이지, 즉 대다수의 페이지를 차지한다. 현재 실행되고 있는 프로세스의 내용, stack 등은 전부 VM_ANON 타입의 페이지로 메모리에서 관리된다. 그래서 구현해야 할 사항이 무엇인가 하고 봤다. 바로 Lazy Loading이 나온다. 지난 번에 언급했듯이 프로젝트 2까지 pintos는 전부 eager loading, 즉 페이지를 요청하자마자 페이지를 할당하여 내용을 채우고 반환하는 짓을 해왔다. 그러나 지금부터는 페이지를 요청한 뒤, 직접적으로 접근이 일어나기 전까지는 페이지..