Operating System
3주차 - 리눅스 커널이 쓰는 버디 시스템, 2의 거듭제곱으로만 메모리를 관리하는 이유
seglist의 크기 클래스에 물리적 제약을 더한 버디 시스템 — 반으로 쪼개고, XOR 한 번으로 O(1)에 짝을 찾아 병합하고, 그 대가로 최대 50%까지 내부 단편화를 감수하는 구조를 seglist와 비교하며 정리.
하나의 주제로 이어지는 배움의 기록.
seglist의 크기 클래스에 물리적 제약을 더한 버디 시스템 — 반으로 쪼개고, XOR 한 번으로 O(1)에 짝을 찾아 병합하고, 그 대가로 최대 50%까지 내부 단편화를 감수하는 구조를 seglist와 비교하며 정리.
동적 메모리 할당기가 가용 블록을 관리하는 세 가지 방식을 검색 범위가 좁아지는 순서로 정리 — 크기 필드로 유추하는 implicit부터, pred/succ 포인터로 연결하는 explicit, 크기 클래스별로 리스트를 쪼개는 seglist까지.