티스토리 뷰

운영체제/이론

(54) EAT & Memory protection & valid/invalid bit

geonwoopaeng@gmail.com 2020. 10. 6. 09:51

< 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 ###

출처: Operating System Concepts 10th Ed (John Wiley & Sons, Inc. 2018)

(맨 좌측: 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이다.

 

출처: Operating System Concepts 10th Ed (John Wiley & Sons, Inc. 2018)

 

 

반응형

'운영체제 > 이론' 카테고리의 다른 글

(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
공지사항
최근에 올라온 글