Tech

Diary

Lecture

About Me

개발중

Virtual Memory 1

JeongSeulho

2023년 02월 23일

준비중...
클립보드로 복사

📌 non-continuous memory allocation

  • 프로세스를 여러개의 block으로 분할하여 메모리에 적재
  • 실행 시, 필요한 block들만 메모리에 적재
    • 나머지 block들은 swap device(디스크)에 존재

📌 address mapping

📖continuous allocation에서 맵핑

  • 상대주소 : 프로그램의 시작주소를 0으로 가정한 주소
  • 재배치 : 메모리 할당 후, 실제 할당된 주소에 따라 상대주소들을 조정

📖non-continuous allocation에서 맵핑

  • 가상 주소 : 논리주소, 연속된 메모리 할당을 가정한 주소
  • 실제 주소 : 실제 메모리에 적재된 주소
  • 맵핑 : 가상 주소 -> 실제 주소

📖block mapping

  • non-continuous allocation에서 맵핑의 실제 예시
  • 각 block에 대한 addres mapping 정보 유지
  • b : 블록 고유 번호
  • d : 블록 시작으로부터 얼마나 떨어져있는지
  • block map table(BMT) - address mapping 정보 관리 - 프로세스마다 하나의 BMT보유
  • 실제 과정
  1. block number로 BMT에 residence bit 조회
  2. residence bit 검사하여 2-2. 메모리에 적재되어 있다면, 해당 block의 시작점 real address 조회 2-1. 메모리에 없다면, swap device에서 메모리로 block 가져오고 3번으로
  3. real address + displacement in a block으로 실제 메모리 위치 얻기