일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 크래프톤정글4기
- 핀토스
- KRAFTON JUNGLE
- anonymous page
- page replacment policy
- 연결리스트
- 유니티
- 파이썬
- stack growth
- 크래프톤 정글
- belady's anomaly
- 4기
- 크래프톤 정글 4기
- 전쟁-전투
- Unity
- kraftonjungle
- c#
- pintos
- 네트워크
- memory mapped files
- 다익스트라
- clock agorithm
- 백준
- 플레이어 움직임
- C
- 익명페이지
- project3
- User Stack
- Project 3
- 크래프톤정글
- Today
- Total
목록2024/04/03 (2)
말감로그
📆2024.04.03 🚫 mmap-exit 테스트 케이스 문제 해당 테스트 케이스를 통과하려면 process_exit 를 수정해야 한다. void process_exit (void) { struct thread *t = thread_current(); /* TODO: Your code goes here. * 여기서 프로세스 자원 정리를 구현하는 것을 권장한다. * 프로세스가 종료되는 경우 모든 파일을 암시적으로 닫는다. */ // 스레드의 파일 닫기 file_close(t->self_file); for (int fd = 2; fd fdt[fd] != NULL) { close(fd); } } palloc_free_multiple(t->fdt, FDT_PAGE..
📆2024. 04.02 Memory Mapped Files는 파일을 기반으로 매핑하는 페이지를 구현하는 것이다. 파일과 메모리 매핑은 System Call인 mmap()을 통해 이루어진다. Pintos에서는 vm/file.c의 do_mmap()을 이용해서 매핑을 수행하는데, 그 이전에 mmap()에 전달된 인자들에 대한 검증이 먼저 이루어져야 한다. 시스템 콜 mmap() 1. offset의 값이 PGSIZE에 알맞게 align되어 있지 않은 경우 2. addr이 NULL이거나, addr이 page-aligned되지 않았거나 kernel 영역인 경우 3. 매핑하려는 페이지가 이미 존재하는 페이지와 겹칠 때 (=spt에 존재하는 페이지일 때) 4. 찾는 파일이 디스크에 없는 경우 5. fd로 열린 파일의 ..