Cache Policy
- class pf.cache.PfCachePolicy[소스]
기반 클래스:
ABC,Genericbuffer에서 page frame을 관리하는 cache policy의 기반 추상 클래스입니다.
- abstractmethod access(key: Key) None[소스]
key에 해당하는 page frame를 가장 최근에 접근한 것으로 표시합니다.
- 매개변수:
key (Key) – 대상 page frame의 key.
- abstractmethod insert(key: Key) None[소스]
key에 해당하는 page frame를 cache에 추가합니다.
- 매개변수:
key (Key) – 대상 page frame의 key.
- class pf.cache.PfRandomPolicy(seed: int = 0)[소스]
기반 클래스:
PfCachePolicy,Genericevict 후보 page frame을 무작위로 선택하는 cache policy 클래스입니다.
- 변수:
_seed (int) – 랜덤 시드.
_rng (Random) – 랜덤 생성기.
_set (set[Key]) – cache에 있는 page frame들의 key를 관리하는 컨테이너.
- access(key: Key) None[소스]
key에 해당하는 page frame를 가장 최근에 접근한 것으로 표시합니다.
- 매개변수:
key (Key) – 대상 page frame의 key.
- insert(key: Key) None[소스]
key에 해당하는 page frame를 cache에 추가합니다.
- 매개변수:
key (Key) – 대상 page frame의 key.
- class pf.cache.PfFifoPolicy[소스]
기반 클래스:
PfCachePolicy,Genericevict 후보 page frame을 FIFO 순서로 선택하는 cache policy 클래스입니다.
- 변수:
_table (OrderedDict[Key, None]) – cache에 있는 page frame들의 key를 관리하는 컨테이너.
- access(key: Key) None[소스]
key에 해당하는 page frame를 가장 최근에 접근한 것으로 표시합니다.
- 매개변수:
key (Key) – 대상 page frame의 key.
- insert(key: Key) None[소스]
key에 해당하는 page frame를 cache에 추가합니다.
- 매개변수:
key (Key) – 대상 page frame의 key.
- class pf.cache.PfClockPolicy(chance: int = 2)[소스]
기반 클래스:
PfCachePolicy,Genericevict 후보 page frame을 Clock 알고리즘으로 선택하는 cache policy 클래스입니다.
- 변수:
_chance (int) – Clock 알고리즘에서 잔여 유예 횟수.
_slots (list[Key | None]) – cache에 있는 page frame들의 key를 관리하는 컨테이너.
_counter (list[int]) – slot에 해당하는 잔여 유예 횟수를 관리하는 컨테이너.
_find (dict[Key, int]) – key에 해당하는 slot의 인덱스를 관리하는 컨테이너.
_frees (list[int]) – free slot의 인덱스를 관리하는 컨테이너.
_hand (int) – Clock 알고리즘에서 현재 가리키고 있는 인덱스.
- __init__(chance: int = 2) None[소스]
cache policy를 초기화합니다.
- 매개변수:
chance (int) – Clock 알고리즘에서 잔여 유예 횟수 (기본값: 2).
- access(key: Key) None[소스]
key에 해당하는 page frame를 가장 최근에 접근한 것으로 표시합니다.
- 매개변수:
key (Key) – 대상 page frame의 key.
- insert(key: Key) None[소스]
key에 해당하는 page frame를 cache에 추가합니다.
- 매개변수:
key (Key) – 대상 page frame의 key.
- class pf.cache.PfCustomPolicy[소스]
기반 클래스:
PfCachePolicy,Genericevict 후보 page frame을 사용자가 구현한 방식으로 선택하는 cache policy 클래스입니다.
이 클래스의 attribute는 자유롭게 정의할 수 있습니다.
- __init__() None[소스]
cache policy를 초기화합니다.
이 클래스의 초기화 argument는 자유롭게 정의할 수 있습니다. 다만, 기본값을 정의해야 테스트에서 사용할 수 있습니다.
- access(key: Key) None[소스]
key에 해당하는 page frame를 가장 최근에 접근한 것으로 표시합니다.
- 매개변수:
key (Key) – 대상 page frame의 key.
- insert(key: Key) None[소스]
key에 해당하는 page frame를 cache에 추가합니다.
- 매개변수:
key (Key) – 대상 page frame의 key.