Computer Science/Operating System(OS)19 Virtual Memory(1) Demand Paging 실제로 필요할 때(요청이 들어올 때) page를 메모리에 올리는 것 I/O 양의 감소 Memory 사용량 감소 빠른 응답 시간 더 많은 사용자 수용 Valid / Invalid bit의 사용 Invalid의 의미 사용되지 않는 주소 영역인 경우 페이지가 물리적 메모리에 없는 경우 처음에는 모든 page entry가 invalid로 초기화 address translation 시에 invalid bit이 set 되어 있으면 ⇒ “page fault” Memory에 없는 Page의 Page Table 0, 2, 5번 page는 Physical memory에 존재하기 때문에 valid로 표시 6, 7의 G, H는 사용되지 않는 page이기 때문에 invalid로 표시 page fault.. 2022. 3. 25. Memory Management(3)-메모리 관리 Multilevel Paging and Performance Address space가 더 커지면 다단계 페이지 테이블 필요 각 단계의 페이지 테이블이 메모리에 존재하므로 logical address의 physical address 변환에 더 많은 메모리 접근 필요 TLB를 통해 메모리 접근 시간을 줄일 수 있음 4단계 페이지 테이블을 사용하는 경우 메모리 접근 시간이 100ns, TLB 접근 시간이 20ns이고 TLB hit ratio가 98%인 경우 effective memory access time = 0.98 x 120 + 0.02 x 520 = 128 nanoseconds. 결과적으로 주소변환을 위해 28ns만 소요 Valid(v) / Invalid(i) Bit in a Page Table Pa.. 2022. 3. 22. Memory Management(2)-메모리 관리 Noncontiguous Allocation Paging Process의 virtual memory를 동일한 사이즈(보통 4KB)의 page 단위로 나눔 Virtual memory의 내용이 page 단위로 noncontiguous 하게 저장됨 일부는 backing storage에, 일부는 physical memory에 저장 Basic Method physical memory를 동일한 크기의 frame으로 나눔 logical memory를 동일 크기의 page로 나눔 (frame과 같은 크기) 모든 가용 frame들을 관리 page table을 사용하여 logical address를 physical address로 반환 External fragmentation 발생 안 함 Internal fragmenta.. 2022. 3. 21. Memory Management(1)-메모리 관리 Logical vs. Physical Address Logical address, 논리 주소(= virtual address, 가상 주소) 프로세스마다 독립적으로 가지는 주소 공간 각 프로세스마다 0번지부터 시간 CPU가 보는 주소는 logical address 임 Physical address, 물리 주소 메모리에 실제 올라가는 위치 Symbolic address 프로그래머 입장에서 사용하는 심벌로 된 주소( 쉽게 생각해서 ‘변수’ ) *주소 바인딩: 프로그램이 물리적인 메모리 어디로 올라갈지 메모리 주소를 결정하는 것 Symbolic Address → Logical Address → Physical Address 주소 바인딩(Address Binding) Compile time binding 물리적 .. 2022. 3. 21. 이전 1 2 3 4 5 다음