Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 트라이 #trie #알고리즘
- 징검다리 건너기
- 카카오 인턴
- trie
- 크레인 인형뽑기 게임
- Tistory
- 보행자 천국
- 티스토리
- CleanCode
- 프로그래머스
- jdbc
- 호텔 방 배정
- pycon
- 가사 검색
- 트라이
- 알고리즘
- Open API
- 불량 사용자
- 튜플
- Spring Boot
- 티스토리 open api
- Python
- bulk update
Archives
- Today
- Total
택시짱의 개발 노트
페이지 폴트(page fault) 발생시, 페이지 요구 과정(demand paging) 본문
1. 페이지 테이블을 검사하여 필요로 하는 페이지의 메모리 참조가 유효(valid)한지, 유효하지 않은지(invalid) 판단한다.
2. 유효하지 않은(invalid) 상태라면 운영체제에게 트랩(trap)을 건다. 운영체제는 invalid 한 경우가 메모리 경계를 넘는 것이라면 프로그램을 종료시키고, 페이지 폴트(page fault)라면 free frame 을 찾는다.
3. 디스크에서 해당 페이지를 로딩하라고 I/O 요청을 하며, 프로세스를 waiting 상태로 바꾼다.
4. 페이지가 free frame 에 로딩이 완료되었다는 인터럽트가 오면 페이지 테이블에 접근해서 상태를 invalid 에서 valid로 변경한 후, 프로세스를 waiting 에서 ready 로 변경한다.
5. 페이지 폴트(page fault)를 야기했던 인스트럭션부터 다시 수행한다.
반응형
Comments