### Page fault ### : 메모리에 적재된 페이지중에 사용 페이지가 없을 때를 가리킨다 : paging 하드웨어는 page table을 통해 address를 변환 할 때 invalid bit가 설정되어 os에 trap을 발생시킨다. (trap은 os가 원하는 page를 memory로 가져오지 못한 결과이다.) (page fault를 단계적으로 설명) 1. MMU는 TLB를 이용해서 number을 찾고 TLB에서 못찾는 경우 page table에서 number을 찾는다. 1. MMU는 process가 내부 table을 검사하여 reference(참조)가 valid or invalid memory access인지 확인한다. 2. r..
### Demand paging ### : 당장 접근해야할 page만 요청 받아서 physical memory에 올리겠다. => memory공간 낭비를 없앨 수 있다. : demand-paging된 virtual memory를 사용하면 program 실행 중 필요할 때만 page가 load된다. : access되지 않은 page는 physical memory에 load되지 않는다. : demand paging은 swapping을 가진 paging system과 유사하다. : OS는 필요한 program의 일부만 load하므로 memory를 보다 효율적으로 사용할 수 있다. : bit가 valid로 설정되면 관련 page가 legal..
### Virtual Memory ### : memory에 없는 process의 실행을 허락한다. : 개발자가 physical memory에서 인식한대로 logical memory(virtual memory)를 분리한다. : 구현하기 쉽지 않으며 부주의하게 사용하면 성능이 크게 저하된다. => 실제로 data가 올라가는 곳은 physical memory이다 (logical/virtual memory가 아니다.) : program에는 종종 비정상적인 경우를 처리하기 위한 code가 포함되어 있다. : 일부 data 구조(ex, arrays,lists,tables)에는 종종 실제 필요한 것보다 더 많은 memo..
process를 처리하기 위해서는 process의 instruction code와 data가 memory에 할당 되어야 한다. 그리고 process의 개수가 아주 많을 수 있다. => 컴퓨터의 memory의 크기를 초과 할 수 있다. ==>> ### Swapping ### : 메모리에서 잠깐 뒤 저장공간(backing store)에 빼주고 다시 메모리에 넣어주는 식으로 실행하여 교체될 수 있다. (swap out: main memory ->(이동) backing store, swap in: backing store ->(이동) main memory) => swapping은 모든 process의 총 physical address space이 시스템의 실제 물리적 memory를 초과 할 수 있게 한다. ..
### Structure of the page table ### 1. : main memory에 비 연속적으로 page table을 할당하기 위해 page table을 더 작은 조각으로 나눈다. : 간단한 2단계 paging algorithm을 사용할 수 있다. : page table 크기를 조정하기 용의하다. : memory의 non-contiguouse 문제를 해결할 수 있다. 2. : outerpage table에 할당 된 inerpage table 1개는 page 크기는 4KB가 된다. : outerpage number: p1(10bits) + inerpage number..
: main memory에 올라와 있는지에 따라 어떤 것은 빠르게 어떤것은 느리게 읽혀지는데 평균적인 시간을 구하는 값 : TLB miss를 고려할 때 memory에 접근할때 소모하는 시간 : hit rate는 TLB에서 page number을 찾는 percentage of times 이다. : hit rate가 80%이면 TLB 80%에서 원하는 page number을 찾는다. : 10 nanosecods가 access memory에 적합한 시간이다. access memory: 10 nanoseconds Hit ratio: 70% => effective access time = 0.70 x 10 + 0.30 x 20 =..
### Hardware support ### : page table 기본 register(PTBR)는 page table을 가리킨다. : page table 길이 register(PLTR)는 page table의 크기를 나타낸다. : 모든 data/instruction acess에는 두 번 memory access가 필요하다.(문제) => 1. table table 2. data/instruction => TLB사용으로 해결 : paging 기반 성능을 끌어 올리기 위한 작고 data 속도가 빠른 하드웨어 cache이다. (cpu 내에 위치, associative high-speed memory) : 각 항목은 ..