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 |
Tags
- 에러
- 반도체
- 보안
- 유니티에러
- 네트워크보안
- 유니티
- 네오플
- Unity
- MuchineRunning
- neople
- 게임기획
- MLAgent
- 아두이노우노
- 던파
- 아두이노
- 머신러닝
- 아두이노함수
- 메타마스크
- 반도체 엔지니어
- 컴퓨터구조
- 면접
- 이더리움
- 암호화
- 메모리
- memory
- 인터럽트
- 던전앤파이터
- 레지스터
- 반도체 취업
- 네트워크
Archives
- Today
- Total
Dreaming Deve1oper
Virtual Memory_2 본문
운영체제의 가상메모리 관리
- 가상메모리 관리 정책에 있어 주요 이슈는 성능.
- 페이징 관련 이슈에 집중.
- 가상메모리 관리 정책의 범주.
- 반입정책(fetch policy)
- 배치정책(placement policy)
- 교체정책(replacement policy)
- 적재집합 (resident set)
- 클리닝정책(cleaning policy)
- 부하제어(load control)
- 관리정책
□ 반입정책: 각 페이지를 언제 주기억장치로 적재할지 결정하는 정책
- 요구반입(demand paging)
- 페이지폴트(적재되지 않은 페이지 중 일부분 참조)시 적재
- 일반적인 경우 지역성에 의해 안정적 운용 가능
- 선반입(prepaging)
- 페이지폴트에 의해 요구된 페이지 이외의 페이지도 적재
- 프로그램 수행을 시작할 때나 페이지폴트시 적용
- 한 프로세스의 페이지들이 보조기억장치에 연속적으로 저장되어 있 을 경우 그들을 한꺼번에 반입하는 것이 나중에 필요할 때 따로따로 반입하는 것보다 효율적임.
- 스와핑(swapping)과 구분
□ 배치정책
- 적재될 블록이 주기억장치의 어디에 위치할 것인지 결정 하는 정책
- 페이징 시스템의 경우, 주소변환 하드웨어와 주기억장치 접근 하드웨어들이 어떠한 페이지/프레임 조합에 대해서 도 같은 효율로 기능하기 때문에 배치정책은 무의미
- NUMA(NonUniform Memory Access) 구조의 다중처리 기인 경우, 각 페이지를 그것을 참조할 처리기와 가까운 메모리모듈에 배치시키는 배치전략 필요
□ 교체정책
- 가용 프레임이 없을 경우, 새로운 페이지를 반입하기 위 해 현재 적재되어 있는 페이지들 중 어떤 페이지를 교체 할 것인지 결정하는 정책
- 가까운 미래에 참조될 가능성이 가장 적은 페이지를 선 택하여 교체하는 것이 교체정책의 이상적 목표
- 지역성의 원리(principle of locality)를 전제로 과거의 참 조 행태에 근거하여 미래의 참조 가능성 예측
※ 교체 정책: 프레임 잠금
- 교체 대상에서 배제시키기 위해 프레임 잠금 설정
- 프레임 별로 잠금비트 설정하여 잠금 상태 표시
- 프레임테이블, 페이지테이블 등에 잠금비트 유지 가능
- 프레임 잠금 대상
- 운영체제 커널 중 주요 자료구조
- 입출력 버퍼
- 시간이 중요한 영역
※ 교체정책: FIFO
- FIFO(First-In First-Out)
- 가장 오래 전에 적재된 페이지 교체
- 가장 쉽게 구현
- FIFO’s anomaly: 특정 참조열에 대해 패턴에 대해 할당된 프레 임 수를 증가시켰음에도 보다 많은 페이 더 많은 페이지폴트가 발생하는 현상
※ 교체정책: Optimal
- 최적(Optimal)
- 가장 오랫동안 참조되지 않을 페이지 교체
- 가장 낮은 페이지 폴트율
- 미래에 대한 정확한 지식이 없어 구현 불가능
※ 교체정책: LRU
- LRU (Least Recently Used)
- 가장 오랫동안 참조되지 않은 페이지 교체
- 최적에 근접한 성능
- 구현이 어렵고 큰 오버헤드
※ 교체정책: Clock
- 클록(Clock)
- 프레임 별로 use 비트 연계시켜, 처음 적재시 1, 참조시 1로 설정
- 페이지를 적재한 프레임들이 환형으로 배치되어 있다고 간주하 고, 첫 교체후보를 가리키는 포인터(시계바늘) 설정
- 시계 방향으로 포인터를 이동시키면서 포인터가 가리키는 프레 임 중 use 비트가 0인 첫 프레임 상의 페이지를 교체(use 비트가 1인 경우 그 값을 0으로 변경하고 다음 프레임으로 이동)
# 교체정책: 클록 적용의 예시
- 시계바늘이 프레임 2를 가리키고 있는 상황에서, 페이지 727을 적 재하기 위해 클록정책 작동
- 프레임 2와 3의 use 비트 값이 1 이므로 차례로 그 값을 0으로 변 경한 후, use 비트 값이 0인 프레 임 4를 발견하여 교체페이지로 선 택하게 됨.
- 프레임 4에 페이지 727을 적재하 고 그 use 비트 값을 1로 한 후, 시 계바늘이 그 다음 프레임을 가리 키게 설정함.
시험문제: 어느위치에서 페이지폴트가 발생하는가?
'운영체제' 카테고리의 다른 글
Scheduling_2 (0) | 2021.11.24 |
---|---|
Scheduling (0) | 2021.11.17 |
Virtual Memory (0) | 2021.11.10 |
Loading/Linking (0) | 2021.11.10 |
Memory Management (0) | 2021.11.03 |
Comments