• [ 운영체제 ] 가상메모리 ( Virtual Memory )

    2021. 3. 19.

    by. KimBangg

     

    [1] 가상메모리 ( Virtual Memory )

    - 가상 메모리는 물리 주소와 논리적 주소를 나누어 놓은 것을 의미

    - 가상 메모리는 물리적 주소값보다 더 큰 논리적 주소를 가지게 해준다.

    - 여러개의 프로세스들로 인해 공유된 주소를 가지고 있다.

     

    * Shared Library Using Virtual Memory

    가상메모리는 페이지 공유를 통해 여러 개의 프로세스에 의해 공유되는 파일과 메모리를 허락한다.

    대표사진 삭제

    사진 설명을 입력하세요.

    [2] Demand Paging ( = Swapping과 유사 )

    페이지가 필요로 될 때, 페이지가 메모리로 할당되는데 이를 "동적 할당"(=Dynamic Loading)이라고한다.

    invailid memory => abort // Not-in-Memory => 메모리로 가져온다.

    대표사진 삭제

    사진 설명을 입력하세요.

    * Valid vs Invaild

    in memory = > 1 // not in memory => 0

    대표사진 삭제

    사진 설명을 입력하세요.

    [3] Page Fault

    MMU에 의해 맵핑이 되지 않은 페이지에 프로그램이 접근 하는 것을 의미한다.

    페이지 폴트가 발생되면, 운영체제는 그 데이터를 메모리로 가져와 프로그램으로 계쏙적으로 작동시켜준다.

     

    [3-1] Page Fault를 다루는 절차

    사진 삭제

    사진 설명을 입력하세요.

    [4] Page Replacement

    멀티 프로그래밍의 정도를 향상 시키기 위해서, 우리는 항상 오버하게 메모리를 할당한다.

    => 즉, 실제 물리 메모리가 가지고 있는 것보다 가상 메모리를 사용해 더 많은 메모리를 사용한다.

     

    [4-1] Page Replacement Algorithms

     

    (1) FIFO Page Replacement => 쓰레싱

     

    댓글