Software Courses/Operating System

[Memory] Memory allocation : Non-continuous memory allocation

김 정 환 2020. 12. 9. 16:07
반응형

Non-continuous memory allocation

    - 사용자 프로그램을 여러 개의 block으로 분할

    - 실행 시, 필요한 block들만 메모리에 적재

    - 나머지 block들은 swap device에 적재

 

 

 

Address mapping

    - 가상 주소와 실제 주소 연결

    - 가상 주소 : 연속된 메모리 할당을 가정한 주소

    - 실제 메모리에 적재된 주소

 

    - Block mapping

        * 사용자 프로그램을 block 단위로 분할하여 mapping

        * 가상 주소 : v =(b, d)

            + b : block number

            + d : displacement(offset) in a block

        * BMT(block map table)

            + address mapping 정보 관리

            + kernel 공간에 프로세스마다 하나의 BMT를 가짐

            + residence bit : 메모리에 올라갔는지 확인 (0/1)

            + real address : 실제 메모리 어디에 올라갔는지 표시

 

        * 동작 : 프로세스의 BMT에 접근 => BMT에서 block b에 대한 항목을 찾음 => residence bit를 확인 => residence bit = 0이면, swap device에서 해당 block을 메모리로 가져옴, residence bit = 1이면, read address 값 a 확인 => 실제 주소 계산(a+d) => 메모리에 접근

 

 

본 내용은 한국기술교육대학교 김덕수 교수님의 유튜브 강의를 듣고 정리한 내용입니다.
반응형

'Software Courses > Operating System' 카테고리의 다른 글

[Memory] Segmentation system  (0) 2020.12.10
[Memory] Paging system  (0) 2020.12.09
[Memory] Memory allocation : Continuous memory allocation  (0) 2020.12.09
[Memory] Memory Basic  (0) 2020.12.07
[Deadlock] Deadlock Solutions  (0) 2020.12.06