ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • paging vs segmentation
    CS 지식/운영체제(OS) 2023. 5. 23. 23:24

     

     

    page : process고정된 크기로 나눈 블록

    frame : 메모리고정된 크기로 나눈 블록. page와 frame은 크기가 같음.

    segment : 서로 다른 크기의 논리적 블록

     


     

    가상 메모리(Virtual Memory)

     

    https://cocoon1787.tistory.com/860

     

    • 실제 메모리 크기와 관계없이 메모리를 사용할 수 있도록 가상 메모리 주소 사용
    • 프로세스의 일부분만 메모리에 로드하고 나머지는 보조기억장치에 할당
    • MMU(Memory Management Unit)를 통해 논리 주소를 물리주소(실제 메모리 주소)로 변환시킴. (Mapping 과정)

     

     


     

    Paging(페이징)

    https://cocoon1787.tistory.com/860

     

    • 페이지와 프레임을 대응시키는 page mapping 과정(virtual page number를 physical frame number로 mapping)이 필요하여 page table을 생성해야 함.

    => 외부 단편화 문제는 해결되고 내부 단편화 문제 발생.(프로세스의 크기가 페이지 크기의 배수가 아닐 경우)

    => 페이지 단위를 작게 하면 내부 단편화 문제도 해결할 수 있겠지만 page mapping 과정이 많아지므로 효율이 떨어짐.

    (내부단편화는 페이지의 크기가 클수록 커짐.)

     

     

     


     

    Segmentation(세그멘테이션)

     

    https://cocoon1787.tistory.com/860

     

    • 각 세그먼트는 연속적인 공간에 저장
    • 세그먼트들의 크기가 서로 다르기 때문에 프로세스가 메모리에 적재될 때 빈 공간을 찾아 할당함.
    • 페이징과 마찬가지로 mapping을 위한 segment table 필요

    => 내부 단편화 문제(할당 된 메모리보다 사용하는 메모리가 적을 때 메모리 할당 후 사용되지 않고 남아있는 공간)는 발생하지 않지만 중간에 메모리를 해제하면 외부 단편화 문제 발생

     

     

     


     

     

    Paged Segmentation (paging과 segmentation 장점 모두 얻기 위해 등장!!)

    • 먼저 segmentation 수행하고 각 segment 별로 paging 수행.

     

    차이점
    • 기존 segment table에서 base address 대신 해당 segment의 page table위치를 저장
    • 기존 segment table에서 bound 값 대신 해당 segment의 page 개수를 저장. 

     

    장단점

    장점 : 기존 paging 기법만 사용했을 때보다 page 크기 줄일 수 있음.

    단점 : 메모리 참조가 한번더 증가하여 증가되는 속도저하의 문제가 있음. 

     

     

     


     

    Further Topics

    • TLB

     

    Reference

    'CS 지식 > 운영체제(OS)' 카테고리의 다른 글

    Page 교체 알고리즘  (0) 2023.05.01
    Process 동기화(semaphore vs mutex vs monitor)  (0) 2023.04.26
    IPC(Interprocess Communication) protocol  (0) 2023.04.23
    Process vs Thread  (0) 2023.04.19
Designed by Tistory.