Computer Science31 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. Deadlock-데드락 Deadlock (=교착상태) 더 이상 방법이 없는 상황 일련의 프로세스들이 각자 갖고 있는 자원을 놓지 않고 상대방이 가진 자원을 요구하는 상태 The Deadlock Problem Deadlock 일련의 프로세스들이 서로가 가진 자원을 기다리며 block 된 상태 Resource(자원) 하드웨어, 소프트웨어 등을 포함하는 개념 ex) I/O device, CPU cycle, memory space, semaphore 등 프로세스가 자원을 사용하는 절차 Request, Allocate, Use, Release Deadlock Example 1 시스템에 2개의 tape drive가 있다. 프로세스 P1과 P2 각각이 하나의 tape drive를 보유한 채 다른 하나를 기다리고 있다. Deadlock Ex.. 2022. 3. 17. 이전 1 2 3 4 5 6 7 8 다음