티스토리 뷰
< Effective memory access time (EAT) >
: main memory에 올라와 있는지에 따라 어떤 것은 빠르게 어떤것은 느리게 읽혀지는데 평균적인 시간을 구하는 값
: TLB miss를 고려할 때 memory에 접근할때 소모하는 시간
: hit rate는 TLB에서 page number을 찾는 percentage of times 이다.
: hit rate가 80%이면 TLB 80%에서 원하는 page number을 찾는다.
: 10 nanosecods가 access memory에 적합한 시간이다.
<ex>
access memory: 10 nanoseconds
Hit ratio: 70% => effective access time = 0.70 x 10 + 0.30 x 20 = 13 nanoseconds
### Memory protection and valid/invalid bit ###
(맨 좌측: virtual memory(page로 구성된), 중간: page table, 맨 우측: physical memory space) (v: valid, i: invalid)
(internal fragmentation 문제 발생 => 10,468까지 사용되는데 12,287까지 사용을 하기때문)
< Memory protection >
: page table에 있는 protection bits를 검사해서 read-write인데 read-only하면
os가 trap을 하여 process는 error가 발생한다.
: paging된 환경에서의 memory protection은 각 frame과 관련된 protection bits에 의해 수행된다.
: 1 bit는 page read-write or read-only으로 정의 할 수 있다.
==>> < Valid / Invalid bit >
: bit가 valid인 경우 관련 page가 process의 logical address space에 있으므로 legal page가 된다.
: bit가 invalid인 경우 page가 process의 logical address space에 없다.
< Shared Pages >
: Reentrant code(pure code, 재진입 코드)는 non-self-modifying code이다.
(실행 중에 변경되지 않는 것)
: Reentrant code인경우 process간에 공유할 수 있다
=> 여러개의 process가 동시에 이 code에 들어갈 수 있다 => read-only code이다.
'운영체제 > 이론' 카테고리의 다른 글
(56) Swapping (0) | 2020.10.06 |
---|---|
(55) Structure of the page table (0) | 2020.10.06 |
(53) Hardware support (0) | 2020.10.05 |
(52) Paging problem (0) | 2020.10.05 |
(51) Paging (0) | 2020.10.05 |