티스토리 뷰
앞 포스팅 정리
프로그램을 실행시키면 가상 주소 공간을 할당 받으며 이 공간은 논리 주소로 구성 되어 있다. 이 프로세스를 CPU가 한줄 한줄 읽으면서 실행시키게 되는데 이때 CPU는 논리 주소를 사용하기 때문에 이것을 물리 주소로 변경 해야 제대로 된 메모리를 읽을 수 있다. 이때, 만약 메모리 관리 기법이 연속 할당 기법으로 되어 있는 경우엔 MMU 속의 base register와 limit register를 통해 간단하게 주소를 변환 할 수 있다. 하지만 페이징이나 세그멘테이션과 같은 불연속 메모리 할당 기법을 사용하면 페이징 테이블 또는 세그멘테이션 테이블이라는것이 필요하다. 이 테이블들은 메모리에 있기 때문에 cpu가 프로세스를 실행 시키기 위해서는 1. 페이지 테이블 엑세스를 위한 메모리 접근 2. 변환된 주소에 해당하는 메모리 접근의 두번의 메모리 접근이 필요하다. 그렇기 때문에 TLB라는 하드웨어를 통해서 빠르게 주소 변환 할 수 있도록 돕는다. 이 TLB에는 페이지 테이블의 자주 사용되는 일부 매핑 정보가 들어가 있으며 매우 빠르게 동작한다. 논리 주소를 물리 주소로 바꿀때 TLB HIT가 일어나면 매우 빠르게 동작하며 TLB MISS가 일어나게 되면 두번의 메모리 접근이 필요하게 된다.
----------------------------------------------------------------------------------
'컴퓨터 공학과 졸업 > 운영체제' 카테고리의 다른 글
메모리 관리 기법 - 1 (0) | 2018.10.25 |
---|---|
동기화를 제공하는 세가지 방식 (1) | 2018.10.18 |
스케쥴링 알고리즘 (0) | 2018.10.17 |
식사하는 철학자 문제 요약 (0) | 2018.08.10 |
busy waiting (0) | 2018.08.10 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- reflow
- es6
- await
- Polyfill
- computed
- useEffect
- javascript
- Action
- return type
- state
- react
- server side rendering
- atomic design
- mobx
- typescript
- Babel
- storybook
- useRef
- rendering scope
- type alias
- webpack
- reactdom
- promise
- react hooks
- Next.js
- reducer
- hydrate
- async
- design system
- props
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함