전체 글78 Pintos project3_Anonymous Page Anonymous Page 이건 또 뭘까 ... 이번 파트 에서는 anonymous page라고 불리는 non-disk based imge에 대해 구현한다고 한다. 어떠한 명명된 파일소스도 없기 때문에 어나니머스라고 불리며 어나니머스 매핑은 백업파일이나 장치가 없다. 어나니머스페이지는 스택이나 힙과 같은 실행파일에 사용된다고한다. Page Initialization with Lazy Loading Lazy loading 이란 메모리 로딩이 필요한 시점까지 지연되도록 디자인된것을 말한다. 페이지가 할당되어 해당 페이지 구조가 있으나 물리적 프레임이 없고 페이지의 실제 내용이 아직 로드되지 않은 상태로 contents가 실제로 필요한 경우 page fault 시그널을 받아 로드 된다. pintos에는 3가지.. 2022. 1. 21. Pintos project3_Memory management 가상 메모리 시스템을 지원하려면 가상페이지와 물리적 프레임을 효과적으로 관리해야 한다. 즉 어떤 메모리 영역이 어떠한 목적으로 누구에 의해 사용되고 있는지 등을 추적해야 한다. 핀토스에서 supplemental page table(spt)을 처리한 후 physical frame을 처리할 것이다. 페이지 구조체 /*include/vm/vm.h*/ struct page { const struct page_operations *operations; void *va; /* Address in terms of user space */ struct frame *frame; /* Back reference for frame */ /* Your implementation */ /* Per-type data are bi.. 2022. 1. 19. 해시테이블 해시테이블이란? 해시테이블 , 해시맵, 해시 표는 키를 값에 매칭할 수 있는 구조인 연관 배열 주가에 사용되는 자료구조이다. 해시테이블은 해시함수를 사용하여 index 를 bucket이나 slot의 배열로 계산한다. 버킷/ slot은 실제 값이 저장되는 장소이다. 왜 사용할까? 빠르게 데이터를 검색할 수 있다고 한다. 빠른 검색속도를 제공하는 이유는 내부적으로 배열을 사용하여 데이터를 저장하기 때문이다. 특정 값을 search하는데 데데이터 고유의 인덱스로 접근게 되어 평균적인 case에 대해 time complexity가 O(1)이 된다. 하지만 데이터의 충돌이 발생하는 경우 Chaining에 연결된 리스트 까지 검색해야 할 경우 O(N)까지 시간복잡도가 증가 할 수 있다. (Chaining은 아래에서.. 2022. 1. 16. 10-5. VM. Management 시 기타 고려해야 할 사항들 Page size 페이징 시스템에서 메모리는 페이지단위로 나누어져 있다고했다. 그렇다면 페이지의 크기는 큰게 무조건 좋을까? 공학에서 무조건 좋기만 한 답은 없는것 같다. 페이지 사이즈 역시 시스템 특성에 따라 다르다. 적당한게 좋다 :) HW가 발전하는 경향에 따라 페이지 사이즈는 점점 커지는 경향이다. 일반적인 page sizd는 이렇다고 한다. 페이지 크기가 작다면 페이지 수가 많아져 커널이 관리하는 페이지가 많아 상대적으로 High overhead를 가질것이고 페이지들을 불러오는데도 시간이 증가하므로 I/O시간이 증가할 것이다. 또한 잦은 페이지 교체로 page fault가 증가한다. 하지만 페이지 크기가 작은만큼 내부단편화가 감소할 것이고 locality는 향상될 것이다. 반면 페이지 크기가 크.. 2022. 1. 12. 10-4. VM. Management_Replacement Strategies_variable allocation 할당하는 페이지프레임의 수가 유동적인 variable allocation 일때 교체 기법에 대해 알아보자 Working Set algorithm working set 최근 일정시간(Δ) 동안 참조된 page들의 집합을 의미하며 시간에 따라 변한다. 최근 참조한 페이지를 보는 방식이므로 Locality에 기반을 두었다고 볼 수 있다. Working set을 메모리에 항상 유지함에 따라 page fault 는 감소하고 시스템 성능향상으로 이어진다. Window size(Δ)는 고정이며 이 값이 성능을 결정짓는 중요한 요소가 된다. 성능이 좋다고 말할 수 있을까? 이를 위해서는 page fault 수 외에 다른 지표(페이지 폴드시 드는 비용, 페이지 프레임 유지비용)도 함께 봐야 한다. 특성 적재 되는 pag.. 2022. 1. 12. 10-3. VM. Management_Replacement Strategies_fixed allocation 가상 메모리의 성능향상을 위한 관리 기법중 SW components 에서 Replacement strategies(교체 기법)에 대해 다루어 본다. Fixed allocation을 위한 교체기법 • MIN(OPT, B0) algorithm • Random algorithm • FIFO(First In First Out) algorithm • LRU(Least Recently Used) algorithm • LFU(Least Frequently Used) algorithm • NUR(Not Used Recently) algorithm • Clock algorithm • Second chance algorithm Variable allocation 을 위한 교체기법 • VMIN(Variable MIN) al.. 2022. 1. 12. 이전 1 2 3 4 5 6 7 ··· 13 다음