mmap 2

PintOS Project 3 - Virtual Memory (5) mmap() 및 page fault 관련 추가 정리(정글사관학교 82일차 TIL)

저번 시간에는 mmap/munmap을 통해 가상 메모리에 페이지를 할당해주는 방법에 대해 배웠다. mmap에 대해 궁금한 점을 마저 정리하고 내일 swap in/out으로 넘어가련다. 정리 1: mmap으로 페이지를 할당받으면 힙/스택 중 어느 공간에 페이지가 할당되는가? 결론부터 말하면 mmap으로 페이지를 할당받으면 힙도 스택도 아닌 공간에 할당된다. 아래 그림에서도 나와있듯 mmap은 file의 offset 위치부터 length 길이만큼 읽어들여 가상 메모리에 매핑한다. 이때 주의할 점은 첫번째로 매핑할 때는 물리 프레임에는 올리지 않는다는 점. 이 역시 malloc()과 차이라고 할 수 있는데, malloc()은 힙 공간에 인자로 넣어주는 사이즈만큼의 공간을 할당한다. 공부하면서 느끼는 건데, m..

정글사관학교 51일차 TIL: 프록시, mmap()과 malloc() 차이 정리

1. 프록시 1. 프록시(proxy)란 무엇인가 클라이언트와 서버 사이에 위치해 중계기로서 통신을 수행하는 역할. 클라이언트가 직접적으로 end server와 연결하여 리소스를 얻는 게 아니라 프록시라는 중간 경로를 통해 통신 수행 프록시는 클아이언트로부터 받은 요청을 엔드 서버에게 보내 응답을 받은 뒤, 해당 응답을 클라이언트에게 보낸다. 프록시 종류 Forward proxy Reverse proxy 1. Forward proxy 보통 우리가 부르는 proxy: forward proxy. 클라이언트가 서버로 요청할 때 직접 요청하지 않고 먼저 프록시 서버를 통해 요청하는 방식. Forward 프록시 특징: 클라이언트가 요청한 내용을 캐싱(caching)해준다. 캐싱: 이전에 요청해서 얻은 리소스를 저장..