Chapter 9. Virtual Memory (2) 💡 다양한 캐싱 환경 캐싱 기법 한정된 빠른 공간(캐시)에 요청된 데이터를 저장해 두었다가 또 똑같은 요청이 들어오면 느린 저장장치에 접근하지 않고 빠른 캐시로부터 직접 서비스하는 방식 가상 메모리 페이징 시스템에서는 한정된 빠른공간(= 물리메모리, RAM), 느린 저장장치(= 하드디스크, 백킹 스토어) paging system 외에도 cache memory, buffer caching(파일 시스템에 대한 read/write 요청을 메모리에서 빠르게 처리하는 방식), web caching(멀리있는 컴퓨터에 요청해서 이미 읽어온 웹페이지를 내 컴퓨터에 저장했다가 또 다시 요청했을 때 빠르게 응답해줄 수 있음)등 다양한 분야에서 사용. 캐시 운영의 시간 ..
Chapter 9. Virtual Memory (1) 💡 Demand Paging (요구 페이징) 실제로 필요할 때 page를 메모리에 올리는 것. (요청이 있으면 페이지를 메모리에 올리겠다는 의미) 실제로 대부분의 시스템들은 Paging 기법 사용 중 요구 페이징의 장점 I/O양의 감소 (프로그램 중에 빈번하게 사용되는 부분은 지극히 제한적이고, 좋은 소프트웨어일수록 프로그램 사용에 있어 굉장히 방어적으로 코드를 작성하기 때문에 잘 사용되지 않는다.) 물리 Memory 사용량 감소 I/O 요청이 있을때만 메모리에 올리기 때문에 한정된 메모리 공간을 효율적으로 사용하고, 메모리에서 직접 서비스하는 비율이 높아지기 때문에 응답 시간이 빨라진다. 멀티프로그래밍 환경에서는 더 많은 사용자 수용 가능. (프로그..
Chapter 8. Memory Management - (3), (4) Multilevel Paging and Performance Address space가 더 커지면 다단계 페이지 테이블 필요 페이지 테이블이 여러개 있을 수 있지만 그만큼 여러 단계를 거쳐야 하고, 주소 변환을 위해 각 단계에 접근하기 때문에 각 단계의 페이지 테이블이 메모리에 존재하므로 logical address의 physical address 변환에 더 많은 메모리 접근 필요 TLB를 통해 메모리 접근 시간을 줄일 수 있음 4단계 페이지 테이블을 사용하는 경우 메모리 접근 시간이 100ns, TLB(주소 변환을 용이하게 해주는 캐시 메모리) 접근 시간이 20ns이고 TLB hit ratio가 98%인 경우 effective me..
Chapter 8. Memory Management - (2) 💡 Contiguous Allocation 1. Fixed partition allocation (고정 분할 방식) 물리적인 메모리를 몇 개의 영구적 분할 (partition)으로 나눔 분할의 크기가 모두 동일한 방식과 서로 다른 방식이 존재 분할 당 하나의 프로그램 적재 융통성이 없음 동시에 메모리에 Load되는 프로그램의 수가 고정됨. 최대 수행 가능 프로그램 크기 제한 외부 조각 (External Fragmentation) 분할된 부분이 작아서 생기는 문제 내부 조각 (Internal Fragmentation) 분할된 부분이 커서 남는 부분이 발생해서 생기는 문제 2. variable partition allocation (가변 분할 방..
Chapter 8. Memory Management (메모리 관리) - (1) 💡 Logical vs Physical Address Logical Address (= virtual address, 가상 주소) 프로세스마다 독립적으로 가지는 주소 공간 각 프로세스마다 0번지부터 시작 CPU가 보는 주소는 logical address Physical Address 메모리에 실제 올라가는 위치 물리적인 메모리 아래에는 OS가 올라가 있고, 그 위에 프로세스들이 올라가는 형태 💡 주소 바인딩 (Address binding) 물리적인 메모리에 저장되는 위치, 즉 주소를 결정하는 것 Symbolic Address --> Logical Address --> Physical Address Symbolic Address..