segmentation

    [운영체제] 비연속할당(Noncontiguous allocation) - 세그먼테이션(Segmentation)

    목차 🤔 비연속할당(Noncontiguous allocation)이란? 🧩 세그먼테이션(Segmentation)이란? 🙉 세그먼트 테이블(Segment table) 🙊 세그먼테이션(Segmentation) 주소 변환 🙈 Segmentation의 문제점 🤔 비연속 할당(Noncontiguous allocation)이란? 기존에는 연속 할당(contiguous allocation) 기법을 사용하여 프로세스를 통째로 메모리에 적재하였습니다. 연속 할당 기법은 base address에 상대 주소인 logical address를 더해줌으로써 물리 주소를 간단하게 translation 할 수 있다는 장점이 있었습니다. 따라서 MMU를 단순화할 수 있었지만, 외부 단편화가 발생하여 메모리 공간을 효율적으로 사용하지 ..

    [운영체제] Contiguous Allocation의 문제점 - External Fragmentation(외부단편화)

    목차 💥 Contiguous allocation의 문제점 🤔 External Fragmentation이란? 👀 Compaction(압축)을 활용한 외부 단편화 해결 💥 Contiguous allocation의 문제점 이전 포스팅에서 Contiguous allocation은 프로세스를 메모리에 분할해서 적재하지 않고 한 번에 통째로 적재하는 방법론이라고 설명했습니다. Contiguous allocation은 CPU의 MMU(Memory Management Unit)가 논리 주소를 물리 주소로 translation 함에 있어 단순함을 제공해준다는 장점이 있었습니다. 그러나, 단지 단순함때문에 값비싼 HW자원 중 하나인 Memory를 낭비하는 문제가 발생했습니다. 🤔 External Fragmentation이..