반응형

PTE: Page Table Entry

페이지 테이블 엔트리란

페이지 테이블의 각각의 행들을 말한다.

 

여기에 담기는 정보에는 페이지 번호,

프레임 번호 뿐 아니라 유효 비트, 보호 비트,

참조 비트, 수정 비트들이 있고

이에 대해 각각 살펴보면 다음과 같다.

 

유효 비트

유효 비트(Valid bit)는 해당 페이지에

접근 가능 여부를 알려준다.

 

페이지가 메모리에 배치되어 있다면

유효 비트가 1, 그렇지 않다면 0이 된다.

 

만약 유효 비트가 0인 페이지로

접근하려고 하면 페이지 폴트라는

예외가 발생한다.

(Page fault)

 

이를 처리하는 과정은 다음과 같다.

 

처리 순서 처리 내용
1 CPU가 기존 작업 백업
2 페이지 폴트 처리 루틴 실행
3 (페이지 폴트 처리 루틴)
원하는 페이지를 메모리로 가져온 뒤 유효 비트를 1로 변경
4 페이지 폴트 처리 이후 CPU는 해당 페이지에 접근 가능해짐

 

보호 비트

보호 비트(Protection bit)는

페이지 보호 기능을 위해 존재하는 비트다.

 

읽기만 가능한 페이지는 보호 비트가 1,

읽기와 쓰기가 모두 가능한 페이지는 0이다.

 

보호 비트를 조금 더 복잡하게

나누면 r, w, x로 나타낼 수도 있는데

이 경우는 다음 표로 설명할 수 있다.

 

설명 r (read): 읽기 w (write): 쓰기 x (execute): 실행
읽기만 가능 1 0 0
읽고 쓰기 가능 1 1 0
읽고 쓰고 실행 가능 1 1 1
쓰기만 가능 0 1 0
... ... ... ...

 

참조 비트

참조 비트(Reference bit)는

CPU가 해당 페이지에 접근한 적이

있는지 여부를 나타낸다.

 

해당 페이지 적재 이후 CPU가

읽거나 쓴 페이지는 참조 비트가 1,

그렇지 않은 경우는 0으로 유지된다.

 

수정 비트

수정 비트(Modified bit)는

해당 페이지에 데이터를 쓴 적이 있는지

수정 여부를 나타낸다.

 

이는 더티 비트(Dirty bit)라고도 불리며,

수정된 적이 있으면 수정 비트가 1,

그렇지 않은 경우는 0으로 유지된다.

반응형

'개인 학습 > 운영체제' 카테고리의 다른 글

22 - 프레임 할당  (0) 2023.02.14
21 - 페이지 교체  (0) 2023.02.13
19 - 페이징 기법  (0) 2023.02.13
18 - 메모리 할당  (0) 2023.02.13
17 - 스와핑: 메모리 관리 기법  (0) 2023.02.13

+ Recent posts